@font-face {
  font-family: "Perpetua";
  /* font-weight: 200; */

  src: url("../fonts/Perpetua_Titling_MT_Std_Light.otf") format("woff2");
}

/* @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap"); */

@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
font-famil output,
ruby,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}


html{
    overflow-x: hidden;
}

body {
  line-height: 1;
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px !important;
  overflow-x: hidden;
  font-weight: 300 !important;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

.dnone {
  display: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  outline: none;
}

p {
  margin-bottom: 10px;
  line-height: 25px;
  /* font-weight: bold; */
  text-align: justify;
}

img {
  margin-bottom: 0;
}

/*-------------- CSS Resetter ----------*/

.pd0 {
  padding: 0px !important;
}

.mr0 {
  margin: 0 !important;
}

/*--------------------------------------------------------------------*/

#hide-menu {
  position: fixed;
  z-index: 9999;
  width: 100%;
  padding: 5px 0px;
  top: 0;
  /* transition: top 0.3s; */
}

.navbar-default {
  background: #fff;
  background-size: 215px;
  margin-bottom: 0px;
  border: none;
  border-radius: 0;
  transition: ease all 0.5s;
}

.navbar-default.fixHeader {
  background: #fff;
  transition: ease all 0.5s;
}

.navbar-default .navbar-nav > li > a {
  color: #003366;
  text-shadow: none;
  transition: ease all 0.5s;
  padding: 20px 10px;
}

.navbar-default .navbar-nav > li > a:last-child {
  margin-right: 0;
}

.navbar-default .navbar-nav > li > a:focus {
  color: #0d73ad;
  text-shadow: none;
  transition: ease all 0.5s;
}

.navbar-default .navbar-nav > li > a:hover {
  color: #0d73ad;
  transition: ease all 0.5s;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a:hover {
  background-image: none;
  box-shadow: none;
  background: transparent;
  color: #224e22;
}

.navbar-brand > img {
  width: 174px;
  margin-top: -2px;
}

.navbar-brand > img.nav-logo {
  width: 132px;
  margin-top: 3px;
}

.navbar-nav > li > a {
  padding-top: 20px;
  padding-bottom: 20px;
}

@media (min-width: 768px) {
  .navbar-brand {
    padding: 0px;
  }
}

#presenting h1 {
  font-family: "Perpetua";
  text-align: center;
  font-size: 1.3rem;
  font-weight: bold;
  padding: 10px;
  letter-spacing: 1.2px;
}

/*------------Navbar center-------*/

.navbar .navbar-nav {
  display: inline-block;
  float: none !important;
  vertical-align: top;
}

.navbar .navbar-collapse {
  text-align: center;
}

.register_form_wrap {
  background-color: #fff;
  width: 445px;
  margin: 0 auto;
  padding-bottom: 20px;
}

.register_form_wrap .form-title {
  position: relative;
  width: 92%;
  left: 4%;
  top: -36px;
  padding: 15px 0;
  font-size: 24px;
  border-radius: 5px;
  margin-bottom: -10px;
  /* outline: 1px solid #000; */
  outline-offset: -7px;
  /* outline: double; */
  text-align: center;
  font-weight: 500;
  background-color: #36749f;
  color: #fff;
}

/*-------------------*/

@media (max-width: 767px) {
  .navbar-nav {
    margin: initial !important;
  }

  

  .section-title {
    font-size: 20px !important;
  }

  #presenting h1 {
    font-size: 18px;
  }

  .project-wrap {
    margin-bottom: 25px;
  }

  .navbar-collapse {
    padding-bottom: 10px;
  }

  .address-wrap h3 {
    font-size: 24px !important;
  }

  /* Mobile header: hub + DivyaSree logos on the left (vertically centred with
     each other), hamburger on the right. Uses Bootstrap's native float layout
     (fits the container reliably); the two logos are aligned with inline-flex,
     replacing the old fragile absolute positioning with hardcoded px offsets. */
  .navbar-brand {
    float: left;
    display: inline-flex;
    align-items: center;
    gap: 70px;
    height: auto;
    padding: 8px 0;
    margin-left: 12px;
  }

  .navbar-brand > img {
    width: 52px;
    float: none;
    margin: 0;
  }

  .navbar-brand > img.nav-logo {
    width: 96px;
    position: static;
    float: none;
    margin: 0;
    top: auto;
    right: auto;
    left: auto;
  }

  .navbar-default .navbar-toggle {
    float: right;
    margin: 14px 12px 0 0;
    border: none !important;
    background: #fff;
  }

  .navbar-default .navbar-toggle .icon-bar {
    background-color: #000521 !important;
  }
}

.nav-call {
  border: 2px solid #3c1e24;
  border-radius: 1px;
  padding: 3px 15px !important;
  color: #fff !important;
  margin-top: 10px;
  background: #3c1e24 !important;
  margin-left: 40px;
}

.navbar-nav > li > a {
  line-height: 30px !important;
  margin-right: 10px;
  padding-left: 7px;
  padding-right: 7px;
  outline: none;
  font-size: 18px;
  /*text-transform: uppercase;*/
  font-weight: 500;
}

.navbar-inverse .navbar-brand:focus,
.navbar-inverse .navbar-brand:hover {
  outline: none;
}

.menu-overlay {
  height: 107vh;
  width: 0;
  position: fixed;
  z-index: 99999;
  top: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.9);
  overflow-x: hidden;
  transition: 0.6s;
}

.menu-overlay-content {
  position: relative;
  top: 25%;
  width: 100%;
  text-align: center;
  /*margin-top: 30px;*/
}

.menu-overlay a {
  padding: 8px;
  text-decoration: none;
  font-size: 20px;
  color: #818181;
  display: block;
  transition: 0.3s;
}

.menu-overlay a:hover,
.menu-overlay a:focus {
  color: #f1f1f1;
}

.menu-overlay .closebtn {
  position: absolute;
  top: 1px;
  right: 10px;
  font-size: 48px;
}

#carousel-example-generic .carousel-inner > .item > img {
  width: 100% !important;
  height: 93vh;
}

.section {
  padding: 80px 0;
}

.relative {
  position: relative;
}

.read-more-state {
  display: none;
}

.read-more-target {
  opacity: 0;
  max-height: 0;
  font-size: 0;
  transition: 0.25s ease;
}

.read-more-state:checked ~ .read-more-wrap .read-more-target {
  opacity: 1;
  font-size: inherit;
  /* max-height: 999em; */
}

.read-more-state ~ .read-more-trigger:before {
  content: "Show more";
}

.read-more-state:checked ~ .read-more-trigger:before {
  content: "Show less";
}

.read-more-trigger {
  cursor: pointer;
  display: inline-block;
  padding: 0 0.5em;
  color: #666;
  font-size: 0.9em;
  line-height: 2;
  border: 1px solid #ddd;
  border-radius: 0.25em;
}

#summary {
  font-size: 14px;
  line-height: 1.5;
}

#summary p.collapse:not(.show) {
  height: 42px !important;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

#more {
  display: none;
}

#summary p.collapsing {
  min-height: 42px !important;
}

#summary a.collapsed:after {
  content: "+ Read More";
}

#summary a:not(.collapsed):after {
  content: "- Read Less";
}

.carousel-control {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 15%;
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
  background-image: none !important;
  filter: alpha(opacity=50);
  opacity: 1;
}

.moretext {
  display: none;
}

.carousel-control .glyphicon-chevron-left,
.carousel-control .icon-prev {
  margin-left: -100px;
  color: #a59fa0;
  opacity: 1;
}

form #website {
  display: none;
}

.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next {
  margin-right: -100px;
  /* margin-left: -10px; */
  color: #a59fa0;
  opacity: 1;
}

.presenting-wrap {
  text-align: center;
  margin-top: 80px;
}

.present {
  text-transform: uppercase;
  font-size: 20px;
  letter-spacing: 8px;
  margin-bottom: 20px;
}

.o-logo {
  width: 110px;
  /* margin-bottom: 30px; */
  margin: 0px auto;
  position: relative;
  /* padding: 5px; */
  display: block;
  /* background: #f26522; */
}

.o-logo1 {
  width: 100%;
  margin: -27px;
  position: absolute;
  z-index: -1;
  opacity: 0.2 !important;
}

.presenting-wrap h4 {
  font-size: 18px;
  text-transform: uppercase;
  font-weight: 600;
  color: #656565;
  line-height: 22px;
}

.overlay-sec {
  width: 100%;
}

.overlay-sec .overlay {
  padding: 80px 0px;
  background: #0000;
}

.imgbg1 {
  background: url(../images/gallery/contact-bg.jpg);
  background-size: cover;
  /* background-attachment: fixed; */
  padding: 80px 0;
  background-color: #00000066;
  background-blend-mode: multiply;
}

.highlight-wrap {
  background: rgba(255, 255, 255, 0.2);
  position: relative;
  transition: ease all 0.5s;
}

.highlight-wrap .second-wrap {
  padding: 10px;
}

.highlight-wrap img {
  width: 100px;
  margin: 0px auto;
  display: block;
  margin-bottom: 20px;
}

.highlight-wrap h2 {
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
}

.highlight-wrap h2 span {
  font-size: 25px;
  font-weight: 800;
  color: #843e1c;
}

.highlight-wrap:before {
  content: "";
  height: 20px;
  width: 20px;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 3px solid #ffffff;
  border-left: 3px solid #ffffff;
}

.highlight-wrap:after {
  content: "";
  height: 20px;
  width: 20px;
  position: absolute;
  bottom: 0;
  right: 0;
  border-bottom: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
}

.highlight-wrap .second-wrap:before {
  content: "";
  height: 20px;
  width: 20px;
  position: absolute;
  top: 0;
  right: 0;
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
}

.highlight-wrap .second-wrap:after {
  content: "";
  height: 20px;
  width: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 3px solid #ffffff;
  border-left: 3px solid #ffffff;
}

.highlight-wrap:hover {
  -webkit-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  transform: translateY(-10px);
  transition: ease all 0.5s;
}

.d-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  height: 145px;
}

.d-flex p {
  font-weight: 600;
}

.display-flex {
  display: flex;
}

@media only screen and (max-width: 767px) {
  .d-flex {
    height: auto;
  }

  .flex-column-reverse {
    flex-direction: column-reverse;
  }
}

/*------ section heading------*/

.head-center {
  text-align: center;
}

.sec-head {
  color: #003366;
  text-transform: uppercase;
  font-family: "Perpetua";
  font-size: 25px;
  letter-spacing: 2px;
  font-weight: 600;
  margin-bottom: 13px;
  line-height: 35px;
}

.sec-head9 {
  color: #000521;
  text-transform: uppercase;
  font-size: 25px;
  letter-spacing: 2px;
  font-weight: 600;
  margin-top: 35px;
  margin-bottom: 13px;
  line-height: 35px;
}

.head-line {
  height: 3px;
  background: #003366;
  width: 60px;
  margin: 15px auto 20px;
}

/*------------------------*/

/*---Configuration box----*/

.config-wrap {
  text-align: center;
  border-top: 10px solid #fff;
  border-bottom: 40px solid #fff;
  border-left: 10px solid #fff;
  border-right: 10px solid #fff;
  padding: 25px 0px;
  margin-bottom: 0px;
  transition: ease all 0.5s;
}

.config-wrap1 {
  text-align: center;
  border-top: 10px solid #fff;
  border-bottom: 40px solid #fff;
  border-left: 10px solid #fff;
  border-right: 10px solid #fff;
  padding: 25px 0px;
  margin-bottom: 10px;
  transition: ease all 0.5s;
}

.config-wrap:hover {
  border-color: #d0d0d0;
  -webkit-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  transform: translateY(-10px);
  transition: ease all 0.5s;
  text-align: center;
  border-top: 10px solid #003366;
  border-bottom: 40px solid #003366;
  border-left: 10px solid #003366;
  border-right: 10px solid #003366;
  padding: 25px 0px;
  margin-bottom: 0px;
  transition: ease all 0.5s;
}

.config-wrap1:hover {
  border-color: #003366;
  -webkit-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  transform: translateY(-10px);
  transition: ease all 0.5s;
  text-align: center;
  border-top: 10px solid #003366;
  border-bottom: 40px solid #003366;
  border-left: 10px solid #003366;
  border-right: 10px solid #003366;
  padding: 25px 0px;
  margin-bottom: 0px;
  transition: ease all 0.5s;
}

.config-wrap h3 span {
  font-size: 22px;
  color: #fff;
  font-weight: 700;
}

.config-wrap1 h3 span {
  font-size: 22px;
  color: #fff;
  font-weight: 800;
}

.config-wrap h3,
.config-wrap1 h3 {
  font-size: 27px;
  font-weight: 800;
  margin-bottom: 30px;
}

.config-wrap p {
  font-size: 17px;
}

.config-line {
  height: 3px;
  background: #ffffff;
  width: 50px;
  margin: 0px auto;
  margin-top: 20px;
  margin-bottom: 20px;
}

.config-wrap h2 {
  font-size: 24px;
  font-weight: 800;
  line-height: 30px;
  color: #fff;
}

.config-wrap1 h2 {
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  line-height: 30px;
}

.config-wrap h2 span {
  color: #fff;
}

.config-wrap1 h2 span {
  color: #fff;
}

.config-wrap .pricing_btn,
.config-wrap1 .pricing_btn {
  background: #003366;
  border: none;
  font-size: 13px;
  color: #fff;
  /* width: 75%; */
  padding: 12px;
  border-radius: 12px;
  margin: 5px 0px;
  font-weight: 600;
  outline: none;
  font-family: "Perpetua";
}

/*------------Amenities----*/

figure.snip1477 {
  position: relative;
  overflow: hidden;
  margin: 0px;
  /* min-width: 391px; */
  /* max-width: 451px; */
  /* width: 100%; */
  /* color: #ffffff; */
  text-align: center;
  /* font-size: 16px; */
  /* background-color: #000000; */
}

figure.snip1477 *,
figure.snip1477 *:before,
figure.snip1477 *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.55s ease;
  transition: all 0.55s ease;
}

figure.snip1477 img {
  max-width: 100%;
  backface-visibility: hidden;
  vertical-align: top;
  opacity: 0.9;
}

