* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

@font-face {
  font-family: 'AktivGrotesk';
  src: url('../fonts/AktivGrotesk_W_Lt.woff2') format('woff2'),
       url('../fonts/AktivGrotesk_W_Lt.woff') format('woff');
  font-weight: 300; 
  font-style: normal;
}

@font-face {
  font-family: 'AktivGrotesk';
  src: url('../fonts/AktivGrotesk_W_Rg.woff2') format('woff2'),
       url('../fonts/AktivGrotesk_W_Rg.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'AktivGrotesk';
  src: url('../fonts/AktivGrotesk_W_Md.woff2') format('woff2'),
       url('../fonts/AktivGrotesk_W_Md.woff') format('woff');
  font-weight: 500; 
  font-style: normal;
}

html, body {
  box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-style: normal;
  /* font-size: 1rem; */
  font-family: 'AktivGrotesk', sans-serif;
  font-weight: 400;
  color: #000 !important;
}

:root {
  --mc-black: rgba(14,18,20,1);
  --mc-black-90: rgba(14,18,20,0.9);
  --mc-black-80: rgba(14,18,20,0.8);
  --mc-black-70: rgba(14,18,20,0.7);
  --mc-black-60: rgba(14,18,20,0.6);
  --mc-black-50: rgba(14,18,20,0.5);
  --mc-black-40: rgba(14,18,20,0.4);
  --mc-black-30: rgba(14,18,20,0.3);
  --mc-black-20: rgba(14,18,20,0.2);
  --mc-black-10: rgba(14,18,20,0.1);
  --mc-black-05: rgba(14,18,20,0.05);
  --mc-blue: #0081FB;
  --mc-flame: #FF8707;
  --mc-salmon: #F77860;
  --mc-sand: #FBF8F5;
  --mc-cloud: #D1DCE2;
  --mc-green: #2CD5C4;
  --mc-bright:#EB5A99;
  --mc-purple:#9B1BED;
  --fs01: 19.2px;
  --fs02: 19.2px;
  --fs03: 20.8px;
  --fs04: 22.4px;
  --fs-smol: 14.4px;
}

a {cursor: pointer !important; text-decoration: none !important;}

.b-border-left {
  border-left: solid 1px var(--mc-black-20);
}

.b-border-right {
  border-right: solid 1px var(--mc-black-20);
}

.b-border-top {
  border-top: solid 1px var(--mc-black-20);
}

.b-border-bottom {
  border-bottom: solid 1px var(--mc-black-20);
}

.w-border-left {
  border-left: solid 1px rgba(255,255,255,0.2);
}

.w-border-right {
  border-right: solid 1px rgba(255,255,255,0.2);
}

.w-border-top {
  border-top: solid 1px rgba(255,255,255,0.2);
}

.w-border-bottom {
  border-bottom: solid 1px rgba(255,255,255,0.2);
}

.blue-line {
  width: 5.75rem;
  height: 3px;
  margin: 0 auto;
  background-color: var(--mc-blue);
}

.shadow10 {
  box-shadow: 0 5px 10px rgba(154,160,185,.05),0 15px 40px rgba(166,173,201,.2);
}

strong {
  font-weight: 400;
}

.mc-content-min {
  width: 94%;
  max-width: 1250px;
  margin: 0 auto;
}

.mc-content-full {
  width: 94%;
  margin: 0 auto;
}

.content-slim {
  width: 96%;
  max-width: 1100px;
  margin: 0 auto;
}

a {
  text-decoration: none;
}

h1, h2, h3, h4 {
  margin: 0;
  padding: 0;
  font-weight: 400;
  line-height: 1.3;
}

h2 {
  font-size: 44.8px;
  color: black;
  line-height: 58.24px;
}

h3 {
  font-size: 28px;
}

p {
  margin: 0;
  line-height: 1.5;
  font-size: 19.2px !important;
  font-weight: 300;
  color: black;
}

img {
  width: 100%;
  display: block;
}

.tag {
  font-weight: 400;
}

.mc-ls {
  letter-spacing: 1.44px;
}

.mc-cta {
  background-color: white;
  font-weight: 400;
  padding: 12px 24px;
  border-radius: 150px;
  text-transform: uppercase;
  color: var(--mc-black);
  transition: background-color 0.35s ease, color 0.35s ease;
}

.mc-cta i {
  transition: margin-left 0.35s ease;
}

.mc-cta:hover i {
  margin-left: 0.3rem;
}

.mc-cta:hover {
  background-color: var(--mc-salmon);
  color: white;
}

.mc-interest {
  background-color: white !important;
  color: var(--mc-black-90) !important;
  border: solid 2px var(--mc-black-90) !important;
}

.mc-interest:hover {
  background-color: var(--mc-black) !important;
  color: white !important;
}

.mc-breadcrumbs {
  font-size: 0.725rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  color: var(--mc-black-80);
}

.mc-breadcrumbs a {
  color: var(--mc-salmon);
}

.mc-breadcrumbs a:hover {
  text-decoration: underline;
}

.mc-breadcrumbs i {
  margin: 0 0.25rem;
  color: var(--mc-black-30);
}

/* SECTIONS */

.section-01-container {
  grid-template-columns: 1fr 4rem;
  display: grid;
  min-height: 2rem;
}

.section-side-title {
  text-orientation: mixed;
  font-weight: 500;
  font-size: 20px;
  color: var(--mc-black-90);
  text-transform: uppercase;
  padding: 24px 0;
  display: flex;
  writing-mode: vertical-lr; /* Fallback */
  writing-mode: sideways-lr;
  align-items: center;
  place-content: end;
}

.section-content {
  padding: 0rem 32px 96px 32px;
}

.m-section-grid {
  grid-template-columns: auto 50px;
  display: grid;
  min-height: 32px;
}

.m-section-grid-smol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 4rem;
  margin-top: 3rem;
}

