* {
    margin: 0;
    padding: 0;
    border: 0;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
    --primary100: #cfced3;
    --primary200: #9e9ea7;
    --primary300: #6e6d7a;
    --primary400: #3d3d4e;
    --primary500: #0d0c22;
    --primary600: #0a0a1b;
    --primary700: #080714;
    --primary800: #05050e;
    --primary900: #030207;

    --secondary100: #fbdded;
    --secondary200: #f7b7d0;
    --secondary300: #f294b8;
    --secondary400: #ee70a1;
    --secondary500: #ea4c89;
    --secondary600: #bb3d6e;
    --secondary700: #8e3264;
    --secondary800: #8c2e52;
    --secondary900: #2f0f1b;

    --tertiary100: #fdfdfe;
    --tertiary200: #fbfbfd;
    --tertiary300: #f8f9fd;
    --tertiary400: #f6f7fc;
    --tertiary500: #f4f5fb;
    --tertiary600: #c3c4c9;
    --tertiary700: #929397;
    --tertiary800: #626264;
    --tertiary900: #313132;

    --error: #ec5454;
    --success: #cffe9e;
    --tertiary900: #313132;
    --successText: #546d39;
    --selectBack: #FFECBB;


}

body {
    overflow-x: hidden;
    font-family: "Roboto";
    font-weight: normal;
}

@font-face {
    font-family: "Roboto";
    src: url("/static/font/Roboto/Roboto-Regular.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Roboto";
    src: url("/static/font/Roboto/Roboto-Medium.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "Roboto";
    src: url("/static/font/Roboto/Roboto-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "Roboto";
    src: url("/static/font/Roboto/Roboto-Light.ttf") format("truetype");
    font-weight: 400;
    font-style: lighter;
}


::-moz-selection { /* for Firefox */
    color: var(--tertiary900);
    background: var(--selectBack);
}

::selection {
    color: var(--tertiary900);
    background: var(--selectBack);
}

a:hover {
    color: var(--secondary500);
}

.ButtonStyleOne {
    font-variant: all-small-caps;
    padding: 10px 20px;
    background-color: var(--tertiary500);
    color: var(--primary500);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2.4px;
    border-radius: 4px;
    border: solid 1px var(--primary900);
    margin-top: 14px;
}

.Menu {
    width: 100%;
    height: auto;
    background-color: #fff;
    position: sticky;
    top: 0px;
    padding: 10px 0;
    border-bottom: 1px solid var(--primary100);
    z-index: 3;


}

.MenuStickySec {
    width: 100%;
    height: 6px;
    background-color: #FDFCFB;
}

.Container {
    max-width: 1080px;
    padding: 0 32px;
    margin: auto;
  align-items: center;
}


.Menu .Container {
    display: grid;
    column-gap: 12px;
    grid-template-columns: auto auto;
    justify-content: space-between;
}



.socialItems img {
    display: block;
    float: right;
    padding-left: 16px;

}

.menuItems {
    display: inline-block;
    width: auto;
    margin-left: auto;
    margin-right: auto;


}

.menuItems li a {
    display: block;
    color: var(--primary900);
    text-align: center;

    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 16px;
    transition: color 0.5s;
}

.menuItems li a:last-child {
    padding-right: 0;
}

.menuItems li a:not(.activeMenu):hover {
    color: var(--primary300);
}


.menuItems ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 32px;
    padding: 8px 0;
}

.menu-toggle {
    display: none; /* hide the button on desktop */
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 20px;
}

.menu-toggle img {
    height: 24px;
    width: 24px;
    fill: var(--primary400); /* set the color of the icon */
}


.Container > div:first-child {
    margin-right: auto; /* move the hamburger icon to the left */
}


.menuItems li .activeMenu {
    color: var(--secondary500) !important;
    position: relative;
}

.menuItems li .activeMenu::after {
    content: "";
    display: block;
    width: 8px;
    height: 3px;
    position: absolute;
    bottom: -4px;
    left: 0;
    right: 0;
    margin: 0 auto;
    background-color: var(--secondary500);
    border-radius: 50%;
}

#MenuMobile {
    display: none;
}

#menuClose {
    display: none;
}


.hero {

    margin-top: 110px;
    width: 100%;
    padding: 0 64px
}

