:root {
    --color-white: #f9f7f1;
    --color-verde: #2F402C;
    --color-tierra: #A66A4C;
    --color-turquesa: #6FB7AD;
    --color-arena: #D9B88C;
    --swiper-pagination-color: var(--color-white);
    --swiper-pagination-bullet-inactive-color: var(--color-white);
    --swiper-pagination-bullet-inactive-opacity: 0.5;
}

body {
    position: relative;
    background-color: var(--color-white);
    color: var(--color-verde);
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    /* font-weight: 300; */
}

* {
    box-sizing: border-box;
    touch-action: manipulation;
}

img {
    display: block;
    object-fit: contain;
}


/* --------------------------------------General-------------------------------------- */

/* Sections */
section {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

section.full {
    min-height: 100vh;
}

section.start {
    align-items: start;
}

section.end {
    align-items: end;
}

/* Header */
header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 2rem 2rem 3rem;
    width: 100%;
    background-color: var(--color-white);
}

header img {
    height: 40px;
}

header button {
    display: none;
    font-size: 1.5em;
    background-color: transparent;
    outline: none;
    border: none;
    cursor: pointer;
}

nav {
    display: flex;
}

.mob-nav {
    display: flex;
}

nav a,
.mob-nav a {
    display: flex;
    align-items: center;
    padding: 0 1.7rem;
    height: 40px;
    color: var(--color-verde);
    text-transform: uppercase;
    font-size: 0.8rem;
}

nav a.current,
.mob-nav a.current {
    background-color: var(--color-verde);
    color: var(--color-white);
    border-radius: 20px;
    cursor: default;
}

/* Footer */
footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 1.8rem 5.5rem;
    border-top: 2px solid var(--color-verde);
    font-size: 1.3em;
}

footer a i {
    font-size: 1.5em;
}

footer .atlantian {
    display: flex;
    align-items: center;
    gap: 10px;
}

footer .atlantian img {
    height: 18px;
}

footer .icons-grouped {
    display: none;
    align-items: center;
    gap: 1.5rem;
}

/* Swiper */
.dm__swiper-cont {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-left: 26vw;
    width: 100%;
}

.dm__swiper-filter {
    display: flex;
}

.dm__swiper-filter button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2.3rem;
    height: 45px;
    background-color: var(--color-white);
    outline: none;
    border: none;
    border-radius: 22.5px;
    color: var(--color-verde);
    text-transform: uppercase;
    font-size: 1.2em;
    transition: background-color 0.25s, color 0.25s;
}

.dm__swiper-filter button.active {
    background-color: var(--color-verde);
    color: var(--color-white);
}

.dm__swiper {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}

.dm__swiper>i {
    position: absolute;
    top: 35%;
    right: 1rem;
    z-index: 1;
    color: var(--color-white);
    font-size: 40px;
    text-shadow: 5px 5px 10px #00000040;
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    display: block;
    width: min-content;
    transition: opacity 0.2s;
    overflow: hidden;
}

.swiper-slide:not(.swiper-slide-active) {
    opacity: 0.5;
}

.dm__home-slide {
    display: grid;
    grid-template-columns: 1fr 90px;
    column-gap: 1rem;
    row-gap: 20px;
    width: 55vw;
    height: 100%;
}

.dm__home-slide * {
    user-select: none;
}

.dm__home-slide img {
    grid-column: 1 / 3;
    margin-bottom: 10px;
    width: 100%;
    aspect-ratio: 28 / 15;
    border-radius: 15px;
    object-fit: cover;
}

.dm__home-slide .title {
    grid-column: 1 / 3;
    display: flex;
    gap: 2rem;
    align-items: start;
}

.dm__home-slide .new {
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    padding: 0 20px;
    height: 30px;
    border: 1px solid var(--color-verde);
    border-radius: 15px;
    font-size: 1.2em;
}

.dm__home-slide h3 {
    font-size: 1.7em;
    font-weight: 600;
}

.dm__home-slide p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    font-size: 1.2em;
    line-height: 1.3em;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    max-height: calc(1.3em * 3);
    overflow: hidden;
}

.dm__home-slide a {
    align-self: end;
    display: block;
    padding: 0.6rem 0;
    width: 100%;
    background-color: var(--color-verde);
    border-radius: 20px;
    color: var(--color-white);
    text-align: center;
    font-size: 1.2em;
}


/* Contact */
.dm__contact {
    display: grid;
    grid-template-columns: 37fr 27fr;
    grid-template-rows: auto 105px;
    column-gap: 5rem;
    margin-bottom: 3rem;
    padding-left: 5rem;
    width: 100%;
}

.dm__contact.margin-top {
    margin-top: 6rem;
}

.dm__contact-column {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: start;
    justify-self: center;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 440px;
}

.dm__contact-column img {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 15px;
    object-fit: cover;
}

.dm__contact-column h3 {
    margin: 10rem 0 2rem 0;
    font-size: 2.6em;
    font-weight: 600;
}

.dm__contact-column p {
    font-size: 1.3em;
}

.dm__contact-form {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    display: flex;
    flex-direction: column;
    margin-top: 6rem;
    padding: 5rem;
    width: 100%;
    background-color: var(--color-verde);
    border-radius: 30px 0 0 30px;
    color: var(--color-white);
}

.dm__contact-form h3 {
    font-size: 2.6em;
    font-weight: 600;
}

.dm__contact-form p {
    margin: 4rem 0;
    font-size: 1.2em;
}

.dm__contact-form input,
.dm__contact-form textarea {
    display: block;
    padding: 0 1rem;
    margin-bottom: 1rem;
    width: 100%;
    height: 60px;
    background-color: var(--color-white);
    outline: none;
    border: none;
    border-radius: 10px;
    color: var(--color-verde);
    font-size: 1.3em;
}

.dm__contact-form textarea {
    padding: 1rem;
    height: 120px;
    resize: none;
}

.dm__contact-form h4 {
    margin: 2rem 0 0 0;
    text-align: center;
    font-size: 1.3em;
}