.m-section-grid-smol video {
  width: 100%;
}

.m-section h3 {
  font-size: var(--fs03);
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.m-section-grid-smol p, .m-section {
  font-size: var(--fs01);
}

.m-section-grid h2 {
  padding: 24px 0 24px 0 !important;
  font-size: 32px;
  border-top: solid 2px var(--mc-blue);
  width: fit-content;
}

.m-section-intro {
  font-size: 19.2px !important;
  max-width: 920px;
  font-weight: 300 !important;
}

.m-section .mc-faq-accordion {
  margin-top: 1.5rem;
}

.m-section .mc-faq-accordion .accordion-item {
    border-top: 1px solid var(--mc-black-20);
    border-left: 1px solid var(--mc-black-20);
    border-right: 1px solid var(--mc-black-20);
    border-bottom: none;
}

.m-section .mc-faq-accordion button {
    padding: 16px;
    font-size: 16.8px;
}

.m-section .mc-cta {
  display: inline-block;
  background-color: var(--mc-black);
  color: white;
  font-size: 16px;
  margin-top: 16px;
}

.mc-faq-accordion .accordion-content p {
  padding: 0 1rem 2rem 1rem !important;
}

.accordion-item button span {
  max-width: 85%;
  display: inline-block;
}

.m-section-grid .mc-faq {
  margin-bottom: 2.5rem;
}

.m-section a {
  color: var(--mc-blue);
  font-weight: 500;
}

.m-section a:hover {
  text-decoration: underline;
}

.m-section .mc-cta:hover {
  text-decoration: none !important;
}


/* HERO */

.mc-hero-nav {
  position: fixed;
  top: 0;
  z-index: 100;
  width: 100%;
  border-bottom: solid 1px rgba(255,255,255,0.35);
  height: 6rem;
  display: grid;
  align-items: center;
  transition: background-color 0.3s ease;
}

.mc-hero-nav.scrolledMC {
  background-color: var(--mc-black-90);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.mc-nav-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.mc-nav-content img {
  width: 17rem;
}

.mc-nav-content .mc-cta {
  font-size: 0.95rem;
  display: inline-block;
  width: fit-content;
  height: fit-content;
  margin-left: auto;
  transition: transform 0.3s ease;
}

.mc-hero {
  padding: 48rem 0 0 0; 
  position: relative;
  overflow: hidden;
  transition: padding 0.3s ease;
}

.mc-hero .mc-cta {
  font-size: 1.15rem;
  display: inline-block;
  position: absolute;
  z-index: 4;
  bottom: 2rem;
}

.mc-hero h1 {
  font-size: 4.5rem;
  padding: 0.65rem 0 2rem 0;
  transition: font-size 0.3s ease;
}

.mc-hero h1 i {
  margin-left: -30px;
  color: rgba(255, 255, 255, 0);
}

.mc-hero-tag {
  display: block;
  color: rgba(255,255,255,0.8);
  text-transform: uppercase;
  font-size: 0.9rem;
}

.mc-hero video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%; 
  width: auto; 
  height: auto;
  z-index: 1;
  object-fit: cover; 
}

.mc-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2; 
  display: flex;
  align-items: end;
  color: white;
  background-color: var(--mc-black-40);
  padding-bottom: 5rem;
  mix-blend-mode: luminosity;
}

