html {
    font-size: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

*,
*::before,
*::after {
    padding: 0;
    margin: 0;
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    list-style: none;
    list-style-type: none;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.ubuntu-light {
    font-family: "Ubuntu", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.ubuntu-regular {
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.ubuntu-medium {
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.ubuntu-bold {
    font-family: "Ubuntu", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.ubuntu-light-italic {
    font-family: "Ubuntu", sans-serif;
    font-weight: 300;
    font-style: italic;
}

.ubuntu-regular-italic {
    font-family: "Ubuntu", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.ubuntu-medium-italic {
    font-family: "Ubuntu", sans-serif;
    font-weight: 500;
    font-style: italic;
}

.ubuntu-bold-italic {
    font-family: "Ubuntu", sans-serif;
    font-weight: 700;
    font-style: italic;
}


body {
    font-family: "Ubuntu", sans-serif;
    font-optical-sizing: auto;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #000;
    background: #FFF;
}

body.scrolling {
    overflow-y: hidden;
}

/* width */
::-webkit-scrollbar {
    width: 5px;
}

/* Track */
::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px transparent;
    border-radius: 0px;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #680b26;
    border-radius: 0px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #343a40;
}

a,
button {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    cursor: pointer;
    border: none;
    outline: none;
    background: none;
    text-decoration: none;
}

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

    a,
    button {
        cursor: default !important;
        border: none;
        outline: none;
    }
}

img,
video {
    display: block;
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
}

.msicontainer {
    width: 1280px;
    height: auto;
    display: table;
    margin: 0 auto;
    position: relative;
}

header {
    width: 100%;
    height: auto;
    display: table;
    position: relative;
    z-index: 2;
}

header .top {
    width: 100%;
    height: auto;
    display: table;
    /*border-bottom: 1px solid #EEE;*/
    background-color: #941035;
    background-image: url("../img/texture.png");
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

header .top .top-content {
    width: 100%;
    height: auto;
    padding: 5px 0;
    display: flex;
    justify-content: right;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

header .top .top-content .col {
    width: 20%;
    height: auto;
    display: table;
}

header .top .top-content .col p {
    letter-spacing: 0.5px;
    width: fit-content;
    font-size: 0.9rem;
    color: #FFF;
}

/*
header .top .top-content .col:last-child {
    margin-left: auto; 
    text-align: right;
}
*/

header .top .top-content .col p:before {
    content: "";
    display: block;
    width: 30px;
    height: 22px;
    float: left;
    margin: 0 3px 0 0;
    background-repeat: no-repeat;
    background-size: 30px 20px;
    cursor: pointer;
    filter: brightness(1) sepia(8) hue-rotate(-35deg) saturate(1);
}

header .top .top-content .phone p:before {
    background-image: url(../img/icons/call.svg);
}

header .top .top-content .email p:before {
    background-image: url(../img/icons/email.svg);
}

header .top .top-content .site-visit {
    display: flex;
    justify-content: flex-end;
    /* push content to right */
}

header .top .top-content .site-visit p {
    background-color: #FFF;
    color: #000;
    padding: 5px 10px;
    border-radius: 20px;
}

header .top .top-content .site-visit p:before {
    background-image: url(../img/icons/cab.svg);
    filter: brightness(0) sepia(1) hue-rotate(360deg) saturate(9);
}

header .head {
    width: 100%;
    height: auto;
    display: table;
    background-color: #FDE8EE;
    background-image: url("../img/bg-pattern.png");
}

header .head .head-content {
    width: 100%;
    height: auto;
    padding: 20px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

header .head .head-content .col {
    width: 20%;
    height: auto;
    display: table;
    position: relative;
}

header .head .head-content .col .logo {
    width: 50%;
    position: absolute;
    z-index: 2;
    background-color: #680b26;
    padding: 15px 10px;
    top: -50px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
    background-image: url(../img/bg-pattern.png);
}

header .head .head-content .col img {
    width: 100%;
    height: auto;
    display: block;
}

header .head .head-content .col:not(:first-child):not(:last-child) {
    width: 60%;
}

header .head .head-content .col:last-child {
    width: 20%;
    padding: 0 0 0 50px;
}

header .head .head-content .col:last-child::before {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    float: left;
    margin: 5px 20px 0 -20px;
    background-color: #680b26;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
    background-image: url(../img/icons/call.svg);
    cursor: pointer;
    transform: rotate(15deg);
    /* filter: brightness(0) sepia(1) hue-rotate(0deg) saturate(2); */
}

header .head .head-content .col:last-child a {
    color: #000;
}

header .head .head-content .col:last-child p {
    font-size: 1.1rem;
    font-weight: 100;
    letter-spacing: 1px;
}

header .head .head-content .col:last-child h3 {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0px;
    line-height: 2rem;
}

.banner {
    width: 100%;
    height: auto;
    display: table;
}

.top-banner {
    display: flex;
}

.top-banner .banner {
    content: url("../img/banners/banner.webp");
    display: inline-block;
    width: 100%;
    height: 88vh;
    position: relative;
    overflow: hidden;
}

@media only screen and (max-width:320px) {
    .top-banner .banner {
        content: url("../img/banners/mobile-banner.webp");
    }
}

@media only screen and (max-width:400px) and (min-width:360px) {
    .top-banner .banner {
        content: url("../img/banners/mobile-banner.webp");
    }
}

@media only screen and (max-width:667px) and (min-width:400px) {
    .top-banner .banner {
        content: url("../img/banners/mobile-banner.webp");
    }
}

.home-about {
    width: 100%;
    height: auto;
    display: table;
    padding: 100px 0;
    background-color: #FDE8EE;
    background-image: url(../img/bg-pattern.png);
    position: relative;
}

.home-about .content {
    width: 100%;
    padding: 0 0 0 100px;
    position: relative;
}

.home-about .content:before {
    margin: 0;
    content: "About Us";
    position: absolute;
    transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    color: rgb(229, 207, 207);
    top: 85px;
    left: -100px;
    z-index: 1;
    font-size: 3.5rem;
}

.home-about .content h1 {
    font-size: 1.8rem;
    margin: 0 0 20px 0;
    line-height: 2.3rem;
    font-weight: 500;
    letter-spacing: -0.5px;
}

.home-about .content h1 span {
    font-weight: 900;
    color: #680b26;
}

.home-about .content h4 {
    font-size: 1rem;
    margin: 0 0 20px 0;
    line-height: 1.8rem;
    font-weight: 500;
}

.home-about .content p {
    font-size: 1rem;
    margin: 0 0 20px 0;
    line-height: 2rem;
}

.home-about .content button {
    font-size: 1.2rem;
    line-height: 2rem;
    color: #680b26;
    font-weight: 700;
}

.home-about .content button:after {
    content: "";
    display: block;
    width: 40px;
    height: 35px;
    float: right;
    margin: 0 0 0 10px;
    background-repeat: no-repeat;
    background-size: 40px 35px;
    cursor: pointer;
    filter: brightness(0) sepia(1) hue-rotate(310deg) saturate(6);
    background-image: url(../img/icons/round-arrow.svg);
    transition: margin 0.5s ease-in-out;
}

.home-about .content button:hover:after {
    margin: 0 0 0 20px;
}

.milestones {
    width: 100%;
    height: auto;
    display: table;
    padding: 80px 0 100px 0;
    background-color: #680b26;
    background-image: url(../img/bg-pattern.png);
}

.milestones .heading {
    margin: 0 0 50px 0;
}

.milestones .heading h2 {
    font-size: 2rem;
    color: #FFF;
    font-weight: 500;
    letter-spacing: 1px;
}

.milestones .heading p {
    font-size: 0.9rem;
    color: #FDE8EE;
    font-weight: 300;
    letter-spacing: 1px;
}

.milestones .milestone-main {
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    position: relative;
}

.milestones .milestone-main .stars {
    width: 50%;
    height: auto;
    display: block;
    position: absolute;
    right: 30px;
    z-index: 0;
    transform: rotate(110deg);
    opacity: 0.8;
    bottom: -140px;
}

.milestones .milestone-main .col {
    width: auto;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    padding: 20px 20px 20px 20px;
    border-radius: 10px;
    background-color: #941035;
    /*border: 1px solid #9b6d7a;*/
    z-index: 1;
}

.milestones .milestone-main .col img {
    width: 60px;
    height: 60px;
    display: block;
    filter: brightness(2) sepia(5) hue-rotate(315deg) saturate(8);
}

.milestones .milestone-main .col h3 {
    font-size: 3rem;
    color: #FFF;
    font-weight: 500;
    display: inline-block;
}

.milestones .milestone-main .col span {
    font-size: 1.5rem;
    color: #FFF;
    font-weight: 100;
    display: inline-block;
}

.milestones .milestone-main .col h5 {
    font-size: 1.1rem;
    color: #FFF;
    font-weight: 300;
}

.projects {
    width: 100%;
    height: auto;
    display: table;
    padding: 80px 0;
    background-color: #FDE8EE;
    background-image: url(../img/bg-pattern.png);
    position: relative;
}

.projects .heading {
    text-align: center;
}

.projects .heading h2 {
    font-size: 2rem;
    color: #000;
    font-weight: 500;
}

.projects .heading p {
    font-size: 0.9rem;
    color: #000;
    font-weight: 300;
    letter-spacing: 1px;
}

.projects .carousel-container {
    position: relative;
    max-width: 1200px;
    margin: auto;
    overflow: hidden;
    padding: 50px 0;
}

.projects .carousel-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    gap: 20px;
    /* spacing between items */
}

.projects .carousel-item {
    flex: 0 0 calc((100% - 20px) / 2);
    /* 3 items with 20px gap between */
    background: transparent;
    padding: 10px;
    text-align: center;
}

.projects .carousel-item-inner {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    background-color: #F8F5F5;
    position: relative;
}

.projects .carousel-item-inner .status-ribbon {
    background-color: #941035;
    color: #FFF;
    position: absolute;
    left: 10px;
    top: 10px;
    padding: 5px 15px;
    font-size: 0.8rem;
    border-radius: 5px;
}

.projects .carousel-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
}

.projects .carousel-item-details {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 10px 0;
    position: relative;
}

.projects .carousel-item-details .project-name {
    width: auto;
    height: auto;
    display: table;
    padding: 10px 20px;
}

.projects .carousel-item-details .project-location {
    width: auto;
    height: auto;
    display: table;
    padding: 10px 20px;
}

.projects .carousel-item-details .project-size {
    width: 30%;
    height: auto;
    display: table;
    padding: 10px 20px;
}

.projects .carousel-item-details .project-bedroom {
    width: 30%;
    height: auto;
    display: table;
    padding: 10px 20px;
}

.projects .carousel-item-details .project-price {
    width: 40%;
    height: auto;
    display: table;
    padding: 10px 20px;
}

.projects .carousel-item-details .project-page,
.projects .carousel-item-details .project-brochure {
    width: 50%;
    height: auto;
    display: table;
    padding: 10px 20px;
    text-align: center;
}

.projects .carousel-item .carousel-item-details .project-page a {
    width: 100%;
    display: inline-block;
    margin: 10px 0;
    padding: 8px 15px;
    background: #941035;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
}

.projects .carousel-item .carousel-item-details .project-brochure a {
    width: 100%;
    display: inline-block;
    margin: 10px 0;
    padding: 8px 15px;
    background: #555;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
}

.projects .carousel-item-details h3 {
    width: fit-content;
    font-weight: 500;
    font-size: 1.2rem;
    color: #000;
    letter-spacing: 1px;
    text-align: left;
    padding: 0 0 0 20px;
    text-transform: uppercase;
}

.projects .carousel-item-details .project-name h3:hover {
    color: #941035;
}

.projects .carousel-item-details h3:after {
    content: "";
    display: block;
    width: 40px;
    height: 35px;
    float: right;
    margin: 0 0 0 10px;
    background-repeat: no-repeat;
    background-size: 40px 35px;
    cursor: pointer;
    filter: brightness(0) sepia(1) hue-rotate(310deg) saturate(6);
    background-image: url(../img/icons/round-arrow.svg);
    transition: margin 0.5s ease-in-out;
}

.projects .carousel-item-details h3:hover:after {
    margin: 0 0 0 20px;
}

.projects .carousel-item-details p {
    font-weight: 300;
    font-size: 1rem;
    color: #000;
    width: fit-content;
    margin: 0 auto;
}

.projects .carousel-item-details .project-location p {
    background-color: #941035;
    padding: 5px 10px;
    color: #fff;
    border-radius: 5px;
}

.projects .carousel-item-details p span {
    color: #941035;
    font-weight: 500;
}

.projects .carousel-item-details p:before {
    content: "";
    display: block;
    width: 30px;
    height: 25px;
    float: left;
    margin: 0;
    background-repeat: no-repeat;
    background-size: 20px 25px;
    cursor: pointer;
    filter: brightness(0.2) sepia(8) hue-rotate(300deg) saturate(5);
}

.projects .carousel-item-details .project-location p:before {
    background-image: url(../img/icons/location.svg);
    filter: brightness(1) sepia(1) hue-rotate(-35deg) saturate(1);
}

.projects .carousel-item-details .project-size p:before {
    background-image: url(../img/icons/plots.svg);
}

.projects .carousel-item-details .project-bedroom p:before {
    background-image: url(../img/icons/bed.svg);
}

.projects .carousel-item-details .project-price p:before {
    background-image: url(../img/icons/currency.svg);
}


/* Buttons */
.projects .carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #941035;
    color: #fff;
    border: none;
    font-size: 18px;
    padding: 10px;
    cursor: pointer;
    border-radius: 50%;
    z-index: 10;
}

.projects .carousel-btn.prev {
    left: 0;
    padding-right: 12px;
}

.projects .carousel-btn.next {
    right: 0;
    padding-left: 12px;
}

.projects .carousel-btn img {
    display: block;
    width: 40px;
}

/* Mobile: 1 project only */
@media (max-width: 768px) {
    .projects .carousel-container {
        max-width: 346px;
        padding: 30px 0;
    }

    .projects .carousel-item {
        flex: 0 0 calc(100% - 20px);
        margin: 0 10px;
    }

    .projects .carousel-track {
        gap: 0;
    }

    .projects .carousel-btn {
        top: 45%;
        padding: 5px 15px;
        z-index: 1;
    }

    .projects .carousel-btn.prev {
        left: 10px;
    }

    .projects .carousel-btn.next {
        right: 10px;
    }

    .projects .carousel-item-details .project-page,
    .projects .carousel-item-details .project-brochure {
        padding: 10px;
    }

    .projects .carousel-item-details .project-name,
    .projects .carousel-item-details .project-location {
        padding: 10px;
    }

    .projects .carousel-item-details .project-size {
        padding: 10px;
    }

    .projects .carousel-item-details .project-price {
        padding: 10px;
    }

    .projects .carousel-item .carousel-item-details .project-page a,
    .projects .carousel-item .carousel-item-details .project-brochure a {
        font-size: 0.85rem;
    }
}

.reviews {
    width: 100%;
    height: auto;
    display: table;
    background-color: #680b26;
    background-image: url(../img/bg-pattern.png);
    position: relative;
}

.reviews .reviews-main {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
    margin: 0 auto;
    position: relative;
}

.reviews .reviews-main .review-col-left {
    width: 30%;
    height: auto;
    display: table;
    position: relative;
}

.reviews .reviews-main .review-col-left img {
    width: 100%;
    height: auto;
    display: block;
    margin-top: -50px;
}

.reviews .reviews-main .review-col-right {
    width: 70%;
    height: auto;
    display: table;
}

.reviews .reviews-main .review-col-right .heading {
    text-align: center;
    padding: 50px 0 0 0;
}

.reviews .reviews-main .review-col-right .heading h2 {
    font-size: 2rem;
    color: #FFF;
    font-weight: 500;
    letter-spacing: 0.5px;
}

.reviews .reviews-main .review-col-right .heading p {
    font-size: 0.9rem;
    color: #FDE8EE;
    font-weight: 300;
    letter-spacing: 1px;
}

.reviews-wrapper {
    position: relative;
    max-width: 700px;
    margin: 0 auto;
    padding: 30px 0;
}

.reviews-container {
    overflow: hidden;
    padding: 0 0 30px 0;
}

.reviews-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    gap: 20px;
    /* spacing between items */
    will-change: transform;
    align-items: stretch;
}

.reviews-item {
    box-sizing: border-box;
    flex: 0 0 100%;
    /* 2 items with one 20px gap between them */
    position: relative;
    /* 👈 Needed so ::before is anchored to this */
    overflow: visible;
    /* 👈 Ensure pseudo-element isn’t clipped */
}

.reviews-item-inner {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    background-color: transparent;
    /*background-image: url(../img/bg-pattern.png);*/
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid #9b6d7a;
    padding: 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: visible;
}

.reviews-item-inner p {
    font-size: 0.9rem;
    line-height: 2rem;
    color: #eee;
    margin: 0 0 12px;
    font-weight: 300;
    text-indent: 50px;
    position: relative;
}

.reviews-item-inner p:before {
    content: "";
    position: absolute;
    top: -10px;
    /* stays inside */
    left: -10px;
    width: 60px;
    height: 50px;
    background: url(../img/icons/close-quote.svg) no-repeat center / contain;
    opacity: 0.8;
    filter: brightness(0.5) sepia(6) hue-rotate(300deg) saturate(5);
    pointer-events: none;
    transform: rotate(180deg);
}

.reviews-item-inner a {
    color: #FFF;
}

.reviews-item-inner h4 {
    font-size: 1rem;
    font-weight: 400;
    color: #FDE8EE;
    margin: 10px 0;
    border-top: 1px dashed #9b6d7a;
    padding: 20px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.reviews-item-inner h4:before {
    content: "";
    display: block;
    width: 30px;
    height: 25px;
    float: left;
    margin: -2px 0 0 0;
    background-repeat: no-repeat;
    background-size: 20px 25px;
    cursor: pointer;
    filter: brightness(1) sepia(1) hue-rotate(310deg) saturate(6);
    background-image: url(../img/icons/person.svg);
}

/* Buttons */
.reviews-btn {
    position: absolute;
    top: 45%;
    transform: translateY(-45%);
    background: #941035;
    color: #fff;
    border: none;
    font-size: 18px;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 50%;
    z-index: 10;
}

.reviews-btn.rev-prev {
    left: -10%;
}

.reviews-btn.rev-next {
    right: -10%;
}

/* mobile: 1 review only */
@media (max-width: 768px) {
    .reviews-wrapper {
        max-width: 326px;
        padding: 30px 0;
    }

    .reviews-item {
        flex: 0 0 100%;
        padding: 0 10px;
    }

    .reviews-track {
        gap: 0;
    }

    .reviews-item-inner p {
        font-size: 0.8rem;
        line-height: 1.6rem;
    }

    .reviews-item-inner h4 {
        font-size: 0.9rem;
    }

    .reviews-btn {
        padding: 5px 15px;
        top: 40%;
        z-index: 1;
    }

    .reviews-btn.rev-prev {
        left: -15px;
    }

    .reviews-btn.rev-next {
        right: -15px;
    }

}

.footer-form {
    width: 100%;
    height: auto;
    display: table;
    padding: 50px 0;
    background-color: #FDE8EE;
    background-image: url(../img/bg-pattern.png);
    position: relative;
}

.footer-form .footer-form-main {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 0 auto;
    position: relative;
}

.footer-form .footer-form-main .footer-form-col-left {
    width: 40%;
    height: auto;
    display: table;
    position: relative;
}

.footer-form .footer-form-main .footer-form-col-left .heading {
    text-align: left;
    padding: 20px 0 0 0;
}

.footer-form .footer-form-main .footer-form-col-left .heading h2 {
    font-size: 2.3rem;
    color: #941035;
    font-weight: 500;
    margin: 0 0 20px;
}

.footer-form .footer-form-main .footer-form-col-left .heading p {
    font-size: 0.9rem;
    color: #000;
    font-weight: 300;
    letter-spacing: 1px;
    margin: 0 0 30px;
}

.footer-form .footer-form-main .footer-form-col-left .heading img {
    width: 30%;
    height: auto;
    display: block;
    margin: 0 0 20px;
}

.footer-form .footer-form-main .footer-form-col-left .heading hr {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(199, 29, 34, 0.75), rgba(199, 29, 34, 0.75), rgba(199, 29, 34, 0));
    margin: 25px 0;
    width: 80%;
    font-size: 0.9rem;
}

.footer-form .footer-form-main .footer-form-col-right {
    width: 60%;
    height: auto;
    display: table;
    position: relative;
    padding: 30px 0 90px 30px;
}

.form {
    width: 100%;
}

.form-col {
    width: 30%;
    float: left;
    margin-right: 20px;
    margin-bottom: 30px;
}

.form-control {
    width: 100%;
    height: 50px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #000;
    background-color: #FFF;
    background-image: none;
    border: 0px dotted #000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.butn {
    border: none;
    padding: 15px 10px;
    width: 100%;
    background-color: #941035;
    color: #FFF;
    font-size: 14px;
    cursor: pointer;
    letter-spacing: 0.5px;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.butn:hover {
    background-color: #f7c9c9;
    color: #000;
    border: 1px dotted #941035;
}

.error {
    color: #F0C311;
    font-size: .7rem;
    position: absolute;
    margin: 5px 0 0 0;
}

.consent-form-col {
    width: 100%;
    display: table;
    padding: 10px;
    position: absolute;
    bottom: 20px;
}

.consent-form-col.consent-form-col-popup {
    position: relative;
    padding: 20px 0;
    bottom: 0;
}

/* Hide the default style */
.consent-form-col input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 15px;
    height: 15px;
    border: 0px solid #555;
    border-radius: 0px;
    cursor: pointer;
    vertical-align: middle;
    position: relative;
}

/* Default background */
.consent-form-col input[type="checkbox"] {
    background-color: white;
}

/* When checked */
.consent-form-col input[type="checkbox"]:checked {
    background-color: #941035;
    border-color: #941035;
}

/* Tick mark */
.consent-form-col input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.consent-form-col-inner {
    padding: 0;
    width: 100%;
    display: table;
}

.consent-form-col-column {
    width: 5%;
    float: left;
    margin-top: 6px;
}

.consent-form-col-content-column {
    width: 90%;
    float: left;
    padding: 5px 0;
}

.consent-form-col-content-column p {
    font-size: 0.9rem;
    text-align: left;
    font-weight: 300;
    color: #000;
}

.consent-error {
    width: fit-content;
    position: absolute;
}

.consent-error p {
    color: #F0C311;
    font-size: .7rem;
    margin-top: 0px;
}

.consent-form-col-popup .consent-form-col-content-column p {
    font-size: 0.8rem;
    margin: 0 0 0 10px;
}

.consent-form-col-popup .consent-error p {
    padding: 10px 0;
}

@media (max-width: 768px) {
    .consent-form-col-popup .consent-form-col-content-column p {
        margin: 0;
    }
}