:root {
    --cobalt: #0061FF;
    --indigo-900:#4733FF;
    --lilac:#C26AFF;
    --indigo-100:#F7F5FE;
    --aqua: #00D3FF;
    --gray-900:#101828;
    --gray-600:#475467 ;
    --red-100:#ffedee;
  }


h1,h2,h3,h4,h5,h6,p,a,span,strong,ul,li,ol {
    font-family: 'Montserrat', sans-serif;
    margin:0;
    padding:0;
}

::selection {
    background: var(--cobalt) !important;
    color:white;
  }


/* Text Sizes */
.display-lg {
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
}
.display-md {
    font-size: 1.875rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
}
.display-sm {
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
}
.display-xs {
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 145%;
}
.text-xl {
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 175%;
}
.text-lg {
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 175%;
}
.text-md {
    font-size: 0.925rem;
    font-style: normal;
    font-weight: 400;
    line-height: 175%;
}
.text-sm {
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 600;
    line-height: 175%;
}

@media(max-width:767px) {
    .desktop {
        display:none;
    }
    .display-lg {
        font-size: 1.625rem;
    }
    .display-md {
        font-size: 1.5rem;
    }
    .display-sm {
        font-size: 1.375rem;
    }
    .display-xs {
        font-size: 1.125rem;
    }
    .text-xl {
        font-size: 1.06rem;
    }
    .text-lg {
        font-size: 1rem;
    }
    .text-md {
        font-size: 1rem;
    }
    .text-sm {
        font-size: 0.875rem;
    }
}

ul {
    list-style:disc;
    padding-left:1.25rem;
}
ol {
    list-style:decimal;
    padding-left:1.25rem;
}



/* Text Align */

.text-center {text-align:center;}
.text-left {text-align:left;}


/* Text Weights */
.bold {font-weight:700;}
.semibold {font-weight:600;}
.medium {font-weight:500;}
.regular {font-weight:400;}


.rounded {
    border-radius:1rem;
}