.dm__contact-form input[type=range] {
    margin: 2rem 0 1rem 0;
    padding: 0;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    background: #FFFFFF1A;
    height: 8px;
    border-radius: 4px;
}

.dm__contact-form input[type=range]::-webkit-slider-thumb {
    width: 30px;
    height: 30px;
    background-color: var(--color-white);
    border-radius: 15px;
    -webkit-appearance: none;
}

.dm__contact-form input[type=range]::-moz-range-thumb {
    width: 30px;
    height: 30px;
    background-color: var(--color-white);
    border: none;
    border-radius: 15px;
}

.dm__contact-form .labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4rem;
    width: 100%;
}

.dm__contact-form button {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: auto;
    padding: 0 3rem;
    height: 65px;
    background-color: var(--color-arena);
    outline: none;
    border: none;
    border-radius: 32.5px;
    color: var(--color-verde);
    font-size: 1.5em;
}

.dm__contact .logo {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    justify-self: end;
    margin-bottom: 3rem;
    height: 120px;
}

.dm__contact-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin: 2rem 0;
}

.dm__contact-btns button {
    margin: 0;
    padding: 2px 2.5px;
    height: 50px;
    background: linear-gradient(301.69deg, #FFFFFF 30.92%, #7AE1BF 80.21%);
    font-size: 1.3em;
}

.dm__contact-btns span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0 2rem;
    background-color: #EEFBF7;
    box-shadow: 0px 0px 3px 3px #00000026 inset;
    border-radius: 23px;
    transition: background-color 0.2s;
}

.dm__contact-btns button.selected {
    background: linear-gradient(301.69deg, #FFFFFF 30.92%, #7AE1BF 80.21%);
}

.dm__contact-btns button.selected span {
    background-color: #9BE9CF;
}

/* Error Message */
.dm__error-message {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    z-index: 200;
    padding: 2rem;
    width: 100%;
    height: 100vh;
    background-color: #00000040;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.dm__error-message.show {
    opacity: 1;
    pointer-events: all;
}

.dm__error-message div {
    display: flex;
    flex-direction: column;
    padding: 2rem 3rem 1.5rem 3rem;
    width: 100%;
    max-width: 450px;
    background-color: var(--color-white);
    border-radius: 15px;
    text-align: center;
}

.dm__error-message h3 {
    margin-bottom: 1.2rem;
    font-size: 1.5em;
    font-weight: 600;
}

.dm__error-message i {
    color: var(--color-turquesa);
    font-size: 2.2em;
}

.dm__error-message p {
    margin: 1.5rem 0 0 0;
    font-size: 1.2em;
}

.dm__error-message button {
    display: block;
    margin: 2.2rem auto 0 auto;
    padding: 0 2rem;
    height: 45px;
    background-color: var(--color-turquesa);
    outline: none;
    border: none;
    border-radius: 22.5px;
    color: var(--color-white);
    font-weight: 600;
}


/* Loader */
.loader__modal {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    padding: 0 0 2rem 0;
    width: 100%;
    height: 100vh;
    background-color: #0016240C;
}

.loader__cont {
    position: relative;
    display: inline-block;
    width: 200px;
    height: 200px;
    overflow: hidden;
    background: transparent;
}

.loader__cont span {
    position: absolute;
    left: 54px;
    bottom: 2rem;
    color: #A8A9A8;
    text-align: center;
    font-size: 1.1em;
}

.loader {
    position: relative;
    width: 100%;
    height: 100%;
    transform: translateZ(0) scale(1);
    backface-visibility: hidden;
    transform-origin: 0 0;
}

.loader div {
    box-sizing: content-box;
    position: absolute;
    border-width: 4px;
    border-style: solid;
    opacity: 1;
    border-radius: 50%;
    animation: loader-animation 1.1363636363636365s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.loader div:nth-child(1) {
    border-color: #A8A9A8;
    animation-delay: 0s;
}

.loader div:nth-child(2) {
    border-color: #0D0D13;
    animation-delay: -0.5681818181818182s;
}

#loader-text {
    animation: loader-text 1.1363636363636365s ease-in-out infinite alternate;
}



/* ----------------------------------------Home---------------------------------------- */

/* Hero */
.home__hero {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr;
    height: 100vh;
    overflow: hidden;
}

.home__hero-title {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin: 100px auto 3rem auto;
    width: 50vw;
}

.home__hero-title h1 {
    margin: 0;
    text-transform: uppercase;
    font-size: 3em;
}

.home__hero-title h3 {
    position: relative;
    /* left: 10%; */
    margin: 0;
    font-size: 1.5em;
    font-weight: 300;
    /* letter-spacing: 4px; */
}

.home__hero-img {
    position: relative;
    display: block;
    padding: 3rem 3rem 0 3rem;
    width: 100%;
    height: 100%;
}

.home__hero-img div {
    display: block;
    width: 100%;
    height: 100%;
    background: url('../assets/imgs/hero.jpg') center center no-repeat;
    background-size: cover;
    border-radius: 30px;
}

.home__hero-img a {
    position: absolute;
    display: flex;
    align-items: center;
    right: 1rem;
    bottom: 1rem;
    gap: 20px;
    padding: 0 3.3rem;
    height: 65px;
    background-color: var(--color-verde);
    border-radius: 32.5px;
    color: var(--color-white);
    font-size: 1.5em;
}

/* Projects */
.home__projects {
    padding: 6rem 0 10rem 0;
}

.home__projects-title {
    margin: 0 auto 10rem 8rem;
    width: 100%;
    max-width: 500px;
}

.home__projects-title h2 {
    margin-bottom: 1rem;
    font-size: 3.3em;
    font-weight: 600;
}

.home__projects-title p {
    font-size: 1.2em;
}

.home__projects-title b {
    color: var(--color-turquesa);
}

/* Us */
.home__us {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto 214px;
    padding-left: 3rem;
    width: 100%;
    overflow: hidden;
}

.home__us h2 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin: 5rem 1rem 13.8rem auto;
    color: var(--color-arena);
    text-align: right;
    font-size: 8em;
    font-weight: 600;
    opacity: 0.5;
}

