/* Global Styles */

body {
  font-family: 'Arimo';
}

.mg-cursive {
  font-family: 'MG-cursive';
  font-weight: 400 !important;
}

.nav-bar-offset {
  padding-top: 5.5rem;
}

.nav-bar-border {
  box-shadow: inset 0 3rem 0 var(--bs-white);
}

.widht-800 {
  max-width: 800px;
}

.cta-mobile-fix {
  width: 15rem;
}

@media (min-width: 576px) {
  .cta-mobile-fix {
    width: fit-content;
  }
}

/* Top Menu Nav */

#mg-brand {
  min-height: 40px;
  width: 202px;
  background-image: url("../../assets/img/MG-logo_1-onWhite.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

/* Hero Styles */

#hero {
  padding-top: 6rem;
  box-shadow: inset 0 -40px 0 var(--bs-white);
  background-image: url("../../assets/img/MG-hero-banner-05.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 60% center;
}

@media (min-width: 768px) {
  #hero {
    background-position: center;
  }
}

#hero-aux {
  padding-top: 6rem;
  min-height: 18rem;
}

#hero-intro {
  max-width: 728px;
}

#hero-intro > h1 {
  font-size: calc(3.875rem + 1.5vw)!important;
}

@media (min-width: 1200px) {
  #hero-intro > h1 {
    font-size: 6rem !important;
    overflow: hidden;
  }
}

#content-prop {
  height: calc((1.375rem + 1.5vw) * 2.5) !important;
  overflow: hidden;
}

.fix-prop-width {
  width: 70%;
}

.fix-long-prop-width {
  width: 85%;
}

.fix-short-prop-width {
  width: 56%;
}

@media (min-width: 768px) {
  .fix-prop-width, .fix-short-prop-width, .fix-long-prop-width {
    width: 100%;
  }
}

#content-prop-container {
  animation: change-prop 24s infinite;
}

@keyframes change-prop {
  0%, 8.5%, 100% {
    transform: translate3d(0, 0, 0);
  }
  12.5%, 21% {
    transform: translate3d(0, -20%, 0);
  }
  25%, 33.5% {
    transform: translate3d(0, -40%, 0);
  }
  37.5%, 46% {
    transform: translate3d(0, -60%, 0);
  }
  50%, 58.5% {
    transform: translate3d(0, -80%, 0);
  }
  62.5%, 71% {
    transform: translate3d(0, -60%, 0);
  }
  75%, 83.5% {
    transform: translate3d(0, -40%, 0);
  }
  87.5%, 96% {
    transform: translate3d(0, -20%, 0);
  }
}

@media (min-width: 768px) {
  #content-prop {
    height: calc((1.375rem + 1.5vw) * 1.25) !important;
  }
}

@media (min-width: 1200px) {
  #content-prop {
    height: calc(2.5rem * 1.25) !important;
  }
}

@media (min-width: 576px) {
  .intro-text {
    font-size: 1.125rem !important;
  }
}

.logo-img-onhero {
  max-height: 64px;
  max-width: 240px;
}

/* Infinite Logos Loop */

.infinite-scroller {
  overflow: hidden;
  width: 100%;
}

@media (min-width: 992px) {
  .infinite-scroller {
    width: 928px;
  }
}

.infinite-scroller .scrollable {
  display: flex;
  animation: slide-to-left 72s linear infinite;
  width: fit-content;
}

.infinite-scroller.pause-on-hover .scrollable:hover {
  animation-play-state: paused;
}

@keyframes slide-to-left {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

.infinite-scroller .scrollable > div {
  display: flex;
  align-items: center;
}

.infinite-scroller .scrollable > div > * {
  margin: 0 16px;
}

/* Stats Styles */

#stats {
  max-width: 960px;
  padding: 2.25rem 0;
}

.bor-end-perm {
  border-right: 1px solid rgba(255,255,255,0.5);
}

.bor-end-removable {
  border-right: none;
}

@media (min-width: 768px) {
  .bor-end-removable {
    border-right: 1px solid rgba(255,255,255,0.5);
  }
}

/* Results Styles */

.h-separator {
  min-width: 160px;
  height: 4px !important;
}

.label-badges {
  font-size: 0.75rem;
}

.logo-onresults {
  max-width: 90%;
  height: 48px;
  object-fit: contain;
}

@media (min-width: 576px) {
  .logo-onresults {
    max-width: 60%;
  }
}

@media (min-width: 992px) {
  .logo-onresults {
    height: 60px;
  }
}

.case-study-link {
  text-decoration: none;
}

.case-study-link:hover {
  text-decoration: underline;
}

/* Color System For Tags */

.ind-1 {
  background-color: #e7e1f2;
}

.ind-2 {
  background-color: #d5f4ee;
}