/* Colors */
.gray-900 {color:#101828;}
.gray-600 {color:#475467;}
.gray-300 {color:#D0D5DD}

.gray-200 {color:#EAECF0;}
.gray-50 {color:#F9FAFB}
.white {color:white}
.gray-900-bg {background-color:#101828;}
.gray-600-bg {background-color:#475467;}
.gray-300-bg {background-color:#D0D5DD}
.gray-200-bg {background-color:#EAECF0;}
.gray-50-bg {background-color:#F9FAFB}
.white-bg {background-color:white;}

.midnight-blue {color:#140A50}
.midnight-blue-bg {background-color:#140A50}
.cobalt {color:var(--cobalt);}
.cobalt-bg {background-color:var(--cobalt);}
.cobalt-bg-100 {background-color:#ecf3ff;}
.sky-bg-100 {background-color:#F1F7FF;}
.sky-bg-50 {background-color:#F4F9FF;}
.aqua-bg-100 {background-color:#EDFBFF;}
.gradient-bg {background: linear-gradient(90deg, #4733FF, #C26AFF);}
.gradient-bg-100 {background: linear-gradient(-30deg, rgba(71,51,255,0.05), rgba(194,106,255,0.05));}


.red-bg-100 {
    background-color:var(--red-100);
}
.red-bg {
    background-color:#fb0d1c;
}
.indigo {color:var(--indigo-900);}
.indigo-bg {background-color:var(--indigo-900);}
.indigo-bg-100 {background-color:var(--indigo-100);}
.lilac {color:var(--lilac);}

/* Spacing */
.row-gap-8 {row-gap:8px;}
.column-gap-8 {column-gap:8px;}
.row-gap-16 {row-gap:16px;}
.column-gap-16 {column-gap:16px;}
.row-gap-24 {row-gap:24px;}
.column-gap-24 {column-gap:24px;}
.grid-gap-24 {row-gap:24px;column-gap:24px;}
.row-gap-32 {row-gap:32px;}
.column-gap-32 {column-gap:32px;}
.grid-gap-32 {row-gap:32px;column-gap:32px;}
.row-gap-48 {row-gap:48px;}
.column-gap-48 {column-gap:48px;}
.row-gap-64 {row-gap:64px;}
.column-gap-64 {column-gap:64px;}
.column-gap-96 {column-gap:96px;}
@media(max-width:767px) {
    .row-gap-8 {row-gap:4px;}
    .column-gap-8 {column-gap:4px;}
    .row-gap-16 {row-gap:8px;}
    .column-gap-16 {column-gap:8px;}
    .row-gap-24 {row-gap:16px;}
    .column-gap-24 {column-gap:16px;row-gap:16px;}
    .grid-gap-24 {row-gap:16px;column-gap:16px;}
    .row-gap-32 {row-gap:24px;}
    .column-gap-32 {column-gap:24px;}
    .grid-gap-32 {row-gap:24px;column-gap:24px;}
    .row-gap-48 {row-gap:32px;}
    .column-gap-48 {column-gap:32px;}
    .row-gap-64 {row-gap:48px;}
    .column-gap-64 {column-gap:48px;}
    .column-gap-96 {column-gap:64px;}
}


/* Grid */
.grid {display:grid;}
.inline-grid {display:inline-grid}
.grid-2 {grid-template-columns:1fr 1fr;grid-template-rows:auto;}
.grid-3 {grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto;}
.grid-4 {grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:auto;}

@media(max-width:821px) {
    .grid-4 {grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto;}
}

@media(max-width:767px) {
    .grid-2,
    .grid-3,
    .grid-4 {grid-template-columns:1fr;grid-template-rows:auto;row-gap:24px;}
}


/* Flex */
.flex {display:flex;max-width:100%;}
.container .flex {width:auto;}
.inline-flex {display:inline-flex;}
.flex-row {flex-direction:row;}
.flex-column {flex-direction:column;}
.align-center {align-items:center;}
.justify-space-between {justify-content:space-between}
.justify-center {justify-content:center}
.align-start {
    align-items:flex-start;
}

@media(max-width:767px) {
    .flex-row {
        flex-direction:column;}
}

/* Buttons */
.button {
    display:inline-flex;
    padding: 0.5rem 1.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    border-radius: 6.25rem;
    width:auto;
    transition:.3s ease;
}
.button:hover,
.button:active,
.button:focus,
.button:focus-within {
    background-color:var(--lilac);
    color:white !important;
}

.radio-button {
    display:inline-flex;
    padding: 0.5rem 1.5rem;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    border-radius: 6.25rem;
    width:auto;
    transition:.3s ease;
    cursor:pointer;
}
.radio-button:hover,
.radio-button:active,
.radio-button:focus,
.radio-button:focus-within,
.radio-button.active {
    background-color:var(--indigo-900);
    color:white !important;
}


a {
    transition:.3s ease;
}
a:hover,
a:active,
a:focus,
a:focus-within {
    color:var(--indigo-900);
}

/* Shadow */
.box-shadow {
    box-shadow:0px 4px 8px rgb(0 0 0 / 8%);
}

/* Padding */
.padding-xl {padding:156px 5vw;}
.padding-lg {padding:128px 5vw;}
.padding-24 {padding:24px}
.padding-32 {padding:32px;}
.padding-48 {padding:48px;}

@media(max-width:767px) {
    .padding-24 {padding:24px}
    .padding-32 {padding:24px;}
    .padding-48 {padding:32px;}
    .padding-xl {padding:96px 5vw;}
    .padding-lg {padding:72px 5vw;}
}

/* Margin */
.mt-4 {margin-top:4px;}
.mt-8 {margin-top:8px;}
.mt-12 {margin-top:12px;}
.mt-16 {margin-top:16px;}
.mt-24 {margin-top:24px;}
.mt-32 {margin-top:32px;}
.mt-48 {margin-top:48px;}
.mt-64 {margin-top:64px;}
.mt-96 {margin-top:96px;}
.mb-4 {margin-bottom:4px;}
.mb-8 {margin-bottom:8px;}
.mb-16 {margin-bottom:16px;}
.mb-24 {margin-bottom:24px;}
.mb-32 {margin-bottom:32px;}
.mb-48 {margin-bottom:48px;}
.mb-64 {margin-bottom:64px;}
.mb-96 {margin-bottom:96px;}

@media(max-width:767px) {
    .mt-4 {margin-top:4px;}
    .mt-8 {margin-top:8px;}
    .mt-16 {margin-top:16px;}
    .mt-24 {margin-top:24px;}
    .mt-32 {margin-top:24px;}
    .mt-48 {margin-top:32px;}
    .mt-64 {margin-top:48px;}
    .mt-96 {margin-top:64px;}
    .mb-4 {margin-bottom:4px;}
    .mb-8 {margin-bottom:8px;}
    .mb-16 {margin-bottom:16px;}
    .mb-24 {margin-bottom:24px;}
    .mb-32 {margin-bottom:24px;}
    .mb-48 {margin-bottom:32px;}
    .mb-64 {margin-bottom:48px;}
    .mb-96 {margin-bottom:64px;}
}

/* Icons + Avatars */
.icon-xl {
    width:64px;
    height:64px;
    border-radius:100px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.icon-xl img {
    width:32px;
    height:auto;
}
.icon-lg {
    width:56px;
    height:56px;
    border-radius:100px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.icon-lg img {
    width:24px;
    height:auto;
}
.avatar-lg {
    width:72px;
    height:72px;
    border-radius:100px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.avatar-xl {
    width:96px;
    height:96px;
    border-radius:100px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.avatar-sm {
    width:42px;
    height:42px;
    border-radius:100px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}



/* Containers */
.container,
.container-1300,
.container-900,
.container-600 {
    max-width:95vw;
}
.container-1300 {width:1400px;}
.container-900 {width:900px;}
.container-600 {width:600px;}

@media(max-width:810px) {
    .container-1300 {
        padding:64px 5vw !important;
        border-radius:0;
        max-width:100vw;
        width:100vw;
    }
    .container-900 {
        width:100%;
    }

    .container-600 {
        width:95%;
        max-width:95vw;
    }
}

/* Dividers */
.divider {
    display:block;
    width:100%;
    height:1px;
}

/* Logo */
#fw-logo {
    width:350px;
    max-width:100%;
    height:auto;
}

.menu-item {position:relative;border:none !important;}
.menu-item:hover .submenu {display:flex !important;}

@media(max-width:767px) {
    #fw-logo {
        width:280px;
        margin-bottom:16px;
    }
    #nav .text-md {
        font-size:0.875rem;
    }
}


/* Image Slider */
.pill {
    padding:0.25rem 0.75rem;
    border-radius: 6.25rem;
}

@media(max-width:767px) {
    .pill {
        font-size:0.825rem !important;
    }
}
.image-slider-outer {
    width:100vw;
    height:420px;
    overflow:hidden;
}

.image-slider-inner {
    width:8176px;
    animation:scroll 48s linear infinite;
}

@keyframes scroll {
    0% {
        transform:translateX(0px);
    }
    100% {
        transform:translateX(-4120px);
    }
}

@keyframes logo-scroll-1 {
    0% {
        transform:translateX(0px);
    }
    100% {
        transform:translateX(-3680px);
    }
}

@keyframes logo-scroll-2 {
    0% {
        transform:translateX(0px);
    }
    100% {
        transform:translateX(3420px);
    }
}

@keyframes logo-scroll-3 {
    0% {
        transform:translateX(0px);
    }
    100% {
        transform:translateX(-6620px);
    }
}

@keyframes logo-scroll-4 {
    0% {
        transform:translateX(0px);
    }
    100% {
        transform:translateX(6535px);
    }
}

.slider-image {
    height:420px;
    width:auto;
    float:left;
    border-radius:16px;
    margin-left:32px;
}

@media(max-width:767px) {
    .image-slider-outer {
        height:250px;
    }
    .slider-image {
        height:250px;
        margin-left:24px;
    }
}


/* Features Section */
.feature-checkmark {
    width:32px;
    height:32px;
}


/* Testimonials Section */

.testimonials-grid {
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    column-gap:32px;
}
.testimonials-column {
    display:flex;
    flex-direction:column;
    row-gap:32px;
}
.testimonials-grid img {
    object-fit:cover;
}
@media(max-width:767px) { 
    .testimonials-grid {
        grid-template-columns:1fr;
    }
    .testimonials-column {
        row-gap:16px;
    }
    .testimonials-column:last-child {
        margin-top:16px;
    }
}



/* FAQs Section */
.faq {
    padding:32px 0;
    border-bottom:1px solid #EAECF0;
    cursor:pointer
}
.faq:last-child {
    border-bottom:0;
}

.faq p {
    display:none;
}

.faq.expand p {
    display:block;
}
.faq-open {
    min-width:24px;
    width:24px;
    height:24px;
    border-radius:100px;
    border:2px solid var(--cobalt);
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
}
.faq-open > div:first-child {
    width:10px;
    height:2px;
    background-color:var(--cobalt);
}
.faq-open > div:last-child {
    width:10px;
    height:2px;
    background-color:var(--cobalt);
    position:absolute;
    top:9px;
    left:5px;
    transform:rotate(90deg);
    transition:all .2 ease;
}
.faq.expand .faq-open > div:last-child {
    transform:rotate(0deg);
}

@media(max-width:767px) {
    .faq {
        flex-direction:row !important;
    }
    #faqs {
        padding:64px 5vw 0 5vw !important;
    }
}



/* Sponsors Section */
.sponsors {
    width:1300px;
    max-width:95vw;
}

.sponsor {
    display:inline-flex;
    float:left;
    flex-direction:column;
    row-gap:16px;
}
.sponsor.silver {
    width:100%;
    margin-top:32px;
}

.sponsor a {
    max-width:300px;
}
.sponsor.host a {
    max-width:400px;
}
.sponsor img {
    width:auto;
    max-width:100%;
}
.sponsor.host img {
    max-height:none;
}

@media(min-width:768px) and (max-width:1200px) {
    .sponsor a {
        width:20%;
        text-align:center;
    }
    .sponsor a img {
        width:100% !important;
    }
}

@media(max-width:767px) { 
    .sponsor.silver {
        width:100%;
        margin-top:16px;
    }
    .sponsor.host a {
        max-width:250px;
    }
    #sponsors {
        padding-top:24px;
        padding-bottom:64px;
    }
}


/* Logo Slider */
.ca-slider,
.usa-slider {
    margin-top: 50px;
    height: 80px;
    position: relative;
    width: 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
}
.usa-slider::before, .usa-slider::after,
.ca-slider::before, .ca-slider::after {
    position: absolute;
    background-image: linear-gradient(to right,rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
    content: '';
    height: 100%;
    width: 25%;
    z-index: 2;
    pointer-events: none;
}
.usa-slider::before,
.ca-slider::before  {
    left: 0;
    top: 0;
}
.ca-slider .slide-track {
    width: 7000px;
    display: flex;
    animation: logo-scroll-1 35s linear infinite;
    justify-content: space-between;
}
.usa-slider .slide-track {
    width: 13240px;
    display: flex;
    animation: logo-scroll-3 60s linear infinite;
    justify-content: space-between;
}
.usa-slider .slide-track2 {
    width: 13070px;
    display: flex;
    animation: logo-scroll-4 60s linear infinite;
    justify-content: space-between;
    margin-left:-6536px
}

.slide {
    width: auto;
    height: 80px;
    display: grid;
    place-items: center;
    transition: 0.5s;
    padding:0 20px;
}
.ca-slider .slide-track2 {
    width: 6800px;
    display: flex;
    animation: logo-scroll-2 30s linear infinite;
    justify-content: space-between;
    margin-left: -3500px;
}
.usa-slider::after,
.ca-slider::after {
    right: 0;
    top: 0;
    transform: rotateZ(180deg);
}



@media screen and (max-width: 768px) {
    .ca-slider,
    .usa-slider {
        margin-top: 24px;
    }
    .ca-slider .slide-track {
      width: 4545px;
    }
    .ca-slider .slide-track2 {
      width: 3375px;
    }
    .slide {
        width: auto;
        height:90px;
        padding: 0 5px;
      }
    .slide img {
        height:75px;
        width:auto;
        max-width:none;
        image-rendering:auto;
    }
  
    @keyframes logo-scroll-1 {
      0% {
        transform: translateX(0px);
      }
      100% {
        transform: translateX(-2272px);
      }
    }
  
    @keyframes logo-scroll-2 {
      0% {
        transform: translateX(0px);
      }
      100% {
        transform: translateX(1687px);
      }
    } 
    .usa-slider .slide-track {
        width: 10100px;
      }
      .usa-slider .slide-track2 {
        width: 10200px;
          margin-left: -5100px;
      }
  
      @keyframes logo-scroll-3 {
        0% {
          transform: translateX(0px);
        }
        100% {
          transform: translateX(-4850px);
        }
      }
  
      @keyframes logo-scroll-4 {
        0% {
          transform: translateX(0px);
        }
        100% {
          transform: translateX(5100px);
        }
      }
}


/* Presenters */
@media(max-width:767px) {
    #presenters {
        padding:0 5vw !important;
    }
}

/* Where & When */
.event-cover {
    display:block;
    width:100%;
    aspect-ratio:16/9;
    height:auto;
    object-fit:cover;
}
@media(max-width:767px) {
    #where .padding-24 {
        padding:16px;
    }
}


/* Country Popup */
.country-popup {
    display:flex;
    width:100%;
    align-items:center;
    justify-content:center;
    height:100vh;
    position:fixed;
    top:0;
    left:0;
    z-index:9999999;
    background-color:rgba(0,0,0,0.85);
    opacity:0;
    transition: opacity 0.6s ease;
}
.inactive.country-popup {
    display:none;
}

.country-popup__body {
    text-align:center;
    width:90%;
    max-width:650px;
}




.popup-button-container {
    display:inline-flex;
    width:100%;
    align-items:center;
    justify-content:center;
}

.country-popup__dismiss {
    margin-left:24px;
    cursor:pointer;
}



@media(max-width:767px) {
    .country-popup__body {
        padding:30px;
    }

    .popup-button-container {
        display:inline-block;
        text-align:center;
    }

    .popup-button-container .registration-button {
        float:none;
    }

    .country-popup__dismiss {
        margin-left:0;
        clear:both;
        margin-top:20px;
        display:inline-block;
    }
}




@media(max-width:767px) {
    #copyright {
        flex-direction:column;
        align-items:center;
        text-align:left;
        row-gap:8px;
    }
    #copyright .text-md {
        font-size:0.875rem;
    }
}


@media(max-width:767px) {
    #ecosystem .icon-lg,
    #scorecard .icon-lg,
    #action-plan .icon-lg {
        display:none !important;
    }
    #ecosystem h2,
    #scorecard h2,
    #action-plan h2 {
        margin-top:0 !important;
    }
    #ecosystem .container-1300,
    #action-plan .container-1300 {
        padding:0 5vw !important;
        display:flex;
        flex-direction:column-reverse;
    }
    #scorecard .container-1300 {
        padding:0 5vw !important;
        display:flex;
        flex-direction:column;
    }
    #ecosystem .container-1300 * {
        text-align:center;
        align-items:center;
    }
    #scorecard .container-1300 img,
    #action-plan .container-1300 img {
        height:300px !important;
    }
}





@media(max-width:768px) {
    #intro {
        flex-direction:column-reverse !important;
        margin-top:0 !important;
    }
    #intro .inline-grid {
        padding-bottom:8px !important;
    }

    #intro .gradient-bg-100 {
        height:auto !important;;
        padding:24px !important;
    }
    #why-attend {
        margin-top:0 !important;
        
    }
    #why-attend .inline-grid {
        display:flex;
        flex-direction:column-reverse;
        padding-bottom:8px !important;
    }

    #registration-anchor {
        display:none;
    }
}