@view-transition{
    navigation: auto;
}

.lato-thin {
    font-family: "Lato", sans-serif;
    font-weight: 100;
    font-style: normal;
}

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

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

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

.lato-black {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-style: normal;
}

.lato-thin-italic {
    font-family: "Lato", sans-serif;
    font-weight: 100;
    font-style: italic;
}

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

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

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

.lato-black-italic {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-style: italic;
}
.italiana-regular {
    font-family: "Italiana", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.roboto-500 {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Lato";
    font-size: 17px;
    color: #000000;
    font-weight: 400;
}

a {
    transition: all 0.32s ease-out;
    text-decoration: none;
    cursor: pointer;
}
a:hover {
    color: #606f3f;
    text-decoration: none;
}
main {
    padding-top: 106px;
}

.fw-bl {
    font-weight: 700;
}

.fw-bo {
    font-weight: bold;
}

strong,
.fw-me {
    font-weight: 500;
}

.fw-re {
    font-weight: 400;
}

.fw-li {
    font-weight: 300;
}

.fs-170 {
    font-size: 170px;
}
.fs-150 {
    font-size: 150px;
}
.fs-130 {
    font-size: 130px;
}
.fs-106 {
    font-size: 106px;
}
.fs-87 {
    font-size: 87px;
}

.fs-82 {
    font-size: 82px;
}
.fs-74 {
    font-size: 74px;
}
.fs-72 {
    font-size: 72px;
}

.fs-65 {
    font-size: 65px;
}

.fs-62 {
    font-size: 62px;
}

.fs-60 {
    font-size: 60px;
}

.fs-58 {
    font-size: 58px;
}

.fs-56 {
    font-size: 56px;
}

.fs-55 {
    font-size: 55px;
}

.fs-52 {
    font-size: 52px;
}

.fs-49 {
    font-size: 49px;
}
.fs-48 {
    font-size: 48px;
}
.fs-43 {
    font-size: 43px;
}

.fs-40 {
    font-size: 40px;
}

.fs-38 {
    font-size: 38px;
}
.fs-36 {
    font-size: 36px;
}
.fs-32 {
    font-size: 32px;
}

.fs-30 {
    font-size: 30px;
}
.fs-28 {
    font-size: 28px;
}
.fs-26 {
    font-size: 26px;
}
.fs-25 {
    font-size: 25px;
}
.fs-22 {
    font-size: 22px;
}
.fs-20 {
    font-size: 20px;
}
.fs-19 {
    font-size: 19px;
}

.fs-18 {
    font-size: 18px !important;
}

.fs-16 {
    font-size: 16px;
}
.fs-15 {
    font-size: 15px;
}
.fs-14 {
    font-size: 14px;
}

.fs-13 {
    font-size: 13px;
}

.fs-12 {
    font-size: 12px;
}
.fs-11 {
    font-size: 11px;
}
.fs-10 {
    font-size: 10px;
}

.fs-8 {
    font-size: 8px;
}

.ls-0-4 {
    letter-spacing: 0.4px;
}

.ls-1 {
    letter-spacing: 1px;
}

.ls-2 {
    letter-spacing: 2px;
}

.ls-3 {
    letter-spacing: 3px;
}

.ls-4 {
    letter-spacing: 4px;
}

.ls-6 {
    letter-spacing: 6px;
}

.ls-8 {
    letter-spacing: 8px;
}

.ls-10 {
    letter-spacing: 10px;
}

.ls-13 {
    letter-spacing: 13px;
}

.ls-20 {
    letter-spacing: 20px;
}
.ls-25 {
    letter-spacing: 25px;
}
.ls-40 {
    letter-spacing: 40px;
}
.ls-60 {
    letter-spacing: 60px;
}

.ls-80 {
    letter-spacing: 80px;
}

.lh-1 {
    line-height: 1;
}

.lh-1-1 {
    line-height: 1.1;
}

.lh-1-2 {
    line-height: 1.2;
}

.lh-1-4 {
    line-height: 1.4;
}

.lh-1-7 {
    line-height: 1.7;
}

.lh-2 {
    line-height: 2;
}

.lh-2-4 {
    line-height: 2.4;
}

.lh-4 {
    line-height: 4;
}

.bg-grey {
    background-color: #e6e6e6 !important;
}
.bg-light {
    background-color: #f5f5f5 !important;
}
.bg-brand {
    background-color: #1a3a67 !important;
}

.bg-green {
    background-color: #b9d1cd !important;
}

.bg-black {
    background-color: #000000 !important;
}

.bg-brand-l {
    background-color: #c3e0ed3d !important;
}
.bg-brand-d {
    background-color: #c3e0ed !important;
}
.bg-register {
    background-image: url(../images/bg-register.jpg);
    background-position: bottom;
}

.text-brand {
    color: #a2715c !important;
}

.text-orange {
    color: #e36a1a;
}
.bg-orange {
    background-color: #e36a1a;
}
.text-grey {
    color: #bcbcbc !important;
}

.text-black {
    color: black !important;
}

.text-d-grey {
    color: #88888f;
}

.btn-brand {
    background-color: #c3e0ed;
    border: 1px solid #08243d;
    display: inline-block;
    position: relative;
    transition: all 0.32s ease-out;
    color: #08243d;
    font-size: 20px;
    padding: 12px 25px;
    letter-spacing: 1px;
    font-family: "Sinkin Sans 400";
}
.btn-brand:hover {
    background-color: #484c4c;
    color: #fff !important;
}

.btn-learnmore {
    border-radius: 18.86px;
    border: 0.835px solid #1a3a67;
    background: #1a3a67;
    display: inline-block;
    position: relative;
    transition: all 0.32s ease-out;
    color: #fff;
    font-size: 11px;
    padding: 12px 27px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 700;
}

.btn-learnmore:hover {
    background-color: #484c4c;
    color: #fff !important;
}

.btn-register {
    color: #91756a !important;
    background-color: #dbf0f2;
    border: none;
    display: inline-block;
    position: relative;
    transition: all 0.32s ease-out;
    font-weight: bold;
    font-size: 15px;
    padding: 7px 18px !important;
    letter-spacing: 1px;
}

.btn-download {
    background-color: #a2715c;
    border: 2px solid #dbf0f2;
    display: inline-block;
    position: relative;
    transition: all 0.32s ease-out;
    color: #dbf0f2;
    font-size: 25px;
    padding: 12px 20px;
    letter-spacing: 1px;
}

.btn-share {
    background-color: #aaaaaa;
    background-image: url("/images/misc/share.png");
    padding: 13px 23px;
    color: white;
    background-position: 90% 52%;
    background-repeat: no-repeat;
    padding-right: 65px !important;
    border: 0;
}
.btn-share:hover {
    background-color: #535850;
}
.btn-share:focus {
    border: none;
}

.has-bg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.img-linked {
    transition: all 0.32s ease-out;
}
.img-linked:hover {
    transform: scale(0.96);
    cursor: pointer;
}

.text-linked {
    color: inherit;
}
.text-linked:hover {
    color: inherit;
    text-decoration: underline;
}
.underline {
    text-decoration: underline;
}

footer {
    background-color: #1a3a67;
}

ul {
    list-style: none;
    padding-left: 0;
}
#topNavigation {
    border-bottom: 1px solid #1a3a67;
}
#topNavigation .nav-link {
    font-size: 14px;
    font-weight: 700;
    color: #000;
    padding: 0px 20px;
    letter-spacing: 2px;
}
#topNavigation .nav-link:hover,
#topNavigation .nav-link:active {
    color: #a3d5ec;
}
#topNavigation .nav-item {
    display: flex;
    align-items: center;
}
#topNavigation .nav-item .logo-nav img {
    max-width: 50px;
    -o-object-fit: contain;
    object-fit: contain;
    aspect-ratio: 1/1;
}
#topNavigation .nav-item a {
    cursor: pointer;
}

