﻿.desktop {
    display: block;
}

.mobile {
    display: none;
}

html {
    min-height: 100%;
    background-position: center!important;
    background-size: cover!important;
    background-repeat: no-repeat!important;
}

body {
    background-color: transparent;
    font-family: "Google Sans Flex", sans-serif !important;
    height: 100%;
}

.body-content {
    height: 100%;
}

.desktop {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 100px;
    padding-top: 100px;
    padding-bottom: 100px;
}

.desktop .logo-wrapper img.main-logo {
    height: 60px;
    margin: auto;
}

.desktop .white-bg-box {
    background: rgba(255,255,255,0.9);
    border-radius: 50px;
    width: 500px;
    margin-left: auto;
    margin-right: auto;
    padding: 70px 55px;
    box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.25);
}

h2 {
    color: #222021;
    margin-top: 0px;
    font-weight: 700;
    font-size: 40px;
    line-height: 51px;
}

p {
    color: rgba(34,32,33,0.7);
    font-weight: 500;
    font-size: 22px;
    line-height: 29px;
}

.desktop .white-bg-box .bottom-section {
    margin-top: 40px;
}

form label {
    color: #0B4BA0;
    text-transform: uppercase;
    font-size: 17px;
}

form .form-control {
    background: rgba(238, 234, 229);
    border: 1px solid #E3DACE;
    border-radius: 10px;
    padding: 15px 15px;
    height: unset;
}

form .form-control::placeholder {
    color: rgba(34,32,33,0.5);
    font-size: 17px;
}

form input.cms-field-submit {
    background: #FF208B;
    border: none;
    width: 100%;
    font-weight: 700;
    padding: 15px 15px;
    border-radius: 10px;
    font-size: 18px;
}

form input.cms-field-submit:hover {
    background: #0B4BA0;
}

.cms-form-group-required .cms-form-label:after {
    color: #00ADB3;
}

.cms-group-submit {
    margin-bottom: 0px;
}

@media (min-width: 767px) and (max-width: 1200px) {
    .desktop .logo-wrapper img.main-logo {
        height: 40px;
    }

    .desktop {
        gap: 70px;
        padding-top: 70px;
        padding-bottom: 70px;
    }

    h2 {
        font-size: 30px;
        line-height: 41px;
    }

    p {
        font-size: 19px;
        line-height: 26px;
    }

    .desktop .white-bg-box {
        max-width: 400px;
        padding: 50px 35px;
    }
}

@media (max-width: 767px) {
    .desktop {
        display: none;
    }

    .mobile {
        display: block;
    }

    .mobile .logo-wrapper {
        position: absolute;
        margin-top: 40px;
        width: 100%;
    }

    .mobile .main-logo {
        height: 30px;
        margin-left: auto;
        margin-right: auto;
    }

    .mobile .top-img-section .img-wrapper {
        position: relative;
        height: unset;
        aspect-ratio: 402 / 512;
        width: 100%;
        overflow: hidden;
    }

    .mobile .top-img-section .curve-overlay {
        position: absolute;
        bottom: -1px;
        left: 0;
        width: 100%;
        height: 80px;
        display: block;
    }

    .mobile .top-img-section .img-wrapper img.main-img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        object-position: center;
    }

    h2 {
        font-size: 30px;
        line-height: 41px;
    }

    p {
        font-size: 19px;
        line-height: 26px;
    }

    .bottom-wrapper {
        padding: 30px 20px;
    }

}