#typewriter span {
  opacity: 0; 
  transition: opacity 0.3s ease-out; 
}

#typewriter span.visible {
  opacity: 1; 
}

.mc-hero-circle-full {
  position: absolute;
  bottom: 0;
  right: 0%;
  height: calc(100% - 158px);
  width: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  z-index: 3;
  border: solid 1px rgba(255, 255, 255, 0.35);
}

.mc-hero-circle-half {
  position: absolute;
  bottom: 0%;
  right: 0%;
  height: calc(50% - 79px);
  width: auto;
  aspect-ratio: 1;
  border-radius: 50%; 
  z-index: 3;
  border: solid 1px rgba(255,255,255,0.35);
}



/* TEMP FOOTER */

.mc-footer {
  background-color: var(--mc-black);
  border-top: 4px solid var(--mc-salmon);
}

.mc-footer-items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.mc-footer h3 {
  color: white;
  font-size: 1.25rem;
  padding: 3.5rem 2rem 0 2rem;
  text-transform: uppercase;
}

.mc-footer-items a {
  color: rgba(255, 255, 255, 0.75);
  display: block;
  margin-top: 1.2rem;
  width: fit-content;
  transition: color 0.3s ease;
  font-size: 0.9rem;
  padding: 0 2rem;
}

.mc-footer-items a:hover {
  color: var(--mc-salmon);
}

.mc-footer-items div {
  border-right: solid 1px rgba(255,255,255,0.15);
  padding-bottom: 4rem;
}

.mc-footer-items div:nth-child(1) {
  border-left: solid 1px rgba(255,255,255,0.15);
}

.mc-footer-follow {
  border-top: solid 1px rgba(255,255,255,0.15);
}

.mc-footer-follow .mc-content-full {
  display: flex;
  align-items: center;
  border-left: solid 1px rgba(255,255,255,0.15);
  border-right: solid 1px rgba(255,255,255,0.15);
  padding: 2rem 0;
}

.mc-footer-follow h3 {
  padding: 0 0 0 1rem;
  text-transform: uppercase;
}

.mc-footer-follow-social {
  margin-left: auto;
  display: flex;
  column-gap: 0.75rem;
  padding: 0 1rem 0 0;
}

.mc-footer-follow-social i {
  color: var(--mc-salmon);
  font-size: 1.8rem;
  transition: color 0.3s ease;
}

.mc-footer-follow-social i:hover {
  color: white;
}