#topNavigation1 .nav-link {
    color: black;
    letter-spacing: 2px;
}
#topNavigation1 .img-logo {
}

#carouselHomeVideo .carousel-indicators li {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid white;
    background-color: transparent;
    opacity: 1;
    margin-left: 8px;
}
#carouselHomeVideo .carousel-indicators .active {
    background-color: white;
}

.sticky-sidebar {
    position: sticky;
    top: 115px;
    z-index: 1;
}
#carouselPastproject .carousel-control-next-icon {
    background-image: url(/images/past-projects/buckingham-gate/next.png);
    width: 42px;
    height: 84px;
}
#carouselPastproject .carousel-control-prev-icon {
    background-image: url(/images/past-projects/buckingham-gate/prev.png);
    width: 42px;
    height: 84px;
}
/* 
.carousel-inner {
  display: flex;
  overflow: hidden;
}

.carousel-item {
  flex: 0 0 75%; 
  transition: transform 0.6s ease-in-out;
}

.carousel-item-next {
  transform: translateX(-25%); 
}

.carousel-item-prev {
  transform: translateX(0); 
}

.carousel-control-prev,
.carousel-control-next {
  width: 5%; 
} */

.map-container {
    position: relative;
    overflow: hidden;
}

.map-container img.base-map {
    width: 100%;
    height: auto;
    display: block;
}

.map-container .logo {
    position: absolute;
    cursor: pointer;
    transition: transform 0.3s ease;
    max-width: 25%;
}

.map-container .logo:hover {
    transform: scale(1.25); /* Zoom out effect */
    z-index: 2;
    transform-origin: top left;
}
#map {
    width: 100%;
    height: 800px;
}

.logo-svg{
    width: 100%;
  height: auto;
  max-width: 375px; 
  display: block;
}









