@import url('https://fonts.googleapis.com/css2?family=Fjalla+One&family=Poppins:wght@100;200;300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    color: hsl(0, 0%, 20%);
}
html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}
body {
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}
* a {
    text-decoration: none;
}
.scroll-target {
    position: relative;
    top: 60px;
    opacity: 0;
    transition: 0.6s ease !important;
}

:root {
    --blue-dark: #155d9c;
}


.para-long {
    max-height: 100px;
    overflow: hidden;
    position: relative;
    margin: 0 0 30px 0 !important;
    transition: 0.7s ease;
}
.para-long-btn {
    cursor: pointer;
    line-height: 1;
    font-size: 17px;
    text-decoration: underline;
}

/*////////////////////// HEADER SETION ////////////////////////*/
.header {
    z-index: 7;
    width: 100%;
    background-color: white;
    display: flex;
    justify-content: center;
    padding: 26px 0;
}
.header-flex {
    max-width: calc(100% - 80px);
    width: 1500px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header-logo {
    display: block;
    height: 45px;
    width: auto;
    filter: invert(0.8);
}
.header-nav {
    display: flex;
    gap: 50px;
}
.header-link {
    color: hsl(0, 0%, 20%);
    font-size: 16px;
    font-weight: 500;
    text-underline-offset: 2px;
}
.header-link:hover {
    text-decoration: underline;
}
.header-link-active {
    text-decoration: underline;
    color: var(--blue-dark);
}
.btn-header {
    background-color: var(--blue-dark);
    color: white;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
}
.btn-header:hover, .btn-contact:hover, .btn-hero-learn:hover, .btn-contact-left:hover, .btn-info-cta:hover, .btn-banner-learn:hover {
    background-color: hsl(208, 76%, 25%);
}
/*/////////////////////////////////////////////////////////////*/


/*////////////////////// HERO SECTION ////////////////////////*/
.hero-container {
    overflow: hidden;
    width: 100%;
    height: calc(100vh - 102px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
}
.hero-radius {
    z-index: 4;
    background-color: white;
    width: calc(100% + 170px);
    min-width: 800px;
    height: 200px;
    border-radius: 50%;
    position: absolute;
    bottom: -140px;
    left: 50%;
    transform: translateX(-50%);
}
.hero-shadow {
    z-index: 3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0.5;
}
.hero-img-container {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-img {
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    transition: 0.8s ease;
}
.hero-video2 {
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    object-position: 50% 50%; 
}
.hero-content {
    width: 100%;
    position: relative;
    z-index: 5;
    text-align: center;
    padding-bottom: 130px;
}
.hero-eyebrow {
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    color: white;
}
.hero-eyebrow span {
    width: 7px;
    height: 7px;
    border-radius: 100px;
    background-color: white;
}
.hero-title {
    margin-top: 14px;
    line-height: 1.25;
    font-size: 64px;
    font-weight: 600;
    color: white;
}
.hero-para {
    max-width: calc(100% - 20px);
    width: 600px;
    margin: 20px auto 30px;
    font-size: 18px;
    color: hsl(0, 0%, 85%);
    line-height: 1.65;
}
.hero-btn-flex {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 15px;
}
.btn-hero {
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
}
.btn-hero-learn {
    background-color: var(--blue-dark);
    color: white;
}
.btn-hero-book {
    background-color: white;
    color: hsl(0, 0%, 20%);
}
.btn-hero-book:hover {
    background-color: transparent;
    border: 1px solid white;
    color: white;
}
/*/////////////////////////////////////////////////////////////*/

/*////////////////////// TRUSTED BY SECTION ////////////////////////*/
.trust-container {
    text-align: center;
    width: 1200px;
    max-width: calc(100% - 80px);
    margin: 100px auto 0;
}
.trust-eyebrow {
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    color: var(--blue-dark);
}
.trust-eyebrow span {
    width: 6px;
    height: 6px;
    border-radius: 100px;
    background-color: var(--blue-dark);
}
.trust-title {
    margin-top: 18px;
    font-size: 54px;
    line-height: 1;
    font-weight: 600;
    color: hsl(0, 0%, 20%);
}
.trust-flex {
    mask-image: linear-gradient(to right, rgba(255, 255, 255, 0) 3%, rgb(255, 255, 255) 35%, rgb(255, 255, 255) 65%, rgba(255, 255, 255, 0) 97%);
    overflow: hidden;
    margin-top: 55px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 100px;
}
.trust-img {
    height: 90px;
    animation: slide_sponsors 32s linear infinite;
}
@keyframes slide_sponsors {
    0% {
        transform: translateX(0px);
    }
    100% {
        transform: translateX(1408px);
    }
}
/*//////////////////////////////////////////////////////////////////*/

/*////////////////////// CALENDAR SECTION ////////////////////////*/
.events-bg {
    width: 100%;
    background-color: hsl(204, 50%, 98%);
    border-top: 2px solid hsl(0, 0%, 90%);
    border-bottom: 2px solid hsl(0, 0%, 90%);
    padding: 100px 0 120px;
    margin: 80px 0;
}
.cal-container {
    width: 1500px;
    max-width: calc(100% - 80px);
    margin: 0px auto;
}
.cal-content {
    margin-bottom: 40px;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 80px;
}
.cal-eyebrow {
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    color: var(--blue-dark);
}
.cal-eyebrow span {
    width: 6px;
    height: 6px;
    border-radius: 100px;
    background-color: var(--blue-dark);
}
.cal-title {
    white-space: nowrap;
    margin-top: 10px;
    line-height: 1.2;
    font-size: 72px;
    font-weight: 600;
    color: hsl(0, 0%, 20%);
}
.cal-para {
    margin-bottom: 12px;
    width: 650px;
    max-width: 100%;
    font-size: 18px;
    line-height: 1.75;
    color: hsl(0, 0%, 20%);
}
.cal-wrapper {
    width: 100%;
    position: relative;
    background-color: white;
    border-radius: 25px;
    box-shadow: 0 0px 15px rgba(0, 0, 0, 0.2);
    padding: 32px 32px 12px;
}
.cal-nav {
    padding: 0 10px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.cal-nav-chevron {
    z-index: 3;
    cursor: pointer;
    color: hsl(0, 0%, 40%);
    font-size: 18px;
}
.cal-nav-title {
    font-size: 24px;
    color: hsl(0, 0%, 20%);
    line-height: 1;
}
.cal-top {
    margin-top: 32px;
    width: 100%;
    background-color: hsl(0, 0%, 96%);
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    padding: 14px 0;
    display: flex;
}
.cal-top-mon {
    width: 100%;
    display: flex;
    justify-content: center;
    line-height: 1;
    font-size: 17px;
    color: hsl(0, 0%, 40%);
}
.cal-flex {
    width: 100%;
    display: flex;
}
.cal-box {
    padding: 12px;
    width: 100%;
    height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid hsl(0, 0%, 96%);
    position: relative;
}
.cal-day-disabled .cal-box-day {
    opacity: 0.4;
}
.cal-box-today {
    background-color: #ecfdcc;
}
.cal-box-event {
    background-color: hsl(204, 100%, 95%);
    transition: 0.2s ease;
}
.cal-box-day {
    position: absolute;
    top: 13px;
    right: 13px;
    line-height: 1;
    font-size: 20px;
    color: hsl(0, 0%, 20%);
    font-weight: 500;
}
.cal-today-txt {
    line-height: 1;
    position: absolute;
    bottom: 12px;
    right: 12px;
    font-size: 15px;
    color: hsl(0, 0%, 40%);
}
.cal-event-head {
    line-height: 1.4;
    font-size: 16px;
    font-weight: 500;
    color: hsl(0, 0%, 20%);
}
.cal-event-time {
    line-height: 1.3;
    margin-top: 8px;
    font-size: 15px;
    color: hsl(0, 0%, 40%);
}
.cal-event-cta {
    cursor: pointer;
    color: var(--blue-dark);
    line-height: 1;
    margin-top: 8px;
    font-size: 15px;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: 0.2s ease;
}
.cal-event-cta:hover {
    color: hsl(208, 76%, 15%);
}
.cal-reset {
    background-color: var(--blue-dark);
    color: white;
    margin-bottom: 18px;
    display: inline-block;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    padding: 10px 22px;
    transition: 0.2s ease;
}
/*////////////////////////////////////////////////////////////////*/

/*////////////////////// INFO MODAL SECTION ////////////////////////*/
.info-modal {
    pointer-events: none;
    opacity: 0;
    bottom: 0;
    left: 0;
    z-index: 101;
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: hsla(0, 0%, 0%, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
}
.info-wrapper {
    overflow: hidden;
    background-color: white;
    border-radius: 8px;
    padding: 28px 24px 24px;
    max-width: calc(100% - 18px);
    width: 800px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
}
.info-top {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 28px;
    margin-bottom: 32px;
}
.info-hr {
    background-color: hsl(0, 0%, 85%);
   height: 1px;
   width: calc(100% + 48px);
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%); 
}
.info-title {
    font-size: 26px;
    color: hsl(0, 0%, 20%);
    font-weight: 500;
    line-height: 1;
}
.info-xmark {
    cursor: pointer;
    color: hsl(0, 0%, 20%);
    font-size: 20px;
}
.info-flex {
    width: 100%;
    gap: 16px;
    display: flex;
    gap: 30px;
}
.info-col {
    width: 100%;
    margin-bottom: 25px;
}
.info-label {
    margin-bottom: 5px;
    color: hsl(0, 0%, 20%);
    font-weight: 500;
    font-size: 20px;
}
.info-txt {
    font-size: 18px;
    color: hsl(0, 0%, 40%);
}
.info-btn-flex {
    margin-top: 45px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}
.btn-info {
    margin-top: 20px;
    align-self: flex-start;
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
}
.btn-info-back {
    background-color: transparent;
    border: 1px solid hsl(0, 0%, 85%) !important;
    color: hsl(0, 0%, 20%);
}
.btn-info-back:hover {
    background-color: hsl(0, 0%, 85%);
}
.btn-info-cta {
    background-color: var(--blue-dark);
    color: white;
}

.reg-modal {
    pointer-events: none;
    opacity: 0;
    bottom: 0;
    left: 0;
    z-index: 101;
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: hsla(0, 0%, 0%, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
}
.reg-wrapper {
    background-color: white;
    border-radius: 8px;
    padding: 28px 24px 24px;
    max-width: calc(100% - 18px);
    width: 800px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
}
.reg-flex {
    width: 100%;
    gap: 16px;
    display: flex;
    gap: 30px;
}
.reg-label {
    margin-bottom: 6px;
    color: hsl(0, 0%, 20%);
    font-weight: 500;
    font-size: 18px;
}
.reg-input {
    background-color: transparent;
    outline: 0;
    font-size: 17px;
    padding: 10px 15px;
    color: hsl(0, 0%, 20%);
    border: 1px solid hsl(0, 0%, 85%);
    border-radius: 5px;
    width: 100%;
}
.reg-selector {
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    background-color: transparent;
    outline: 0;
    padding: 10px 15px;
    border: 1px solid hsl(0, 0%, 85%);
    border-radius: 5px;
    width: 100%;
}
.reg-selector-txt {
    font-size: 16px;
    color: hsl(0, 0%, 20%);
}
.reg-chev {
    margin-left: auto;
    color: hsl(0, 0%, 30%);
    font-size: 14px;
    transition: 0.2s ease;
}
.reg-dropdown {
    display: flex;
    flex-direction: column;
    opacity: 0;
    pointer-events: none;
    transition: 0.2s ease;
    box-shadow: 0 0px 15px rgba(0, 0, 0, 0.2);
    background-color: white;
    position: absolute;
    bottom: 52px;
    left: -1px;
    width: calc(100% + 2px);
    border-radius: 5px;
    padding: 12px 10px;
}
.reg-option-input {
    position: relative;
    display: flex;
    border: 1px solid hsl(0, 0%, 85%);
    background-color: transparent;
    outline: 0;
    transition: 0.2s ease;
    padding: 12px 15px;
    font-size: 16px;
    margin: 6px 0;
    line-height: 1;
    width: 100%;
    border-radius: 5px;
}
.reg-area {
    background-color: transparent;
    outline: 0;
    font-size: 16px;
    padding: 10px 15px;
    color: hsl(0, 0%, 20%);
    border: 1px solid hsl(0, 0%, 85%);
    border-radius: 5px;
    width: 100%;
    height: 200px;
    resize: none;
}
.reg-input:focus, .reg-area:focus, .reg-dropdown:focus {
    border: 1px solid var(--blue-dark);
}
.btn-reg {
    margin-top: 20px;
    align-self: flex-start;
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
}
.reg-error {
    display: none;
    margin-top: 7px;
    color: rgb(204, 39, 39);
    font-size: 14px;
}
.btn-inactive {
    pointer-events: none;
    opacity: 0.4;
}
/*//////////////////////////////////////////////////////////////////*/

/*////////////////////// CONTACT SECTION ////////////////////////*/
.contact-container {
    width: 1500px;
    max-width: calc(100% - 80px);
    margin: 0 auto 140px;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}
.contact-left {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}
.contact-eyebrow {
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    color: var(--blue-dark);
}
.contact-eyebrow span {
    width: 6px;
    height: 6px;
    border-radius: 100px;
    background-color: var(--blue-dark);
}
.contact-title {
    font-size: 72px;
    line-height: 1.2;
    font-weight: 600;
    color: hsl(0, 0%, 20%);
}
.contact-para {
    margin-top: 18px;
    width: 550px;
    font-size: 19px;
    line-height: 1.75;
    color: hsl(0, 0%, 20%);
}
.contact-head {
    margin-top: 32px;
    font-size: 19px;
    font-weight: 500;
    color: var(--blue-dark);
}
.contact-email {
    margin-top: 15px;
    font-size: 19px;
    font-weight: 500;
    color: hsl(0, 0%, 20%);
}
.btn-contact-left {
    margin-top: 36px;
    align-self: flex-start;
    display: flex;
    align-items: center;
    gap: 15px;
    background-color: var(--blue-dark);
    color: white;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
}
.contact-arrow {
    transform: rotate(-45deg);
    height: 14px;
    width: auto;
}
.contact-right {
    height: 518px;
    width: 100%;
    max-width: 800px;
    display: flex;
    flex-direction: column;
}
.contact-flex {
    margin-bottom: 18px;
    width: 100%;
    display: flex;
    gap: 30px;
}
.contact-col {
    width: 100%;
}
.contact-label {
    font-size: 16px;
    color: hsl(0, 0%, 20%);
    font-weight: 500;
    margin-bottom: 8px;
}
.contact-input-container {
    border: 1px solid hsl(0, 0%, 85%);
    border-radius: 5px;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: 0.2s ease;
}
.contact-icon {
    width: 20px;
    color: hsl(0, 0%, 40%);
    font-size: 17px;
}
.contact-input {
    background-color: transparent;
    border: 0;
    outline: 0;
    font-size: 16px;
    color: hsl(0, 0%, 20%);
    width: 100%;
}
.contact-area-container {
    border: 1px solid hsl(0, 0%, 85%);
    border-radius: 5px;
    padding: 12px 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: 0.2s ease;
}
.contact-active {
    border: 1px solid var(--blue-dark);
}
.contact-area {
    resize: none;
    background-color: transparent;
    border: 0;
    outline: 0;
    font-size: 16px;
    color: hsl(0, 0%, 20%);
    width: 100%;
    height: 180px;
}
.contact-area-icon {
    margin-bottom: auto;
    margin-top: 5px;
}
.btn-contact {
    margin-top: auto;
    align-self: flex-start;
    display: flex;
    align-items: center;
    gap: 15px;
    background-color: var(--blue-dark);
    color: white;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
}

.book-modal-form {
    z-index: 99;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: hsla(0, 0%, 0%, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
}
.book-modal {
    z-index: 99;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: hsla(0, 0%, 0%, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
}
.book-wrapper {
    text-align: center;
    background-color: hsl(0, 0%, 9%);
    border: 1px solid hsl(0, 0%, 15%);
    border-radius: 8px;
    padding: 28px 24px;
    max-width: calc(100% - 30px);
    width: 430px;
    height: 340px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
}
i.book-modal-check {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -40px;
    height: 80px;
    width: 80px;
    border-radius: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--blue-dark);
    color: white;
    font-size: 32px;
}
.book-modal-title {
    line-height: 1;
    font-size: 42px;
    font-weight: 500;
    color: white;
}
.book-modal-para {
    margin-top: 18px;
    font-size: 16px;
    color: hsl(0, 0%, 70%);
    line-height: 1.75;
}
.btn-book-modal {
    margin-top: 42px;
    text-align: center;
    cursor: pointer;
    width: 100%;
    font-size: 17px;
    font-weight: 500;
    background-color: var(--blue-dark);
    color: white;
    padding: 12px 0;
    border-radius: 8px;
    transition: 0.2s ease;
}
.btn-book-modal:hover {
    background-color: var(--blue-dark);
}
/*/////////////////////////////////////////////////////////////////*/

/*/////////////////////// SERVICES SECTION ///////////////////////*/
.serv-container {
    margin: 0 auto;
    width: 1500px;
    max-width: calc(100% - 80px);
    text-align: center;
}
.serv-eyebrow {
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    color: var(--blue-dark);
}
.serv-eyebrow span {
    width: 6px;
    height: 6px;
    border-radius: 100px;
    background-color: var(--blue-dark);
}
.serv-title {
    margin: 10px 0 18px;
    font-size: 58px;
    line-height: 1.2;
    font-weight: 600;
    color: hsl(0, 0%, 20%);
}
.serv-para {
    width: 620px;
    max-width: 100%;
    margin: 0 auto 50px;
    font-size: 17px;
    line-height: 1.75;
    color: hsl(0, 0%, 20%);
}
.serv-col {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.serv-wrapper-bg {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    z-index: 2;
    transition: 1.6s ease;
}
.serv-wrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 550px;
    padding: 40px;
}
.phil-flex {
    position: relative;
    overflow: hidden;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 80px;
}
.phil-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 100%;
}
.phil-img {
    width: 500px;
    aspect-ratio: 1 / 1;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.phil-img img {
    border-radius: 12px;
    transition: 0.3s ease;
    width: 100%;
    height: auto;
}
.phil-slider {
    mask-image: linear-gradient(to right, rgba(255, 255, 255, 0) 3%, rgb(255, 255, 255) 15%, rgb(255, 255, 255) 85%, rgba(255, 255, 255, 0) 97%);
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
    gap: 20px;
    padding: 20px 0;
    height: 440px;
}
.phil-slider img {
    border-radius: 12px;
    height: 100%;
    width: auto;
    animation: philSlider 45s linear infinite;
}
@keyframes philSlider {
    0% {
        transform: translateX(0px);
    }
    100% {
        transform: translateX(2014px);
    }
}
.left-radius {
    border-top-left-radius: 500px;
    border-bottom-left-radius: 500px;
    background: linear-gradient(to right, hsla(208, 76%, 35%, 0.4), hsla(208, 76%, 35%, 0.0) 85%);
    padding-right: 80px;
}
.right-radius {
    border-top-right-radius: 500px;
    border-bottom-right-radius: 500px;
    background: linear-gradient(to left, hsla(208, 76%, 35%, 0.4), hsla(208, 76%, 35%, 0.0) 85%);
    padding-left: 80px;
}
.serv-img-container {
    position: relative;
    z-index: 3;
    border-radius: 500px;
    aspect-ratio: 1 / 1;
    height: 100%;
    width: auto;
    overflow: hidden;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
}
.serv-img {
    height: 100%;
    width: auto;
}
.serv-content {
    flex-shrink: 0;
    position: relative;
    z-index: 3;
    text-align: left;
    width: 600px;
}
.phil-content {
    flex-shrink: 0;
    position: relative;
    z-index: 3;
    text-align: left;
    width: 600px;
}
.serv-head {
    margin-bottom: 10px;
    font-size: 36px;
    color: hsl(0, 0%, 20%);
    font-weight: 500;
}
.serv-txt {
    font-size: 16px;
    line-height: 1.6;
    color: hsl(0, 0%, 20%);
    max-width: 100%;
    margin: 10px 0 40px;
}
.btn-serv, .btn-serv-low {
    background-color: var(--blue-dark);
    color: white;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
    gap: 14px;
}
.btn-black {
    background-color: hsl(0, 0%, 20%) !important;
}
.btn-serv-low {
    display: flex;
    align-items: center;
    align-self: flex-start;
    border: 0;
    background: linear-gradient(to right, hsl(208, 76%, 25%), hsl(208, 76%, 45%));
    align-self: center;
}
.btn-serv-arrow {
    height: 12px;
    width: auto;
    transform: rotate(-45deg);
}
.new-flex {
    position: relative;
    margin: 0 auto;
    width: 1350px;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 500px;
    padding: 40px;
}
.new-content {
    position: relative;
    z-index: 3;
    text-align: left;
    width: 500px;
}
.new-txt {
    font-size: 16px;
    line-height: 1.6;
    color: hsl(0, 0%, 20%);
    max-width: 100%;
    margin: 10px 0 40px;
}
.new-img-container {
    display: flex;
    gap: 15px;
    position: relative;
    z-index: 3;
}
.new-img {
    border: 5px solid white;
    border-radius: 12px;
    box-shadow: 0 0 15px hsl(0, 0%, 0%, 0.2);
}
.new-img1 {
    z-index: 3;
    width: 320px;
    max-width: 100%;
    height: auto;
}
.new-img2 {
    z-index: 2;
    width: 500px;
    max-width: 100%;
    height: auto;
}
/*////////////////////////////////////////////////////////////////*/

/*///////////////////////////////// CONTACT SECTION ////////////////////////////////*/
.con-bg {
    width: 100%;
    background-color: white;
    display: flex;
    flex-direction: column;
}
.con-container {
    margin: 100px auto 0;
    width: 1500px;
    max-width: calc(100% - 80px);
    display: flex;
    flex-direction: column;
    text-align: center;
}
.con-eyebrow {
    align-self: center;
}
.con-title {
    text-align: center;
    margin: 14px 0 18px;
    font-size: 58px;
    line-height: 1.2;
    font-weight: 600;
    color: hsl(0, 0%, 15%);
}
.con-para {
    text-align: center;
    font-size: 16px;
    margin: 0 auto;
    max-width: 100%;
    color: hsl(0, 0%, 25%);
}
.con-flex {
    margin-top: 50px;
    width: 100%;
    display: flex;
    gap: 30px;
    height: 611px;
}
.con-left {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.con-info {
    text-align: left;
    background-color: hsla(208, 76%, 35%, 0.08);
    border-radius: 12px;
    padding: 28px 22px;
}
.con-info-head {
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 500;
    color: hsl(0, 0%, 15%);
}
.con-info-txt {
    font-size: 15px;
    color: hsl(0, 0%, 25%);
    white-space: nowrap;
}
.con-info-flex {
    margin: 22px 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 30px;
}
.con-info-col {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.con-info-label {
    font-size: 15px;
    font-weight: 500;
    color: hsl(0, 0%, 15%);
}
.con-social {
    margin-top: 5px;
    display: flex;
    gap: 12px;
}
i.foot-con-icon {
    width: 42px;
    height: 42px;
    border-radius: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    background-color: #155d9c;
    color: white;
}
.con-map {
    height: 100%;
    width: 100%;
    border-radius: 12px;
}
.con-form {
    text-align: left;
    width: 100%;
    padding: 26px 24px;
    background-color: hsl(0, 0%, 94%);
    border-radius: 12px;
}
.con-label {
    font-size: 15px;
    font-weight: 500;
    color: hsl(0, 0%, 15%);
    margin-bottom: 7px;
    padding-left: 2px;
}
.con-input, .con-area {
    width: 100%;
    outline: 0;
    background-color: white;
    font-size: 15px;
    color: hsl(0, 0%, 25%);
    border-radius: 8px;
    border: 1px solid white;
    padding: 12px 18px;
    margin-bottom: 18px;
    transition: 0.2s ease;
}
.con-input:focus, .con-area:focus {
    border: 1px solid hsl(145, 65%, 45%);
}
.con-area {
    height: 150px;
    resize: vertical;
}
.btn-con {
    margin-top: 20px;
    cursor: pointer;
    border-radius: 10px;
    padding: 12px 0;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    border: 0;
    color: white;
    background-color: #155d9c;
    transition: 0.2s ease;
}
/*////////////////////////////////////////////////////////////////*/

/*/////////////////////// FOOTER SECTION ///////////////////////*/
.foot-container {
    margin-top: 100px;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-shadow: 0px -2px 20px rgba(0, 0, 0, 0.1);
    background-color: white;
    padding: 65px 50px 35px;
}
.foot-wrapper {
    max-width: 100%;
    width: 1500px;
    border-radius: 0px;
}
.foot-flex {
    width: 100%;
    gap: 40px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    border-bottom: 1px solid hsl(0, 0%, 85%);
    padding-bottom: 50px;
    margin-bottom: 30px;
}
.foot-content {
    width: 400px;
}
.foot-logo-container {
    display: flex;
    align-items: center;
    gap: 15px;
}
.foot-logo {
    display: block;
    height: 45px;
    width: auto;
    filter: invert(0.8);
}
.foot-name {
    display: none;
    cursor: pointer;
    line-height: 1;
    font-size: 34px;
    font-weight: 500;
}
.foot-para {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 400;
    color: hsl(0, 0%, 20%);
}
.foot-social {
    margin-top: 28px;
    display: flex;
    gap: 10px;
}
i.foot-social-icon {
    cursor: pointer;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    border: 1px solid hsl(0, 0%, 85%);
    color: hsl(0, 0%, 40%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: 0.2s ease;
}
i.foot-social-icon:hover {
    border: 1px solid var(--blue-dark);
}
.foot-nav {
    display: flex;
    gap: 80px;
}
.foot-ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.foot-label {
    font-size: 16px;
    color: hsl(0, 0%, 20%);
    font-weight: 500;
    margin-bottom: 5px;
}
.foot-link {
    font-size: 15px;
    color: hsl(0, 0%, 40%);
}
a.foot-link:hover {
    text-decoration: underline;
    color: hsl(0, 0%, 20%);
}
.foot-bottom {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.foot-copy {
    font-size: 14px;
    color: hsl(0, 0%, 40%);
}
/*////////////////////////////////////////////////////////////*/

/*/////////////////////// BANNER SECTION ///////////////////////*/
.banner-container {
    overflow: hidden;
    width: 100%;
    height: 550px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
}
.banner-radius {
    z-index: 4;
    background-color: white;
    width: calc(100% + 170px);
    min-width: 800px;
    height: 200px;
    border-radius: 50%;
    position: absolute;
    bottom: -140px;
    left: 50%;
    transform: translateX(-50%);
}
.banner-shadow {
    z-index: 3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0.6;
}
.banner-img-container {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.banner-img {
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 100% 60%;
    transition: 0.8s ease;
}
.banner-content {
    width: 1500px;
    max-width: calc(100% - 80px);
    position: relative;
    z-index: 5;
    text-align: center;
    margin: 0 auto;
}
.banner-title {
    margin-top: 14px;
    line-height: 1.25;
    font-size: 82px;
    font-weight: 600;
    color: white;
}
.banner-para {
    font-size: 17px;
    color: white;
    width: 600px;
    max-width: 100%;
    margin: 18px auto 0;
}
.banner-trail {
    margin-top: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.banner-trail-icon {
    display: none;
    font-size: 13px;
    color: white;
}
.banner-trail-txt {
    font-size: 17px;
    color: white;
}
.banner-trail-sep {
    color: hsl(0, 0%, 75%);
    font-size: 15px;
    margin: 0 10px;
}
/*//////////////////////////////////////////////////////////////*/

/*/////////////////////// ABOUT US SECTION ///////////////////////*/
.about-container {
    margin: 100px auto 120px;
    width: 1500px;
    max-width: calc(100% - 80px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 60px;
}
.about-left {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}
.about-eyebrow {
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    color: var(--blue-dark);
}
.about-eyebrow span {
    width: 6px;
    height: 6px;
    border-radius: 100px;
    background-color: var(--blue-dark);
}
.about-title {
    margin-top: 10px;
    font-size: 72px;
    line-height: 1.05;
    font-weight: 600;
    color: hsl(0, 0%, 20%);
}
.about-para {
    margin-top: 18px;
    width: 700px;
    font-size: 16px;
    line-height: 1.75;
    color: hsl(0, 0%, 30%);
}
.about-feat {
    margin: 36px 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.hr-other {
    display: none;
}
.about-flex {
    width: 700px;
    display: flex;
    justify-content: center;
    gap: 25px;
}
.about-section {
    background-color: white;
    box-shadow: 0 0 15px hsla(0, 0%, 0%, 0.15);
    width: 100%;
    max-width: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px 0;
    border-radius: 10px;
    gap: 24px;
}
.about-cta {
    background: linear-gradient(150deg, hsl(208, 76%, 15%), hsl(208, 76%, 55%));
    box-shadow: 0 0 15px hsla(0, 0%, 0%, 0.15);
    width: 100%;
    text-align: center;
    padding: 25px 0;
    border-radius: 10px;
    gap: 24px;
}
.about-cta-title {
    color: white;
    font-weight: 500;
    font-size: 22px;
    line-height: 1;
}
.btn-about-cta {
    margin-top: 20px;
    background-color: white;
    color: hsl(0, 0%, 20%);
    border-radius: 6px;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    padding: 8px 20px;
    transition: 0.2s ease;
}
.btn-about-cta:hover {
    background-color: hsl(0, 0%, 80%);
}
.about-icon {
    width: auto;
    height: 54px;
}
.about-head {
    font-weight: 500;
    font-size: 22px;
    line-height: 1;
    color: hsl(0, 0%, 20%);
}
.about-txt {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.4;
    color: hsl(0, 0%, 30%);
}
.about-hr {
    min-width: 1px;
    height: 110px;
    background-color: hsl(0, 0%, 75%);
}
.about-img-container {
    margin: 0 auto;
    width: auto;
    height: 740px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    border-radius: 5px;
}
.about-img {
    width: auto;
    height: 100%;
}
.about-btn-flex {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.btn-about {
    margin-top: auto;
    align-self: flex-start;
    display: flex;
    align-items: center;
    gap: 15px;
    background-color: var(--blue-dark);
    color: white;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 24px;
    transition: 0.2s ease;
}
.btn-about-white {
    background-color: hsl(0, 0%, 20%);
    color: hsl(0, 0%, 100%);
}

.smodal-modal {
    z-index: 99;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: hsla(0, 0%, 0%, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
}
.smodal-wrapper {
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    padding: 15px 38px 32px;
    background: linear-gradient(to top, hsl(0, 0%, 100%), hsl(208, 76%, 100%), hsl(0, 0%, 100%));
    border: 1px solid hsl(0, 0%, 15%);
    max-width: calc(100% - 20px);
    max-height: 800px;
    overflow: auto;
    width: 650px;
    position: relative;
    opacity: 1;
    transform: scale(1);
    transition: 0.3s ease;
}
i.smodal-x {
    z-index: 5;
    cursor: pointer;
    position: absolute;
    top: 24px;
    right: 24px;
    font-size: 20px;
}
.smodal-content {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 3;
}
i.smodal-icon {
    background-color: hsl(0, 0%, 100%);
    color: hsl(0, 0%, 9%);
    font-size: 20px;
    width: 50px;
    height: 50px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.smodal-head {
    margin: 22px 0 15px;
    font-size: 30px;
    font-weight: 500;
}
.smodal-txt {
    font-size: 17px;
    color: hsl(0, 0%, 34%);
    line-height: 1.65;
}
.smodal-holiday {
    width: 100%;
    height: auto;
    border-radius: 12px;
    margin-top: 20px;
}
.smodal-eyebrow {
    align-self: flex-start;
}
.smodal-col {
    margin: 20px 0 28px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.smodal-point {
    display: flex;
    align-items: center;
    gap: 15px;
    color: white;
    font-size: 16px;
}
i.smodal-check {
    background: linear-gradient(to top, black, hsl(0, 0%, 14%));
    border: 1px solid hsl(0, 0%, 15%);
    width: 32px;
    height: 32px;
    border-radius: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: white;
}
.btn-smodal {
    align-self: flex-start;
    margin: 30px 0 0;
    cursor: pointer;
    border-radius: 8px;
    padding: 14px 20px;
    font-size: 17px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: 0.2s ease;
    background-color: var(--blue-dark);
    color: white;
    background-size: cover;
}
.btn-smodal img {
    height: 12px;
    width: auto;
}
.smodal-btn-holiday {
    margin: 30px 0;
}
/*////////////////////////////////////////////////////////////////*/

/*///////////////////////////////// BENEFITS ////////////////////////////////////*/
.ben-bg {
    width: 100%;
    background-color: hsl(204, 50%, 98%);
    border-top: 2px solid hsl(0, 0%, 90%);
    border-bottom: 2px solid hsl(0, 0%, 90%);
    padding: 80px 0;
    margin-bottom: 100px;
}
.ben-container {
    text-align: center;
    width: 1500px;
    max-width: calc(100% - 80px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ben-title {
    margin-top: 10px;
    font-size: 72px;
    line-height: 1.1;
    font-weight: 600;
    color: hsl(0, 0%, 20%);
}
.ben-desc {
    width: 700px;
    margin-top: 26px;
    margin-bottom: 60px;
    color: hsl(0, 0%, 30%);
    font-size: 18px;
}
.ben-flex {
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 150px;
    margin-bottom: 100px;
}
.ben-img {
    border-radius: 30px;
    border-bottom-right-radius: 8px;
    height: auto;
    width: 580px;
    transition: 0.3s ease;
}
.ben-content {
    text-align: left;
    width: 600px;
}
i.ben-icon {
    font-size: 22px;
    background-color: #155d9c;
    color: white;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
}
.ben-head {
    margin-top: 25px;
    line-height: 1.3;
    font-size: 36px;
    font-weight: 500;
}
.ben-para {
    margin-top: 20px;
    color: hsl(0, 0%, 30%);
    font-size: 18px;
    line-height: 1.6;
}
.ben-ben-flex {
    margin-top: 28px;
    display: flex;
    align-items: center;
    gap: 15px;
}
i.ben-tick {
    font-size: 16px;
    min-width: 35px;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    background-color: #155d9c;
    color: white;
}
.ben-ben-txt {
    font-size: 18px;
}
.btn-ben {
    display: inline-block;
    margin-top: 36px;
    background-color: var(--blue-dark);
    color: white;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
    gap: 14px;
}
/*///////////////////////////////////////////////////////////////////////////////*/

/*/////////////////////// GALLERY SECTION ///////////////////////*/
.gal-container {
    display: flex;
    flex-direction: column;
    max-width: calc(100% - 80px);
    width: 1500px;
    margin: 100px auto;
    text-align: left;
}
.gal-eyebrow {
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    color: var(--blue-dark);
}
.gal-eyebrow span {
    width: 6px;
    height: 6px;
    border-radius: 100px;
    background-color: var(--blue-dark);
}
.gal-title {
    margin-top: 10px;
    font-size: 54px;
    line-height: 1.2;
    font-weight: 600;
    color: hsl(0, 0%, 20%);
}
.gal-para {
    margin-top: 18px;
    width: 680px;
    max-width: 100%;
    font-size: 17px;
    line-height: 1.75;
    color: hsl(0, 0%, 30%);
}
.gal-hr {
    margin: 15px 0 50px;
    width: 100%;
    height: 1px;
    background-color: hsl(0, 0%, 80%);
}
.gal-img-container {
    border-radius: 6px;
    overflow: hidden;
    width: 100%;
    height: auto;
    margin-bottom: 16px;
    gap: 16px;
}
.gal-flex1 {
    display: flex;
    justify-content: flex-end;
}
.gal-flex2 {
    display: flex;
    justify-content: flex-start;
}
.gal-img1 {
    animation: gal_slide1 55s linear infinite;
    border-radius: 6px;
    aspect-ratio: 1 / 1;
    height: 300px;
    width: auto;
}
.gal-img2 {
    animation: gal_slide2 54s linear infinite;
    border-radius: 6px;
    aspect-ratio: 1 / 1;
    height: 250px;
    width: auto;
}
.btn-gal {
    margin-top: auto;
    align-self: flex-start;
    display: flex;
    align-items: center;
    gap: 15px;
    background-color: var(--blue-dark);
    color: white;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
}
@keyframes gal_slide1 {
    0% {
        transform: translateX(0px);
    }
    100% {
    transform: translateX(3160px);

    }
}
@keyframes gal_slide2 {
    0% {
        transform: translateX(0px);
    }
    100% {
    transform: translateX(-2925px);

    }
}
/*///////////////////////////////////////////////////////////////*/

/*/////////////////////// PRICING PLAN SECTION ///////////////////////*/
.plan-bg {
    border-top: 2px solid hsl(0, 0%, 90%);
    border-bottom: 2px solid hsl(0, 0%, 90%);
    background-color: hsl(0, 0%, 98%);
    background-color: hsl(204, 50%, 98%);
    padding: 80px 0;
    margin: 80px 0;
    width: 100%;
}
.plan-container {
    display: flex;
    flex-direction: column;
    width: 1500px;
    max-width: calc(100% - 70px);
    margin: 0 auto;
}
.plan-title {
    margin: 10px auto 0;
    text-align: center;
    letter-spacing: -1px;
    font-weight: 500;
    font-size: 48px;
    line-height: 1.15;
    margin-bottom: 15px;
}
.plan-para {
    margin: 0 auto;
    text-align: center;
    color: hsl(0, 0%, 30%);
    width: 500px;
    font-size: 15px;
    line-height: 1.75;
}
.plan-para span {
    font-weight: 500;
    color: hsl(0, 0%, 10%);
}
.plan-pill-flex {
    margin: 22px auto 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    width: 600px;
    max-width: 100%;
}
.plan-pill {
    cursor: pointer;
    border-radius: 10px;
    text-align: center;
    padding: 12px 24px;
    background-color: hsl(0, 0%, 90%);
    color: hsl(0, 0%, 20%);
    font-size: 15px;
    font-weight: 500;
    transition: 0.3s ease;
}
.plan-pill:hover {
    background-color: hsl(0, 0%, 80%);
}
.plan-pill-active {
    background-color: hsl(0, 0%, 20%);
    color: white;
}
.plan-pill-active:hover {
    background-color: hsl(0, 0%, 20%);
}
.plan-flex {
    margin-top: 45px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
    width: 100%;
    position: relative;
    opacity: 0;
    top: 100px;
    pointer-events: none;
    display: none;
    transition: 0.3s ease;
}
.plan-flex-active {
    opacity: 1;
    top: 0;
    pointer-events: auto;
}
.plan-wrapper {
    max-width: 600px;
    box-shadow: 0 0px 20px 0px rgba(0, 0, 0, 0.1);
    position: relative;
    height: auto;
    width: 100%;
    background-color: hsl(39, 30%, 89%);
    border: 1px solid hsl(39, 30%, 77%);
    padding: 52px 24px 32px;
    border-radius: 12px;
}
.mid-plan {
    border: 0;
    background-color: auto;
    background: linear-gradient(to bottom, hsl(145, 96%, 22%), hsl(145, 96%, 14%));
}
.end-plan {
    border: 0;
    background-color: auto;
    background: linear-gradient(to bottom, hsl(243, 100%, 72%), hsl(243, 100%, 56%));
}
.plan-white {
    color: hsl(39, 30%, 95%);
}
.plan-head {
    letter-spacing: -.5px;
    font-size: 26px;
    font-weight: 500;
}
.plan-price {
    line-height: 1;
    margin-top: 26px;
    letter-spacing: -2px;
    font-size: 56px;
    font-weight: 500;
}
.plan-price span {
    position: relative;
    bottom: 2px;
    letter-spacing: 0px;
    color: hsl(0, 0%, 50%);
    font-size: 17px;
    margin-left: 4px;
}
.mid-month {
    color: hsl(0, 0%, 80%) !important;
}
.plan-desc {
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.7;
}
.btn-plan {
    cursor: pointer;
    border-radius: 10px;
    text-align: center;
    display: block;
    margin-top: 26px;
    width: 100%;
    padding: 12px 0;
    background-color: hsl(0, 0%, 20%);
    color: white;
    font-size: 15px;
    font-weight: 500;
    transition: 0.3s ease;
}
.btn-plan:hover {
    background-color: hsl(0, 0%, 28%);
}
.btn-plan-mid {
    background-color: hsl(0, 0%, 15%);
}
.btn-plan-mid:hover {
    background-color: hsl(0, 0%, 20%);
}
.plan-label {
    font-family: "Oswald", sans-serif;
    border-radius: 100px;
    display: inline-block;
    margin-top: 50px;
    background-color: hsl(39, 30%, 95%);
    border: 1px solid hsl(39, 30%, 77%);
    font-size: 13px;
    letter-spacing: 1px;
    padding: 6px 16px;
}
.plan-label-mid {
    border: 1px solid hsl(0, 0%, 32%);
    background-color: hsl(0, 0%, 15%);
    color: white;
}
.plan-feat {
    margin-top: 24px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.feat-flex {
    display: flex;
    align-items: center;
    gap: 16px;
}
.feat-tick {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: hsl(39, 30%, 94%);
    border: 1px solid hsl(39, 30%, 77%);
    border-radius: 100px;
}
.feat-tick-mid {
    border: 1px solid hsl(0, 0%, 32%);
    background-color: hsl(0, 0%, 15%);
}
.tick-icon {
    font-size: 11px;
}
.feat-txt {
    font-size: 15px;
}
.plan-most {
    box-shadow: 0 0px 20px 4px rgba(0, 0, 0, 0.1);
    border-radius: 100px;
    padding: 10px 26px;
    font-size: 16px;
    background-color: hsl(39, 30%, 92%);
    border: 1px solid hsl(145, 96%, 16%);
    position: absolute;
    top: -23px;
    left: 50%;
    transform: translateX(-50%);
}
.plan-cta {
    margin-top: 32px;
    background-color: var(--blue-dark);
    color: white;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 32px;
    transition: 0.2s ease;
    gap: 14px;
    display: flex;
    align-items: center;
    align-self: flex-start;
    border: 0;
    background: linear-gradient(to right, hsl(208, 76%, 25%), hsl(208, 76%, 45%));
    align-self: center;
}

.plan-cust {
    margin-top: 22px;
    max-width: 100%;
    width: 100%;
    background-color: hsl(0, 0%, 12%);
    padding: 30px 28px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.cust-col {
    width: 100%;
}
.cust-head {
    line-height: 1.32;
    color: hsl(39, 30%, 97%);
    letter-spacing: -.5px;
    font-size: 26px;
    font-weight: 500;
}
.cust-para {
    color: hsl(0, 0%, 70%);
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.6;
    width: 450px;
}
.cust-nav {
    display: flex;
    gap: 12px;
}
.btn-cust {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    width: 160px;
    padding: 10px 0;
    border-radius: 12px;
    transition: 0.3s ease;
}
.btn-inq {
    background-color: transparent;
    border: 1px solid hsl(0, 0%, 30%);
    color: hsl(39, 30%, 97%);
}
.btn-stra {
    color: hsl(39, 30%, 97%);
    background-color: hsl(0, 0%, 24%);
}
/*/////////////////////////////////////////////////////////////////////*/

/*/////////////////////// REVIEWS SECTION ///////////////////////*/
.review-bg {
    width: 100%;
    background: linear-gradient(to bottom, white, hsl(0, 0%, 90%), white);
}
.review-container {
    display: flex;
    flex-direction: column;
    width: 1500px;
    max-width: calc(100% - 80px);
    margin: 0 auto 120px;
}
.review-eyebrow {
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
    color: var(--blue-dark);
}
.review-eyebrow span {
    width: 6px;
    height: 6px;
    border-radius: 100px;
    background-color: var(--blue-dark);
}
.review-title {
    margin-top: 8px;
    line-height: 1.3;
    font-size: 60px;
    font-weight: 600;
    color: hsl(0, 0%, 20%);
}
.review-para {
    margin: 16px 0 40px;
    width: 550px;
    max-width: 100%;
    color: hsl(0, 0%, 20%);
    font-size: 18px;
    line-height: 1.7;
}
.review-flex {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    padding: 5px 0;
    gap: 30px;
    width: 100%;
}
.review-shadow {
    border-radius: 25px;
    width: 100%;
    display: flex;
    justify-content: center;
    box-shadow: 0 0 10px hsla(0, 0%, 0%, 0.3);
}
.review-wrapper {
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
    padding: 26px 24px 34px;
    width: 100%;
    height: 370px;
    border-bottom: 10px solid var(--blue-dark);
    box-shadow: 0 0 0 1px hsl(0, 0%, 75%);
    background-color: white;
}
.review-quote {
    color: hsl(0, 0%, 20%);
    color: var(--blue-dark);
    font-size: 26px;
}
.review-txt {
    margin-top: 16px;
    width: 100%;
    color: hsl(0, 0%, 15%);
    font-size: 16px;
    line-height: 1.65;
}
.review-hr-flex {
    margin-top: auto;
    width: 100%;
    display: flex;
    align-items: center;
}
.review-hr {
    width: 100%;
    height: 1px;
    background-color: hsl(0, 0%, 88%);
}
.review-bottom {
    margin-top: 22px;
    display: flex;
    align-items: center;
    gap: 16px;
}
.review-pfp {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 600;
    background-color: hsl(0, 0%, 92%);
    color: hsl(0, 0%, 15%);
}
.review-img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}
.review-col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 50px;
}
.review-name {
    font-size: 16px;
    font-weight: 500;
    color: hsl(0, 0%, 15%);
}
.review-date {
    font-size: 15px;
    color: hsl(0, 0%, 34%);
}
.review-col {
    opacity: 1;
}
.review-star-flex {
    display: flex;
    gap: 3px;
}
.review-star {
    width: 18px;
    height: auto;
}
.review-star-txt {
    font-size: 16px;
    color: hsl(0, 0%, 34%);
}
span.review-star-txt {
    color: hsl(0, 0%, 15%);
    font-weight: 500;
}
.btn-review {
    margin-top: 20px;
    align-self: center;
    display: flex;
    align-items: center;
    gap: 15px;
    background-color: var(--blue-dark);
    color: white;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    padding: 12px 22px;
    transition: 0.2s ease;
}
/*///////////////////////////////////////////////////////////////*/




.header-burger, .menu-container, .lac-container {
    display: none;
}


@media only screen and (max-width: 1300px){
    .cal-title {
        font-size: 60px;
    }

    .phil-flex {
        flex-direction: column;
        gap: 20px;
    }
    .phil-img {
        width: 500px;
    }
    .phil-content {
        width: 100%;
        padding-bottom: 20px;
    }

    .contact-email, .contact-head, .btn-contact-left {
        display: none;
    }
    .contact-container {
        flex-direction: column;
        gap: 30px;
    }
    .contact-title {
        font-size: 64px;
    }
    .contact-para {
        font-size: 18px;
        width: 500px;
        max-width: 100%;
    }

    .ben-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .ben-step {
        padding: 6px 14px;
        font-size: 12px;
        letter-spacing: 2px;
    }
    .ben-title {
        font-size: 42px;
        font-weight: 500;
        line-height: 1.3;
    }
    .ben-desc {
        line-height: 1.6;
        width: 500px;
        max-width: 100%;
        margin-bottom: 40px;
        font-size: 15px;
    }
    .ben-flex {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 50px;
        padding-bottom: 60px;
        margin-bottom: 80px;
    }
    .ben-img {
        order: 1;
        border-radius: 30px;
        border-bottom-right-radius: 30px;
        height: auto;
        width: 490px;
        max-width: 100%;
    }
    .ben-content {
        order: 2;
        text-align: left;
        width: 100%;
    }
    .ben-icon {
        font-size: 18px;
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100px;
    }
    .ben-head {
        margin-top: 35px;
        line-height: 1.6;
        font-size: 22px;
        font-weight: 500;
    }
    .ben-para {
        margin-top: 20px;
        font-size: 15px;
        line-height: 1.7;
    }
    .ben-ben-flex {
        margin-top: 28px;
        display: flex;
        align-items: center;
    }
    .ben-tick {
        font-size: 14px;
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100px;
    }
    .ben-ben-txt {
        font-size: 16px;
    }

    .foot-flex {
        flex-direction: column;
        gap: 40px;
    }

    .about-left {
        width: 100%;
    }
    .about-title {
        font-size: 48px;
    }
    .about-para {
        font-size: 16px;
        width: 630px;
        max-width: 100%;
    }
    .about-flex {
        max-width: 100%;
    }
    .about-img-container {
        display: none;
    }

    .ben-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .ben-step {
        padding: 5px 16px;
        font-size: 14px;
        letter-spacing: 2px;
    }
    .ben-title {
        font-size: 54px;
        font-weight: 500;
        line-height: 1.2;
    }
    .ben-desc {
        line-height: 1.6;
        width: 600px;
        font-size: 16px;
    }
    .ben-flex {
        display: flex;
        align-items: center;
        gap: 50px;
        margin-bottom: 100px;
    }
    .ben-img {
        border-radius: 30px;
        border-bottom-right-radius: 30px;
        height: auto;
        width: 490px;
    }
    .ben-content {
        text-align: left;
        width: 430px;
        max-width: 100%;
    }
    .ben-icon {
        font-size: 18px;
        width: 38px;
        height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100px;
    }
    .ben-head {
        margin-top: 35px;
        line-height: 1.5;
        font-size: 26px;
        font-weight: 500;
    }
    .ben-para {
        margin-top: 20px;
        font-size: 15px;
        line-height: 1.7;
    }
    .ben-ben-flex {
        margin-top: 28px;
        display: flex;
        align-items: center;
    }
    .ben-tick {
        font-size: 14px;
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100px;
    }
    .ben-ben-txt {
        font-size: 16px;
    }

    .plan-flex {
        gap: 15px;
    }
    .plan-wrapper {
        padding-left: 18px; padding-right: 18px;
    }

    .review-flex {
        flex-direction: column;
        gap: 25px;
        margin-bottom: 20px;
    }
    .review-wrapper {
        max-width: 700px;
        padding: 26px 18px 34px;
    }
    .review-title {
        font-size: 50px;
    }
    .review-para {
        font-size: 16px;
    }

    .serv-wrapper {
        gap: 50px;
        height: 420px;
    }
    .left-radius {
        padding-right: 30px;
    }
    .right-radius {
        padding-left: 30px;
    }
    .serv-content {
        width: 450px;
        flex-shrink: 0;
    }
    .serv-head {
        font-size: 30px;
    }
    .new-flex {
        height: auto;
        flex-direction: column;
        gap: 50px;
        padding: 0;
    }
    .new-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .new-txt {
        margin-bottom: 25px;
    }
    .new-img-container {
        flex-direction: column;        
    }
    .new-img1, .new-img2 {
        width: 420px;
        max-width: 100%;
    }
}
@media only screen and (max-width: 1000px){
    .teachlogo {
        display: none;
    }
    .header-nav {
        display: none;
    }
    .btn-header {
        display: none;
    }
    .header-burger {
        cursor: pointer;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 24px;
        width: 35px;
    }
    .burger-line {
        position: relative;
        top: 0px;
        border: 100px;
        height: 2px;
        width: 100%;
        background-color: hsl(0, 0%, 20%);
        transition: 0.2s ease;
    }
    .hero-container {
        height: calc(100vh - 97px);
    }
    .hero-title {
        font-size: 48px;
    }
    .hero-para {
        width: 500px;
        font-size: 15px;
    }
    .btn-hero {
        font-size: 16px;
    }

    .menu-container {
        box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
        z-index: 6;
        overflow: hidden;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -270px; /*-270, 92*/
        width: calc(100% - 18px);
        display: flex;
        flex-direction: column;
        transition: 0.5s ease;
    }
    .menu-section {
        color: hsl(0, 0%, 10%);
        cursor: pointer;
        background-color: white;
        width: 100%;
        font-size: 16px;
        padding: 14px 20px;
        border-top: 1px solid rgb(230, 230, 230);
    }
    .menu-flex {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .menu-txt {
        color: hsl(0, 0%, 10%);
        font-size: 16px;
    }
    .menu-arrow {
        margin-left: 8px;
        font-size: 15px;
        color: hsl(0, 0%, 20%);
        transition: 0.3s ease;
    }
    .menu-dark {
        background-color: hsl(0, 0%, 97%);
    }

    .cal-container {
        display: none;
        padding: 32px 18px 8px;
    }
    .cal-nav-title {
        font-size: 22px;
    }
    .cal-top-mon {
        font-size: 16px;
    }
    .cal-box {
        height: 100px;
        padding: 10px 8px;
    }
    .cal-box-day {
        font-size: 17px;
    }
    .cal-event-head {
        font-size: 14px;
    }
    .cal-event-time {
        display: none;
    }

    .cal-content {
        gap: 0px;
        flex-direction: column;
        align-items: flex-start;
    }
    .cal-para {
        margin-top: 20px;
    }
    .lac-container {
        display: block;
        width: 1500px;
        max-width: calc(100% - 80px);
        margin: 0 auto;
    }
    .lac-wrapper {
        display: block;
        position: relative;
        width: 100%;
        background-color: white;
        border-radius: 18px;
        box-shadow: 0 0px 15px rgba(0, 0, 0, 0.2);
        padding: 32px 10px 32px;
    }
    .lac-nav {
        padding: 0 10px;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .lac-nav-chevron {
        z-index: 3;
        cursor: pointer;
        color: hsl(0, 0%, 40%);
        font-size: 18px;
    }
    .lac-nav-title {
        font-size: 22px;
        color: hsl(0, 0%, 20%);
        line-height: 1;
    }
    .lac-scroll {
        scrollbar-width: 0;
        -webkit-overflow-scrolling: touch;
        width: 100%;
        overflow: auto;
    }
    .lac-scroll::-webkit-scrollbar {
        display: none;
    }
    .lac-top {
        min-width: min-content;
        width: auto;
        margin-top: 32px;
        background-color: hsl(0, 0%, 96%);
        border-top-left-radius: 12px;
        border-top-right-radius: 12px;
        padding: 14px 0;
        display: flex;
    }
    .lac-top-mon {
        min-width: 164px;
        display: flex;
        justify-content: center;
        line-height: 1;
        font-size: 17px;
        color: hsl(0, 0%, 40%);
    }
    .lac-flex {
        min-width: min-content;
        display: flex;
    }
    .lac-box {
        padding: 12px;
        min-width: 164px;
        height: 160px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        border-left: 1px solid hsl(0, 0%, 92%);
        border-right: 1px solid hsl(0, 0%, 92%);
        position: relative;
    }
    .lac-edge-left {
        border-left: 0;
    }
    .lac-edge-right {
        border-right: 0;
    }
    .lac-day-disabled {
        display: none;
    }
    .lac-box-today {
        background-color: #ecfdcc;
    }
    .lac-box-event {
        cursor: pointer;
        background-color: hsl(204, 100%, 95%);
        border: 0;
        transition: 0.2s ease;
    }
    .lac-box-event:hover {
        background-color: hsl(204, 100%, 92%);
    }
    .lac-box-day {
        position: absolute;
        top: 13px;
        right: 13px;
        line-height: 1;
        font-size: 20px;
        color: hsl(0, 0%, 20%);
        font-weight: 500;
    }
    .lac-today-txt {
        line-height: 1;
        position: absolute;
        bottom: 12px;
        right: 12px;
        font-size: 15px;
        color: hsl(0, 0%, 40%);
    }
    .lac-event-head {
        line-height: 1.4;
        font-size: 16px;
        font-weight: 500;
        color: hsl(0, 0%, 20%);
    }
    .lac-event-time {
        line-height: 1.3;
        margin-top: 8px;
        font-size: 15px;
        color: hsl(0, 0%, 40%);
    }
    .lac-event-cta {
        cursor: pointer;
        color: var(--blue-dark);
        line-height: 1;
        margin-top: 10px;
        font-size: 15px;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .con-flex {
        flex-direction: column;
    }
    .con-flex {
        height: auto;
    }
    .con-map {
        display: none;
    }

    .about-flex {
        flex-direction: column;
    }
    .about-hr {
        width: 100%;
        height: 1px;
    }
    .hr-other {
        display: block;
    }
    .about-feat {
    }
    .about-section {
        max-width: 100%;
        gap: 28px;
    }
    .about-head {
        font-size: 22px;
    }
    .about-txt {
        max-width: 100%;
        font-size: 16px;
    }
    .about-icon {
        height: 45px;
    }

    .plan-title {
        font-size: 42px;
        line-height: 1.15;
    }
    .plan-para {
        max-width: 100%;
        width: 460px;
        font-size: 14px;
    }
    .plan-flex {
        margin-top: 40px;
        margin-left: auto; margin-right: auto;
        width: 700px;
        max-width: 100%;
        flex-direction: column;
        gap: 30px;
    }
    .plan-desc {
        width: 400px;
        max-width: 100%;
    }
    .plan-wrapper {
        padding-top: 36px;
    }
    .mid-plan {
        padding-top: 52px;
        margin-top: 20px;
    }
    .plan-cust {
        margin-top:26px;
        width: 700px;
        padding: 22px 6px 22px 18px;
        margin-left: auto;
        margin-right: auto;
        align-items: flex-start;
        flex-direction: column;
        gap: 45px;
    }
    .cust-head {
        font-size: 24px;
    }
    .cust-para {
        max-width: 100%;
        font-size: 14px;
        line-height: 1.65;
    }
    .btn-cust {
        width: 150px;
        font-size: 14px;
    }
    .cust-nav {
        justify-content: flex-start;
    }

    .serv-col {
        align-items: center;
        gap: 60px;
    }
    .serv-title {
        font-size: 42px;
    }
    .serv-para {
        font-size: 15px;
        width: 560px;
        margin-bottom: 40px;
    }
    .serv-wrapper {
        padding: 30px;
        width: 100%;
        max-width: 600px;
        flex-direction: column;
        height: auto;
        background: red;
    }
    .left-radius, .right-radius {
        border-radius: 0px;
        border-top-left-radius: 1000px;
        border-top-right-radius: 1000px;
        background: linear-gradient(to bottom, hsla(208, 76%, 35%, 0.4), hsla(208, 76%, 35%, 0.0) 95%);
    }
    .serv-img-container {
        order: 1;
        max-width: 450px;
        width: 100%;
        height: auto;
    }
    .serv-content {
        width: 100%;
        text-align: center;
        order: 2;
    }
    .serv-head {
        font-size: 24px;
    }
    .btn-serv {
        font-size: 15px;
    }
}
@media only screen and (max-width: 700px){
    .header-flex, .lac-container, .contact-container, .trust-container, .banner-content, .about-container, .gal-container, .review-container, .serv-container, .con-container, .ben-container, .plan-container {
        max-width: calc(100% - 24px);
    }

    .trust-container {
        margin-top: 60px;
    }
    .trust-title {
        font-size: 36px;
    }
    .trust-flex {
        margin-top: 55px;
        gap: 70px;
    }
    .trust-img {
        animation: slide_sponsors 20s linear infinite;
        height: 90px;
        width: auto;
    }

    .cal-title {
        font-size: 40px;
    }
    .cal-para {
        font-size: 15px;
    }

    .info-modal, .reg-modal {
        align-items: flex-end;
        padding-bottom: 9px;
    }
    .info-wrapper, .reg-wrapper {
        padding: 24px 14px 20px;
    }
    .info-hr {
        width: calc(100% + 28px);
    }
    .info-top {
        padding-bottom: 22px;
        margin-bottom: 32px;
    }
    .info-title {
        font-size: 20px;
    }
    .info-col {
        margin-bottom: 18px;
    }
    .info-label, .reg-label {
        font-size: 15px;
    }
    .info-txt, .reg-selector-txt {
        font-size: 14px;
    }
    .info-btn-flex {
        margin-top: 0;
        justify-content: flex-start;
    }
    .btn-info {
        padding: 10px 20px;
        font-size: 15px;
    }

    .btn-reg {
        margin-top: 10px;
        padding: 10px 20px;
        font-size: 15px;
    }
    .reg-input, .reg-area, .reg-selector {
        font-size: 14px;
        padding: 10px 12px;
    }
    .reg-area {
        height: 130px;
    }
    .reg-chev {
        font-size: 12px;
    }
    .reg-flex {
        gap: 15px;
    }
    .reg-dropdown {
        padding: 8px 12px;
    }
    .reg-selector {
        position: relative;
    }
    .reg-dropdown {
        display: flex;
        flex-direction: column;
        opacity: 0;
        pointer-events: none;
        transition: 0.2s ease;
        box-shadow: 0 0px 15px rgba(0, 0, 0, 0.2);
        background-color: white;
        position: absolute;
        top: auto;
        bottom: 52px;
        left: -1px;
        width: calc(100% + 2px);
        border-radius: 5px;
        padding: 12px 10px;
    }
    .reg-option-input {
        position: relative;
        display: flex;
        border: 1px solid hsl(0, 0%, 85%);
        background-color: transparent;
        outline: 0;
        transition: 0.2s ease;
        padding: 12px 15px;
        font-size: 16px;
        margin: 6px 0;
        line-height: 1;
        width: 100%;
        border-radius: 5px;
    }
    .reg-option-input {
        font-size: 14px;
    }

    .plan-title {
        font-size: 36px;
    }
    .plan-price {
        font-size: 50px;
    }
    .cust-para {
        font-size: 13px;
        line-height: 1.7;
    }

    .contact-container {
        margin: 0 auto 100px;
    }
    .foot-container {
        margin-top: 70px;
        padding: 60px 15px 25px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    }
    .foot-content {
        max-width: 100%;
    }
    .foot-nav {
        column-gap: 60px;
        row-gap: 30px;
        width: 100%;
        flex-wrap: wrap;
    }
    .foot-legal {
        display: none;
    }

    .banner-container {
        height: 350px;
    }
    .banner-content {
        max-width: 100%;
    }
    .banner-title {
        font-size: 42px;
    }
    .about-container {
        width: 100%;
        margin: 0px auto 100px;
    }

    .gal-container {
        margin: 60px auto 80px;
    }
    .gal-hr {
        margin: 15px 0 35px;
    }
    .gal-title {
        font-size: 36px;
    }
    .gal-para {
        font-size: 15px;
    }

    .con-container {
        margin-bottom: 80px;
    }
    .con-title {
        font-size: 32px;
    }
    .con-para {
        font-size: 15px;
    }
    .con-info-flex {
        flex-direction: column;
        gap: 22px;
    }
    .con-flex {
        margin-top: 36px;
        gap: 20px;
    }
    .con-form, .con-info {
        padding: 26px 20px;
    }

    .review-title {
        font-size: 40px;
    }

    .serv-title {
        font-size: 28px;
    }

    .banner-img {
        object-position: 50% 60%;
    }

    .new-flex {
        gap: 30px;
    }
    .new-content {
        width: 100%;
    }
    .new-txt {
        max-width: 100%;
        font-size: 15px;
    }
    .new-img-container {
        aspect-ratio: 365 / 277;
        width: 100%;
        height: auto;
    }
    .new-img2 {
        display: none;
    }

    .smodal-modal {
        align-items: flex-end;
        padding-bottom: 25px;
    }
    .smodal-wrapper {
        padding: 10px 14px 30px;
        max-height: 650px;
    }
    i.smodal-icon {
        width: 40px;
        height: 40px;

    }
    .smodal-head {
        font-size: 28px;
    }
    .smodal-txt {
        font-size: 16px;
    }
    .smodal-point {
        font-size: 14px;
    }

    .events-bg {
        padding: 80px 0;
    }

    .phil-slider {
        mask-image: linear-gradient(to right, rgba(255, 255, 255, 0) 1%, rgb(255, 255, 255) 35%, rgb(255, 255, 255) 65%, rgba(255, 255, 255, 0) 99%);
    }
}
@media only screen and (max-width: 550px){
    .header-logo {
        height: 40px;
    }
    .hero-container {
        height: calc(100vh - 92px);
    }
    .hero-content {
        height: 100%;
        padding: 135px 0 0;
    }
    .hero-eyebrow {
        font-size: 14px;
    }
    .hero-eyebrow span {
        width: 6px;
        height: 6px;
    }
    .hero-title {
        font-size: 33px;
    }
    .hero-img {
        opacity: 1;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 75% 100%;
        transition: 0.8s ease;
    }

    .contact-title {
        font-size: 40px;
    }
    .contact-para {
        font-size: 16px;
    }
    .contact-right {
        height: auto;
    }
    .contact-flex {
        flex-direction: column;
        gap: 18px;
    }
    .btn-contact {
        margin-top: 30px;
    }

    .about-title {
        font-size: 40px;
    }
    .about-btn-flex {
        width: 100%;
        gap: 12px;
    }
    .btn-about {
        justify-content: center;
        width: 100%;
    }
    .about-flex {
        margin-bottom: 0;
    }

    .ben-ben-txt {
        font-size: 15px;
    }

    .phil-slider {
        mask-image: linear-gradient(to right, rgba(255, 255, 255, 0) 1%, rgb(255, 255, 255) 23%, rgb(255, 255, 255) 77%, rgba(255, 255, 255, 0) 99%);
        height: 240px;
    }
    .phil-slider img {
        animation: philSlider 20s linear infinite;
    }
    @keyframes philSlider {
        0% {
            transform: translateX(0px);
        }
        100% {
            transform: translateX(783px);
        }
    }

    .hero-video2 {
        width: auto;
        height: 100%;
    }
}