figure.snip1477 .title {
  position: absolute;
  top: 58%;
  left: 25px;
  padding: 5px 10px 10px;
}

figure.snip1477 .title:before,
figure.snip1477 .title:after {
  height: 2px;
  width: 400px;
  position: absolute;
  content: "";
  background-color: #ffffff;
}

figure.snip1477 .title:before {
  top: 0;
  left: 10px;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

figure.snip1477 .title:after {
  bottom: 0;
  right: 10px;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

figure.snip1477 .title div:before,
figure.snip1477 .title div:after {
  width: 2px;
  height: 300px;
  position: absolute;
  content: "";
  background-color: #ffffff;
}

figure.snip1477 .title div:before {
  top: 10px;
  right: 0;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

figure.snip1477 .title div:after {
  bottom: 10px;
  left: 0;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

figure.snip1477 h2,
figure.snip1477 h4 {
  margin: 0;
  text-transform: uppercase;
}

figure.snip1477 h2 {
  font-weight: 400;
}

figure.snip1477 h4 {
  display: block;
  font-weight: 700;
  background-color: #eadde6;
  padding: 5px 10px;
  color: #000000;
}

figure.snip1477 figcaption {
  position: absolute;
  bottom: 42%;
  left: 25px;
  text-align: left;
  opacity: 0;
  padding: 5px 60px 5px 10px;
  font-size: 0.8em;
  font-weight: 500;
  letter-spacing: 1.5px;
}

figure.snip1477 figcaption p {
  margin: 0;
}

figure.snip1477 a {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

figure.snip1477 img,
figure.snip1477 img {
  zoom: 1;
  filter: alpha(opacity=35);
}

figure.snip1477 .title:before,
figure.snip1477 .title:before,
figure.snip1477 .title:after,
figure.snip1477 .title:after,
figure.snip1477 .title div:before,
figure.snip1477 .title div:before,
figure.snip1477 .title div:after,
figure.snip1477 .title div:after {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

figure.snip1477 .title:before,
figure.snip1477 .title:before,
figure.snip1477 .title:after,
figure.snip1477 .title:after {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

figure.snip1477:hover figcaption,
figure.snip1477.hover figcaption {
  opacity: 1;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.owl-carousel .owl-nav .owl-prev {
  font-size: 25px !important;
  border: 2px solid !important;
  height: 40px;
  width: 40px;
  border-radius: 50% !important;
  outline: none !important;
  transition: ease all 0.5s;
}

.side-serin p {
  text-align: center !important;
}

.owl-carousel .owl-nav .owl-next {
  font-size: 25px !important;
  border: 2px solid !important;
  height: 40px;
  width: 40px;
  border-radius: 50% !important;
  outline: none !important;
  transition: ease all 0.5s;
}

.owl-carousel .owl-nav .owl-prev:hover {
  background: #003366 !important;
  border-color: #003366 !important;
  height: 40px;
  width: 40px;
}

.owl-carousel .owl-nav .owl-next:hover {
  background: #003366 !important;
  border-color: #003366 !important;
  height: 40px;
  width: 40px;
}

/*----------------------------------------------*/

.sub-head {
  color: #843e1c;
  text-transform: uppercase;
  font-size: 20px;
  letter-spacing: 2px;
  margin-bottom: 13px;
  text-align: center;
}

.light-grey {
  background: #003366;
}

/*-------------aminities--------*/

.amenities-icon {
  text-align: center;
  /*box-shadow: 1px 1px 25px #e0e0e0;*/
  /*box-shadow: 0 8px 8px -6px rgba(0, 0, 0, 0.2);*/
  padding: 15px;
  /*background: #f7f7f7;*/
  margin-bottom: 30px;
  transition: ease all 0.5s;
}

/* .amenities-icon:hover {
  transform: translateY(-10px);
  transition: ease all 0.5s;
} */

.amenities-icon .icons-wrap {
  height: 90px;
  width: 90px;
  margin: 0px auto;
  border: 2px solid transparent;
  border-radius: 20px;
  margin-bottom: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #003366;
  transition: ease all 0.5s;
  outline-offset: 5px;
  outline: 2px solid #003366;
  margin-bottom: 15px;
}

.amenities-icon .icons-wrap img {
  width: 70px !important;
  /*border: 1px solid #000;*/
  /*border-radius: 50%;*/
  filter: invert(1);
}

.amenities-icon h3 {
  font-size: 13px;
  font-weight: 500;
  transition: ease all 0.5s;
  color: #222;
  min-height: 28px;
}

.amenities-icon:hover h3 {
  color: #222;
  transition: ease all 0.5s;
}

.amenities-icon p {
}

/*----------------------------*/

/*---------------Gallery style 3-----------------------*/

.gall-pd {
  padding: 0 5px !important;
}

.gallery-type3 {
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
}

.gallery-type3 .gallimg {
  position: relative;
  overflow: hidden;
}

.gallery-type3 .galloverlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  padding: 13px;
}

.gallery-type3 .galloverlay:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border: 2px dashed #fff;
  left: 0;
  top: 0;
  transform: scale(0.95);
  z-index: 9;
}

.gallery-type3 .gallimg img {
  width: 100%;
  display: block;
  transition: ease all 0.5s;
}

.gallery-type3 .galltxt3 {
  background: #000;
  text-align: center;
  padding: 6px 0;
  position: absolute;
  width: 100%;
  bottom: 0px;
  transition: ease all 0.5s;
  padding-bottom: 10px;
}

.gallery-type3 .galltxt3 p {
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 2px;
  padding-top: 2px;
  font-size: 14px;
}

.gallery-type3 .galldots {
  width: 90px;
  margin: 0 auto;
}

.gallery-type3 .galldots li {
  width: 30px;
  height: 30px;
  margin-right: -16px;
}

.gallery-type3:hover {
  cursor: url(../images/hovericon.png), auto !important;
}

.gallery-type3:focus .galltxt3 {
  bottom: -75px;
  transition: ease all 0.5s;
  padding-bottom: 0;
}

.gallery-type3:focus .gallimg img {
  transition: ease all 0.5s;
  transform: scale(1);
}

.gallery-type3:hover .galltxt3 {
  bottom: 0px;
  transition: ease all 0.5s;
  padding-bottom: 10px;
}

.gallery-type3:hover .gallimg img {
  transition: ease all 0.5s;
  transform: scale(1.2);
}

/*-----------------------------------------------------*/

/*-------------------------------------------------*/

.amenities-gallery .actual {
  margin-bottom: 0;
  /* position: ; */
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 20px;
  padding: 0px 10px 2px 10px;
  z-index: 99;
  text-align: center;
}

.overlayg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.1);
  z-index: 99;
}

.overlayg::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  /* border: 2px dashed #fff; */
  transform: scale(0.975);
  z-index: 99;
}

.amenities-gallery {
  position: relative;
  width: 100%;
  overflow: hidden;
  transition: all 0.5s;
  /* margin-bottom: 10px; */
  box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
}

.amenities-gallery img {
  width: 100%;
  display: block;
  height: 300px;
  object-fit: cover;
  transition: all 0.5s;
}

.ami-overlay {
  width: 100%;
  height: 100%;
  background: rgba(34, 34, 34, 0.7);
  position: absolute;
  top: 0;
  transform: translate(-101%, 0);
  transition: all 1s;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.amenities-gallery:hover img {
  transform: scale(1.19);
  transition: all 0.5s;
}

.amenities-gallery:hover .ami-overlay {
  transform: translate(0%, 0);
  transition: all 0.5s;
  cursor: url(../images/hovericon.png), auto !important;
}

.amenities-gallery .ami-overlay h3 {
  color: #fff;
  font-size: 15px;
  text-align: center;
  line-height: 18px;
}

/* ---------- Gallery: images are not clickable (no lightbox) ----------
   Scoped to #gallery so the Location map stays clickable. */
#gallery .amenities-gallery a {
  pointer-events: none;
  cursor: default;
}

/* Gallery images: remove the black drop shadow AND the dark tint overlay so
   the photos are fully bright, and zoom in on hover. */
#gallery .amenities-gallery {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

#gallery .overlayg {
  display: none;
}

/* No black panel slides across the photo on hover - the image stays fully
   visible; hovering just fades it back in with a gentle zoom. */
#gallery .amenities-gallery .ami-overlay {
  display: none !important;
}

#gallery .amenities-gallery img {
  transition: transform 0.6s ease;
}

#gallery .amenities-gallery:hover img {
  transform: scale(1.12);
  animation: galleryImgFadeIn 0.6s ease-in-out both;
}

@keyframes galleryImgFadeIn {
  from {
    opacity: 0.15;
  }
  to {
    opacity: 1;
  }
}

/* Touch devices have no hover, so the desktop "Location Map" reveal never
   fires. Show the label as a persistent gradient banner over the map instead
   (keeps the map itself visible, and it stays tappable to open the full map). */
@media (hover: none), (max-width: 767px) {
  #location .map_img .ami-overlay {
    transform: none;
    background: linear-gradient(
      to top,
      rgba(0, 51, 102, 0.8) 0%,
      rgba(0, 51, 102, 0.32) 42%,
      rgba(0, 51, 102, 0) 72%
    );
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 20px;
  }

  #location .map_img .map-overlay-title {
    font-size: 20px;
    letter-spacing: 2px;
  }
}

@media only screen and (max-width: 767px) {
  /* Hide the slider arrows on mobile */
  #gallery .ext-carousel .owl-nav {
    display: none !important;
  }

  /* Smaller gallery cards on mobile - the 300px default looks oversized */
  #gallery .amenities-gallery img {
    height: 200px;
  }
}

.map-overlay-title {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
}

/*-----------------------*/

/*.ami-carousel .owl-nav{*/

/*display: block !important;*/

/*}*/
.plan_img img {
  width: 100%;
  filter: blur(3px);
  cursor: pointer;
}

.color-light {
  color: #fff;
}

.bg-light {
  background-color: #fff;
}

/* -------------------  TAB -----------------------*/

.mytab {
  text-align: center;
  border-bottom: none;
  margin-bottom: 10px;
  /*margin-top: 50px;*/
}

.mytab li {
  float: none !important;
  display: inline-block;
  margin-bottom: 10px;
  margin-left: 6px;
}

.mytab > li.active > a,
.mytab > li.active > a:hover,
.mytab > li.active > a:focus {
  color: #000000;
  background-color: #ffffff;
  border: none;
  cursor: pointer;
  /* border-radius: 40px 40px; */
}

.mytab > li > a:hover,
.mytab > li > a:focus {
  color: #000521;
  border: none;
  border-radius: 0;
  background-color: #f1f1f1;
}

.mytab > li > a {
  color: #ffffff;
  padding: 9px 10px !important;
  border: none;
  border-radius: 0;
  font-size: 15px;
  font-weight: 600;
  background: #000000;
  letter-spacing: 1px;
}

/*-------------------------------------------------*/

.over-subhead {
  color: #000521;
  text-transform: uppercase;
  text-align: center;
  font-size: 18px;
  line-height: 22px;
  margin-bottom: 20px;
  font-weight: 600;
  letter-spacing: 1px;
}

.ami-iconholder {
  background: #ffffff;
  text-align: center;
  padding: 10px 10px;
  position: relative;
  height: 135px;
  margin-top: 30px;
  transition: ease all 0.5s;
  -webkit-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  box-shadow: 1px 1px 8px 0px rgba(0, 0, 0, 0.5);
  transform: translateY(-10px);
  transition: ease all 0.5s;
}

.ami-iconholder img {
  margin-top: 20px;
  width: 64px;
}

.ami-iconholder p {
  line-height: 19px;
  margin-top: 5px;
  font-size: 13px;
  /* height: 40px; */
  /* margin-bottom: 0; */
}

.ami-iconholder:before {
  content: "";
  height: 20px;
  width: 20px;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 3px solid #010a21;
  border-left: 3px solid #010a21;
}

.ami-iconholder:after {
  content: "";
  height: 20px;
  width: 20px;
  position: absolute;
  bottom: 0;
  right: 0;
  border-bottom: 3px solid #010a21;
  border-right: 3px solid #010a21;
}

.ami-iconholder:hover {
  -webkit-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
  transform: translateY(-10px);
  transition: ease all 0.5s;
}

.sub-head2 {
  margin-bottom: 20px;
  font-size: 20px;
  line-height: 25px;
}

.counter-holder {
  margin-bottom: 30px;
  margin-top: 30px;
}

.numtext {
  font-size: 44px;
  text-align: center;
  padding-top: 0px !important;
  color: #843e1c;
  font-weight: 800;
  margin-bottom: 10px;
}

.counter-holder h4 {
  text-align: center;
  padding-top: 0px !important;
  font-size: 11px;
  line-height: 20px;
  height: 20px;
}

.white {
  color: #ffffff !important;
}

.head-line.white {
  background: #fff !important;
}

.head-line.white3 {
  background: #003366 !important;
}

.address-wrap {
  text-align: center;
  margin-top: 50px;
}

.address-wrap h3 {
  font-size: 33px;
  font-weight: 800;
  margin-bottom: 20px;
  color: #fff;
}

.address-wrap p {
  color: #fff;
  font-size: 22px;
}

.call-me {
  font-size: 22px;
  font-weight: 500;
  color: #fff;
}

.call-me:hover {
  color: #fff;
}

.rera-sec {
  padding: 14px 0px 10px;
  background: #141b23;
  color: #fff;
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}

.cust-container {
  width: 90%;
  margin: 0px auto;
  display: table;
}

.footer-icon {
  text-align: right;
}

.footer-sec {
  /* padding: 20px 0px; */
  /* background: #febc3c; */
  color: #fff;
}

.foote-wrap {
  margin: 0px auto;
  display: block;
}

.foote-wrap img {
  margin: 0px auto;
  display: block;
  width: 152px;
  margin-top: 0;
  margin-bottom: 20px;
}

.foote-wrap p {
  text-align: center;
  margin-top: 7px;
  /* margin-bottom: 30px; */
  font-weight: 600;
}

/*-===================================================================================- form----*/

#upcoming {
  background-size: cover;
  background-attachment: fixed;
  background-position: left;
}

