@font-face {
    font-family: IntroRust;
    src: url("../intro-rust/IntroRust.otf");
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Montserrat", sans-serif;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.offcanvas-body ul {
    list-style: none;
    padding: 0;
}

.offcanvas-body ul li {
    margin-top: 10px;
}

.offcanvas-body ul li a {
    color: black;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
}

/* Header & Navbar */
.d-header {
    background-image: url(../images_v2/hero-bg.png);
    background-size: cover;
}

.m-header {
    background-image: url(../images_v2/HeroMobile.png);
    background-size: cover;
}

.navbar {
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
}

.hero-content {
    padding-top: 100px;
    padding-bottom: 200px;
}

.hero-content h1 {
    color: #212C7B;
    font-weight: bold;
    font-size: 57px;
}

.hero-content h2 {
    color: #BD2416;
    font-weight: bold;
    font-size: 38px;
}

/* Main */

.struggles {
    background-color: white;
    box-shadow: 0px 4px 24px 0px #00000012;
    border-radius: 20px;
    padding: 50px;
    max-width: 100%;
    margin: -100px auto 0;
}

.main-head h2 {
    max-width: 40%;
    margin: 10px auto;
    text-align: center;
    color: #212C7B;
    font-weight: bold;
}

.main-head p {
    max-width: 65%;
    margin: 0 auto;
    text-align: center;
}

.main-bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 600px;
    width: 100%;
    padding: 30px;
    margin-top: 30px;
    border-radius: 20px;
    text-align: center;
}

.main-bg h4 {
    font-size: 22px;
    font-weight: bold;
}

.main-bg-1 {
    background-image: url(../images_v2/Group\ 41.png);
}

.main-bg-2 {
    background-image: url(../images_v2/Group\ 42.png);
}

.main-bg-3 {
    background-image: url(../images_v2/Group\ 43.png);
}

.main-bg-4 {
    background-image: url(../images_v2/Group\ 44.png);
}

.main-bg-5 {
    background-image: url(../images_v2/Group\ 46.png);
}

.main-bg-6 {
    background-image: url(../images_v2/Group\ 51.png);
}

.main-bg-7 {
    background-image: url(../images_v2/Group\ 52.png);
}

.main-bg-8 {
    background-image: url(../images_v2/Group\ 54.png);
}

.struggle-head {
    color: #212C7B;
    font-weight: bold;
}

/* Solutions */
.solutions-head {
    color: #212C7B;
    font-weight: bold;
    padding-block: 50px;
}

.solution-head-1 {
    font-weight: 700;
    color: #212C7B;
    font-size: 24px;
}

.solution-head-2 {
    font-size: 30px;
    font-weight: bold;
    color: #212C7B;
}

.solution-head-3 {
    font-size: 22px;
    font-weight: bold;
    color: #212C7B;
    font-weight: bold;
}

.solution-head-4 {
    color: #212C7B;
    font-weight: bold;
}

.solution-bg {
    background-size: cover;
    padding: 30px;
    height: 100vh;
    text-align: center;
    margin-top: 30px;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 20px;
}

.solution-bg-1 {
    padding: 120px 60px;
    background-image: url(../images_v2/Group\ 89.png);
    background-size: cover;
    border-radius: 20px;
}

.solution-bg-2 {
    border-radius: 20px;
    padding: 120px 60px;
    background-image: url(../images_v2/Group\ 90.png);
    background-size: cover;
    margin-top: 30px;
}

.solution-bg-3 {
    background-image: url(../images_v2/Group\ 58.png);
}

.solution-bg-4 {
    background-image: url(../images_v2/Group\ 60.png);
}

.solution-bg-5 {
    background-image: url(../images_v2/Group\ 62.png);
}

.solution-bg-6 {
    background-image: url(../images_v2/Group\ 63.png);
}

.solution-bg-7 {
    background-image: url(../images_v2/Group\ 66.png);
}

.solution-bg-8 {
    background-image: url(../images_v2/Group\ 67.png);
}