.hero .headText {
    font-size: 54px;
    font-weight: 700;
    color: var(--primary900);
    line-height: 70px;
    font-weight: 600;
}

.hero p {
    margin-top: 20px;
    font-size: 18px;
    letter-spacing: 1px;
    line-height: 32px;

}

.highligh {
    position: relative;
}

.highligh::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 16%;
    width: 100%;
    height: 45%;
    z-index: -1;
}

.PinkHighligh::before {
    background: var(--secondary100);
}

.BlueHighligh::before {
    background: #a0ecff;
}

.GreenHighligh::before {
    background: #cefe9d;
}

.hero .outlineText {
    color: white;
    font-size: 54px;
    -webkit-text-stroke: 0.7px var(--primary900);
}

.Arrow-down {
    text-align: center;
    margin-top: 80px;
    cursor: pointer;
    animation: sdb05 1.5s infinite;

}

@keyframes sdb05 {
    0% {
        transform: translate(0, 0);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translate(0px, 30px);
        opacity: 0;
    }
}


.cardsSection {
    width: 100%;
    margin-top: 160px;

}

.sectionHeader {
    display: flex;
    justify-content: space-between;
}

.headerTitle {
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 3px;
    color: var(--primary900);
}

.headerTitle::before {
    content: "";
    display: inline-block;
    width: 27px;
    height: 2px;
    background-color: var(--primary900);
    margin-right: 10px;
    vertical-align: middle;


}

.showMore a {
    color: var(--secondary500);
    font-size: 16px;

}

.showMore a img {
    margin-left: 4px;

}


.card {
    max-width: 100%;
    border-radius: 8px;
}

.col-md-6 img {
    min-height: 100%;
    object-fit: cover;
    width: 100%;

}

.cards {
    margin-top: 70px;
}

.cardBody:last-child {
    padding: 28px;
}