.mc-footer-tcs {
  background-color: rgba(255,255,255,0.09);
  text-transform: uppercase;
}

.mc-footer-tcs .mc-content-full {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  font-size: 0.825rem;
}

.mc-footer-tcs a {
  color: rgba(255,255,255,0.4);
  transition: color 0.3s ease;
}

.mc-footer-tcs a:hover {
  color: rgba(255,255,255,0.7);
}

.mc-footer-tcs i {
  color: var(--mc-salmon);
  font-size: 0.2rem;
  margin: 0 0.5rem;
}

.mc-footer-tcs-left {
  display: flex;
  align-items: center;
}

.mc-footer-tcs-right {
  margin-left: auto;
  color: rgba(255,255,255,0.2);
}

/* FAQ SECTION */

.mc-faq .mc-content-min {
  padding: 40px 0 0 0;
}

.mc-faq h2 {
  text-align: center;
  margin-bottom: 2rem;
}

.mc-faq-accordion {
  font-family: 'AktivGrotesk', sans-serif;
}

.mc-faq-accordion .accordion-item {
  border-bottom: 1px solid var(--mc-black-20);
}

.mc-faq-accordion .accordion-item button[aria-expanded='true'] {
  border-bottom: none;
}

.mc-faq-accordion .accordion-item:nth-last-child(1) {
  border-bottom: none;
}

.faq-breaker .mcug-sidekicks-footer-grid {
  height: 2.5rem;
}

.mc-faq-accordion button {
  position: relative;
  display: block;
  text-align: left;
  width: 100%;
  padding: 24px 80px 24px 24px;
  color: var(--mc-black);
  font-size: var(--fs01);
  font-weight: 500;
  border: none;
  background: none;
  outline: none;
  text-transform: uppercase;
  font-family: 'AktivGrotesk', sans-serif;
}

.mc-faq-accordion button:hover, .accordion button:focus {
  cursor: pointer;
  color: var(--mc-blue);
}

.mc-faq-accordion button:hover::after, .mc-faq-accordion button:focus::after {
  cursor: pointer;
  color: var(--mc-blue);
  border: 1px solid var(--mc-blue);
}

.mc-faq-accordion button .icon {
  display: inline-block;
  position: absolute;
  top: 18px;
  right: 1.5rem;
  width: 22px;
  height: 22px;
  border: 1px solid;
  border-radius: 50%;
}

.mc-faq-accordion button .icon::before {
  display: block;
  position: absolute;
  content: '';
  top: 9px;
  left: 5px;
  width: 10px;
  height: 2px;
  background: currentColor;
}

.mc-faq-accordion button .icon::after {
  display: block;
  position: absolute;
  content: '';
  top: 5px;
  left: 9px;
  width: 2px;
  height: 10px;
  background: currentColor;
}

.mc-faq-accordion button[aria-expanded='true'] {
  color: var(--mc-blue);
}

.mc-faq-accordion button[aria-expanded='true'] .icon::after {
  width: 0;
}

.mc-faq-accordion button[aria-expanded='true'] + .accordion-content {
  opacity: 1;
  max-height: 1000rem;
  transition: all 200ms linear;
  will-change: opacity, max-height;
}

.mc-faq-accordion .accordion-content {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 200ms linear, max-height 200ms linear;
  will-change: opacity, max-height;
}

.mc-faq-accordion .accordion-content p {
  font-weight: 400;
  padding: 0 24px 32px 24px !important;
  font-size: var(--fs01);
  color: var(--mc-black-80);
  margin-top: 0px !important;
}

.accordion-content strong {
  display: block;
  margin-bottom: 0.15rem;
  font-weight: 500;
  color: var(--mc-black);
}

.accordion-content a {
  color: var(--mc-blue);
  text-decoration: none;
  font-weight: 400;
}

.accordion-content a:hover {
  text-decoration: underline;
}