.home__us p {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    align-self: center;
    justify-self: center;
    max-width: 470px;
    color: var(--color-white);
    font-size: 1.7em;
    line-height: 1.8em;
}

.home__us sup {
    font-size: 0.7em;
}

.home__us img {
    grid-column: 2 / 3;
    grid-row: 2 / 4;
    width: 450px;
    aspect-ratio: 3 / 4;
    border-radius: 15px 0 0 15px;
    object-fit: cover;
    object-position: 30%;
}

.home__us-frame {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-tierra);
    border-radius: 30px 0 0 30px;
}

.home__us .green {
    color: var(--color-arena);
}

/* New */
.home__new h2 {
    margin: 8rem auto 2rem 5rem;
    text-transform: uppercase;
    font-size: 2.1rem;
    font-weight: 300;
}

.home__new-preview {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5rem 8rem;
    background-color: var(--color-verde);
}

.home__new-preview .logo {
    width: 300px;
}

.home__new-preview .img {
    margin: 4rem 0 3rem 0;
    width: 100%;
    border-radius: 15px;
}

.home__new-preview a {
    display: flex;
    align-items: center;
    gap: 1.3rem;
    padding: 0 3rem;
    height: 65px;
    background-color: var(--color-white);
    border-radius: 32.5px;
    font-size: 1.5em;
}

/* Other Services */
.home__services {
    gap: 5rem;
    margin: 10rem 0 5rem 0;
}

.home__services h2 {
    padding: 0 2rem;
    text-align: center;
    font-size: 2.6em;
}

.home__services h4 {
    margin: 1rem 0 3rem;
    font-size: 1.6em;
    font-weight: 600;
}

.home__services sup {
    font-size: 0.6em;
}

.home__services-items {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-evenly;
    column-gap: 2rem;
    row-gap: 3rem;
    padding: 0 2rem;
    width: 100%;
}

.home__services-items div {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 300px;
}

.home__services-items div>span {
    color: var(--color-arena);
    font-size: 10em;
    font-weight: 600;
    line-height: 1em;
    opacity: 0.25;
}

.home__services-items p {
    text-align: center;
    font-size: 1.6em;
}

/* Preloader */
.preloader {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    z-index: 200;
    width: 100%;
    height: 100vh;
    background-color: var(--color-white);
    transition: opacity 0.3s;
}

.preloader.disappear {
    opacity: 0;
    pointer-events: none;
}



/* --------------------------------------Projects-------------------------------------- */

.projects {
    display: flex;
    flex-direction: column;
    gap: 10rem;
    margin-top: 5.3rem;
    width: 100%;
}

.pro__swiper {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 5rem;
    margin-top: 1rem;
    width: 100%;
}

.pro__swiper h2 {
    margin-left: 8rem;
    font-size: 3.3em;
    font-weight: 600;
}

.pro__plans-cont {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 5rem;
    margin-top: 1rem;
    padding-right: 1.5rem;
    width: 100%;
}

.pro__plans-cont h2 {
    margin-left: 8rem;
    font-size: 3.3em;
    font-weight: 600;
}

.pro__plans {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-left: 8rem;
}

.pro__plans h4 {
    text-transform: uppercase;
    font-size: 1.7em;
    font-weight: 300;
}

.pro__plans li {
    font-size: 1.27em;
    line-height: 1.4em;
}



/* ------------------------------------Landing Page------------------------------------ */

/* Title */
.landing__title {
    padding-bottom: 75px;
    background: linear-gradient(150.9deg, #C6E2DC 6.45%, #FFFFFF 31.88%, #FFFFFF 79.1%);
}

.landing__title > img {
    height: 100px;
}

.landing__title-h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin: 23vh 0 16vh 0;
}

.landing__title-h1 h1 {
    display: block;
    width: 100%;
    max-width: 650px;
    text-align: center;
    font-size: 3.3em;
    font-weight: 300;
    line-height: 1.3em;
}

.landing__title-h1 img {
    height: 52px;
}

.landing__title-start {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.landing__title-start span {
    font-size: 1.3em;
}

.landing__title-start i {
    font-size: 2.3em;
}

/* Overview */
.landing__overview {
    margin-top: 2rem;
    padding: 0 3rem;
}

.landing__overview-texts {
    display: flex;
    flex-direction: column;
    margin: 10rem auto;
    width: 100%;
    max-width: 600px;
    text-align: center;
    font-size: 1.8em;
    line-height: 1.6em;
}

.landing__overview-texts img {
    margin: 10px 0 5rem 0;
    height: 40px;
}

.landing__swiper {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 119 / 45;
    border-radius: 30px;
    overflow: hidden;
}

.landing__swiper .swiper {
    width: 100%;
    height: 100%;
}

.landing__swiper .swiper-slide {
    display: block;
    width: 100%;
    height: 100%;
}

.landing__swiper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Features */
.landing__features {
    display: grid;
    grid-template-columns: 50fr 47fr;
    grid-template-rows: 60px auto;
    column-gap: 2rem;
    row-gap: 6rem;
    padding: 4rem 0 0 8rem;
}

.landing__features h2 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    font-size: 3.3em;
    font-weight: 600;
    line-height: 60px;
}

.landing__features img {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    width: 100%;
    aspect-ratio: 97 / 109;
    border-radius: 15px;
    object-fit: cover;
}

.landing__features-frame {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    justify-content: center;
    align-self: start;
    display: grid;
    grid-template-columns: min-content auto;
    column-gap: 1.3rem;
    row-gap: 1.6rem;
    margin-top: 30px;
    padding: 8rem 2rem;
    background-color: var(--color-tierra);
    border-radius: 30px 0 0 30px;
    color: var(--color-white);
    font-size: 1.6em;
}

/* Location */
.landing__location {
    padding: 8rem 0 0 5rem;
}