#configuration {
  /*background-color: #f1f1f1;*/
  position: relative;
  overflow: hidden;
  width: 100%;
  /* background-size: auto; */
  /* background-attachment: fixed; */
  background-image: url(../images/config.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #0000005c !important;
  background-blend-mode: hue;
}

.bg-color {
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}

#pageloader {
  background: rgba(255, 255, 255, 0.9);
  display: none;
  height: 100%;
  position: fixed;
  width: 100%;
  z-index: 9999999;
  top: 0;
}

#pageloader2 {
  background: rgba(255, 255, 255, 0.9);
  display: none;
  height: 100%;
  position: fixed;
  width: 100%;
  z-index: 9999999;
  top: 0;
}

#pageloader img {
  left: 50%;
  width: 100px;
  margin-left: -32px;
  margin-top: -32px;
  position: absolute;
  top: 50%;
}

#pageloader2 video {
  left: 50%;
  width: 100px;
  margin-left: -32px;
  margin-top: -32px;
  position: absolute;
  top: 50%;
}

.error {
  color: red;
}

.download-btn {
  font-family: "Perpetua";
  position: fixed;
  z-index: 9999;
  bottom: 30px;
  left: 20px;
  font-size: 14px !important;
  background: #003366;
  border: none;
  margin: 30px auto 0px;
  color: #fff;
  /* border: 2px solid; */
  padding: 10px 20px;
  border-radius: 0px;
  font-weight: 600;
  outline: none !important;
  display: block;
}

.download-btn:hover,
.download-btn:focus {
  color: #ffffff !important;
}

.interested {
  font-family: "Perpetua";
  position: fixed;
  z-index: 9999;
  bottom: 30px;
  right: 20px;
  font-size: 15px !important;
  background: #003366;
  /* border: 2px solid; */
  color: #fff;
  padding: 10px 20px;
  border-radius: 0px;
  font-weight: 600;
  outline: none !important;
}

.road {
  position: relative;
  z-index: 9999;
  bottom: 25px;
  /*left: 41%;*/
  display: block;
  margin: 0px auto;
  font-size: 15px !important;
  background: #003366;
  border: 2px solid;
  color: #fff;
  padding: 8px 12px 10px 12px;
  border-radius: 20px;
  font-weight: 600;
  outline: none !important;
}

.interested:hover,
.interested:focus {
  color: #ffffff !important;
}

.pulseanimation {
  animation: pulse-cust 2s infinite;
}

@-webkit-keyframes pulse-cust {
  0% {
    -webkit-box-shadow: 0 0 0 0 #000;
  }

  70% {
    -webkit-box-shadow: 0 0 0 25px rgba(227, 56, 56, 0);
  }

  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(227, 56, 56, 0);
  }
}

@keyframes pulse-cust {
  0% {
    -webkit-box-shadow: 0 0 0 0 #000;
  }

  70% {
    -webkit-box-shadow: 0 0 0 25px rgba(227, 56, 56, 0);
  }

  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(227, 56, 56, 0);
  }
}

.fixed-footer-cust {
  background: #003366;
  text-align: center;
  padding: 10px 0px 10px 0px;
  width: 100%;
  position: fixed;
  bottom: 0px;
  z-index: 99;
}

/* ---------- Mobile sticky CTA bar ---------- */
.mob-cta {
  display: none;
}

.mob-btn {
  background: #003366;
  position: fixed;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  padding: 6px 0;
  justify-content: space-around;
  align-items: center;
  z-index: 111;
  box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.28);
}

.btn-brochure,
.btn-enquire {
  flex: 1;
  background: transparent;
  border: none;
  box-shadow: none;
  color: #fff;
  font-family: "Perpetua";
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.4px;
  padding: 9px 4px;
}

.btn-brochure i,
.btn-enquire i {
  margin-right: 5px;
}

.btn-brochure:focus,
.btn-enquire:focus,
.btn-brochure:active,
.btn-enquire:active {
  outline: none;
  background: transparent;
  color: #fff;
}

.divider-line {
  height: 26px;
  width: 1px;
  flex: 0 0 1px;
  background-color: rgba(255, 255, 255, 0.6);
}

@media only screen and (max-width: 767px) {
  .mob-cta {
    display: block;
  }

  /* keep the sticky bar from covering the last line of the footer */
  #rerafooter {
    padding-bottom: 62px;
  }

  .footer-text {
    font-size: 10px;
    line-height: 15px;
    margin-bottom: 7px;
  }

  .btn-brochure,
  .btn-enquire {
    font-size: 13px;
    letter-spacing: 0.2px;
  }
}

.f-icon {
  height: 14px;
  width: 14px;
  padding-top: 4px;
}

.fix-link {
  color: #fff !important;
  font-size: 14px;
  padding: 0;
  background: transparent;
  border: none;
  background-image: none;
  box-shadow: none;
  font-family: "Perpetua";
}

.fix-link:hover,
.fix-link:focus {
  background: transparent !important;
}

.div-line {
  border-right: 1px solid #fff;
}

.free-call:hover {
  color: #ffffff;
}

/*--------------*/

.msgicon {
  height: 100px;
  width: 100px;
  border: 4px solid #fff;
  font-size: 39px;
  background: #003366;
  color: #fff;
  border-radius: 50%;
  padding: 27px;
  text-align: center;
  margin: 0px auto;
  display: block;
}

.oops {
  text-align: center;
  font-size: 45px;
  margin-top: 20px;
  margin-bottom: 20px;
  letter-spacing: 1px;
  font-weight: 800;
}

.oops span {
  font-weight: 300;
}

.oops-subtitle {
  /*color: #fff;*/
  font-size: 18px;
  line-height:24px;
}

.go-home {
  color: #003366;
  font-size: 19px;
  padding: 10px;
  /*width: 100%;*/
  margin: 0px auto;
  margin-top: 30px;
  border-radius: 5px;
  transition: ease 0.5s;
  text-align:center;
}

/*.go-home:hover {*/
/*  transition: ease 0.5s;*/
/*  color: #fff;*/
/*  background: #003366;*/
/*  border-radius: 25px;*/
/*}*/

.oops-greet {
  color: #003366;
  font-size: 25px;
  /*font-weight: 600;*/
  margin-bottom: 15px;
}

.pink {
  background: #843e1c;
}

.team-wrap {
  padding: 10px;
  background: #ededed;
  box-shadow: 0 10px 8px -6px rgba(0, 0, 0, 0.5);
}

.team-wrap .t-name {
  color: #843e1c;
  font-size: 24px;
  font-weight: 800;
  margin-top: 10px;
  margin-bottom: 5px;
}

.team-wrap .t-post {
  font-size: 20px;
  font-weight: 600;
}

.team-wrap .t-location {
  font-size: 16px;
  margin-top: 3px;
  margin-bottom: 10px;
}

.team-wrap img {
}

.team-wrap p {
  font-size: 12px;
  line-height: 15px;
}

#team-carousel .owl-stage-outer {
  padding-bottom: 10px;
}

.aminities-wrap {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}

.morecontent span {
  display: none;
}

.morelink {
  display: block;
}

.aminities-wrap img {
  width: 100%;
  margin-bottom: -2px;
  transition: all 0.5s;
}

.aminities-wrap p {
  margin-bottom: 0;
  position: absolute;
  width: 100%;
  background: #843e1c;
  bottom: -33px;
  text-align: center;
  font-size: 16px;
  padding-top: 5px;
  padding-bottom: 5px;
  color: #fff;
  transition: ease all 0.5s;
}

.aminities-wrap:hover p {
  bottom: 0px;
  transition: ease all 0.5s;
}

.aminities-wrap:hover img {
  transform: scale(1.19);
  transition: all 0.5s;
}

.timeline {
  list-style-type: none;
  display: flex;
  /* align-items: center; */
  justify-content: center;
  padding: 0px;
}

.li {
  transition: all 200ms ease-in;
}

.timestamp {
  margin-bottom: 0px;
  padding: 0px 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 100;
}

.li.complete .status {
  border-top: 2px solid #222;
  width: 100%;
}

.status {
  padding: 0px 10px;
  /* display: flex; */
  justify-content: center;
  border-top: 2px solid #d6dce0;
  position: relative;
  transition: all 200ms ease-in;
}

.li.complete .status h4 {
  color: #222;
  margin-top: 16px;
  text-align: center;
  font-size: 11px;
  line-height: 21px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.status h4 {
  font-weight: 600;
}

.li.complete .status:before {
  background-color: #222;
  border: none;
  transition: all 200ms ease-in;
}

.status:before {
  content: "";
  width: 25px;
  height: 25px;
  background-color: white;
  border-radius: 25px;
  border: 1px solid #ddd;
  position: absolute;
  top: -15px;
  left: 44%;
  transition: all 200ms ease-in;
}

.locationBox1 {
  /* margin: 18px 0px; */
  /* margin-top: 65px; */
}

.locationBox1 .location-icon {
  color: #fff;
  font-size: 50px;
  width: 60px;
  height: 60px;
  line-height: 120px;
  margin: 0 auto 40px;
  display: block;
  position: relative;
}

.locationBox1 .location-icon:before {
  content: "";
  /* background: linear-gradient(to right,#d3ad37 49%,#d5b659 50%); */
  width: 100%;
  height: 100%;
  border-radius: 55px 50px 0px 50px;
  /* box-shadow: 0 0 0 5px #fff inset; */
  /* border: 5px solid #222222; */
  border-right: none;
  border-top: none;
  transform: rotate(45deg);
  background: #fff;
  position: absolute;
  box-shadow: 3px 3px 10px #222222;
  top: 0;
  left: 0;
  z-index: 1;
  transition: all 0.5s ease 0s;
}

.location-icon span {
  color: #000000;
  font-size: 36px;
  width: 36px;
  height: 36px;
  line-height: 52px;
  /* margin: 0 auto 40px; */
  /* display: block; */
  position: relative;
  z-index: 1;
  top: -33px;
}

.amenities-main1 h3 {
  text-align: center;
  color: #000;
  font-size: 18px;
}

/* .locationBox1 .location-icon:hover::before {
    transform: rotate(90deg);
} */

.locationBox2 {
  /* margin: 18px 0px; */
  margin-top: 65px;
}

.you-tube {
  height: 400px;
  width: 100%;
}

.locationBox2 .location-icon1 {
  color: #fff;
  font-size: 50px;
  width: 100px;
  height: 100px;
  line-height: 120px;
  margin: 0 auto 40px;
  display: block;
  position: relative;
}

.locationBox2 .location-icon1:before {
  content: "";
  /* background: linear-gradient(to right,#d3ad37 49%,#d5b659 50%); */
  width: 100%;
  height: 100%;
  border-radius: 10px;
  /* box-shadow: 0 0 0 5px #fff inset; */
  /* border: 5px solid #d5b659; */
  border-right: none;
  border-top: none;
  transform: rotate(45deg);
  background: #fff;
  position: absolute;
  box-shadow: 3px 3px 10px #004889;
  top: 0;
  left: 0;
  z-index: 1;
  transition: all 0.5s ease 0s;
}

.location-icon1 img {
  color: #fff;
  font-size: 50px;
  width: 65px;
  height: 65px;
  line-height: 120px;
  margin: 0 auto 40px;
  display: block;
  position: relative;
  z-index: 1;
  top: 10px;
}

.amenities-main2 h3 {
  text-align: center;
  color: #000;
  font-size: 18px;
}

.locationBox2 .location-icon1:hover::before {
  transform: rotate(90deg);
}

.title {
  text-align: center;
  color: #000;
  font-size: 18px;
}

#accordion .panel {
  border: none;
  box-shadow: none;
  border-radius: 10px;
  margin-bottom: 10px;
}

#accordion .panel-heading {
  padding: 0;
  border: none;
  border-radius: 10px;
}

#accordion .panel-title a {
  display: block;
  padding: 12px 34px;
  font-size: 14px;
  font-weight: 600;
  height: 44px;
  color: #fff;
  text-align: center;
  background: #003366;
  border: 2px solid;
  position: relative;
  transition: all 0.3s ease 0s;
  letter-spacing: 2px;
  font-family: "Perpetua";
}
#accordion .panel-title a:hover {
  text-decoration: none !important;
}

#accordion .panel-title a:after,
#accordion .panel-title a.collapsed:after {
  content: "\f068";
  font-weight: 900;
  width: 40px;
  height: 40px;
  line-height: 32px;
  background: #000521;
  text-align: center;
  font-size: 15px;
  color: #fff;
  border: 5px solid #676767;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s ease 0s;
}

#accordion .panel-title a.collapsed:after {
  content: "\f067";
}

#accordion .panel-title a:hover:after,
#accordion .panel-title a.collapsed:hover:after {
  transform: rotate(360deg);
}

#accordion .panel-body {
  padding: 15px 25px;
  background: #fff;
  font-size: 14px;
  color: #000000;
  line-height: 25px;
  border-top: none;
  position: relative;
}

.islandtextcontblk {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.islandtext:first-child {
  padding: 0 15px 0;
}

.colwidth {
  width: 33.33333333%;
}

.islandpicblk2 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.sunteckcitypciblk {
  padding: 0 15px 0 0;
}

.islandtext h5 {
  font-size: 10px;
  font-weight: 800;
  margin-top: 6px;
  border-bottom: 2px solid #ec800d;
  padding-bottom: 4px;
}

.islandtext p {
  font-size: 11px;
  margin-bottom: 0px;
}

.islandtext h5 {
  font-size: 10px;
  font-weight: 800;
  margin-top: 6px;
  border-bottom: 2px solid #ec800d;
  padding-bottom: 4px;
}

.islandtext p {
  font-size: 11px;
  margin-bottom: 0px;
}

#contactus .form-container {
  background-position: left;
  background: white;
  text-align: center;
  padding: 30px 20px;

  background-size: auto;
  background-attachment: inherit;
  background-position: center;
}

.form-container .title {
  color: #003366;
  font-size: 23px;
  text-transform: capitalize;
  letter-spacing: 1px;
  margin: 0 0 50px;
  font-weight: 700;
}

.form-container .form-horizontal {
  background-color: #ffffff7a;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
}