/* BYOB Section */
.byob-section {
    background-color: #D9E6F7;
    margin-top: 60px;
    color: #1A1A40;

}

.byob-row {
    align-items: flex-start;
    /* aligns top edges vertically */
    position: relative;
    left: -100px;
}

.byob-heading {
    font-weight: 800;
    line-height: 1.1;
    color: #243C7B;
    text-align: right;
    font-family: IntroRust;
    width: 70%;
    margin-left: auto;
    font-size: 55px;
}

.byob-heading .own {
    color: #D22A1C;
}

/* Paragraph Text */
.byob-text-home , .byob-text{
    font-size: 18px;
    line-height: 1.6;
    color: #1E285F;
    padding-top: 10px;
}

/* Button */
.byob-button {
    background-color: #243C7B;
    color: #fff;
    padding: 12px 40px;
    font-weight: 600;
    border-radius: 6px;
    transition: all 0.3s ease;
    text-align: center;
}

.byob-button:hover {
    background-color: #D22A1C;
    color: #fff;
}

.partners {
    padding-block: 60px;
    text-align: center;
}

.partners p {
    max-width: 80%;
    margin: 20px auto;
}

.partners ul {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
}

/* Footer */
.footer {
    background-color: #212C7B;
    padding-top: 30px;
    padding-bottom: 10px;
}

.footer ul {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 20px;
}

.footer ul li a {
    color: white;
    text-decoration: none;
}

.footer ul li a i {
    font-size: 20px;
}

/* Responsiveness */
@media (min-width: 768px) {

    .mobile-version-1,
    .mobile-version-2,
    .mobile-version-3,
    .byob-section-4-mobile {
        display: none;
    }

}