.landing__location h2 {
    margin: 0 5rem 0 auto;
    text-transform: uppercase;
    font-size: 2.3em;
    font-weight: 300;
}

.landing__location-frame {
    display: grid;
    grid-template-columns: 17fr 81fr;
    grid-template-rows: auto;
    margin: 2rem 0 5rem auto;
    width: 100%;
    max-width: 980px;
}

.landing__location-frame div {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid var(--color-verde);
    border-right: none;
    border-radius: 20px 0 0 20px;
}

.landing__location-frame img {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    padding: 10rem 3rem 3rem 0;
    width: 100%;
}

.landing__location-frame iframe {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    padding: 10rem 3rem 3rem 0;
    width: 100%;
    height: 650px;
}

.landing__location a {
    display: flex;
    align-items: center;
    margin: 0 5rem 0 auto;
    padding: 0 3.3rem;
    height: 65px;
    background-color: var(--color-arena);
    border-radius: 32.5px;
    gap: 1rem;
    font-size: 1.5em;
}

/* Video */
.landing__video {
    flex-direction: row;
    align-items: end;
    justify-content: start;
    column-gap: 8rem;
    row-gap: 4rem;
    margin: 10px 0 6rem 0;
    padding-left: 7rem;
}

.landing__video video {
    display: block;
    width: 300px;
    border-radius: 15px;
}

.landing__video p {
    margin-bottom: 1rem;
    width: 100%;
    max-width: 350px;
    font-size: 2em;
    line-height: 1.2em;
}

/* Schedule visit */
.landing {
    margin-bottom: 2rem;
}

.landing__schedule {
    position: fixed;
    display: flex;
    flex-direction: column;
    top: 5rem;
    right: 4rem;
    z-index: 150;
    padding: 30px;
    width: 100%;
    max-width: 450px;
    background-color: var(--color-white);
    box-shadow: 5px 5px 20px 0px #0000001A;
    border-radius: 30px;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.landing__schedule.showing {
    opacity: 1;
    pointer-events: all;
}

.landing__schedule .spacer {
    display: block;
    margin: 2rem 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-tierra);
}

.landing__schedule>span {
    margin-bottom: 2.4rem;
    font-size: 1.2em;
}

.landing__schedule label {
    margin-bottom: 0.5rem;
    padding-left: 15px;
    color: var(--color-tierra);
    font-size: 1em;
    font-weight: 300;
}

.landing__schedule input {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 0 1rem;
    width: 100%;
    height: 60px;
    background-color: var(--color-white);
    outline: none;
    border: 1.5px solid #42556326;
    border-radius: 15px;
    color: var(--color-verde);
    font-size: 1.2em;
    font-weight: 600;
    -webkit-appearance: none;
}

.landing__schedule input:focus {
    border: 1.5px solid var(--color-verde);
}

.landing__schedule #whats-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.3rem;
    margin: 1.3rem auto 0 auto;
    width: 100%;
    height: 60px;
    max-width: 240px;
    background-color: var(--color-turquesa);
    outline: none;
    border: none;
    border-radius: 30px;
    color: var(--color-white);
    font-size: 1.3em;
}

.landing__schedule #whats-btn i {
    font-size: 1.2em;
}

.landing__schedule-header {
    display: grid;
    grid-template-columns: 15px 1fr 35px;
    grid-template-rows: 45px;
    align-items: center;
    gap: 0.67rem;
}

.landing__schedule-header div {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-arena);
    border-radius: 5px;
}

.landing__schedule-header h4 {
    font-size: 1.5em;
    font-weight: 600;
}

.landing__schedule-header button {
    align-self: start;
    display: block;
    padding: 0;
    width: 100%;
    aspect-ratio: 1;
    background-color: var(--color-turquesa);
    outline: none;
    border: none;
    border-radius: 50%;
    color: var(--color-white);
    font-size: 1.3em;
    translate: 10px -10px;
}

.landing__schedule-btn {
    position: sticky;
    display: block;
    bottom: 1rem;
    z-index: 100;
    margin: 0 1rem;
    width: calc(100% - 2rem);
    height: 75px;
    background-color: var(--color-arena);
    outline: none;
    border: none;
    border-radius: 35.5px;
    color: var(--color-verde);
    font-size: 1.5em;
}

.ui-timepicker-standard {
    z-index: 100 !important;
}



/* --------------------------------------About Us-------------------------------------- */
.us {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.us section {
    display: grid;
}

.us section h2 {
    font-size: 3.3em;
    font-weight: 600;
}

.us section p {
    align-self: start;
    max-width: 520px;
    font-size: 1.35em;
    line-height: 1.5em;
}

.us section .main {
    color: var(--color-turquesa);
}

/* History & Team*/
.us__history {
    grid-template-columns: 26fr 23fr;
    grid-template-rows: auto 1fr;
    column-gap: 6rem;
    row-gap: 3rem;
    margin: 6.3rem 0 3rem 0;
    padding: 0 6rem 0 8rem;
    height: min-content;
}

.us__history h2 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.us__history p {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

.us__history img {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    margin-top: 5rem;
    width: 100%;
    aspect-ratio: 46 / 45;
    border-radius: 15px;
    object-fit: cover;
}

.us__team {
    grid-template-columns: 39fr 16fr;
    column-gap: 12rem;
    row-gap: 4rem;
    padding-bottom: 6rem;
}

.us__team-frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
    margin-top: 13rem;
    padding: 8rem 4rem;
    background-color: var(--color-arena);
    border-radius: 0px 30px 30px 0px;
    color: var(--color-verde);
}

.us__team-frame h2 {
    width: 100%;
    max-width: 520px;
}

.us .us__team-frame p {
    align-self: center;
}

.us__team-img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.us__team-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 200%;
    height: 100%;
    opacity: 0.4;
}

/* Philosophy & Uniqueness */
.us__philosophy,
.us__uniqueness {
    grid-template-columns: 23fr 26fr;
    grid-template-rows: auto 1fr;
    height: min-content;
    column-gap: 6rem;
    row-gap: 3rem;
    padding: 0 8rem 0 6rem;
}