.ind-3 {
  background-color: #f9fcd4;
}

.ind-4 {
  background-color: #ffe9d8;
}

.ind-5 {
  background-color: #d3ffcf;
}

.ind-6 {
  background-color: #e0ebff;
}

.biz-1 {
  background-color: #c0ffdd;
}

.biz-2 {
  background-color: #ccecff;
}

/* About Styles */

@media (min-width: 768px) {
  #about-row {
    max-width: 748px;
  }
}

@media (min-width: 768px) {
  .about-col {
    max-width: 344px;
  }
}

#about-p-intro {
  font-size: 18px;
  line-height: 32px;
}

#about-img {
  border-radius: 0px 32px 32px 32px;
  height: 384px;
}

@media (min-width: 768px) {
  #extra-stat {
    max-width: 748px;
  }
}

.v-separator {
  width: 8px;
  height: 2.5rem;
  border-right: 2px solid rgba(255,255,255,0.2);
}

.count-process {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 3rem;
}

.title-process {
  font-size: 1.125rem;
}

.desc-process {
  font-size: 0.875rem;
}

.connector {
  width: 2rem;
  height: 3rem;
  border-right: 2px dotted rgba(255,255,255,0.2);
}

.connector-arrow {
  width: 2rem;
  height: 3rem;
  border-right: 2px dotted var(--bs-primary);
  position: relative;
}

.connector-arrow:before {
  content: "";
  position: absolute;
  top: 2.625rem;
  left: calc(2rem - 5px);
  display: block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 8px solid var(--bs-primary);
}

.connector-cycle {
  width: calc(100% - 4rem);
  height: 3rem;
  margin: 0 2rem;
  border-right: 2px dotted var(--bs-primary);
  border-left: 2px dotted var(--bs-primary);
  position: relative;
}

.connector-cycle::before {
  content: "";
  position: absolute;
  top: 2.625rem;
  left: -5px;
  display: block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 8px solid var(--bs-primary);
}

.connector-cycle::after {
  content: "";
  position: absolute;
  top: -1px;
  left: calc(100% - 3px);
  display: block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 8px solid var(--bs-primary);
}

#cycling-icon {
  animation: cycling-icon 2s infinite;
}

@keyframes cycling-icon {
  100% {
    transform: rotate(180deg);
  }
}

/* Services Styles */

.serv-included {
  list-style-position: outside;
  list-style-image: url("../../assets/img/check-icon-v3.svg");
}

.serv-included li {
  margin-right: 2.5rem;
}

.icon-serv {
  width: 72px;
  height: 72px;
}

/* Testimonials Styles */

#testimonials {
  background-image: url("../../assets/img/MG-testimonials-bg-02.webp");
  background-repeat: no-repeat;
  background-position: top;
  background-size: auto;
}

@media (min-width: 1400px) {
  #testimonials {
    background-size: contain;
  }
}

.logo-onreviews {
  max-width: 180px;
  height: 80px;
  object-fit: contain;
}

.star-review {
  background-color: #efffd4;
  position: relative;
}

.star-review::after {
  content: "";
  position: absolute;
  top: 40px;
  left: calc(50% - 8px);
  display: block;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 12px solid #efffd4;
}

.star-icon {
  margin-bottom: 1px;
}

.hidden-rev {
  display: none !important;
}

.hidden-btn {
  display: none !important;
}

/* Closing Styles */

#msg-closing {
  max-width: 572px;
  /*font-family: 'Libre Baskerville';*/
}

#we-know-closing {
  font-size: 1.75rem;
  text-decoration: underline;
  letter-spacing: 0.0375rem;
}

#closing {
  background-image: url("../../assets/img/closing-img.webp");
  background-repeat: no-repeat;
  background-position: 50% 75%;
  background-size: cover;
}

/* Footer Styles */

#footer a:hover {
  text-decoration: underline !important;
}

#mg-brand-footer {
  min-height: 40px;
  width: 134px;
  background-image: url("../../assets/img/MG-logo_2-onBlue.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

#mg-google-partner {
  height: 8rem;
  width: 8rem;
  background-image: url("../../assets/img/Partner-RGB.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

#footer-info {
  border-color: rgba(255,255,255,0.2) !important;
}

#contact-info a:hover {
  text-decoration: underline !important;
}

#icons-social .bi {
  transition: 0.2s;
}

#icons-social .bi:hover {
  color: var(--bs-white) !important;
}

#privacy-link {
  color: #94bfff;
}

#privacy-link:hover {
  color: #8bfed5;
}

/* Modals */

#modal-contact, #modal-case-studies {
  --bs-modal-width: 600px !important;
}

#modal-contact .modal-body, #modal-case-studies .modal-body {
  padding: 0 !important;
}