.card-body h3 {
    font-size: 32px;
    font-weight: 600;
    line-height: 50px;
    text-transform: capitalize;

    display: inline-block;
    color: var(--tertiary900) !important;
    text-overflow: ellipsis;
    word-wrap: break-word;

    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* number of lines to show */
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.card-body .card-text {

    font-size: 16px;
    margin-top: 12px;
    text-transform: capitalize;

    display: inline-block;
    color: var(--primary900) !important;
    text-overflow: ellipsis;
    word-wrap: break-word;

    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1; /* number of lines to show */
    line-clamp: 1;
    -webkit-box-orient: vertical;
}

.card-sub {
    text-transform: capitalize;
    color: var(--primary200);
    font-size: 16px;
}

.mb-3 {
    margin-bottom: 2rem !important;
}


.card a {
    color: var(--primary900);
    text-decoration: none;
}

.card a:hover {
    color: var(--secondary500);
}

.twoDashes::before {
    content: "";
    display: inline-block;
    width: 27px;
    height: 2px;
    background-color: var(--primary900);
    margin-right: 10px;
    vertical-align: middle;
}

.twoDashes::after {
    content: "";
    display: inline-block;
    width: 27px;
    height: 2px;
    background-color: var(--primary900);
    margin-left: 10px;
    vertical-align: middle;
}

.footerHead {
    font-size: 26px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
}

.footerSub {
    font-size: 20px;
    text-align: center;
    margin-bottom: 32px;
}

.socialItems {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.ContactInfo {
    display: flex;
    height: 20px;
    margin: auto 0;
    gap: 8px;
    text-decoration: none;
    color: var(--primary400);
    fill: var(--primary400);
}


.webSiteFooter {
    margin-bottom: 48px;
    margin-top: 200px;
}

.footerContactInfo {
    display: flex;
    justify-content: space-between;
}


.halfInput {
    display: grid;
    grid-template-columns: auto auto;
    gap: 20px;

}

.fullInput {
    margin-top: 20px;
    display: grid;
    grid-template-columns: auto;
    gap: 20px;
}


form input {
    font-family: "roboto";
    font-size: 16px;

    padding: 14px 18px;
    width: 100%;
    background-color: var(--tertiary300);
    border-radius: 6px;
}

form textarea {
    font-family: "roboto";
    font-size: 16px;
    padding: 8px 16px;
    width: 100%;
    height: 171px;
    background-color: var(--tertiary300);
    border-radius: 6px;
    resize: vertical;
}

form input:focus, textarea:focus {
    outline: 2px solid var(--secondary100);
}

form button {
    font-family: "roboto";
    font-weight: 600;
    font-size: 17px;
    background-color: var(--primary500);
    color: var(--tertiary100);
    margin: 64px auto 0 auto;
    padding: 10px 97px;
    border-radius: 4px;

}

.Center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.aboutForm {
    margin-top: 120px;
    margin-bottom: 200px;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
}

.groupInput {
    margin-top: 12px;
}

.ErrorContent i {
    padding-right: 6px;
}

.ErrorContent {
    display: block;
    margin-top: 12px;
    color: var(--error);
    font-size: 16px;

}

form input {
    font-size: 16px;

}

form label {
    font-size: 18px;
    margin-bottom: 12px;
}

form input:not([required]) + form label {
    color: red !important;
    background-color: red !important;
    padding: 100px !important;
}

.optionalLabel::after {
    content: " (Optional)";
    font-size: 14px;
    color: var(--primary200);
}

.MenuMobile {
    display: none;
}

.card-body {
    padding: 2rem 2rem !important;
}

.socialItems img {
    width: 44px;
}

.HeadImg {
    width: 64px;
    border-radius: 50%;
    margin-right: 16px;
    padding-bottom: 8px;
}

@media (max-width: 1160px) {
    .card-body {
        padding: 3rem 2rem !important;
    }

    .card-body h3 {
        display: inline-block;
        color: var(--tertiary900) !important;
        text-overflow: ellipsis;
        word-wrap: break-word;

        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2; /* number of lines to show */
        line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .card-sub {
        font-size: 14px;
    }

    .ButtonStyleOne {
        margin-top: 2px;
        font-size: 12px;

        padding: 8px 18px;
    }

    .card-body {
        vertical-align: middle;
    }


}

@media (max-width: 960px) {
    .card-body {
        padding: 2rem 2rem !important;
    }

    .hero {
        margin-top: 64px;
    }

    .Arrow-down {
        margin-top: 40px;
    }

    .menuItems li a {
        font-size: 14px;
    }

    .cardBody:last-child {
        padding: 16px;
    }

    .card-body h3 {
        font-size: 24px;
        font-size: 3vw;

        line-height: 30px;
        line-height: 4vw;


        display: inline-block;
        color: var(--tertiary900) !important;
        text-overflow: ellipsis;
        word-wrap: break-word;

        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2; /* number of lines to show */
        line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .card-body .card-text {
        font-size: 16px;
        margin-top: 0px;
        text-transform: capitalize;
    }

    .card-sub {
        font-size: 14px;
    }

    .ButtonStyleOne {
        margin-top: 12px;
        font-size: 12px;

        padding: 8px 18px;
    }

}

@media (max-width: 768px) {
    .menuItems li a {
        font-size: 14px;
    }

    .menu-toggle {
        display: block; /* show the button on mobile */
    }

    .menuItems {
        display: none; /* hide the menu items by default */
    }

    .menuItems.show {
        display: block; /* show the menu items when the button is clicked */
    }

    .MenuStickySec {
        height: 0;
    }

    .MobBack {
        z-index: 20;
        display: block;
        width: 100%;
        height: 100%;
        background-color: #fff;
        position: fixed;
        right: 0;
        padding: 32px;
        border-right: 1px solid rgb(100, 99, 98);
    }


    .MobMenuItems li a {
        text-decoration: none;
        font-size: 14px;
        color: #323231;
        font-weight: 100;
        text-transform: uppercase;
        letter-spacing: 3px;


    }

    .activeMenu {
        color: var(--secondary500) !important;
        position: relative;
    }

    .activeMenu::after {
        content: "";
        display: block;
        width: 8px;
        height: 3px;
        position: absolute;
        bottom: -10px;
        left: 0;
        right: 0;
        margin: 0 auto;
        background-color: var(--secondary500);
        border-radius: 50%;
    }

    .MobMenuItems li {
        padding-bottom: 24px;
        text-align: center;

    }

    .MobMenuItems ul, .MobSocial ul {
        list-style-type: none;
    }

    .MobSocial li a {
        font-size: 16px;
        color: #323231;
        font-weight: 100;
        text-transform: uppercase;
        letter-spacing: 2.5px;
        margin-right: 12px;


    }

    .MobSocial li {
        margin-top: 14px;
    }

    .MobSocial {
        display: block;
        position: absolute;
        bottom: 180px;

    }

    .Menu .Container {
        display: flex;
    }

    .halfInput {
        display: grid;
        grid-template-columns: auto;
        gap: 20px;

    }

    .groupInput {
        margin-top: 0;
    }


    .cardBody:last-child {

        padding: 14px;
    }

    .card-body h3 {
        font-size: 4.8vw;
        line-height: 6.5vw;
    }

    .card-sub {
        font-size: 18px;
    }

    .Container {
        padding: 0 24px;
    }

    .card-body .card-text {
        font-size: 16px;
        letter-spacing: 1.2px;
        margin-top: 14px;
        -webkit-line-clamp: 2; /* number of lines to show */
        line-clamp: 2;

    }

}

@media (max-width: 650px) {
    .hero p {
        font-size: 16px;
        letter-spacing: 2px;
        line-height: 26px;
        margin-top: 12px;
    }

    .hero .headText {
        font-size: 46px;
        line-height: 50px;


    }

    .hero .outlineText {
        font-size: 46px;
        -webkit-text-stroke: 0.5px var(--primary900);
    }

    .hero {
        border: none;
            padding: 0 32px;


    }

    .Arrow-down {
        margin-top: 50px;
    }

    .Arrow-down img {
        width: 40px;
    }

    .headerTitle {
        font-size: 18px;
    }

    .headerTitle::before {
        margin-right: 4px;
        width: 14px;
    }

    .showMore a {
        font-size: 18px;
        vertical-align: super;
    }

    .showMore img {
        width: 16px;
    }

    .cards {
        margin-top: 40px;
    }
}

@media (max-width: 450px) {
    .cardBody:last-child {
        padding: 8px;
    }

    .socialItems img {
        width: 36px;
    }

    .card-body h3 {
        font-size: 22px;

        line-height: 30px;


        display: inline-block;
        color: var(--tertiary900) !important;
        text-overflow: ellipsis;
        word-wrap: break-word;

        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 3; /* number of lines to show */
        line-clamp: 3;
        -webkit-box-orient: vertical;
        line-height: 30px;
    }

    .card-sub {
        font-size: 12px;
    }

    .ButtonStyleOne {

        font-size: 12px;
        margin-top: 2px;
        padding: 10px;
    }

    .Container {
        padding: 0 12px;
    }

    .card-body .card-text {
        font-size: 12px;
        letter-spacing: 1.2px;
        margin-top: 14px;
        -webkit-line-clamp: 2; /* number of lines to show */
        line-clamp: 2;

    }

    .ContactInfo p {
        font-size: 3.5vw;
    }

    .ContactInfo img {
        width: 5vw;
    }

    .hero p {
        font-size: 12px;
        letter-spacing: 1px;
        line-height: 20px;
        margin-top: 12px;
    }

    .hero .headText {
        font-size: 38px;
        line-height: 46px;


    }

    .hero .outlineText {
        font-size: 36px;
        -webkit-text-stroke: 0.5px var(--primary900);
    }

    .hero {
        margin-top: 100px;
            padding: 0 24px;
    }

    .Arrow-down img {
        width: 30px;
    }

    .headerTitle {
        font-size: 14px;
    }

    .headerTitle::before {
        margin-right: 4px;
        width: 10px;
    }

    .showMore a {
        font-size: 14px;
        vertical-align: super;
    }

    .showMore img {
        width: 14px;
    }

    .cards {
        margin-top: 40px;
    }
}

#myBtn svg {
    position: absolute;
    left: 15px;
    top: 14px;
}


#myBtn {
    width: 50px;
    height: 50px;
    display: none;
    position: fixed;
    bottom: 30px;
    right: 40px;
    z-index: 99;
    font-size: 18px;
    border: none;
    outline: none;
    background-color: var(--primary500);
    color: white;
    cursor: pointer;
    border-radius: 50%;
}

#myBtn:hover {
    background-color: var(--primary400);
}