.us__uniqueness {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display: grid;
    row-gap: 1rem;
    margin-top: 6rem;
}

.us__philosophy img {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    width: 100%;
    aspect-ratio: 23 / 30;
    border-radius: 15px;
    object-fit: cover;
}

.us__uniqueness img {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    width: 100%;
    aspect-ratio: 46 / 45;
    border-radius: 15px;
    object-fit: cover;
}

.us__philosophy h2,
.us__uniqueness h2 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.us__philosophy h2 {
    margin-top: 6rem;
}

.us__philosophy p {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.us__uniqueness p {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    margin: 2rem 0 8rem 0;
}

/* Uniqueness & Contact */
.us__uniqueness-contact {
    grid-template-columns: 1fr;
    grid-template-rows: min-content 90px min-content;
}

.us__contact {
    grid-column: 1 / 2;
    grid-row: 2 / 4;
    display: grid;
    grid-template-columns: 37fr 27fr;
    grid-template-rows: auto 105px;
    column-gap: 5rem;
    margin-bottom: 3rem;
    padding-left: 5rem;
    width: 100%;
}

.us__contact .dm__contact-form {
    margin-top: 0;
}

.us__contact .logo {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    justify-self: end;
    margin-bottom: 3rem;
    height: 120px;
}

.us__contact-text {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: center;
    justify-self: center;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    max-width: 440px;
}

.us__contact-text h3 {
    font-size: 2.6em;
    font-weight: 600;
}



/* -----------------------------------Thank You Page----------------------------------- */

.thank-you {
    display: grid;
    grid-template-columns: 107fr 65fr;
    grid-template-rows: 110px auto min-content;
    align-items: center;
    justify-items: start;
    column-gap: 8rem;
    row-gap: 20px;
    padding: 0 3rem 3rem 0;
    width: 100%;
    min-height: 100vh;
}

.typ__back {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    display: flex;
    align-items: center;
    margin-left: 3rem;
    gap: 1.3rem;
    color: var(--color-turquesa);
    font-size: 1.3em;
}

.typ__message {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding-left: 8rem;
}

.typ__message h1 {
    font-size: 3.3em;
    font-weight: 600;
}

.typ__message h2 {
    font-size: 1.6em;
    font-weight: 600;
}

.typ__message p {
    width: 100%;
    max-width: 450px;
    font-size: 1.3em;
}

.typ__img {
    align-self: center;
    justify-self: end;
    width: 100%;
    max-width: 390px;
}

.typ__logo {
    margin: 0 0 2rem 5rem;
    height: 80px;
}

.typ__sm {
    align-self: end;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 2rem;
}

.typ__sm i {
    font-size: 1.7em;
}



/* ----------------------------------Presentation Card---------------------------------- */
.card__cont {
    display: block;
    padding: 6rem 0;
    width: 100%;
    background-color: #F2F2F2;
}

.card {
    justify-content: start;
    margin: 0 auto;
    width: 100%;
    max-width: 480px;
    background-color: #FFFFFF;
    box-shadow: 0px 15px 40px #1C1C1C14;
    border-radius: 30px;
    overflow: hidden;
}

/* Intro */
.card__intro {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 59px 59px;
    width: 100%;
}

.card__banner {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display: flex;
    align-items: start;
    justify-content: space-between;
    padding: 1.5rem;
    width: 100%;
    aspect-ratio: 13 / 8;
    background: linear-gradient(180deg, #425563 0%, rgba(66, 85, 99, 0.5) 50%, rgba(122, 225, 191, 0) 100%);
    background-size: cover;
}

.card__banner h4 {
    margin: 0.65rem 0;
    color: var(--color-white);
    text-align: end;
    font-size: 15px;
    font-weight: 600;
}

.card__banner img {
    width: 90px;
}

.card__banner-img {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    width: 100%;
    height: min-content;
    aspect-ratio: 13 / 8;
    object-fit: cover;
}

.card__photo {
    grid-column: 1 / 1;
    grid-row: 2 / 4;
    justify-self: center;
    position: relative;
    display: block;
    padding: 3px;
    height: 118px;
    aspect-ratio: 1 / 1;
    background-color: var(--color-turquesa);
    border-radius: 50%;
}

.card__photo img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: top center;
}

.card__photo button {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 0;
    bottom: 0;
    width: 33px;
    height: 33px;
    background-color: var(--color-turquesa);
    outline: none;
    border: none;
    border-radius: 50%;
    color: var(--color-white);
    transition: background-color 0.3s ease;
}

/* Contact */
.card__name {
    margin: 1.2rem 0;
    text-align: center;
    font-weight: 600;
    line-height: 1.5em;
}

.card__name h1 {
    margin: 0;
    color: var(--color-turquesa);
    font-size: 1.1em;
}

.card__name h2 {
    color: var(--color-verde);
    font-size: 1.1em;
}

.card__links {
    display: flex;
    justify-content: center;
    gap: 1.6rem;
    align-items: center;
}

.card__links a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 70px;
    height: 70px;
    background-color: var(--color-arena);
    border-radius: 15px;
    transition: opacity 0.3s ease;
    color: var(--color-verde);
}

.card__links i {
    font-size: 1.4em;
}

.card__links span {
    font-size: 0.7em;
}

.card__links a:hover {
    opacity: 0.75;
}

.card__save {
    display: block;
    margin-top: 2.3rem;
    height: 55px;
    width: calc(100% - 4rem);
    background-color: var(--color-verde);
    outline: none;
    border: none;
    border-radius: 27.5px;
    color: var(--color-white);
    font-size: 1.1em;
    font-weight: 600;
}

.card__spacer {
    display: block;
    margin: 3rem 0;
    width: calc(100% - 2rem);
    height: 2px;
    background-color: #F3F5F5;
    border-radius: 1px;
}