@media screen and (max-width: 768px) {
    #topNavigation1 {
        background-color: transparent;
        text-align: right;
    }
    #topNavigation1 .navbar {
        justify-content: flex-end;
    }
    #topNavigation1 .navbar .navbar-brand {
        display: none;
    }
}

.navbar-toggler {
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 9999;
    padding-top: 20px;
}
.navbar-toggler div {
    height: 2px;
    min-width: 50px;
    width: 100%;
    background-color: #a2715c;
}
.navbar-toggler.white div {
    background-color: #000;
}

::placeholder {
    color: #827c7c;
    opacity: 1;
}
:-ms-input-placeholder {
    color: #827c7c;
}
::-ms-input-placeholder {
    color: #827c7c;
}

#registrationForm input::placeholder {
    color: #827c7c;
    font-size: 18px;
    font-weight: 400;
}

#registrationForm input::-webkit-input-placeholder {
    color: #827c7c;
    font-size: 18px;
    font-weight: 400;
}

#registrationForm input:-moz-placeholder {
    color: #827c7c;
    font-size: 18px;
    font-weight: 400;
}

#registrationForm input::-ms-input-placeholder {
    color: #827c7c;
    font-size: 18px;
    font-weight: 400;
}
#registrationForm .form-control {
    border-left: none;
    border-right: none;
    border-top: none;
    color: #827c7c;
    border-radius: 0;
    margin-bottom: 40px;
    height: 60px;
    font-size: 18px;
    background-color: white;
    border: 1px solid #827c7c;
}
#registrationForm .form-control:focus {
    box-shadow: none;
}
#registrationForm sup {
    color: #c92e63;
    font-size: 16px !important;
    font-weight: 400;
}
#registrationForm label {
    color: #000;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 15px;
}
#registrationForm select {
    display: block;
    line-height: 1.3;
    padding: 0.6em 1.4em 0.5em 0.8em;
    height: calc(3.5rem + 2px);
    margin: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat, repeat;
    background-position: right 0.7em top 50%, 0 0;
    background-size: 0.65em auto, 100%;
    color: #a2715c;
}

#contactForm input::placeholder {
    color: #827c7c;
    font-size: 18px;
    font-family: Lato;
}

#contactForm input::-webkit-input-placeholder {
    color: #827c7c;
    font-size: 18px;
    font-family: Lato;
}

#contactForm input:-moz-placeholder {
    color: #827c7c;
    font-size: 18px;
    font-family: Lato;
}

#contactForm input::-ms-input-placeholder {
    color: #827c7c;
    font-size: 18px;
    font-family: Lato;
}
#contactForm .form-control {
    border-left: none;
    border-right: none;
    border-top: none;
    color: #ced3d8;
    border-radius: 0;
    margin-bottom: 40px;
    height: 60px;
    font-size: 15px;
    font-weight: 400;
    background-color: #fff;
    border: 1px solid #827c7c;
    font-family: "Sinkin Sans 400";
}
#contactForm .form-control:focus {
    box-shadow: none;
}
#contactForm sup {
    color: #c92e63;
    font-size: 16px !important;
    font-weight: 400;
}
#contactForm label {
    color: #000;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    margin-bottom: 10px;
}
#contactForm label.consent {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0;
    text-transform: none;
}
#contactForm select {
    display: block;
    line-height: 1.3;
    padding: 0.6em 1.4em 0.5em 0.8em;
    height: calc(3.5rem + 2px);
    margin: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%231A3A67%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat, repeat;
    background-position: right 0.7em top 50%, 0 0;
    background-size: 0.65em auto, 100%;
    color: #a2715c;
}

.vertical-text {
    writing-mode: vertical-rl;
    white-space: nowrap;
}
.label-container {
    display: inline-block;
    position: relative;
    padding-left: 28px;
    padding-right: 11px;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.label-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.label-container .checkmark {
    position: absolute;
    top: 7px;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: transparent;
    border-radius: 50%;
    border: 1px solid #3d5567;
}
.label-container:hover input ~ .checkmark {
    background-color: #366;
}
.label-container input:checked ~ .checkmark {
    background-color: #3d5567;
}
.label-container .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.label-container input:checked ~ .checkmark:after {
    display: block;
}
#topNavigation {
    background-color: white;
}

.activeNav,
.navbar-nav .active a,
#mainNav .nav-link .active,
#topNavigation .nav-item .active {
    color: #000 !important;
}

#sharePopUp .modal-header {
    border: none;
}

.nav-wraper {
    max-width: 100%;
    margin: 0 auto;
    background-color: #fff;
    z-index: 9999;
}

/* svg {
  height: 100%;
  width: 100%;
} */