.form-horizontal .form-icon {
  color: #fff;
  background-color: #003366;
  font-size: 63px;
  line-height: 74px;
  height: 70px;
  width: 70px;
  margin: -54px auto 10px;
  border-radius: 50%;
}

/* Contact form now reuses the shared .ovc-* styling (matches the other forms),
   so the old boxed #contact-form input overrides are intentionally removed. */

#contact-form .input-group-addon {
  background: #e4e4e4;
  color: #003366;
  border: 1px solid #e4e4e4;
  border-right: 0;
  border-radius: 7px 0 0 7px;
}

.form-ico {
  font-size: 19px !important;
}

#contact-form textarea {
  border: none;
  resize: none;
  /*background: #e4e4e4;*/
}

#registerform textarea {
  border: none;
  resize: none;
  /*background: #e4e4e4;*/
}

#register-form textarea {
  border: none;
  resize: none;
  /*background: #e4e4e4;*/
}

#contact-form .form-group {
  height: 40px;
  margin-bottom: 23px;
  margin-top: 0;
}

#registerform .form-group {
  height: 40px;
  margin-bottom: 23px;
  margin-top: 0;
}

#register-form .form-group {
  height: 40px;
  margin-bottom: 23px;
  margin-top: 0;
}

.form-control:focus {
  box-shadow: none !important;
}

.signin {
  color: #fff;
  background-color: #003366;
  font-size: 17px;
  text-transform: capitalize;
  letter-spacing: 2px;
  /* width: 100%; */
  padding: 6px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  transition: all 0.4s ease 0s;
}

.signin:hover,
.signin:focus {
  font-weight: 600;
  letter-spacing: 5px;
  color: #ffffff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) inset;
}

.bo {
  padding: 8px;
}

.golden-box img {
  width: 80px;
  margin-bottom: 10px;
}

.golden-box p {
}

.sec-dark p {
  text-align: center;
  color: #fff;
}

.over-img {
  /* padding: 25px 0; */
  /* width: 70%; */
  /* background: url(../../../images/patch.jpg); */
  background-attachment: fixed;
  display: grid;
  height: 500px;
  /* background-size: cover; */
  background-position: inherit;
  background-repeat: repeat-x;
}

#physical2 p {
  color: #fff;
  background: #00000087;
  padding: 5px 10px;
  font-size: 14px;
  margin: 7px 0;
}

.ami-iconholder i {
  font-size: 50px;
}

#physical2 h2 {
  text-align: center;
  font-size: 17px;
  margin-bottom: 18px;
  /* border: 1px solid #843e1c; */
  line-height: 24px;
  padding: 3px;
  box-shadow: 0px 0px 0px 4px #843e1c;
}

.form-bg .close {
  font-size: 23px;
  /* border: 1px solid; */
  color: #000;
  opacity: 1;
  position: relative;
  top: 25px;
  right: 22px;
  z-index: 99;
}

.map-img {
  /* height: 550px; */
  /* margin-top: 50px; */
}

.fa-phone {
  /* transform: rotate(90deg); */
  /* position: relative; */
  top: 4px;
}

.playbutten {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.counter-wrap {
  display: block;
  padding-top: 0;
  position: absolute;
  /* left: 60%; */
  z-index: 9;
  top: 15%;
  width: 100%;
}

.counter-wrap .col-xs-3 {
  padding: 0 5px;
  width: 18%;
}

.counter-wrap h3 {
  text-align: center;
  margin-bottom: 10px;
}

.time {
  /* margin-left: 100px; */
}

.time h2 {
  font-size: 19px;
  text-transform: uppercase;
  font-weight: 800;
  text-align: center;
  width: 50px;
  height: 35px;
  margin: 10px auto;
  background: #012f58;
  color: #fff;
  border-radius: 0%;
  padding: 9px 0px;
  box-shadow: 2px 2px 7px #676f90;
}

.time p {
  text-align: center;
  font-weight: 800;
  text-transform: uppercase;
  background: #843e1c;
  /* border-radius: 9px; */
  color: #fff;
  font-size: 11px;
  width: 50px;
  margin: 0px auto;
  margin-top: 5px;
}

#button-2 {
  /* position: relative; */
  /* overflow: hidden; */
  cursor: pointer;
  /* margin: 0px auto; */
  text-align: center;
}

#slide {
  width: 100%;
  height: 100%;
  left: -200px;
  color: #fff;
  background: #fff;
  position: absolute;
  transition: all 0.35s ease-Out;
  bottom: 0;
}

#button-2 a {
  /* display: block; */
  position: relative;
  transition: all 0.35s ease-Out;
  color: #fff;
  background: #f07f8a;
  line-height: 31px;
  font-weight: bold;
  margin: 0 auto;
  padding: 13px;
}

.footer-text {
  color: #ffffff;
  text-align: center;
  font-size: 11px;
  line-height: 16px;
  letter-spacing: 0.3px;
  margin-bottom: 8px;
  opacity: 0.85;
}

.footer-text span {
  opacity: 1;
  font-weight: 700;
}

/*----------Modal Design-------*/

.modal {
  z-index: 9999;
  background: rgba(0, 0, 0, 0.77);
}

.modal-content {
  background-color: #353535 !important;
  padding: 56px 18px;

  /* background: url(../images/image.png); */
}

.modal-body {
  background-size: cover;
  /* padding-bottom: 30px; */
}

.modal-body .close {
  position: absolute;
  right: 5px;
  top: 5px;
  color: #fff;
  opacity: 1;
  outline: none;
}

.modal-body .close span {
  height: 30px;
  width: 30px;
  display: block;
  font-size: 26px;
  margin-top: -40px;
}

.modal-body h3 {
  font-family: "Perpetua";
  color: #fff;
  font-size: 20px;
  text-transform: uppercase;
  text-align: center;
  margin-top: -35px;
  margin-bottom: 10px;
}

.modal-body p {
  color: #fff;
  text-align: center;
  font-size: 15px;
  margin-bottom: 20px;
}

.modal-body img {
  width: 100px;
  margin: 0px auto;
  display: block;
  position: relative;
  top: -60px;
}

.modal-dialog {
  margin-top: 7% !important;
  z-index: 9999 !important;
}

/*---modal form--*/

.modal-body form input,
.modal-body form select {
  height: 40px;
  border: 1px solid #ffffff;
  width: 100%;
  background: #fff;
  margin-bottom: 0;
  padding-left: 10px;
  border-radius: 0 7px 7px 0 !important;
  color: #222222;
  border-left: none;
}

.modal-body form input::placeholder,
.modal-body form textarea::placeholder {
  color: #222222;
}

.modal-body form .input-group-addon {
  background: #fff;
  color: #003366;
  border: 1px solid #ffffff;
  border-right: 0;
  border-radius: 7px 0 0 7px;
}

.form-ico {
  font-size: 19px !important;
}

.modal-body form textarea {
  border: none;
  resize: none;
  /*background: #e4e4e4;*/
}

.modal-body form .form-group {
  height: 40px;
  margin-bottom: 23px;
  margin-top: 0;
}

.form-control:focus {
  box-shadow: none !important;
}

/*-----------Modal End --------*/

.popup-btn {
  color: #fff;
  font-family: "Perpetua";
  background-color: #003366;
  font-size: 17px;
  text-transform: capitalize;
  letter-spacing: 2px;
  /* width: 100%; */
  padding: 6px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  transition: all 0.4s ease 0s;
  margin: 0 auto;
  display: block;
}

.popup-btn:hover,
.popup-btn:focus {
  font-weight: 600;
  letter-spacing: 5px;
  color: #ffffff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) inset;
}

.thank-sec {
  margin-top: 70px;
}

.trees {
  display: block;
  width: 100px !important;
}

.tree-wrap {
  margin-top: -30px;
  padding-top: 27px;
  margin-left: 45px;
  border-left: 3px solid #619743;
  padding-bottom: 15px;
}

.tree-wrap h3 {
  color: #000;
  padding-left: 10px;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 17px;
}

.tree-list {
  padding-left: 15px;
}

.tree-list li {
  color: #000;
  font-size: 14px;
  margin-bottom: 15px;
  line-height: 16px;
  position: relative;
  padding-left: 0px;
}

.tree-list li:before {
  content: "";
  position: absolute;
  height: 17px;
  width: 17px;
  top: 0;
  left: -25px;
  /*background: url(../images/tick.png) no-repeat center center;*/
  background-size: 100%;
}

.ame-img {
  object-fit: cover;
  height: 220px;
}

.ame-limg {
  object-fit: cover;
  height: 371px;
}

.ame-title {
  background: #010a21;
  text-align: center;
  padding: 10px 0px;
  color: #fff;
  box-shadow: 1px 2px 8px 0px #0000006b;
  margin-bottom: 10px;
}

.checkbox {
  width: initial !important;
  float: left;
  height: initial !important;
  margin-right: 4px;
  position: relative;
  top: -3px;
}

.check-txt {
  color: #fff;
  display: flex;
  font-size: 12px;
  line-height: 13px;
  text-align: left;
  padding-left: 8px;
}

#carousel-example-generic {
  margin-top: 70px;
}

#accordion .panel-body p span {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .form-wrap {
    margin-bottom: 20px;
  }
  /* Gap between the contact form card and the map when they stack on mobile */
  #contactus .ovc-card {
    margin-bottom: 30px;
  }
  #carousel-example-generic .carousel-inner > .item > img {
    height: auto;
  }

  .pd0-m {
    padding: 0;
  }

  .timeline {
    list-style-type: none;
    display: block;
  }

  .map-img {
    height: unset;
    margin-top: 35px;
  }

  .li {
    transition: all 200ms ease-in;
    display: flex;
    width: inherit;
  }

  .timestamp {
    width: 100px;
    margin-bottom: 0px;
    padding: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 100;
  }

  .locationBox1 {
    margin: -5px 15px -16px 0px;
    margin-top: 19px;
  }

  .counter-wrap {
    display: inline-block !important;
    width: 66%;
    left: 0%;
    /* top: 47%; */
    position: initial;
    width: 100%;
    /* margin: 0 auto; */
    /* margin-top: 13px; */
    display: grid;
    margin-bottom: 25px;
  }

  .counter-wrap h3 {
    text-align: center;
    font-size: 17px;
    margin-bottom: 10px;
    font-weight: 600;
  }

  .counter-wrap .col-xs-3 {
    width: 25%;
  }

  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -20px;
    color: #843e1c;
    opacity: 1;
  }

  form #website {
    display: none;
  }

  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -20px;
    /* margin-left: -10px; */
    color: #a59fa0;
    opacity: 1;
  }

  .config-wrap h3 span {
    color: #fff;
  }

  .config-wrap h2 {
    color: #fff;
  }

  .amenities-icon {
    margin-bottom: 0;
    padding: 0 0 7px 0;
  }

  .sec-head {
    font-size: 20px;
    line-height: 20px;
  }

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

  .modal-dialog {
    margin-top: 60px !important;
  }

  #rerafooter {
    margin-bottom: 40px;
  }

  .trees.t3 {
    margin-top: -10px;
  }

  .checkbox-wrap {
    height: initial !important;
  }

  .check-txt {
    color: #fff;
    display: block !important;
    font-size: 12px;
    line-height: 13px;
    /* text-align: left; */
    padding-left: 23px;
  }
}

.abtwrap:before {
  content: "";
  position: absolute;
  bottom: -34px;
  width: 210px;
  left: 50%;
  margin-left: -105px;
  height: 34px;
  border-radius: 50%;
  transform: scale(1.15);
  background: radial-gradient(rgba(0, 0, 0, 0.1), transparent, transparent);
  transition: ease all 0.5s;
}

.abtcontent {
  text-align: center;
  background: #ededed;
  padding: 20px;
  margin: 20px 0;
  transition: ease all 0.5s;
  border: 2px solid #d8d8d8;
  min-height: 196px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.abtwrap h2 {
  font-size: 25px;
  font-weight: 800;
  margin-bottom: 0;
  color: #003366;
  margin-top: 10px;
}

.abtwrap h2 span {
  font-size: 37px;
  position: relative;
  bottom: 5px;
}

.abtwrap p {
  margin-bottom: 0;
  margin-top: 10px;
  font-weight: bold;
}

.nature2 {
  color: #2d6932;
  margin-top: 5px;
  margin-bottom: 13px;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
}

.leadership-details {
  padding: 60px 0px 0px 0px;
}

.leadership-details {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  text-align: center;
}

.leadership-left {
  width: 32%;
}

.leaderpic {
  text-align: center;
}

.leaderpic img {
  display: block;
  margin: 0 auto;
  width: 400px;
  height: auto;
}

.leadership-left .home-pgtitle {
  color: #bc8b2d;
  padding: 45px 0px 0px 0px;
}

.home-pgtitle {
  font-size: 25px;
  line-height: 1.3;
  text-transform: uppercase;
  text-align: center;
  color: #000;
}

.designation-text {
  font-size: 16px;
  color: #000000;
  padding: 10px 0px 0px 0px;
  line-height: 1.2;
}

.leadership-left .homepagepera {
  padding: 30px 0px 0px 0px;
  max-width: 80%;
  margin: 0 auto;
}

.homepagepera {
  /*color: #ffffff;*/
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  color: #000;
}

.title45 {
  text-align: center;
  margin-top: 15px;
  font-size: 16px;
  font-weight: 600;
}

#loading {
  position: fixed;
  width: 100%;
  height: 100vh;
  /*background: #fff url('../images/poplogo.png') no-repeat center;*/
  z-index: 999999;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
}

#loading img {
  width: 150px;
  margin-bottom: 40px;
  background: #fff;
  padding: 8px;
  border-radius: 10px;
}

#videoweb {
  width: 350px;
}

#loading .dflex {
  text-align: center;
}

#loading h2 {
  text-align: center;
  font-size: 20px;
  margin-bottom: -18px;
  font-weight: 800;
  line-height: 26px;
  position: relative;
  background: linear-gradient(
    -90deg,
    rgba(141, 195, 62, 1) 24%,
    rgba(64, 148, 64, 1) 81%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#loading h3 {
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  margin-top: -20px;
  position: relative;
  border-radius: 30px;
}