/* About */
.card__about {
    display: flex;
    flex-direction: column;
    padding: 0 1.33rem;
    width: 100%;
    line-height: 1.5em;
}

.card__about h2 {
    margin: 0;
    color: #9FAAB1;
    text-align: center;
    font-size: 1.1em;
}

.card__about h3 {
    margin: 1rem 0 0.6rem 0;
    color: var(--color-arena);
    font-size: 1em;
}

.card__about>div {
    display: block;
    padding: 1.5rem;
    width: 100%;
    background-color: #F9FAFA;
    box-shadow: 2px 2px 5px #00000014;
    border-radius: 15px;
}

.card__about div.img {
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    gap: 1.5rem;
}

.card__about img {
    display: block;
    width: 100%;
    object-fit: contain;
}

.card__about .large {
    min-height: 160px;
}

.card__about p {
    font-size: 1em;
    opacity: 0.75;
}

.card__about p.bold {
    font-weight: 600;
    opacity: 1;
}

.card__about span {
    font-size: 0.9em;
    opacity: 0.75;
}

/* Atlantian */
.card__atlantian {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 2.3rem 0 3.3rem 0;
}

.card__atlantian span {
    color: #9FAAB1;
    font-size: 1.1em;
}

.card__atlantian img {
    height: 22px;
}



/* -----------------------------------------404----------------------------------------- */
.not-found {
    justify-content: start;
    padding: 5rem 3rem 4rem 3rem;
    min-height: 100vh;
}

.not-found img {
    height: 30px;
}

.not-found h1 {
    margin: 1rem 0;
    font-size: 250px;
    font-weight: 600;
    line-height: 1em;
}

.not-found h2 {
    font-size: 2em;
    font-weight: 600;
}

.not-found p {
    margin: 3rem 0;
    width: 100%;
    max-width: 475px;
    text-align: center;
    font-size: 1.5em;
}

.not-found a {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 0 3rem;
    height: 65px;
    background-color: var(--color-arena);
    border-radius: 32.5px;
    font-size: 1.5em;
}



/* --------------------------------------Specials-------------------------------------- */
.hidden {
    display: none;
}

b {
    font-weight: 600;
}

.grecaptcha-badge {
    display: none !important;
}



/* -------------------------------------Responsive------------------------------------- */


@media screen and (max-width: 1200px) {

    /* General */
    .dm__contact-form {
        padding: 4rem 3rem;
    }

    footer {
        justify-content: center;
        column-gap: 3rem;
        row-gap: 2rem;
        padding: 1.8rem 3rem;
    }

    footer .lone-icon {
        display: none;
    }

    footer .icons-grouped {
        display: flex;
    }

    /* Home */
    .home__us {
        grid-template-columns: 68fr 45fr;
    }

    .home__us h2 {
        font-size: 7em;
    }

    .home__us img {
        width: 100%;
    }

    .home__us p {
        padding: 0 4rem;
        max-width: unset;
    }

    /* About Us */
    .us__team {
        column-gap: 8rem;
    }

    .us__uniqueness-contact {
        grid-template-rows: auto auto;
    }

    .us__uniqueness {
        grid-row: 1 / 2;
    }

    .us__uniqueness p {
        margin: 2rem 0 6rem 0;
    }

    .us__contact {
        grid-row: 2 / 3;
    }

    /* Landing */
    .landing__features {
        padding-left: 3rem;
    }

    .landing__location-frame img {
        padding: 6rem 3rem 3rem 0;
    }

    .landing__video {
        margin: 4rem 0 6rem 0;
        padding: 0 3rem;
    }

    /* Thank You Page */
    .thank-you {
        grid-template-columns: 5fr 4fr;
        column-gap: 4rem;
        padding: 0 2rem 2rem 0;
    }

    .typ__back {
        margin-left: 2rem;
    }

    .typ__message {
        padding-left: 5rem;
    }

    .typ__logo {
        margin: 0 0 2rem 3rem;
        height: 30px;
    }

    /* 404 */
    .not-found {
        padding: 3rem;
    }

    .not-found h1 {
        font-size: 220px;
    }
}

@media screen and (max-width: 900px) {

    /* General */
    .dm__contact {
        grid-template-columns: 1fr;
        grid-template-rows: unset;
    }

    .dm__contact-column {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        margin-top: 3rem;
        justify-self: start;
        max-width: 400px;
    }

    .dm__contact-column h3 {
        margin: 8rem 0 2rem 0;
        font-size: 2.4em;
    }

    .dm__contact-form {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        padding: 5rem;
    }

    .dm__contact .logo {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
        margin: 3rem 3rem 0 0;
    }

    /* Home */
    .home__hero-title {
        margin: 100px auto 3rem 3rem;
    }

    .home__hero-title h3 {
        font-size: 1.65em;
    }

    .home__us h2 {
        margin: 3rem 1rem 13.8rem auto;
    }

    .home__us p {
        align-self: start;
        padding: 5rem 4rem;
    }

    /* About Us */
    .us__history {
        padding: 0 3rem 0 4rem;
    }

    .us__philosophy,
    .us__uniqueness {
        padding: 0 4rem 0 3rem;
    }

    .us__uniqueness p {
        margin: 2rem 0 0 0;
    }

    .us__uniqueness-contact {
        gap: 8rem;
    }

    .us__contact {
        grid-template-columns: 1fr;
        grid-template-rows: unset;
    }

    .us__contact-text {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        justify-self: start;
    }

    .us__contact .dm__contact-form {
        margin-top: 6rem;
    }

    .us__contact .logo {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
        margin: 3rem 3rem 0 0;
    }

    /* Landing */
    .landing__swiper {
        aspect-ratio: 17 / 9;
    }

    .landing__overview-texts {
        margin: 8rem auto;
    }

    .landing__features {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto 100px auto;
        column-gap: 0;
        row-gap: 3rem;
        padding-left: 6rem;
    }

    .landing__features h2 {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        align-self: end;
        padding-left: 2rem;
        text-align: start;
    }

    .landing__features img {
        grid-column: 1 / 2;
        grid-row: 3 / 5;
        justify-self: end;
        width: 80%;
        border-radius: 30px 0 0 30px;
    }

    .landing__features-frame {
        grid-column: 1 / 2;
        grid-row: 2 / 4;
        margin-top: 0;
        padding: 6rem 0 calc(8rem + 100px) 0;
    }

    /* Thank You Page */
    .thank-you {
        grid-template-columns: 1fr auto;
        grid-template-rows: min-content auto auto min-content;
        column-gap: 2rem;
        row-gap: 4rem;
        padding: 3rem;
    }

    .typ__back,
    .typ__logo {
        margin: 0;
    }

    .typ__message {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
        padding-left: 2rem;
    }

    .typ__img {
        grid-column: 1 / 3;
        grid-row: 3 / 4;
    }

    /* 404 */
    .not-found {
        padding: 4rem;
    }

    .not-found img {
        margin-bottom: auto;
    }

    .not-found a {
        margin-top: auto;
    }
}