.expand-all-link {
  color: var(--mc-blue);
  width: fit-content;
  margin: 0 auto 2rem auto;
  display: block;
  font-weight: 500;
  border: solid 1px var(--mc-blue);
  padding: 8px 14.4px;
  border-radius: 400px;
}

/* MEDIA QUERIES */

@media only screen and (min-width: 1380px) {
  .mc-hero {
    padding: 100vh 0 0 0;
  }
}

@media only screen and (max-width: 1050px) {
  .m-section-grid-smol {
    grid-template-columns: 1fr;
    row-gap: 2rem;
    margin-top: 2rem;
  }
}


@media only screen and (max-width: 768px) {
  :root {
    --fs01: 0.98rem;;
    --fs02: 1.02rem;
    --fs03: 1.15rem;
    --fs04: 1.2rem;
  }

  p {
    font-size: 16px !important;
  }

  .mc-faq-accordion button{font-size: 15.68px;}

  ul li{font-size: 14.72px !important;}

  h2 {
    font-size: 27.2px;
    line-height: 35.36px;
  }

  .brochure-grid p {font-size: 15.68px !important;}

  h3 {
    font-size: 14.5px !important;
  }

  .mc-breadcrumbs {
    font-size: 0.7rem;
  }

  .mc-breadcrumbs i {
    margin: 0 0.15rem;
}
  
  .mc-hero {
    padding: 38rem 0 0 0;
  }
  
  .mc-hero h1 {
    font-size: 2.8rem;
    padding: 0.65rem 0 2rem 0;
  }

  .mc-hero h1 i {
    margin-left: -19px;
  }

  .mc-hero .mc-cta {
    font-size: 1.05rem;
  }


  .mc-footer-follow .mc-content-full, .mc-footer-tcs .mc-content-full {
    display: grid;
  }

  .mc-footer-follow-social {
    margin: 1rem 1rem 0 1rem;
  }

  .mc-footer-tcs-left {
    display: grid;
    row-gap: 0.75rem;
  }

  .mc-footer-tcs-left i {
    display: none;
  }

  .mc-footer-tcs-right {
    margin: 1rem 1rem 2rem 0;
  }

  .mc-footer h3 {
    font-size: 1.15rem;
    padding: 3rem 1rem 0 1rem;
  }

  .mc-footer-items a {
    padding: 0 1rem;
    margin-top: 1.15rem;
    font-size: 0.95rem;
  }

  .section-01-container {
    grid-template-columns: 1fr 2.5rem;
  }

  .section-content {
    padding: 0 20px 56px 20px;
  }

  .section-side-title {
    font-size: 1.25rem;
  }
  
  .header{position: absolute !important;}
}

@media only screen and (max-width: 620px) {
  .mc-nav-content .mc-cta {
    transform: translate(0px, -120px);
  }
  
  .header{position: absolute !important;}

  .mc-nav-content img {
    width: 13.5rem;
  }

  .mc-hero-nav {
    height: 4.75rem;
  }

  .mc-jobs-main-content {
    grid-template-columns: 1fr;
  }

  .mc-jobs-main-content h2 {
    padding: 1.5rem 1.5rem 0 1.5rem;
  }

  .mc-jobs-other-content a {
    font-size: 0.8rem;
  }

  .mc-jobs-divider {
    height: 1.5rem;
  }

  .mc-jobs-divider .mc-content-min {
    grid-template-columns: 1fr 1fr;
    height: 1.5rem;
  }

  .mc-jobs-main-circle-half, .mc-jobs-main-circle {
    display: none;
  }

  .quote-box-container {
    padding: 1.5rem 0.75rem 0.75rem 0.75rem;
  }

  .mc-global-geo {
    grid-template-columns: 1fr;
    row-gap: 1rem;
  }

  .mcg-city {
    font-size: 5.5vw;
  }

  .mcg-paris {
    margin-bottom: 0;
  }

  .mcg-paris, .mcg-sf {
    aspect-ratio: 1 / 1;
  }

  .mc-global-geo-others, .mc-global-footer-content {
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
  }

  .mc-global-footer-content div {
    height: 1.5rem;
  }

  .mc-global-header-content {
    padding: 1.5rem 0;
  }

  .mc-global-footer-content div:nth-child(2) {
    border-left: solid 1px var(--mc-black-20);
  }

  .mc-global-hide {
    display: none;
  }

  .mc-ebook {
    margin: 3.5rem 0;
    grid-template-columns: 1fr;
    row-gap: 3rem;
    padding: 1.5rem;
  }
}