#loading p {
  margin-bottom: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
}

#myProgress {
  overflow: hidden;
  border: none;
  width: 320px;
  background-color: #1a1a1a;
  margin: 10px auto;
  border-radius: 30px;
  margin-top: 30px;
}

#myBar {
  width: 0%;
  height: 20px;
  background: rgb(141, 195, 62);
  background: linear-gradient(
    -90deg,
    rgba(141, 195, 62, 1) 24%,
    rgba(64, 148, 64, 1) 81%
  );
  text-align: center;
  line-height: 30px;
  border-radius: 30px;
  color: white;
}

.roadpoint {
  color: #fff;
  padding: 9px;
  text-align: justify;
  line-height: 19px;
  list-style: disc;
}

.whatsappicon {
  position: fixed;
  bottom: 65px;
  left: 65px;
}

.qr-box img {
  width: 120px !important;
  margin: auto;
  margin-bottom: 20px;
}

.qr-box p {
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  color: #333333;
}

.infra_img {
  box-shadow: 0 0 14px -5px #000;
  margin-bottom: 15px;
  margin-top: 15px;
}

.infra_name {
  text-align: center;
  /* margin-top: 10px; */
  font-size: 16px;
  font-weight: 600;
  line-height: 20px;
}

.map_img img {
  height: auto;
  object-fit: cover;
}

@media only screen and (max-width: 767px) {
  .leadership-details {
    padding: 10% 0 0 0;
    display: block;
  }

  .leadership-left {
    float: none;
    width: 100% !important;
  }

  .home-pgtitle {
    font-size: 20px;
  }

  .leadership-left .homepagepera {
    width: 95%;
    max-width: 95%;
  }

  .leadership-left .homepagepera {
    padding-bottom: 30px;
  }

  #videoweb {
    width: 240px;
  }

  .map_img {
    margin-bottom: 30px;
  }

  .map_img img {
    object-fit: cover;
  }
}

#selekt-chat-widget {
  bottom: calc(59px) !important;
  /* height: 60vh !important; */
}

@media only screen and (max-width: 767px) {
  #selekt-chat-widget {
    /* display: none !important; */
  }
}

.up-form {
  background: #fff;
  padding: 0px 0px 25px;

  border-radius: 10px;
  box-shadow: -1px -1px 19px 3px rgba(0, 0, 0, 0.43);
  -webkit-box-shadow: -1px -1px 19px 3px rgba(0, 0, 0, 0.43);
  -moz-box-shadow: -1px -1px 19px 3px rgba(0, 0, 0, 0.43);
}

.reg-title {
  font-size: 18px;
  background: #003366;
  color: #fff;
  text-align: center;
  padding: 10px 0px;
  margin: 20px 0px;
}

#registerform input,
#registerform select {
  height: 40px;
  border-bottom: 2px solid #000;
  width: 100%;
  padding-left: 8px;
  background: #ffffff;
  border-top: none;
  border-left: none;
  border-right: none;
  box-shadow: none;
  border-radius: 0;
}

#register-form input,
#register-form select {
  height: 40px;
  border-bottom: 2px solid #000;
  width: 100%;
  padding-left: 8px;
  background: #ffffff;
  border-top: none;
  border-left: none;
  border-right: none;
  box-shadow: none;
  border-radius: 0;
}

.slide {
  height: 100%;
  width: 100%;
  background-position: center;
  background-size: cover;
}

.owl-carousel .owl-stage {
  padding: 16px 0;
}

@media only screen and (max-width: 700px) {
  .up-form {
    background: #fff;
    padding: 11px;
    margin-top: 24px;
    /* border: 1px solid; */
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  }

  .footer-text {
    text-align: center !important;
  }

  #registerform input,
  #registerform select {
    height: 40px;
    border-bottom: 2px solid #000;
    width: 100%;
    padding-left: 8px;
    background: #ffffff;
    border-top: none;
    border-left: none;
    border-right: none;
    box-shadow: none;
    border-radius: 0;
  }

  #register-form input,
  #register-form select {
    height: 40px;
    border-bottom: 2px solid #000;
    width: 100%;
    padding-left: 8px;
    background: #ffffff;
    border-top: none;
    border-left: none;
    border-right: none;
    box-shadow: none;
    border-radius: 0;
  }
}

@media only screen and (max-width: 768px) {
  /* Brochure is reachable from the sticky mobile CTA bar - hide the side tab */
  .download-btn {
    display: none !important;
  }

  .about-container {
    flex-direction: column;
  }

  .side-serin {
    margin-top: 16px !important;
  }

  .text-center,
  .footer-text,
  .sider {
    text-align: justify;
  }
}

@media only screen and (max-width: 700px) {
  #carousel-example-generic {
    margin-top: 26px;
  }
}

p.actual {
  text-align: center;
  padding-top: 10px;
  font-size: 20px;
  font-weight: 600;
}

img.logo1 {
  margin-left: -30px;
  width: 98px;
  margin-top: 10px;
}

.ftag {
  font-size: 25px;
  padding: 10px;
  font-weight: 600;
}

span.mhr {
  font-size: 16px;
  font-weight: 600;
}

.testimonial {
  background-color: #003366 !important;
}

.testimonial {
  margin: 0 20px 50px;
}

.testimonial .pic {
  display: inline-block;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  margin: 0 15px 15px 0;
}

.testimonial .description {
  padding: 20px 22px;
  background: #003366;
  font-size: 15px;
  color: #fff;
  height: 87px;
  text-align: center;
  line-height: 25px;
  margin: 0;
  position: relative;
}

a.fa-solid.fa-plus::before {
  display: none !important;
}

#presenting {
  /* margin-top: 30px; */
  padding: 50px 0;
}

.owl-carousel .owl-nav button {
  color: #fff !important;
}

/* .padding {
    padding: 70px 0px;
} */

.grey {
  color: #4d4e50;
}
.grey-bg {
  background-color: #f1f1f1;
}

.wrap {
  display: table;
  /* padding: 60px 0px 60px; */
}

.section-title {
  font-family: "Perpetua";
  font-size: 25px;
  /*margin-bottom: 20px;*/
  color: #003366;
  text-align: center;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.section-subtitle {
  font-size: 25px;
  margin-bottom: 15px;
  text-align: center;
}

.relative {
  position: relative;
}

.text-center {
  text-align: justify;
}

/*----------------------------- */
.testimonial {
  margin: 0 20px 50px;
}

.testimonial .pic {
  display: inline-block;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  margin: 0 15px 15px 0;
}

.testimonial .pic img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}

.testimonial .testimonial-profile {
  display: inline-block;
  position: relative;
  top: 15px;
}

.testimonial .title {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #2f2f2f;
  text-transform: capitalize;
  margin: 0 0 7px 0;
}

.testimonial .post {
  display: block;
  font-size: 14px;
  color: #93b86b;
}

.testimonial .description {
  padding: 20px 22px;
  background: #003366;
  font-size: 15px;
  color: #fff;
  height: 101px;
  text-align: center;
  line-height: 25px;
  margin: 0;
  position: relative;
}

.testimonial .description:before,
.testimonial .description:after {
  content: "";
  border-width: 18px 0 0 18px;
  border-style: solid;
  border-color: #003366 transparent transparent;
  position: absolute;
  bottom: -18px;
  left: 0;
}

.testimonial .description:after {
  border-width: 18px 18px 0 0;
  left: auto;
  right: 0;
}

.owl-theme .owl-controls {
  margin-top: 10px;
  margin-left: 30px;
}

.owl-theme .owl-controls .owl-buttons div {
  opacity: 0.8;
  background: #fff;
}

.owl-prev:before,
.owl-next:before {
  content: "\f053";
  font-weight: 900;
  font-size: 20px;
  color: #ffffff;
  display: none;
}

.owl-next:before {
  content: "\f054";
}

@media screen and (max-width: 767px) {
  .testimonial {
    margin: 0 20px 50px;
  }

  .section {
    padding: 40px 0;
  }

  #accordion .panel-title a {
    display: block;
    padding: 14px 34px;
    font-size: 10px;
    font-weight: 600;
    height: 44px;
    color: #fff;
    text-align: center;
    background: #003366;
    border: 2px solid;
    position: relative;
    transition: all 0.3sease 0s;
    letter-spacing: 3px;
  }
}

.paraoffer {
  background: #9abb74;
  display: block;
  margin: 9px auto;
  text-align: center;
  width: 61%;
  padding: 10px;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
}

.box10 p {
  text-align: justify;
  font-size: 12px;
  line-height: 27px;
  letter-spacing: 1px;
}

.sectionright {
  text-align: center;
  margin-top: 12px;
  font-size: 10px;
  line-height: 17px;
}

#presenting .row {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .sectionright {
    text-align: center;
    margin-top: 12px;
    font-size: 10px;
    line-height: 17px;
  }

  .paraoffer {
    background: #9abb74;
    display: block;
    margin: 9px auto;
    text-align: center;
    width: 100%;
    padding: 10px;
    font-size: 15px;
    font-weight: bold;
    color: #fff;
  }

  .testimonial .description {
    padding: 20px 20px;
    background: #003366;
    font-size: 14px;
    color: #fff;
    height: auto;
    text-align: center;
    line-height: 23px;
    margin: 0;
    position: relative;
  }

  .price-click,
  .price-click1,
  .price-click2 {
    margin: 0px auto;
    /* display: block; */
    /* background-color: #90b766 !important; */
    background-image: url(../images/Background.png);
    text-shadow: none;
    color: #fff !important;
    border-color: #edf3fa;
    border-radius: 5px;
    padding: 5px 2px 5px 3px;
    transition: all 0.5s ease;
    font-weight: 800;
  }

  #presenting .row {
    flex-direction: column-reverse;
  }
}

.testimonial {
  background-color: #003366 !important;
}

.mt-5 {
  margin-top: 3rem;
}

.owl-prev .glyphicon,
.owl-next .glyphicon {
  display: none !important;
}

.overlayI {
  background-color: #000;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}

/* ------------------------------projext highlight--------------------------------------------------- */

.project-wrap p {
  text-align: center;
  padding: 30px;
}

.project-wrap {
  border: 1px solid;
  border-radius: 5px;
  background-color: #003366;
  color: #fff;
  font-size: 1rem;
}

/* ---------------------------about-us-------------------------------------- */

.side-serin {
  font-size: 26px !important;
  color: #00759e;
  font-weight: 500;
  margin-top: 52px;
}

#about-us {
  margin: 40px 0;
  padding: 40px 0;
}

.about-flex {
  display: flex;
  margin-bottom: 27px;
  align-items: center;
}

.about-img {
  width: 100%;
}

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

/* --- OVE FORM CUSTOM STYLES --- */
#ove-form {
  padding: 100px 0px;
  background-color: #fff;
}

#ove-form .ove-form-heading {
  /* font-family: "Montserrat", sans-serif; */
  font-family: "Perpetua";
  text-align: center;
  color: #003366;
  letter-spacing: 1.5px;
  font-size: 18px;
  font-weight: 600;
  line-height: 25px;
  text-transform: uppercase;
  margin-bottom: 25px;
  /* letter-spacing: 0.5px; */
}

#ove-form .ove-form-container {
  max-width: 1000px;
  margin: 0 auto;
}

#ove-form .ove-form-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 15px;
}

#ove-form .ove-form-group {
  flex: 1;
  position: relative;
  min-width: 0;
}

#ove-form .ove-form-control {
  width: 100%;
  height: 45px;
  padding: 10px 15px;
  border: 1px solid #666;
  border-radius: 0;
  font-size: 14px;
  color: #333;
  outline: none;
  box-shadow: none;
  background: transparent;
}

#ove-form .ove-form-control::placeholder {
  color: #333;
}

#ove-form .ove-form-control:focus {
  border-color: #174276;
}

#ove-form .ove-form-phone-wrapper {
  display: flex;
  align-items: center;
  border: 1px solid #666;
  height: 45px;
  background: transparent;
}

#ove-form .ove-form-country-code {
  padding-left: 10px;
  padding-right: 5px;
  color: #333;
  font-size: 14px;
  white-space: nowrap;
}

#ove-form .ove-form-control-phone {
  border: none;
  height: 100%;
  padding-left: 5px;
  width: 100%;
}

#ove-form .ove-form-control-phone:focus {
  border: none;
  outline: none;
}

#ove-form label.error {
  color: red;
  font-size: 12px;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 2px;
  display: block;
  width: 100%;
  text-align: left;
}

#ove-form input.error {
  border-color: red !important;
}

#ove-form .ove-form-submit-wrapper {
  text-align: center;
  margin-top: 25px;
}

#ove-form .ove-btn-submit {
  background-color: #003366;
  font-family: "Perpetua";
  color: #fff;
  border: none;
  padding: 10px 30px;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s;
}

#ove-form .ove-btn-submit:hover {
  background-color: #08264a;
}

@media (max-width: 768px) {
  .address-wrap p {
    /* color: #fff; */
    font-size: 16px;
  }
  #presenting h1 {
    line-height: 25px;
  }
  #ove-form {
    padding: 50px 0px;
  }
  #ove-form .ove-form-container {
    padding: 25px 20px;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    background: #fff;
  }

  #ove-form .ove-form-row {
    flex-direction: column;
    gap: 25px;
  }

  #ove-form .ove-form-heading {
    font-size: 14px;
    /* line-height: 1.4; */
    letter-spacing: 1px;
  }

  #ove-form .ove-form-group {
    width: 100%;
  }
}
.ove-text {
  text-align: center;
}
.know-more-btn {
  background-color: #003366;
  font-family: "Perpetua";
  color: #fff;
  border: none;
  padding: 15px 30px;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s;
  display: block;
  margin: 30px auto;
}

/*.project-wrap p {*/
/*    display: flex;*/
/*    align-items: center;*/
/*    gap: 10px;*/
/*}*/

/*.project-wrap p i {*/
/*    color: #fff;     */
/*    font-size: 18px;*/
/*    width: 30px;*/
/*}*/

/*.highlight-grid {*/
/*    display: grid;*/
/*    grid-template-columns: repeat(4, 1fr);  */
/*    gap: 20px;*/
/*}*/