#communityMapModal {
    z-index: 99999;
}
#communityMapModal .closeBtn {
    margin-bottom: 0;
}
#communityMapModal .closeBtn:hover {
    cursor: pointer;
}
#communityMapModal .modal-header {
    border: none;
    justify-content: flex-end;
    padding-bottom: 0;
    padding-right: 0;
}
#communityMapModal .modal-content {
    border: none;
    background-color: transparent;
}
#communityMapModal .modal-body {
    padding: 0;
    background-color: #fff;
}
#communityMapModal .modal-body {
    border: 1px solid #414042;
}

.caption {
    position: absolute;
    top: 50%;
    left: 66%;
    transform: translate(-50%, -50%);
    color: white;
}

#btn-register-side {
    position: fixed;
    right: -100px;
    bottom: 400px;
    background-color: #5f958c;
    color: #fff;
    letter-spacing: 1px;
    border-radius: 10px 10px 0 0;
    transform: rotate(-90deg);
    padding: 5px 15px;
    transform-origin: right;
    transition: all 0.5s linear;
    border: 2px solid #fff;
}
#btn-register-side:hover {
    box-shadow: 0px 0px 20px 10px #999;
    right: 25px;
}

.arrow {
    position: absolute;
    bottom: 3%;
    right: 2%;
    transform: translate(-50%, -50%);
}

.carousel {
    position: relative;
}

.carousel-item img {
    -o-object-fit: cover;
    object-fit: cover;
}

#carousel-thumbs {
    padding: 0 50px;
}
#carousel-thumbs img {
    opacity: 80%;
    border: 3px solid transparent;
    cursor: pointer;
}
#carousel-thumbs img:hover {
    opacity: 100%;
}
#carousel-thumbs .selected img {
    opacity: 100%;
}
#carousel-thumbs .carousel-control-prev,
#carousel-thumbs .carousel-control-next {
    width: 50px;
}

.modal-content {
    border-radius: 0;
    background-color: transparent;
    border: none;
}

#lightbox-container-image img {
    width: auto;
    max-height: 520px;
}

#carousel-thumbs .carousel-control-next,
#carousel-thumbs .carousel-control-prev {
    position: relative;
    top: 0;
    bottom: 0;
    z-index: 1;
    display: inline-block;
    align-items: center;
    justify-content: center;
    width: 5%;
    padding: 0;
    left: 91%;
    color: #fff;
    text-align: center;
    background: 0 0;
    border: 0;
    opacity: 1;
    transition: opacity 0.15s ease;
}
#carousel-thumbs .carousel-control-prev-icon {
    background-image: url(../images/pre.png);
    width: 26px;
    height: 22px;
}
#carousel-thumbs .carousel-control-next-icon {
    background-image: url(../images/next.png);
    width: 26px;
    height: 22px;
}

#carouselExampleCaptions .carousel-control-prev-icon,
#carouselExampleCaptions1 .carousel-control-prev-icon,
#carouselGallery .carousel-control-prev-icon {
    background-image: url(../images/interior-gallery-pre.jpg);
    width: 74px;
    height: 74px;
}
#carouselExampleCaptions .carousel-control-next-icon,
#carouselExampleCaptions1 .carousel-control-next-icon,
#carouselGallery .carousel-control-next-icon {
    background-image: url(../images/interior-gallery-next.jpg);
    width: 74px;
    height: 74px;
}
.carousel-control-next,
.carousel-control-prev {
    opacity: 1;
    width: 4.4%;
}

#carouselExampleCaptions .carousel-indicators [data-bs-target],
#carouselExampleCaptions1 .carousel-indicators [data-bs-target],
#carouselGallery .carousel-indicators [data-bs-target] {
    width: 37px;
    height: 5px;

    border: none;
    background-color: black;
    opacity: 1;
    margin-left: 3px;
}
#carouselExampleCaptions .carousel-indicators .active,
#carouselExampleCaptions1 .carousel-indicators .active,
#carouselGallery .carousel-indicators .active {
    background-color: #c3e0ed;
}
#carouselExampleCaptions .carousel-indicators,
#carouselExampleCaptions1 .carousel-indicators,
#carouselGallery .carousel-indicators {
    bottom: -110px;
}
#carouselExampleCaptions .carousel-caption,
#carouselExampleCaptions1 .carousel-caption,
#carouselGallery .carousel-caption {
    top: 1.25rem;
    left: 0%;
    right: 77%;
}
@media screen and (max-width: 768px) {
    #carouselExampleCaptions .carousel-caption,
    #carouselExampleCaptions1 .carousel-caption,
    #carouselGallery .carousel-caption {
        background-color: #a2715c;
        color: white;
        top: 10px;
        left: 0;
        right: 0;
        margin-inline: auto;
        width: -moz-fit-content;
        width: fit-content;
        bottom: unset;
        display: inline-block;
        padding: 5px 10px;
    }
    #carouselExampleCaptions .carousel-caption p,
    #carouselExampleCaptions1 .carousel-caption p,
    #carouselGallery .carousel-caption p {
        margin: 0;
        font-size: 10px !important;
        color: #ffffff !important;
    }
}