(max-width: 767.98px){
.header{position: absolute !important;}
}


@media only screen and (max-width: 580px) {
  .mc-hero-circle-full {
    height: auto;
    width: 100%;
  }
  
  .header{position: absolute !important;}

  .mc-hero-circle-half {
    height: auto;
    width: 50%;
  }

  .mc-mission-stats-content {
    grid-template-columns: 1fr;
  }

  .mc-mission-stats-content div h3 {
    font-size: 20vw;
  }
  
  .mc-mission-stats-content div {
    min-height: auto;
    padding: 1.25rem;
  }

  .mc-mission-stats-content div {
    border-bottom: solid 1px var(--mc-black-20);
  }

  .mc-mission-stats-content div:nth-last-child(1) {
    border-bottom: none;
  }

  .faculty-grid2-controls1 {
    grid-template-columns: 3rem auto 3rem;
  }
  

  .faculty-grid2-name {
    order: 2;
    text-align: center;
    padding: 0.75rem 0.25rem;
  }

  .faculty-grid2-name i {
    display: none;
  }

  .facultyRight {
    order: 3;
  }

  .faculty-grid2-chev, .faculty-grid2-controls {
    height: auto;
  }

  .mc-carousel-about-inner {
    height: 100vw;
  }

  .mc-slide-about {
    width: 80vw;
    height: 100vw;
  }
}

@media only screen and (max-width: 490px) {
  .mc-footer-items {
    grid-template-columns: 1fr;
  }

  .mc-footer h3 {
    padding: 1.5rem 1.5rem 0 1.5rem;
  }

  .mc-footer-items a {
    padding: 0 1.5rem;
  }

  .mc-footer-items div {
    border-left: solid 1px rgba(255,255,255,0.15);
    border-right: solid 1px rgba(255,255,255,0.15);
    border-bottom: solid 1px rgba(255,255,255,0.15);
    border-top: none;
  }

  .mc-footer-items div {
    padding-bottom: 1.5rem;
  }

  .mc-footer-follow {
    border-top: none;
  }

  .mc-footer-follow-social {
    margin: 1.5rem 1.5rem 0 1.5rem;
  }

  .mc-footer-tcs .mc-content-full {
    padding: 1.5rem 0.5rem;
  }

  .mc-browse-faculty-option-content {
    grid-template-columns: 1fr;
  }

  .mc-browse-faculty-option-content div {
    border-bottom: solid 1px var(--mc-black-20);
    border-left: none;
  }

  .mc-browse-faculty-option-content div:nth-last-child(1) {
    border-bottom: none;
  }

  .section-01-container {
    grid-template-columns: 1fr;
  }

  .section-side-title {
    display: none;
  }

  .m-section-grid {
    grid-template-columns: 1fr;
    border-right: solid 1px var(--mc-black-20);
  }

  .m-section-grid h2 {
    font-size: 24px;
    padding: 16px 0 !important;
  }

  .m-section-intro, .m-section .mc-faq-accordion button, .app-process {
    font-size: 15.68px !important;
  }

  .m-section h3 {
    font-size: 18.4px;
  }

  .m-section-grid-smol p, .m-section, .mc-faq-accordion .accordion-content p {
    font-size: 14.72px !important;
  }

  .accordion-content strong {
    font-size: 16px;
  }

}