/*.project-wrap {*/
/*    background: #0b3b6f;          */
/*    border-radius: 6px;*/
/*    padding: 30px 20px;*/
/*    height: 100%;                 */
/*    display: flex;*/
/*    flex-direction: column;       */
/*    align-items: center;*/
/*    justify-content: flex-start;*/
/*    text-align: center;*/
/*    gap: 14px;*/
/*}*/

/*.project-wrap i {*/
/*    color: #fff;*/
/*    font-size: 34px;*/
/*}*/

/*.project-wrap p {*/
/*    color: #fff;*/
/*    margin: 0;*/
/*}*/

/*@media (max-width: 992px) {*/
/*    .highlight-grid { grid-template-columns: repeat(2, 1fr); }*/
/*}*/
/*@media (max-width: 576px) {*/
/*    .highlight-grid { grid-template-columns: 1fr; }*/
/*}*/

/*.highlight-carousel .project-wrap {*/
/*    background: #0b3b6f;          */
/*    border-radius: 6px;*/
/*    padding: 35px 20px;*/
/*    min-height: 180px;*/
/*    display: flex;*/
/*    flex-direction: column;       */
/*    align-items: center;*/
/*    justify-content: center;*/
/*    text-align: center;*/
/*    gap: 14px;*/
/*}*/

/*.highlight-carousel .project-wrap i {*/
/*    color: #fff;*/
/*    font-size: 40px;*/
/*}*/

/*.highlight-carousel .project-wrap p {*/
/*    color: #fff;*/
/*    margin: 0;*/
/*    font-size: 15px;*/
/*}*/

/* nav arrows */
/*.highlight-carousel .owl-nav button.owl-prev,*/
/*.highlight-carousel .owl-nav button.owl-next {*/
/*    font-size: 26px !important;*/
/*    color: #0b3b6f !important;*/
/*    margin: 0 8px;*/
/*}*/
/*.highlight-carousel .owl-dots { margin-top: 15px; }*/

/*.highlight-carousel .owl-stage {*/
/*    display: flex;*/
/*}*/

/* ===== Project Highlights Carousel ===== */

/* equal-height cards */
.highlight-carousel .owl-stage {
  display: flex;
}

.highlight-carousel .owl-item {
  display: flex;
  height: auto; /* let flex control height */
}

.highlight-carousel .item {
  display: flex;
  width: 100%;
}

/* the card */
.highlight-carousel .project-wrap {
  width: 100%; /* fill the item */
  background: #0b3b6f; /* your dark blue */
  border-radius: 6px;
  padding: 35px 20px;
  display: flex;
  flex-direction: column; /* icon above text */
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 14px;
}

.highlight-carousel .project-wrap i {
  color: #fff;
  font-size: 40px;
}

.highlight-carousel .project-wrap p {
  color: #fff;
  margin: 0;
  font-size: 15px;
}

/* nav arrows */
.highlight-carousel .owl-nav button.owl-prev,
.highlight-carousel .owl-nav button.owl-next {
  font-size: 26px !important;
  color: #0b3b6f !important;
  margin: 0 8px;
}

.highlight-carousel .owl-dots {
  margin-top: 15px;
}
/* clamp to 4 lines by default */
.read-more-text {
  display: -webkit-box;
  -webkit-line-clamp: 4; /* number of lines to show */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* expanded state shows everything */
.read-more-text.expanded {
  -webkit-line-clamp: unset;
  overflow: visible;
}

.read-more-btn {
  background: none;
  border: none;
  color: #0b3b6f; /* your dark blue */
  font-weight: 600;
  cursor: pointer;
  padding: 5px 0;
  margin-top: 5px;
}

.read-more-btn:hover {
  text-decoration: underline;
}
/* ===== Overview Section ===== */
#presenting.padding {
  padding: 70px 0;
}

#presenting.grey-bg {
  background: #f2f2f2; /* your grey background */
}

/* "Overview" title */
#presenting .section-title {
  font-size: 30px;
  font-weight: 700;
  color: #0b3b6f; /* your dark blue */
  text-align: center;
  letter-spacing: 1px;
}

/* underline below the title */
#presenting .head-line {
  width: 60px;
  height: 3px;
  background: #0b3b6f;
  margin: 12px auto 0;
}

#presenting .section-subtitle {
  margin-bottom: 20px;
}

/* main heading */
.overview-title {
  font-size: 26px;
  line-height: 1.3;
  color: #0b3b6f;
  text-align: center;
  margin: 30px 0 25px;
}

/* paragraphs */
.overview-content .ove-text {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  text-align: center;
  margin-bottom: 15px;
}

/* second paragraph hidden by default */
.more-text {
  display: none;
}

.more-text.show {
  display: block;
}

/* Read More button */
.read-more-btn {
  margin: 0;
  padding: 0 0 0 6px; /* only a little left space from the text */
  background: none;
  border: none;
  color: #0b3b6f;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  vertical-align: baseline; /* sit on the text baseline, no line inflation */
}

.read-more-btn:hover {
  text-decoration: underline;
}
/* ============================================================
   LP REVAMP (Jul 2026) — merged overview+form, config tabs,
   highlights image slider, location tabs, CTA glow
   ============================================================ */

/* ---------- Overview merged with form ---------- */
.ove-merged {
  display: flex;
  align-items: flex-start;
  margin-top: 35px;
}

.ove-merged .ovm-title {
  text-align: left;
  margin-top: 10px;
}

.ove-merged .ovm-text {
  text-align: left;
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 15px;
}

.ovm-subtitle {
  font-size: 21px;
  color: #0b3b6f;
  text-align: left;
  font-weight: 700;
  margin: 22px 0 12px;
}

.ove-merged .know-btn-wrap {
  text-align: left;
}

.ove-merged .know-more-btn {
  display: inline-block;
  margin: 25px 0 0;
}

.ovc-card {
  background: #fff;
  border-radius: 14px;
  padding: 32px 28px;
  box-shadow: 0 14px 40px rgba(11, 59, 111, 0.12);
  border-top: 6px solid #003366;
}

.ovc-heading {
  font-family: "Perpetua";
  color: #3c3c3a;
  letter-spacing: 0.6px;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  text-transform: none;
  text-align: center;
  margin: 0 0 26px;
}

.ovc-heading .ovc-heading-hl {
  color: #003366;
  font-weight: 700;
  display: block;
  white-space: nowrap;
  font-size: 18px;
  margin-bottom: 4px;
}

.ovc-group {
  position: relative;
  margin-bottom: 27px;
}

.ovc-control {
  width: 100%;
  height: 45px;
  padding: 10px 15px;
  border: 1px solid #999;
  border-radius: 6px;
  font-size: 14px;
  color: #333;
  outline: none;
  box-shadow: none;
  background: transparent;
}

.ovc-control::placeholder {
  color: #555;
}

.ovc-control:focus {
  border-color: #003366;
}

.ovc-phone-wrapper {
  display: flex;
  align-items: center;
  border: 1px solid #999;
  border-radius: 6px;
  height: 45px;
  background: transparent;
}

.ovc-country-code {
  padding-left: 12px;
  padding-right: 5px;
  color: #333;
  font-size: 14px;
  white-space: nowrap;
}

.ovc-control-phone,
.ovc-control-phone:focus {
  border: none;
  outline: none;
  height: 100%;
  padding-left: 6px;
}

.ovc-group label.error {
  color: red;
  font-size: 12px;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 3px;
  display: block;
  width: 100%;
  text-align: left;
}

.ovc-group input.error,
.ovc-group input.error ~ .ovc-phone-wrapper {
  border-color: red !important;
}

.ovc-submit-wrap {
  text-align: center;
  margin-top: 5px;
}

.ovc-btn-submit {
  background-color: #003366;
  font-family: "Perpetua";
  color: #fff;
  border: none;
  border-radius: 6px;
  width: 100%;
  padding: 13px 30px;
  font-size: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s;
}

.ovc-btn-submit:hover {
  background-color: #08264a;
}

@media (max-width: 991px) {
  .ove-merged {
    flex-direction: column;
  }

  .ove-merged .ove-merged-text,
  .ove-merged .ove-merged-form {
    width: 100%;
  }

  .ove-merged-form {
    margin-top: 35px;
  }

  .ovc-card {
    max-width: 560px;
    margin: 0 auto;
  }
}

/* ---------- Configuration tabs (lakescape style) ---------- */
.config-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  border: none;
  margin-bottom: 32px;
  padding-left: 0;
}

.config-tabs li {
  float: none;
  margin: 0;
  list-style: none;
}

.config-tabs li a {
  display: block;
  padding: 10px 24px;
  border: 1px solid #fff;
  border-radius: 30px;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  background: transparent;
  text-decoration: none;
  transition: all 0.3s ease;
}

.config-tabs li a:hover,
.config-tabs li a:focus,
.config-tabs li.active a {
  background: #fff;
  color: #003366;
  text-decoration: none;
}

.config-tab-content {
  max-width: 960px;
  margin: 0 auto;
}

.config-pane {
  display: flex;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
}

.config-pane-info {
  flex: 0 0 320px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 35px 28px;
}

.config-pane-info h3 {
  color: #003366;
  font-size: 21px;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.config-pane-info .config-line {
  background: #003366;
}

.config-pane-info h2 {
  color: #0b3b6f;
  font-size: 23px;
  font-weight: 800;
  margin: 0 0 8px;
}

.config-pane-info .pricing_btn {
  margin-top: 14px;
}

.config-pane-img {
  flex: 1;
  min-height: 320px;
  position: relative;
}

.config-pane-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ---------- Blurred / click-to-unlock configuration image ---------- */
.config-img-lock {
  cursor: pointer;
  overflow: hidden;
}

.config-img-lock img {
  filter: blur(9px);
  transform: scale(1.08);
  transition:
    filter 0.35s ease,
    transform 0.35s ease;
}

.config-img-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  color: #fff;
  background: rgba(0, 51, 102, 0.45);
  transition: background 0.35s ease;
}

.config-img-overlay i {
  font-size: 30px;
  margin-bottom: 12px;
}

.config-img-overlay span {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.config-img-overlay small {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  letter-spacing: 0.4px;
  opacity: 0.9;
}

.config-img-lock:hover img {
  filter: blur(6px);
  transform: scale(1.12);
}

.config-img-lock:hover .config-img-overlay {
  background: rgba(0, 51, 102, 0.58);
}

/* ---------- Plots slider inside the configuration tab ---------- */
.config-carousel .item {
  padding: 0 2px;
}

.config-carousel .owl-nav button.owl-prev,
.config-carousel .owl-nav button.owl-next {
  font-size: 24px !important;
  color: #fff !important;
  margin: 0 10px;
}

.config-carousel .owl-nav button.owl-prev:hover,
.config-carousel .owl-nav button.owl-next:hover {
  color: #d5b659 !important;
  background: transparent !important;
}

.config-carousel .owl-dots {
  margin-top: 18px;
}

.config-carousel .owl-dots .owl-dot span {
  background: rgba(255, 255, 255, 0.45);
}

.config-carousel .owl-dots .owl-dot.active span,
.config-carousel .owl-dots .owl-dot:hover span {
  background: #fff;
}

@media (max-width: 767px) {
  .config-tabs li a {
    padding: 8px 16px;
    font-size: 13px;
  }

  .ove-merged {
    display: flex;
    align-items: flex-start;
    margin-top: 0px;
  }

  .config-pane {
    flex-direction: column-reverse;
  }

  .config-pane-info {
    flex: none;
    padding: 26px 20px;
  }

  .config-pane-img {
    min-height: 0;
    height: 220px;
  }
}

/* ---------- Project highlights image slider ---------- */
/* The section runs near the full window instead of the 1170px container, so the
   three cards get the width the page margins were eating. */
#project-highlight .container {
  width: 100%;
  max-width: 1720px;
  padding-left: 24px;
  padding-right: 24px;
}

/* 5/3 (1.67) is the middle of the photos' own 1.50-1.91 range, so cover fills
   the card edge to edge - no band - while trimming at most ~10% off one
   dimension instead of the ~40% a near-square card forced. Card height follows
   from the width the carousel gives it. */
.hl-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  height: auto;
  aspect-ratio: 5 / 3;
  background: #0a1f38;
}

.hl-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s ease;
}

.hl-card:hover img {
  transform: scale(1.08);
}

/* Layers above the photo. These need explicit z-index because the photo itself
   sits at z-index 1 (above the blurred ::before backdrop), and a positioned
   element with z-index auto would otherwise be painted under it. */
.hl-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background: linear-gradient(
    180deg,
    rgba(0, 22, 48, 0) 40%,
    rgba(0, 22, 48, 0.85) 100%
  );
  transition: background 0.4s ease;
}

/* No navy wash creeps over the photo on hover - the overlay stays exactly as
   it rests, so hovering only zooms the image. The resting gradient stays put
   because the white caption needs it to remain readable. */

.hl-text {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index: 3;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  text-align: left;
}

.hl-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 26px;
  opacity: 0;
  transform: translate(-50%, -60%) scale(0.7);
  transition: all 0.4s ease;
}

.hl-card:hover .hl-icon {
  opacity: 1;
  transform: translate(-50%, -60%) scale(1);
}

.hl-tag {
  position: absolute;
  top: 6px;
  right: 8px;
  color: #ffff;
  /* color: rgba(255, 255, 255, 0.9); */
  font-size: 10px;
  font-style: italic;
  letter-spacing: 0.3px;
  line-height: 1;
  padding: 0;
  background: transparent;
  text-transform: none;
  /* text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85); */
  z-index: 3;
  pointer-events: none;
}

@media (hover: none) {
  .hl-icon {
    opacity: 1;
    transform: translate(-50%, -60%) scale(1);
  }
}

@media (max-width: 767px) {
  /* height:auto so the 5/3 ratio keeps driving the card on phones too - a fixed
     height here would override it and bring the cropping straight back */
  .hl-card {
    height: auto;
  }
}

/* ---------- Location advantage (passionsquare layout) ---------- */
#location {
  background: #f6f8fa;
}

.loc-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 32px 0 30px;
}