#carouselExampleControls .carousel-indicators [data-bs-target],
#carouselExampleControls1 .carousel-indicators [data-bs-target] {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 2px solid #a2715c;
    background-color: transparent;
    opacity: 1;
    margin-left: 15px;
}

#carouselExampleControls .carousel-indicators .active,
#carouselExampleControls1 .carousel-indicators .active {
    background-color: #a2715c;
}

#carouselExampleControls .carousel-control-prev-icon,
#carouselExampleControls1 .carousel-control-prev-icon {
    background-image: url(../images/floorplan/pre.png);
    width: 80px;
    height: 80px;
}

#carouselExampleControls .carousel-control-next-icon,
#carouselExampleControls1 .carousel-control-next-icon {
    background-image: url(../images/floorplan/next.png);
    width: 80px;
    height: 80px;
}

#carouselExampleControls .carousel-control-next,
#carouselExampleControls .carousel-control-prev {
    opacity: 1;
    width: 13%;
}

#carouselExample .carousel-control-prev-icon {
    background-image: url(../images/pre.png);
    width: 26px;
    height: 22px;
}
#carouselExample .carousel-control-next-icon {
    background-image: url(../images/next.png);
    width: 26px;
    height: 22px;
}
#carouselExample .carousel-control-next,
#carouselExample .carousel-control-prev {
    opacity: 1;
    width: 95%;
    align-items: end;
    justify-content: flex-start;
}

/*animation element*/
.js-scroll {
    opacity: 0;
    transition: opacity 500ms;
}

.js-scroll.scrolled {
    opacity: 1;
}

.scrolled.fade-in {
    animation: fade-in 1s ease-in-out both;
}

.scrolled.fade-in-bottom {
    animation: fade-in-bottom 1s ease-in-out both;
}

.scrolled.slide-left {
    animation: slide-in-left 1s ease-in-out both;
}

.scrolled.slide-right {
    animation: slide-in-right 1s ease-in-out both;
}

@keyframes slide-in-left {
    0% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-right {
    0% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fade-in-bottom {
    0% {
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

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

.owl-carousel .owl-item {
    transition: all 0.3s ease-in-out;
}

.owl-carousel .owl-item .card {
    padding: 0px;
    position: relative;
}

.owl-carousel .owl-stage-outer {
    overflow-y: auto !important;
    padding-bottom: 40px;
}

.owl-carousel.owl-drag .owl-item {
    border-right: 0.5px solid black;
}
.owl-carousel .owl-item img {
    width: 73px !important;
}
.owl-carousel .owl-dots {
    display: inline-block;
    width: 100%;
    text-align: center;
}

.owl-theme .owl-dots .owl-dot span {
    height: 20px;
    background: #2a6ba3 !important;
    border-radius: 2px !important;
    opacity: 0.8;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    height: 13px;
    width: 13px;
    opacity: 1;
    transform: translateY(2px);
    background: #83b8e7 !important;
}

#testimonialCarousel {
    max-height: 350px;
}

#testimonial.carousel-wrapper {
    overflow: hidden;
    position: relative;
}

#testimonialCarousel .carousel-inner {
    display: flex;
    transition: transform 0.5s ease-in-out;
    overflow: visible;
}

#testimonialCarousel .carousel-item {
    flex: 0 0 73%;
    /* max-width: 67%; */
    display: block;
    margin-right: 2.5rem; /* space between slides */
}

.review-card {
    padding: 5rem 10rem 8rem 8rem;
}

.bg-light-grey {
    background-color: #f4f4f4;
}

.bg-blue-grey {
    background-color: #6b7b95;
    color: white;
}

.star {
    color: #f7c948;
    font-size: 1.25rem;
}

.carousel-controls {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    z-index: 10;
}

.carousel-controls button {
    background: transparent;
    border: none;
    width: 40px;
    height: 40px;
    font-size: 45px;
    color: white;
    border-radius: 50%;
}