@media screen and (max-width: 768px) {

    /* General */
    header {
        padding: 2rem;
    }

    header button {
        display: block;
    }

    nav {
        position: absolute;
        flex-direction: column;
        top: 80px;
        right: 0;
        z-index: 10;
        height: 0;
        background-color: var(--color-white);
        box-shadow: -3px 3px 3px #00000026;
        border-radius: 0 0 0 15px;
        overflow: hidden;
        transition: height 0.3s;
    }

    nav a {
        flex-shrink: 0;
        margin: 0.6rem 1rem;
    }

    .dm__swiper-cont {
        padding-left: 4rem;
    }

    .dm__swiper-filter {
        width: 100%;
    }

    .dm__swiper-filter button {
        padding: 0 1rem;
        font-size: 1.1em;
    }

    .dm__contact {
        padding-left: 3rem;
    }

    .dm__contact-column {
        justify-self: center;
        padding-right: 3rem;
        max-width: calc(400px + 3rem);
    }

    .dm__contact-form {
        padding: 3rem;
    }

    .dm__contact-btns {
        flex-direction: column;
    }

    .dm__contact-form>button {
        padding: 0 2rem;
        height: 50px;
        font-size: 1.3em;
    }

    /* Home */
    .home__hero-title {
        margin: 100px 0 3rem 0;
        padding: 0 3rem;
        width: 100%;
    }

    .home__hero-title h1 {
        font-size: 2.6em;
    }

    .home__hero-title h3 {
        position: unset;
        margin-left: auto;
        font-size: 1.5em;
    }

    .home__hero-img a {
        padding: 0 2rem;
        height: 50px;
        font-size: 1.3em;
    }

    .home__projects {
        padding: 8rem 0 10rem 0;
    }

    .home__projects-title {
        margin: 0 auto 6rem 0;
        padding-left: 4rem;
    }

    .home__projects-title h2 {
        font-size: 2.8em;
    }

    .home__us {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto 200px;
    }

    .home__us-frame {
        grid-column: 1 / 2;
        grid-row: 1 / 4;
    }

    .home__us h2 {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        margin: 3rem 1rem 2rem auto;
        font-size: 6em;
    }

    .home__us p {
        grid-row: 2 / 3;
    }

    .home__us img {
        justify-self: end;
        grid-column: 1 / 2;
        grid-row: 3 / 5;
        width: 65%;
    }

    .home__new h2 {
        margin: 8rem auto 2rem 2rem;
    }

    .home__new-preview {
        padding: 5rem 3rem;
    }

    .home__new-preview .logo {
        width: 240px;
    }

    .home__new-preview a {
        height: 50px;
        padding: 0 2rem;
        font-size: 1.3em;
    }

    .preloader svg {
        width: 320px;
    }

    /* Projects */
    .pro__swiper h2 {
        margin-left: 4rem;
    }

    .dm__home-slide .title {
        flex-direction: column;
        gap: 1rem;
    }

    .pro__plans-cont h2 {
        margin-left: 4rem;
        font-size: 2.8em;
    }

    .pro__plans {
        padding-left: 4rem;
    }

    /* About Us */
    .us section h2 {
        font-size: 2.8em;
    }

    .us__history {
        grid-template-columns: 1fr;
        grid-template-rows: unset;
        max-width: 600px;
    }

    .us__philosophy,
    .us__uniqueness {
        grid-template-columns: 1fr;
        grid-template-rows: unset;
        max-width: 630px;
        margin-left: auto;
    }

    .us__philosophy h2,
    .us__uniqueness h2 {
        grid-column: 1 / 2;
        grid-row: 1 / 1;
        text-align: end;
    }

    .us__history img {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        margin-top: 0;
        width: 80%;
    }

    .us__philosophy img,
    .us__uniqueness img {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        justify-self: end;
        margin-top: 0;
        width: 80%;
    }

    .us__history p {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }

    .us__philosophy p,
    .us__uniqueness p {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
        text-align: end;
    }

    /* Landing */
    .landing__title-h1 {
        gap: 1.6rem;
    }

    .landing__title-h1 h1 {
        padding: 0 1.5rem;
        font-size: 2.6em;
    }

    .landing__title-h1 img {
        height: 45px;
    }

    .landing__overview {
        padding: 0 1.5rem;
    }

    .landing__swiper {
        aspect-ratio: 17 / 11;
    }

    .landing__overview-texts {
        font-size: 1.5em;
    }

    .landing__overview-texts img {
        height: 34px;
    }

    .landing__features {
        padding-left: 4rem;
    }

    .landing__features h2 {
        font-size: 2.4em;
    }

    .landing__features-frame {
        font-size: 1.4em;
    }

    .landing__location {
        padding: 8rem 0 0 0;
    }

    .landing__location h2 {
        margin: 0 2rem 0 auto;
    }

    .landing__location-frame img {
        padding: 4rem 1rem 3rem 1rem;
    }

    .landing__location a {
        height: 50px;
        font-size: 1.3em;
        margin: 0 auto;
        padding: 0 2.5rem;
    }

    .landing__video {
        flex-direction: column;
        align-items: center;
    }

    .landing__video p {
        text-align: center;
        font-size: 1.6em;
    }

    .landing__schedule {
        top: 3rem;
        right: 2rem;
        max-width: 430px;
    }

    .landing__schedule-btn {
        height: 60px;
        border-radius: 30px;
        font-size: 1.3em;
    }

    /* 404 */
    .not-found h1 {
        font-size: 180px;
    }
}