.loc-tab {
  border: 1px solid #003366;
  background: #fff;
  color: #003366;
  border-radius: 30px;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  outline: none;
}

.loc-tab:hover,
.loc-tab.active {
  background: #003366;
  color: #fff;
}

.loc-flex {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

.loc-cards-col {
  flex: 1.25;
  min-width: 0;
}

.loc-map-col {
  flex: 1;
  min-width: 0;
}

/* ===== Location map — reference (passionsquare) box hover effect ===== */
.loc-map {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  width: 100%;
}

.loc-map .box-content {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.loc-map .box-content img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transform: scale(1.05);
  transition:
    opacity 0.4s ease,
    transform 0.5s ease;
}

.loc-map:hover .box-content img,
.loc-map.fx-play .box-content img {
  opacity: 0.25;
  transform: scale(1.15);
}

/* dark gradient overlay fades in on hover (brand navy) */
.loc-map .img-overlay {
  position: absolute;
  inset: 0;
  background: transparent;
  transition: background 0.4s ease;
  z-index: 2;
  pointer-events: none;
}

.loc-map:hover .img-overlay,
.loc-map.fx-play .img-overlay {
  background: linear-gradient(
    to top,
    rgba(0, 51, 102, 0.85),
    rgba(0, 0, 0, 0.55)
  );
}

/* "Location Map" title slides up + fades in on hover */
.loc-map .inner-content {
  color: #fff;
  text-align: center;
  width: 80%;
  opacity: 0;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 65%;
  left: 50%;
  transition: all 500ms ease;
  z-index: 4;
  pointer-events: none;
}

.loc-map:hover .inner-content,
.loc-map.fx-play .inner-content {
  opacity: 1;
  top: 50%;
}

.loc-map .inner-content .title {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0;
}

/* two white lines draw an inset frame from opposite corners on hover */
.loc-map:before,
.loc-map:after,
.loc-map .box-content:before,
.loc-map .box-content:after {
  content: "";
  background: #fff;
  width: 0;
  height: 3px;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 5;
  transition: all 600ms ease;
  pointer-events: none;
}

.loc-map:after {
  top: auto;
  bottom: 20px;
  left: auto;
  right: 20px;
}

.loc-map .box-content:before,
.loc-map .box-content:after {
  width: 3px;
  height: 0;
}

.loc-map .box-content:after {
  left: auto;
  right: 20px;
  top: auto;
  bottom: 20px;
}

.loc-map:hover:before,
.loc-map:hover:after,
.loc-map.fx-play:before,
.loc-map.fx-play:after {
  width: calc(100% - 40px);
}

.loc-map:hover .box-content:before,
.loc-map:hover .box-content:after,
.loc-map.fx-play .box-content:before,
.loc-map.fx-play .box-content:after {
  height: calc(100% - 40px);
}

/* Touch devices (no hover): the map rests bright, exactly like desktop. The JS
   at the foot of index.php adds .fx-play once, the first time the map scrolls
   into view, so the effect plays itself and then fades back out. */
@media (hover: none), (max-width: 767px) {
  /* the frame's 20px inset is proportionally huge on a small map */
  .loc-map:before,
  .loc-map:after,
  .loc-map .box-content:before,
  .loc-map .box-content:after {
    top: 12px;
    left: 12px;
  }

  .loc-map:after,
  .loc-map .box-content:after {
    top: auto;
    left: auto;
    right: 12px;
    bottom: 12px;
  }

  .loc-map:hover:before,
  .loc-map:hover:after,
  .loc-map.fx-play:before,
  .loc-map.fx-play:after {
    width: calc(100% - 24px);
  }

  .loc-map:hover .box-content:before,
  .loc-map:hover .box-content:after,
  .loc-map.fx-play .box-content:before,
  .loc-map.fx-play .box-content:after {
    height: calc(100% - 24px);
  }
}

.loc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.loc-card {
  display: none;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 12px;
  padding: 16px 18px;
  border: 1px solid #e6ecf2;
  box-shadow: 0 6px 18px rgba(11, 59, 111, 0.07);
}

.loc-card.loc-card-show {
  display: flex;
  animation: locFade 0.45s ease;
}

@keyframes locFade {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.loc-card-cat {
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #8a97a5;
  margin-bottom: 5px;
}

.loc-card-name {
  font-size: 15px;
  font-weight: 700;
  color: #0b3b6f;
  line-height: 1.35;
}

.loc-card-dist {
  text-align: right;
  color: #003366;
  font-weight: 800;
  font-size: 16px;
  white-space: nowrap;
  padding-left: 14px;
}

.loc-card-dist small {
  display: block;
  font-weight: 600;
  font-size: 11px;
  color: #7d8894;
  margin-top: 2px;
}

@media (max-width: 991px) {
  .loc-flex {
    flex-direction: column;
  }

  .loc-cards-col,
  .loc-map-col {
    width: 100%;
    flex: none;
  }

  .loc-map-col {
    margin-top: 25px;
  }
}

@media (max-width: 575px) {
  .loc-grid {
    grid-template-columns: 1fr;
  }

  .loc-tab {
    padding: 8px 16px;
    font-size: 13px;
  }
}

/* ---------- About us tagline on one line ---------- */
.side-serin {
  white-space: nowrap !important;
  margin-top: 0 !important;
  font-size: clamp(15px, 2vw, 26px) !important;
}

/* Tagline sits right beside the divider, vertically centred against the logo.
   margin:0 matters as much as the alignment: the row centres flex items
   box-and-margin, so a leftover bottom margin would ride the text a few px
   above the logo's true centre. */
#about-us .about-flex .side-serin {
  text-align: left !important;
  margin: 0 !important;
  padding-left: 10px;
}

/* the row and the copy below it were sitting far apart */
#about-us .about-flex {
  margin-bottom: 14px;
}

@media (max-width: 767px) {
  /* the About copy runs long on a phone - tighten the leading */
  #about-us .sider {
    line-height: 1.45;
  }
}

/* ---------- CTA glow animation (lakescape reference) ---------- */
.glowanimation {
  animation: ctaglowing 1500ms infinite;
}

@keyframes ctaglowing {
  0% {
    box-shadow: 0 0 3px #003366;
  }

  50% {
    box-shadow: 0 0 30px #1c5da5;
  }

  100% {
    box-shadow: 0 0 3px #003366;
  }
}

/* ---------- fixes: config pane image on mobile, phone field underline ---------- */
@media (max-width: 767px) {
  .config-pane-img {
    flex: none;
    height: 220px;
  }
}

.ovc-phone-wrapper {
  border: none;
  border-bottom: 2px solid #000;
  border-radius: 0;
  padding-bottom: 0;
}

#register-form input.ovc-control-phone,
#register-form input.ovc-control-phone:focus {
  border: none;
  height: 100%;
  background: transparent;
}

.ovc-phone-wrapper:has(input.error) {
  border-bottom-color: red;
}

/* ---------- premium modals ---------- */
.modal-backdrop {
  background-color: #061a30;
}

.modal-backdrop.in {
  opacity: 0.75;
}

.modal .modal-content {
  background: #ffffff !important;
  border: none;
  border-radius: 20px;
  overflow: hidden;
  padding: 42px 26px 34px;
  position: relative;
  box-shadow: 0 35px 90px rgba(2, 18, 40, 0.5);
}

.modal .modal-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 7px;
  background: linear-gradient(90deg, #003366, #1c5da5, #003366);
}

.modal .modal-logo {
  display: block;
  margin: 0 auto 14px;
  width: 96px;
}

.modal .modal-body h3 {
  color: #0b3b6f !important;
  font-family: "Perpetua";
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-size: 22px;
  text-align: center;
  margin: 6px 0 8px;
}

.modal .modal-body p {
  color: #6a7686 !important;
  font-size: 13px;
  text-align: center;
  margin-bottom: 22px;
}

.modal .modal-body .close {
  color: #0b3b6f;
  background: #eef2f7;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  line-height: 30px;
  text-align: center;
  top: 16px;
  right: 16px;
  opacity: 1;
  text-shadow: none;
  transition: all 0.3s ease;
}

.modal .modal-body .close:hover {
  background: #0b3b6f;
  color: #fff;
  transform: rotate(90deg);
}

.modal .modal-body .input-group {
  width: 100%;
  display: flex;
  align-items: center;
  border: 1px solid #dfe6ee;
  border-radius: 12px;
  background: #f7f9fc;
  overflow: hidden;
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.modal .modal-body .input-group:focus-within {
  border-color: #003366;
  box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.1);
}

.modal .modal-body .input-group-addon {
  background: transparent !important;
  border: none !important;
  color: #003366 !important;
  padding: 0 4px 0 14px;
  width: auto;
}

.modal .modal-body .input-group-addon i {
  color: #003366 !important;
  font-size: 15px;
}

.modal .modal-body .form-control {
  border: none !important;
  background: transparent !important;
  height: 48px;
  box-shadow: none;
  color: #333;
  font-size: 14px;
}

.modal .modal-body .form-control::placeholder {
  color: #8a97a5;
}

.modal .modal-body label.error {
  color: #d43c3c;
  font-size: 12px;
  text-align: left;
}

.modal .modal-body .popup-btn {
  width: 100%;
  border-radius: 12px;
  padding: 13px;
  background: linear-gradient(135deg, #003366, #12559e);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-size: 15px;
  box-shadow: 0 10px 24px rgba(0, 51, 102, 0.35);
  transition: all 0.3s ease;
  margin-top: 4px;
}

.modal .modal-body .popup-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 51, 102, 0.45);
}

.modal .modal-body .check-txt {
  color: #6a7686 !important;
}

.modal .modal-body .check-txt a {
  color: #0b3b6f !important;
}

/* ---------- premium hamburger menu ---------- */
.navbar-default .navbar-toggle .icon-bar {
  width: 24px;
  height: 3px;
  border-radius: 4px;
}

.menu-overlay {
  background: linear-gradient(165deg, #00152b 0%, #003366 60%, #0a4a8f 140%);
}

.menu-overlay-content {
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
}

.menu-overlay a.m-link {
  display: block;
  max-width: 280px;
  margin: 4px auto;
  padding: 13px 8px;
  color: #fff;
  font-family: "Perpetua";
  font-size: 21px;
  letter-spacing: 3px;
  text-transform: uppercase;
  position: relative;
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 0.45s ease,
    transform 0.45s ease,
    color 0.3s ease;
}

.menu-overlay a.m-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 6px;
  width: 26px;
  height: 2px;
  background: rgba(255, 255, 255, 0.25);
  transform: translateX(-50%);
  transition: all 0.35s ease;
}

.menu-overlay a.m-link:hover::after {
  width: 70px;
  background: #fff;
}

.menu-overlay.menu-open a.m-link {
  opacity: 1;
  transform: translateY(0);
}

.menu-overlay.menu-open a.m-link:nth-child(2) {
  transition-delay: 0.1s;
}
.menu-overlay.menu-open a.m-link:nth-child(3) {
  transition-delay: 0.16s;
}
.menu-overlay.menu-open a.m-link:nth-child(4) {
  transition-delay: 0.22s;
}
.menu-overlay.menu-open a.m-link:nth-child(5) {
  transition-delay: 0.28s;
}
.menu-overlay.menu-open a.m-link:nth-child(6) {
  transition-delay: 0.34s;
}
.menu-overlay.menu-open a.m-link:nth-child(7) {
  transition-delay: 0.4s;
}
.menu-overlay.menu-open a.m-link:nth-child(8) {
  transition-delay: 0.46s;
}

.menu-overlay .closebtn {
  top: 18px;
  right: 22px;
  font-size: 30px;
  width: 46px;
  height: 46px;
  line-height: 44px;
  text-align: center;
  padding: 0;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  transition: all 0.3s ease;
}

.menu-overlay .closebtn:hover {
  background: rgba(255, 255, 255, 0.12);
  transform: rotate(90deg);
}