@media (min-width: 1300px) and (max-width: 1790px) {
    .caption {
        width: 47%;
        left: 71%;
    }
    .fs-170 {
        font-size: 80px;
    }
    .fs-150 {
        font-size: 80px;
    }
    .fs-130 {
        font-size: 80px;
    }
    .fs-106 {
        font-size: 75px;
    }
    .fs-52 {
        font-size: 50px;
    }
    .fs-40 {
        font-size: 32px;
    }

    #topNavigation .nav-link {
        padding: 0 10px;
        letter-spacing: 1px;
    }
}
@media screen and (max-width: 1685px) {
    .fs-20 {
        font-size: 18px;
    }
    .fs-82 {
        font-size: 75px;
    }
    .ls-6 {
        letter-spacing: 4px;
    }
}
@media screen and (max-width: 1500px) {
    .fs-49 {
        font-size: 43px;
    }
    .fs-43 {
        font-size: 32px;
    }

    .fs-20 {
        font-size: 14px;
    }
    .fs-25 {
        font-size: 22px;
    }
    .fs-82 {
        font-size: 62px;
    }
    .fs-18 {
        font-size: 15px;
    }
    .fs-65 {
        font-size: 58px;
    }
}
@media (min-width: 992px) and (max-width: 1299px) {
    .caption {
        width: 50%;
        left: 73%;
    }
    .fs-170 {
        font-size: 60px;
    }
    .fs-150 {
        font-size: 60px;
    }
    .fs-130 {
        font-size: 60px;
    }
    .fs-106 {
        font-size: 65px;
    }
    .fs-65 {
        font-size: 45px;
    }
    .fs-52 {
        font-size: 40px;
    }
    .fs-49 {
        font-size: 34px;
    }
    .fs-43 {
        font-size: 25px;
    }
    .fs-40 {
        font-size: 27px;
    }
    .fs-38 {
        font-size: 33px;
    }
    .fs-36 {
        font-size: 32px;
    }
    .fs-26 {
        font-size: 20px;
    }
    .fs-25 {
        font-size: 20px;
    }
    #topNavigation .nav-link {
        padding: 0px 5px;
        letter-spacing: 1px;
        font-size: 12.5px;
    }
    .fs-20 {
        font-size: 15px;
    }
    .fs-82 {
        font-size: 47px;
    }
}
@media screen and (max-width: 1200px) {
    .review-card {
        padding: 9rem 8rem 8rem 6rem;
    }
    #testimonialCarousel {
        max-height: 500px;
    }
}
@media screen and (max-width: 991px) {
    #topNavigation .navbar-toggler-icon {
        width: 1.5em;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
    }
    #topNavigation .navbar-toggler {
        border-color: rgba(255, 255, 255, 0);
    }
    #topNavigation .navbar-toggler:focus {
        outline: none;
        box-shadow: none;
    }
    .navbar-toggler:active {
        outline: none;
        box-shadow: none;
    }
    #topNavigation .navbar-collapse {
        width: 100%;
        background-color: #c3e0ed;
        left: 0;
    }
    #topNavigation .nav-link {
        padding: 2px 20px;
    }
    #sideNav {
        width: 140px;
        left: 12px;
        top: 0;
        z-index: 101;
        position: absolute;
        float: right;
    }
    #sideNav .btn-social {
        padding: 6px;
    }
    #topNavigation .nav-item .active {
        color: black !important;
    }
    .caption {
        width: 53%;
        left: 74%;
    }

    #carousel-thumbs .carousel-control-next,
    #carousel-thumbs .carousel-control-prev {
        width: 12%;
        left: 79%;
    }
    #carouselExampleControls1 .carousel-control-prev-icon,
    #carouselExampleControls1 .carousel-control-next-icon {
        width: 35px;
        height: 35px;
    }
    #carouselExampleControls1 .carousel-control-next,
    #carouselExampleControls1 .carousel-control-prev {
        width: 11%;
    }

    .navbar-toggler {
        border: none;
    }
    #carouselExampleCaptions .carousel-control-next-icon,
    #carouselExampleCaptions .carousel-control-prev-icon,
    #carouselExampleCaptions1 .carousel-control-next-icon,
    #carouselExampleCaptions1 .carousel-control-prev-icon,
    #carouselGallery .carousel-control-next-icon,
    #carouselGallery .carousel-control-prev-icon {
        width: 40px;
        height: 40px;
    }
    .review-card {
        padding: 3rem 2rem 3rem 4rem;
    }
}
@media screen and (max-width: 992px) {
    body {
        padding-top: 0px;
    }
    .fs-170 {
        font-size: 60px;
    }
    .fs-150 {
        font-size: 60px;
    }
    .fs-130 {
        font-size: 60px;
    }
    .fs-106 {
        font-size: 55px;
    }
    .fs-87 {
        font-size: 50px;
    }
    .fs-82 {
        font-size: 38px;
    }
    .fs-74 {
        font-size: 41px;
    }
    .fs-72 {
        font-size: 40px;
    }
    .fs-65,
    .fs-62,
    .fs-60 {
        font-size: 37px;
    }
    .fs-58 {
        font-size: 30px;
    }
    .fs-56 {
        font-size: 50px;
    }
    .fs-55 {
        font-size: 38px;
    }
    .fs-52 {
        font-size: 44px;
    }
    .fs-49,
    .fs-48 {
        font-size: 42px;
    }
    .fs-43 {
        font-size: 20px;
    }
    .fs-40,
    .fs-38 {
        font-size: 30px;
    }
    .fs-36 {
        font-size: 30px;
    }
    .fs-32 {
        font-size: 29px;
    }
    .fs-30 {
        font-size: 28px;
    }
    .fs-26 {
        font-size: 22px;
    }
    .fs-25 {
        font-size: 16px;
    }
    .ls-60 {
        letter-spacing: 40px;
    }
    .ls-40 {
        letter-spacing: 30px;
    }
}
@media screen and (max-width: 767px) {
    .fs-170 {
        font-size: 55px;
    }
    .fs-150 {
        font-size: 50px;
    }
    .fs-130 {
        font-size: 50px;
    }
    .fs-106 {
        font-size: 45px;
    }
    .fs-87 {
        font-size: 40px;
    }
    .fs-82 {
        font-size: 38px;
    }
    .fs-74 {
        font-size: 36px;
    }
    .fs-72 {
        font-size: 35px;
    }
    .fs-65,
    .fs-62,
    .fs-60 {
        font-size: 20px;
    }
    .fs-58 {
        font-size: 22px;
    }
    .fs-56 {
        font-size: 46px;
    }
    .fs-55 {
        font-size: 38px;
    }
    .fs-52 {
        font-size: 30px;
    }
    .fs-49,
    .fs-48 {
        font-size: 30px;
    }
    .fs-43 {
        font-size: 20px;
    }
    .fs-40 {
        font-size: 33px;
    }
    .fs-38 {
        font-size: 24px;
    }
    .fs-36 {
        font-size: 24px;
    }
    .fs-32 {
        font-size: 25px;
    }
    .fs-30 {
        font-size: 24px;
    }
    .fs-28 {
        font-size: 24px;
    }
    .fs-26 {
        font-size: 18px;
    }
    .fs-22 {
        font-size: 20px;
    }
    .fs-14 {
        font-size: 13px;
    }

    .img-logo-light {
        width: 130px;
    }
    .ls-60 {
        letter-spacing: 30px;
    }
    .ls-40 {
        letter-spacing: 20px;
    }
    .ls-6 {
        letter-spacing: 1px;
    }
    #carouselExample .carousel-control-next,
    #carouselExample .carousel-control-prev {
        opacity: 1;
        width: 86%;
        align-items: end;
        justify-content: flex-start;
    }
    #carouselExampleCaptions .carousel-indicators [data-bs-target],
    #carouselExampleCaptions1 .carousel-indicators [data-bs-target],
    #carouselGallery .carousel-indicators [data-bs-target] {
        width: 10px;
        height: 10px;
    }
    #carouselPastproject .carousel-control-next-icon,
    #carouselPastproject .carousel-control-prev-icon {
        width: 20px;
        height: 35px;
    }
    .review-card {
        padding: 4rem 1rem 4rem 3rem;
    }
}
@media screen and (max-width: 576px) {
    .fs-170 {
        font-size: 44px;
    }
    .fs-150 {
        font-size: 50px;
    }
    .fs-130 {
        font-size: 40px;
    }
    .fs-106 {
        font-size: 35px;
    }
    .fs-87 {
        font-size: 40px;
    }
    .fs-82 {
        font-size: 30px;
    }
    .fs-74 {
        font-size: 31px;
    }
    .fs-72 {
        font-size: 30px;
    }
    .fs-65 {
        font-size: 17px;
    }
    .fs-62,
    .fs-60 {
        font-size: 22px;
    }
    .fs-58 {
        font-size: 18px;
    }
    .fs-56 {
        font-size: 32px;
    }
    .fs-55 {
        font-size: 33px;
    }
    .fs-52 {
        font-size: 30px;
    }
    .fs-49 {
        font-size: 19px;
    }
    .fs-48 {
        font-size: 24px;
    }
    .fs-43 {
        font-size: 25px;
    }
    .fs-40 {
        font-size: 24px;
    }
    .fs-38 {
        font-size: 23px;
    }
    .fs-36 {
        font-size: 22px;
    }
    .fs-32 {
        font-size: 21px;
    }
    .fs-30 {
        font-size: 20px;
    }
    .fs-28 {
        font-size: 19px;
    }
    .fs-26 {
        font-size: 19px;
    }
    .fs-22 {
        font-size: 18px;
    }
    .fs-18 {
        font-size: 12px !important;
    }
    .fs-16 {
        font-size: 12px;
    }
    .fs-14 {
        font-size: 12px;
    }
    .fs-11 {
        font-size: 9px;
    }
    .ls-6 {
        letter-spacing: 0.5px;
    }
    .ls-2 {
        letter-spacing: 0.6px;
    }
    .caption {
        width: 52%;
        left: 73%;
    }

    .img-logo {
        width: 120px;
    }
    .toggle {
        width: 50px;
    }
    .btn-brand {
        font-size: 10px;
        padding: 8px 5px;
    }

    #carousel-thumbs {
        padding: 0 0px;
    }
    #carousel-thumbs .carousel-control-next,
    #carousel-thumbs .carousel-control-prev {
        width: 12%;
        left: 79%;
    }
    #carouselExampleCaptions .carousel-control-next-icon,
    #carouselExampleCaptions .carousel-control-prev-icon,
    #carouselExampleCaptions1 .carousel-control-next-icon,
    #carouselExampleCaptions1 .carousel-control-prev-icon,
    #carouselGallery .carousel-control-next-icon,
    #carouselGallery .carousel-control-prev-icon {
        width: 30px;
        height: 30px;
    }
    #carouselExampleCaptions .carousel-indicators,
    #carouselExampleCaptions1 .carousel-indicators,
    #carouselGallery .carousel-indicators {
        bottom: -50px;
    }
    main {
        padding-top: 90px;
    }

    #registrationForm label,
    #appointmentForm label {
        font-size: 13px;
    }
    #registrationForm input::placeholder {
        font-size: 13px;
    }

    #registrationForm input::-webkit-input-placeholder {
        font-size: 13px;
    }

    #registrationForm input:-moz-placeholder {
        font-size: 13px;
    }

    #registrationForm input::-ms-input-placeholder {
        font-size: 13px;
    }

    .ls-4 {
        letter-spacing: 2px;
    }
    #testimonialCarousel {
        max-height: 343px;
    }
    .tarion-logo {
        width: 200px;
    }
    .logo-svg{     
      max-width: 255px; 
    }
    
}