@media screen and (max-width: 730px) {
    .us__team {
        grid-template-columns: 1fr;
        padding: 0 3rem 0 0;
    }

    .us__team-frame {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        margin-top: 8rem;
        padding: 9rem 4rem 6rem 4rem;
    }

    .us__team-img {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        align-self: start;
        justify-self: end;
        width: min-content;
        translate: 3rem;
    }

    .us__team-img img {
        width: min-content;
        top: 10rem;
        right: 3rem;
        height: 150px;
    }
}

@media screen and (max-width: 480px) {

    /* General */
    .dm__swiper-cont {
        padding: 0
    }

    .dm__swiper {
        padding: 0 1.5rem;
    }

    .dm__swiper-filter {
        margin: 1.5rem;
        padding-bottom: 10px;
        width: calc(100% - 1.5rem);
        overflow-x: scroll;
    }

    .dm__swiper-filter button {
        padding: 0 1.5rem;
    }

    .dm__home-slide {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .dm__home-slide .new {
        position: absolute;
        top: 5px;
        right: 5px;
        background-color: var(--color-white);
        box-shadow: 0 0 2px #00000026;
        border: none;

    }

    .dm__home-slide img,
    .dm__home-slide .title {
        grid-column: 1 / 2;
    }

    .dm__home-slide a {
        justify-self: end;
        padding: 0.6rem 1.5rem;
        width: unset;
    }

    .dm__contact {
        padding-left: 1.5rem;
    }

    .dm__contact-column {
        padding: 0 2rem 0 0.5rem;
    }

    .dm__contact-column h3 {
        font-size: 2.2em;
    }

    .dm__contact-form {
        padding: 3rem 2rem;
    }

    .dm__contact .logo {
        height: 100px;
    }

    .preloader svg {
        width: 260px;
    }

    /* Home */
    .home__hero-title {
        padding: 0 1.5rem;
    }

    .home__hero-title h1 {
        font-size: 7.5vw;
    }

    .home__hero-title h3 {
        max-width: 280px;
        text-align: end;
    }

    .home__hero-img {
        padding: 3rem 2rem;
    }

    .home__projects-title {
        padding: 0 2rem;
    }

    .home__projects-title h2 {
        font-size: 2.5em;
    }

    .home__us {
        padding-left: 1.5rem;
    }

    .home__us p {
        padding: 4rem 3rem;
        font-size: 1.4em;
    }

    .home__new-preview {
        padding: 5rem 2rem;
    }

    /* Projects */
    .projects {
        gap: 6rem;
    }

    .pro__swiper h2 {
        margin-left: 2rem;
        font-size: 2.6em;
    }

    .pro__plans-cont h2 {
        margin-left: 2rem;
        font-size: 2.4em;
    }

    .pro__plans {
        padding-left: 2rem;
    }

    /* About Us */
    .us__uniqueness,
    .us__history,
    .us__philosophy {
        margin: 5rem 0 0 0;
        padding: 2rem;
    }

    .us section h2 {
        margin: 0;
        text-align: start;
    }

    .us section img {
        justify-self: start;
    }

    .us section p {
        text-align: start;
    }

    .us__team {
        padding: 0 1.5rem 0 0;
    }

    .us__team-frame {
        margin-top: 6rem;
        padding: 6rem 4rem 4rem 2rem;
    }

    .us__contact {
        padding-left: 1.5rem;
    }

    .us__contact .logo {
        height: 100px;
    }

    /* Landing */
    .landing__title-h1 h1 {
        font-size: 2.2em;
    }

    .landing__title-h1 img {
        height: 42px;
    }

    .landing__features {
        padding-left: 2rem;
    }

    .landing__video {
        padding: 0 2rem;
    }

    .landing__video video {
        width: 100%;
    }

    .landing__schedule {
        top: 0;
        right: 0;
        max-width: unset;
        height: 100vh;
        border-radius: 0;
    }

    /* Thank You Page */
    .thank-you {
        grid-template-rows: unset;
        column-gap: 0;
        padding: 2rem;
    }

    .typ__message {
        padding: 0 1.5rem;
    }

    .typ__message h1 {
        font-size: 2.6em;
    }

    .typ__img {
        justify-self: center;
        width: 60%;
    }

    .typ__sm {
        grid-column: 1 / 3;
        grid-row: 4 / 5;
        flex-wrap: wrap;
        justify-content: center;
    }

    .typ__sm h2 {
        width: calc(100vw - 4rem);
        text-align: center;
    }

    .typ__logo {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        justify-self: center;
    }

    /* Presentation card */
    .card__cont {
        padding: 0;
    }

    .card {
        border-radius: 0;
    }

    /* 404 */
    .not-found {
        padding: 2rem;
    }

    .not-found div {
        padding-right: 50px;
    }

    .not-found h1 {
        font-size: 140px;
    }

    .not-found a {
        padding: 0 2rem;
        height: 50px;
        font-size: 1.3em;
    }
}

/* IPhone SE */
@media screen and (max-width: 376px) and (max-height: 668px) {}



/* -------------------------------------Animations------------------------------------- */



/* Keyframes */
@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 100%;
    }
}

@keyframes fade-out {
    0% {
        opacity: 100%;
    }

    100% {
        opacity: 0;
    }
}

@keyframes loader-animation {
    0% {
        top: 96px;
        left: 96px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 78px;
        left: 78px;
        width: 36px;
        height: 36px;
        opacity: 0;
    }
}

@keyframes loader-text {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0.5;
    }
}