@media screen and (max-width: 767px) {
    .byob-section-4 {
        display: none;
    }

    .byob-section-1,
    .byob-section-2,
    .byob-section-3,
    .byob-section-4-mobile,
    .byob-section-5 {
        padding-top: 40px;
        background-position: center;
    }

    .byob-text-home {
        padding-top: 0;
    }

    .m-header {
        background-position: center;
    }

    .hero-content {
        padding-top: 60px;
        padding-bottom: 500px;
    }

    .hero-content h1 {
        font-size: 38px;
    }

    .hero-content h2 {
        font-size: 24px;
    }

    .main-head h2,
    .main-head p {
        min-width: 100%;
    }

    .struggles {
        padding: 25px;
    }

    .main-bg,
    .solution-bg {
        background-size: 100% 100%;
        height: 470px;
    }

    .main-bg-4,
    .main-bg-3 {
        height: 520px;
    }


    .main-bg h5,
    .solution-head-1,
    .solution-head-4 {
        font-size: 16px;
    }

    .main-bg h4,
    .solution-head-2,
    .solution-head-3 {
        font-size: 18px;
    }

    .main-bg p,
    .solution-bg p,
    .solution-head-p {
        font-size: 13px;
    }

    .solutions-head {
        padding-block: 30px;
    }

    .solution-bg-1,
    .solution-bg-2 {
        padding: 30px 30px 0 30px;
        background-size: cover;
        border-radius: 20px;
    }

    .solution-bg-1 img,
    .solution-bg-2 img {
        margin-top: -50px;
    }

    .solution-bg-2 {
        background-position: right;
    }

    .ordy-1 {
        order: 2;
    }

    .ordy-2 {
        order: 1;
    }

    .byob-heading {
        font-size: 32px;
        text-align: center;
        width: 100%;
    }

    .byob-row {
        left: 0;
    }

    .byob-section,
    .partners {
        padding: 40px 20px;
    }

    .byob-section p,
    .partners p {
        min-width: 100%;
    }

    .partners ul {
        flex-wrap: wrap;
    }

    .partners ul li img {
        width: 130px;
    }

    .d-header {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .m-header {
        display: none;
    }

    .d-header {
        background-position: center;
    }

    .byob-section-4 {
        background-position: -80px !important;
        padding-block: 50px !important;
        background-repeat: no-repeat;

    }

    .hero-content h1 {
        font-size: 28px;
    }

    .main-head h2,
    .main-head p {
        max-width: 70%;
    }

    .struggles {
        padding: 30px 20px;
    }

    .byob-row {
        left: 0;
    }

    .byob-heading {
        text-align: center;
        font-size: 40px;
        width: 100%;
    }

    .main-bg,
    .solution-bg {
        background-size: 100% 100%;
        height: 420px;
    }

    .main-bg p,
    .solution-bg p {
        font-size: 12px;
    }

    .solution-bg-1 {
        padding: 40px;
        background-position: right;
    }

    .solution-head-2 {
        font-size: 24px;
    }

    .solution-bg-2 {
        padding: 40px;
        background-position: left;
    }

    .byob-section p,
    .partners p {
        min-width: 100%;
    }

    .solution-head-3,
    .main-bg h4 {
        font-size: 14px;
    }

    .struggle-head,
    .solution-head-4 {
        font-size: 13px;
    }

}

@media (min-width: 992px) and (max-width: 1199px) {
    .byob-section-4 {

        padding-block: 70px !important;
        background-repeat: no-repeat;

    }

    .m-header {
        display: none;
    }

    .hero-content h1 {
        font-size: 36px;
    }

    .main-head h2,
    .main-head p {
        max-width: 60%;
    }

    .struggles {
        padding: 60px;
    }

    .main-bg,
    .solution-bg {
        height: 510px;
    }

    .byob-row {
        left: -50px;
    }

    .solution-bg-1 {
        padding: 80px;
        background-position: right;
    }

    .solution-head-2 {
        font-size: 30px;
    }

    .solution-bg-2 {
        padding: 80px;
        background-position: left;
    }

    .byob-section p,
    .partners p {
        max-width: 90%;
    }
}

@media (min-width: 1200px) {

    .main-bg,
    .solution-bg {
        height: 600px;
    }

    .m-header {
        display: none;
    }

}


/* BYOB Page */
.byob-header {
    background-color: #DFEEF9;
}

.byob-hero {
    padding-block: 120px;
    text-align: center;
}

.byob-hero h1 {
    color: #212C7B;
    font-weight: bold;
    font-family: IntroRust;
    font-size: 100px;
}

.byob-hero h1 span {
    color: #BD2416;
    font-weight: bold;
    font-family: IntroRust;
}

.byob-section-2 {
    background-image: url(../images_v2/byob-section-2.png);
    background-size: cover;
}

.byob-section-3 {
    background: linear-gradient(90deg, #D9D9D9 54.75%, rgba(217, 217, 217, 0) 65.38%);
}

.byob-section-4 {
    background-image: url(../images_v2/byob-section-4-bg.png);
    background-size: cover;
    padding-block: 150px;
}

.byob-icon {
    font-size: 26px;
}

.p-div {
    display: table;
    height: 100%;
}

.c-div {
    display: table-cell;
    vertical-align: middle;
}

.byob-text h3 {
    font-weight: bold;
    color: #212C7B;
}

.byob-text h5 {
    font-weight: bold;
    color: #212C7B;
}


/* Responsiveness */
@media screen and (max-width: 767px) {

    .byob-hero h1 {
        font-size: 50px;
    }

    .byob-3-image {
        width: 100%;
        height: auto;
    }

}



@media (min-width: 1700px) {
    .byob-3-image {
        height: 700px;
        width: 100%;
        object-fit: cover;
    }

    .header {
        background-position: center;
    }

    .hero-content {
        padding-top: 230px;
        padding-bottom: 330px;
    }

    .hero-content h1 {
        font-size: 75px;
    }

    .hero-content h2 {
        font-size: 55px;
    }

    .byob-heading {
        font-size: 80px;

    }

    .byob-text h5 {
        font-size: 32px;
    }

    .byob-text h3 {
        font-size: 50px;
    }

    .byob-text p {
        font-size: 24px;
    }

    .byob-icon {
        font-size: 32px;
    }

    .byob-text-home {
        font-size: 26px;
        padding-top: 10px;
    }

}