/* Lightbox styles */
.lightbox .lb-image {
    border: 0 !important;
    border-radius: 0 !important;
}
.lightbox .lb-nav a.lb-prev {
    opacity: 1 !important;
    background: url(../images/misc/mav-prev.png) left 48% no-repeat !important;
    background-size: 70px !important;
}
.lightbox .lb-nav a.lb-next {
    opacity: 1 !important;
    background: url(../images/misc/mav-next.png) right 48% no-repeat !important;
    background-size: 70px !important;
}

@media screen and (max-width: 400px) {
    .review-card {
        padding: 2rem 1rem 2rem 2rem;
    }
}
.design-studio-page .hero-img .line {
    display: none;
}

.design-studio-page .hero-img span {
    color: #fff;
    font-family: "Lato";
    font-size: 1.375rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.4125rem;
    text-transform: uppercase;
    width: 23.875rem;
    height: 3.5rem;
    flex-shrink: 0;
    position: absolute;
    bottom: 2.44rem;
    left: 4.63rem;
}

@media (min-width: 992px) {
    .design-studio-page .hero-img {
        position: relative;
    }
    .design-studio-page .hero-img .line {
        display: block;
        position: absolute;
        bottom: -283px;
        left: -131px;
        width: 19.375rem;
    }
    .footer-lines {
        margin-top: -217px;
    }
    .border-right-blue {
        border-right: 1px solid #1a3a67;
    }
}