.modal .modal-body .close {
  padding: 0;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal .modal-body .close span {
  display: block;
  line-height: 1;
}

.modal .modal-body .close span {
  margin: 0;
  font-size: 20px;
}

/* ---------- serenehub.divyasree.com look & feel: Galano Grotesque typography ---------- */
@font-face {
  font-family: "GalanoGrotesqueAltLight";
  src: url("../fonts/GalanoGrotesqueAltLight.otf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family: "GalanoGrotesqueAltSemiBold";
  src: url("../fonts/GalanoGrotesqueAltSemiBold.otf") format("opentype");
  font-display: swap;
}

body,
p,
a,
li,
input,
textarea,
select,
button,
.ove-text,
.ovc-control,
.loc-card-cat,
.check-txt,
.footer-text,
.sider {
  font-family: "GalanoGrotesqueAltLight", sans-serif;
}

body {
  letter-spacing: 1.5px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.sec-head,
.section-title,
.overview-title,
.ovm-subtitle,
.ovc-heading,
.side-serin,
.know-more-btn,
.ovc-btn-submit,
.pricing_btn,
.popup-btn,
.download-btn,
.interested,
.fix-link,
.config-tabs li a,
.loc-tab,
.hl-text,
.loc-card-name,
.loc-card-dist,
.menu-overlay a.m-link,
.navbar-nav li a {
  font-family: "GalanoGrotesqueAltSemiBold", sans-serif;
}

.sec-head,
.section-title {
  letter-spacing: 3px;
}

.fa,
.fas,
.fa-solid,
.glyphicon {
  letter-spacing: 0;
}

/* restore Check Price button styling inside the new config panes */
.config-pane-info .pricing_btn {
  background: #003366;
  border: none;
  font-size: 13px;
  color: #fff;
  padding: 12px 24px;
  border-radius: 12px;
  margin: 5px 0px;
  font-weight: 600;
  outline: none;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.config-pane-info .pricing_btn:hover {
  background: #08264a;
}

body {
  font-family: "GalanoGrotesqueAltLight", sans-serif !important;
}

#presenting h1,
#presenting h2,
.modal .modal-body h3 {
  font-family: "GalanoGrotesqueAltSemiBold", sans-serif;
}

/* ---------- hub reference: luxe modal look ---------- */
.modal .modal-content,
.modal .modal-content.modal-content {
  background: #fff !important;
  border: 1px solid rgba(0, 51, 102, 0.35);
  border-radius: 0;
  padding: 14px 6px;
  box-shadow: 0 40px 90px rgba(15, 34, 56, 0.35);
}

.modal .modal-content::before {
  display: none;
}

.modal .modal-logo {
  display: none;
}

.modal.fade .modal-dialog {
  -webkit-transform: translateY(30px) scale(0.97);
  transform: translateY(30px) scale(0.97);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.modal.fade.in .modal-dialog {
  -webkit-transform: none;
  transform: none;
}

.modal .modal-body {
  padding: 34px 36px 38px;
}

.modal .modal-body h3::before {
  content: none;
}

.modal .modal-body h3 {
  font-family: "GalanoGrotesqueAltLight", sans-serif !important;
  color: #3c3c3a !important;
  font-size: 34px;
  font-weight: 400;
  letter-spacing: 0.5px;
  text-transform: none;
  text-align: left;
  margin: 0 0 6px;
}

.modal .modal-body h3 .accent-serif {
  font-family: "Fraunces", Georgia, serif;
  font-style: italic;
  font-weight: 350;
  color: #003366;
}

.modal .modal-body p {
  color: #8a8a86 !important;
  font-size: 12px;
  letter-spacing: 1px;
  text-align: left;
  margin-bottom: 26px;
}

.modal .modal-body .input-group,
.modal .modal-body .input-group:focus-within {
  border: none;
  border-bottom: 1px solid #3c3c3a;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  height: 54px;
  transition: border-color 0.3s;
}

.modal .modal-body .input-group:focus-within {
  border-bottom-color: #003366;
}

.modal .modal-body .input-group-addon {
  display: none;
}

.modal .modal-body .form-control {
  height: 52px;
  padding: 16px 0 0 4px;
  font-size: 15px;
  color: #3c3c3a;
}

.modal .modal-body .form-control::placeholder {
  color: #3c3c3a;
  opacity: 1;
}

.modal .modal-body .form-group {
  margin-bottom: 14px;
}

.modal .modal-body .popup-btn {
  width: 100%;
  height: 58px;
  background: transparent;
  border: 1px solid #3c3c3a;
  border-radius: 0;
  color: #3c3c3a;
  font-family: "GalanoGrotesqueAltLight", sans-serif;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
  overflow: hidden;
  box-shadow: none;
  margin-top: 18px;
  transition: color 0.4s;
}

.modal .modal-body .popup-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: #0f2238;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right center;
  transform-origin: right center;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.modal .modal-body .popup-btn::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 13px;
  margin-left: 10px;
  display: inline-block;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.modal .modal-body .popup-btn:hover {
  color: #f4ecdf;
  transform: none;
  box-shadow: none;
}

.modal .modal-body .popup-btn:hover::before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

.modal .modal-body .popup-btn:hover::after {
  transform: translateX(5px);
}

.modal .modal-body .close {
  width: 46px;
  height: 46px;
  background: #fff;
  border: 1px solid rgba(0, 51, 102, 0.45);
  border-radius: 50%;
  color: #003366;
  top: 14px;
  right: 14px;
  z-index: 5;
  font-size: 24px;
  font-weight: 300;
  transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.modal .modal-body .close span {
  font-weight: 300;
  line-height: 1;
}

.modal .modal-body .close:hover {
  background: #fffbf5;
  color: #003366;
  border-color: #003366;
  transform: rotate(90deg);
}

.modal .modal-body .check-txt,
.modal .modal-body .check-txt a {
  color: #3c3c3a !important;
  font-size: 12px;
}

@media (max-width: 575px) {
  .modal .modal-body {
    padding: 30px 22px 32px;
  }

  .modal .modal-body h3 {
    font-size: 27px;
  }
}

.modal .modal-body .popup-btn {
  margin-top: 28px;
}

/* ---------- review fixes ---------- */
#presenting .ove-merged h1.ovm-title {
  text-align: left;
  font-size: 26px;
  padding: 10px 0;
}

@media (max-width: 767px) {
  #presenting .ove-merged h1.ovm-title {
    font-size: 20px;
  }
}

#presenting .row.ove-merged {
  align-items: flex-start;
}

.modal .modal-body form .form-group {
  height: auto;
  margin-bottom: 13px;
}

.side-serin {
  font-size: 15px !important;
  font-size: clamp(15px, 2vw, 26px) !important;
}

.ovc-phone-wrapper.phone-error {
  border-bottom-color: red;
}

/* center SUBMIT text + arrow in modal buttons */
.modal .modal-body .popup-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  line-height: 1;
}

.modal .modal-body .popup-btn::after {
  margin-left: 0;
  line-height: 1;
  position: relative;
  top: 1px;
}

/* close glyph dead-centered in its circle */
.modal .modal-body .close span {
  width: auto;
  height: auto;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 20px;
}

/* ---------- mobile amenities 2x2 swiper slider ---------- */
.ame-slider {
  margin-top: 10px;
}

.ame-slide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 14px;
  padding: 0 6px;
}

.ame-slide .amenities-icon {
  margin: 0;
}

.ame-slider .owl-dots {
  margin-top: 8px;
  text-align: center;
}

/* =========================================================================
   GLOBAL BRAND FONT
   Force GalanoGrotesqueAltSemiBold across the entire landing page, overriding
   the earlier Perpetua / Montserrat / Light / Fraunces declarations.
   Icon glyph fonts (Font Awesome + Glyphicons) are excluded so icons keep
   rendering. The 8 :not() guards also lift this rule's specificity above the
   remaining `!important` font rules on body and the modal heading.
   ========================================================================= */
html body,
html
  body
  *:not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(
    .fa-brands
  ):not(.glyphicon) {
  font-family: "GalanoGrotesqueAltSemiBold", sans-serif !important;
}

/* Text pseudo-element (the modal eyebrow label) - universal * can't reach it */
.modal .modal-body h3::before {
  font-family: "GalanoGrotesqueAltSemiBold", sans-serif !important;
}

/* Neutralise the decorative serif-italic accent on the last word of modal
   headings so the whole title reads in one uniform font. */
.modal .modal-body h3 .accent-serif {
  font-style: normal !important;
  font-weight: inherit !important;
  color: inherit !important;
}

/* =========================================================================
   PREMIUM POPUP FORMS  (Jul 2026)
   Elevates the plain lead-capture modals: rounded branded card, gradient
   accent bar, gold-underlined navy title, soft-filled icon inputs and a
   solid gradient CTA. Applies to every .modal (all share the same form).
   ========================================================================= */
.modal .modal-content,
.modal .modal-content.modal-content {
  padding: 0 !important;
  border: none !important;
  border-radius: 18px !important;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(15, 34, 56, 0.45) !important;
}

/* gradient accent bar across the very top of the card */
.modal .modal-content::before {
  display: block !important;
  content: "" !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #003366 0%, #0b5cab 55%, #d5b659 100%);
  z-index: 4;
}

.modal .modal-body {
  padding: 44px 40px 40px !important;
  background:
    radial-gradient(
      130% 90% at 100% 0%,
      rgba(0, 51, 102, 0.06) 0%,
      transparent 55%
    ),
    #ffffff;
}

/* Title - navy, bold, with a short gold accent underline */
.modal .modal-body h3 {
  color: #003366 !important;
  font-size: 30px;
  font-weight: 700;
  position: relative;
  padding-bottom: 16px;
  margin: 0 0 12px;
}

.modal .modal-body h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 54px;
  height: 3px;
  border-radius: 3px;
  background: #d5b659;
}

.modal .modal-body p {
  color: #6b7280 !important;
  font-size: 13px;
  letter-spacing: 0.3px;
  margin-bottom: 26px;
}

/* Inputs - soft filled, rounded, with a leading brand icon */
.modal .modal-body .input-group,
.modal .modal-body .input-group:focus-within {
  display: flex !important;
  align-items: center;
  gap: 12px;
  height: 54px;
  padding: 0 16px;
  border: 1.5px solid #e3e8ef !important;
  border-radius: 12px !important;
  background: #f7f9fc;
  box-shadow: none;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.modal .modal-body .input-group:focus-within {
  border-color: #003366 !important;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(0, 51, 102, 0.12);
}

.modal .modal-body .input-group-addon {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 22px;
  padding: 0;
  border: none;
  background: transparent;
  color: #003366;
  font-size: 16px;
}

.modal .modal-body .form-control {
  flex: 1;
  width: auto;
  height: 52px;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  font-size: 15px;
  color: #1f2937;
}

.modal .modal-body .form-control::placeholder {
  color: #9aa3af;
  opacity: 1;
}

.modal .modal-body .form-group,
.modal .modal-body form .form-group {
  margin-bottom: 16px;
}

/* CTA - solid navy gradient, prominent */
.modal .modal-body .popup-btn {
  height: 56px;
  margin-top: 24px;
  border: none;
  border-radius: 12px;
  background: linear-gradient(90deg, #003366 0%, #0b4a8f 100%);
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 2px;
  box-shadow: 0 14px 26px rgba(0, 51, 102, 0.3);
}

.modal .modal-body .popup-btn::before {
  background: linear-gradient(90deg, #0b4a8f 0%, #d5b659 130%);
}

.modal .modal-body .popup-btn:hover {
  color: #ffffff;
}

.modal .modal-body .popup-btn::after {
  color: #ffffff;
}

/* Close button - sits above the gradient bar */
.modal .modal-body .close {
  top: 16px;
  right: 16px;
  z-index: 6;
}

/* ==========================================================================
   Premium Gallery Section — Hub6
   Inspired by ankuraapristinepark.in
   ========================================================================== */

/* Kicker / subtitle above heading */
.gall-kicker {
  text-align: center;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #8a7a6a;
  margin-bottom: 6px;
  font-weight: 500;
}

.gall-title {
  margin-bottom: 4px;
}

/* ── Filter Tab Buttons ── */
.gall-filter-wrap {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 28px 0 36px;
  flex-wrap: wrap;
}

.gall-filter-btn {
  background: transparent;
  border: 1px solid rgba(0, 51, 102, 0.35);
  color: #003366;
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 10px 28px;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.35s ease;
  outline: none;
}

.gall-filter-btn:hover {
  background: rgba(0, 51, 102, 0.08);
  border-color: #003366;
}

.gall-filter-btn.active {
  background: #003366;
  color: #fff;
  border-color: #003366;
  box-shadow: 0 8px 22px -8px rgba(0, 51, 102, 0.5);
}

/* ── Swiper Wrapper: full width, centered ── */
.gall-swiper-wrap {
  position: relative;
  width: 100%;
  max-width: 86%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* The Swiper container */
.gall-swiper {
  width: 100%;
  overflow: hidden;
}

/* ── Individual Slide Card ── */
.gall-slide {
  height: 400px;
}

.gall-slide-link {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 12px;
  position: relative;
  text-decoration: none;
  transform: scale(0.85); /* Shrink non-active slides */
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Center (active) slide: full size */
.gall-swiper .swiper-slide-active .gall-slide-link {
  transform: scale(1);
  box-shadow: 0 10px 30px rgba(0,0,0,0.15); /* Soft premium shadow */
  z-index: 2;
}

.gall-slide-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s ease;
}

/* Hover: zoom image inside active slide only */
.gall-swiper .swiper-slide-active .gall-slide-link:hover img {
  transform: scale(1.07);
}

/* Overlay — appears on hover of active slide */
.gall-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 50%,
    rgba(0, 30, 60, 0.55) 100%
  );
  opacity: 0;
  transition: opacity 0.4s ease;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 16px;
  border-radius: 12px;
  z-index: 2;
}

.gall-swiper .swiper-slide-active .gall-slide-link:hover .gall-slide-overlay {
  opacity: 1;
}

/* Zoom icon inside overlay */
.gall-zoom-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #003366;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
}

.gall-swiper .swiper-slide-active .gall-slide-link:hover .gall-zoom-icon {
  background: #003366;
  color: #fff;
  transform: scale(1.1);
}

/* ── Navigation Row: arrows + pagination, below the image ── */
.gall-nav-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 24px;
}

/* ── Navigation Arrow Buttons ── */
.gall-nav-btn {
  position: static;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid #003366;
  background: transparent;
  color: #003366;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  outline: none;
}

.gall-nav-btn:hover {
  background: #003366;
  color: #fff;
  transform: scale(1.08);
}

/* ── Pagination Bullets ── */
.gall-pagination.swiper-pagination-bullets {
  position: static;
  width: auto;
  display: flex;
  align-items: center;
}

.gall-pagination .swiper-pagination-bullet {
  width: 24px;
  height: 3px;
  border-radius: 3px;
  background: rgba(0, 51, 102, 0.3);
  opacity: 1;
  transition: all 0.35s ease;
}

.gall-pagination .swiper-pagination-bullet-active {
  width: 42px;
  background: #003366;
}

/* ── Masterplan Panel ── */
.gall-masterplan-wrap {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 24px 56px -24px rgba(36, 23, 17, 0.45);
  cursor: pointer;
}

.gall-masterplan-img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.8s ease;
}

.gall-masterplan-wrap:hover .gall-masterplan-img {
  transform: scale(1.04);
}

.gall-masterplan-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 30, 60, 0.38);
  opacity: 0;
  transition: opacity 0.4s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
}

.gall-masterplan-wrap:hover .gall-masterplan-overlay {
  opacity: 1;
}

.gall-masterplan-overlay .gall-zoom-icon {
  background: rgba(255, 255, 255, 0.92);
  color: #003366;
  width: 56px;
  height: 56px;
  font-size: 20px;
}

.gall-masterplan-overlay p {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0;
  text-align: center;
}

/* ── Responsive ── */
@media (max-width: 899px) {
  .gall-slide {
    height: 300px;
  }
}

@media (max-width: 639px) {
  .gall-swiper-wrap {
    padding: 0 16px;
  }
  .gall-slide {
    height: 240px;
  }
  .gall-nav-row {
    gap: 16px;
    margin-top: 18px;
  }
  .gall-nav-btn {
    width: 36px;
    height: 36px;
    font-size: 13px;
  }
  .gall-swiper-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}
}

.gall-swiper {
  overflow: hidden !important;
}