/* homepage carousel styles  */
.carousel-fixed-height {
    height: 45.4375rem; /* Or use min-height: 50vh; for responsive */
    min-height: 45.4375rem;
}
.carousel-fixed-height .carousel-item,
.carousel-fixed-height video {
    height: 100%;
}
.carousel-fixed-height video {
    object-fit: cover;
}
.carousel-fixed-height .carousel-inner .carousel-item {
    position: relative;
}
.carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text {
    position: absolute;
    color: #fff;
    font-family: "Lato", sans-serif;
    font-size: 1.375rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.4125rem;
    text-transform: uppercase;
}
.carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text.text__1 {
    width: 42.375rem;
    flex-shrink: 0;
    top: 35rem;
    left: 34rem;
}
.carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text.text__2 {
    width: 42.375rem;
    flex-shrink: 0;
    top: 5.62rem;
    left: 34.5rem;
}
.carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text.text__3 {
    width: 13.875rem;
    flex-shrink: 0;
    top: 8.69rem;
    left: 7.94rem;
}
.carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text.text__4 {
    width: 19rem;
    height: 12.5625rem;
    flex-shrink: 0;
    top: 6.69rem;
    left: 15.69rem;
}
.carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text.text__5 {
    width: 12.875rem;
    height: 12.5625rem;
    flex-shrink: 0;
    top: 35.31rem;
    left: 31.56rem;
}

@media screen and (max-width: 1200px) {    
    .carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text{
        font-size: 1rem;
        letter-spacing: 0.2rem;
    }
}
@media screen and (max-width: 992px) {
    .carousel-fixed-height {
        height: 25.4375rem; /* Or use min-height: 50vh; for responsive */
        min-height: 25.4375rem;
    }
    .carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text.text__1 {
        top: 18rem;
        left: 9rem;
    }
    .carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text.text__2{
        left: 9.5rem;
    }
    .carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text.text__4{
        left: 5.69rem;
    }
    .carousel-fixed-height .carousel-inner .carousel-item .carousel-item__text.text__5{
        top: 16.31rem;
        left: 8.56rem;  
    }
    #testimonialCarousel .carousel-controls{
        top: 35%;
    }
    #registrationForm .form-control{height: 50px;}
    .design-studio-page .hero-img span{left: 9.63rem;}
}