:root {
--color-primary: #C0C8BB;
--color-secondary: #fff;
--font-primary: "Open Sans", sans-serif;
--font-secondary: 'Poppins', sans-serif;
}
.grecaptcha-badge { visibility: hidden; }
html, body {
height: 100%;
font-family:  var(--font-primary);
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
color: #111111;
font-weight: 400;
font-family: var(--font-secondary);
}
h1 {
font-size: 70px;
}
h2 {
font-size: 36px;
}
h3 {
font-size: 30px;
}
h4 {
font-size: 24px;
}
h5 {
font-size: 18px;
}
h6 {
font-size: 16px;
}
p {
font-size: 16px;
font-family: var(--font-primary);
color: #6b6b6b;
font-weight: 400;
line-height: 26px;
margin: 0 0 15px 0;
}
img {
max-width: 100%;
}
input:focus, select:focus, button:focus, textarea:focus {
outline: none;
}
a:hover, a:focus {
text-decoration: none;
outline: none;
color: #19191a;
}
ul, ol {
padding: 0;
margin: 0;
} a.unstyled {
color: #19191a;
text-decoration: none;
}
a.unstyled:hover, a.unstyled:focus {
color: #19191a;
text-decoration: underline;
}
.section-title {
text-align: center;
margin-bottom: 22px;
}
.section-title span {
font-size: 14px;
color: var(--color-primary);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 2px;
}
.section-title h2 {
font-size: 44px;
color: #19191a;
line-height: 58px;
margin-top: 10px;
}
.set-bg {
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
.spad {
padding-top: 100px;
padding-bottom: 100px;
}
.spad-2 {
padding-top: 50px;
padding-bottom: 70px;
}
.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6, .text-white p, .text-white span, .text-white li, .text-white a {
color: #fff;
} .primary-btn {
display: inline-block;
font-size: 13px;
color: #ffffff;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 700;
position: relative;
}
.primary-btn:after {
position: absolute;
left: 0;
bottom: -5px;
width: 100%;
height: 2px;
background: var(--color-primary);
content: "";
} #preloder {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 999999;
background: #ffffff;
}
.loader {
width: 40px;
height: 40px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -13px;
margin-left: -13px;
border-radius: 60px;
animation: loader 0.8s linear infinite;
-webkit-animation: loader 0.8s linear infinite;
}
@keyframes loader {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
border: 4px solid #f44336;
border-left-color: transparent;
}
50% {
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
border: 4px solid #673ab7;
border-left-color: transparent;
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
border: 4px solid #f44336;
border-left-color: transparent;
}
}
@-webkit-keyframes loader {
0% {
-webkit-transform: rotate(0deg);
border: 4px solid #f44336;
border-left-color: transparent;
}
50% {
-webkit-transform: rotate(180deg);
border: 4px solid #673ab7;
border-left-color: transparent;
}
100% {
-webkit-transform: rotate(360deg);
border: 4px solid #f44336;
border-left-color: transparent;
}
}
.spacial-controls {
position: fixed;
width: 111px;
height: 91px;
top: 0;
right: 0;
z-index: 999;
}
.spacial-controls .search-switch {
display: block;
height: 100%;
padding-top: 30px;
background: #323232;
text-align: center;
cursor: pointer;
}
.search-model {
display: none;
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: #000;
z-index: 99999;
}
.search-model-form {
padding: 0 15px;
}
.search-model-form input {
width: 500px;
font-size: 40px;
border: none;
border-bottom: 2px solid #333;
background: none;
color: #999;
}
.search-close-switch {
position: absolute;
width: 50px;
height: 50px;
background: #333;
color: #fff;
text-align: center;
border-radius: 50%;
font-size: 28px;
line-height: 28px;
top: 30px;
cursor: pointer;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
} .brand-name__container {
display: flex;
align-items: center;
}
.brand-name {
font-size: 35px;
}
.header-section .menu-item {
-webkit-box-shadow: 0px 12px 15px rgba(36, 11, 12, 0.05);
box-shadow: 0px 12px 15px rgba(36, 11, 12, 0.05);
}
.header-section .logo {
max-width: 150px;
}
.header-section .header-row {
align-items: center;
}
.top-nav {
border-bottom: 1px solid #e5e5e5;
}
.top-nav .tn-left li {
list-style: none;
display: inline-block;
font-size: 16px;
color: #19191a;
font-weight: 500;
padding: 14px 0 12px;
margin-right: 64px;
position: relative;
}
.top-nav .tn-left li:after {
position: absolute;
right: -32px;
top: 0;
width: 1px;
height: 100%;
background: #e5e5e5;
content: "";
}
.top-nav .tn-left li:last-child {
margin-right: 0;
}
.top-nav .tn-left li:last-child:after {
display: none;
}
.top-nav .tn-left li i {
color: var(--color-primary);
margin-right: 4px;
}
.top-nav .tn-right {
text-align: right;
}
.top-nav .tn-right .top-social {
display: inline-block;
margin-right: 35px;
padding: 13px 0;
}
.top-nav .tn-right .top-social a {
display: inline-block;
font-size: 16px;
color: #19191a;
margin-left: 15px;
}
.top-nav .tn-right .bk-btn {
display: inline-block;
font-size: 13px;
font-weight: 700;
padding: 16px 28px 15px;
background: var(--color-primary);
color: #ffffff;
text-transform: uppercase;
letter-spacing: 2px;
}
.top-nav .tn-right .language-option {
display: inline-block;
margin-left: 30px;
cursor: pointer;
padding: 13px 0px 11px;
position: relative;
}
.top-nav .tn-right .language-option:hover .flag-dropdown {
top: 40px;
opacity: 1;
visibility: visible;
}
.top-nav .tn-right .language-option img {
margin-right: 10px;
}
.top-nav .tn-right .language-option span {
font-size: 16px;
color: #19191a;
text-transform: uppercase;
font-weight: 500;
}
.top-nav .tn-right .language-option .flag-dropdown {
position: absolute;
left: 0;
top: 60px;
width: 100px;
background: #ffffff;
display: block;
padding: 10px 15px;
-webkit-box-shadow: 0px 9px 10px rgba(25, 25, 26, 0.2);
box-shadow: 0px 9px 10px rgba(25, 25, 26, 0.2);
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
z-index: 99;
}
.top-nav .tn-right .language-option .flag-dropdown ul li {
list-style: none;
text-align: left;
}
.top-nav .tn-right .language-option .flag-dropdown ul li a {
font-size: 14px;
text-transform: uppercase;
font-weight: 500;
color: #19191a;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.top-nav .tn-right .language-option .flag-dropdown ul li a:hover {
color: var(--color-primary);
}
.menu-item {
position: relative;
z-index: 9;
}
.menu-item .logo a {
display: inline-block;
}
.menu-item .nav-menu {
text-align: right;
}
.menu-item .nav-menu .mainmenu {
display: inline-block;
}
.menu-item .nav-menu .mainmenu li {
list-style: none;
display: inline-block;
position: relative;
z-index: 1;
}
.menu-item .nav-menu .mainmenu li.active a:after {
opacity: 1;
}
.menu-item .nav-menu .mainmenu li:hover>a:after {
opacity: 1;
}
.menu-item .nav-menu .mainmenu li:hover .dropdown {
top: 77px;
opacity: 1;
visibility: visible;
}
.menu-item .nav-menu .mainmenu li:not(:last-child) a {
margin-right: 42px;
}
.menu-item .nav-menu .mainmenu li a {
font-size: 16px;
font-family: var(--font-secondary);
color: #19191a;
font-weight: 500;
display: inline-block;
padding: 27px 0;
position: relative;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.menu-item .nav-menu .mainmenu li a:after {
position: absolute;
left: 0;
top: 52px;
width: 100%;
height: 2px;
background: var(--color-primary);
content: "";
opacity: 0;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.menu-item .nav-menu .mainmenu li .dropdown {
position: absolute;
left: 0;
top: 97px;
width: 250px;
background: #ffffff;
z-index: 9;
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
-webkit-box-shadow: 0px 9px 15px rgba(25, 25, 26, 0.05);
box-shadow: 0px 9px 15px rgba(25, 25, 26, 0.05);
}
.menu-item .nav-menu .mainmenu li .dropdown li {
list-style: none;
display: block;
}
.menu-item .nav-menu .mainmenu li .dropdown li a {
font-size: 16px;
color: #19191a;
display: block;
text-align: left;
padding: 8px 15px;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
font-family: var(--font-secondary);
}
.menu-item .nav-menu .mainmenu li .dropdown li a:hover {
color: var(--color-primary);
}
.menu-item .nav-menu .mainmenu li .dropdown li a:after {
display: none;
}
.menu-item .nav-menu .nav-right {
display: inline-block;
margin-left: 43px;
padding: 27px 0px;
}
.menu-item .nav-menu .nav-right i {
font-size: 16px;
color: #19191a;
cursor: pointer;
}
.canvas-open {
display: none;
}
.offcanvas-menu-wrapper {
display: none;
} .hero-section {
position: relative;
display: flex;
align-items: center;
height: 700px;
}
.hero-section .container {
position: relative;
z-index: 5;
}
.hero-text h1 {
font-size: 80px;
line-height: 90px;
color: #ffffff;
margin-bottom: 16px;
}
.hero-text p {
font-size: 18px;
color: #ffffff;
line-height: 28px;
margin-bottom: 35px;
}
.hero-text a:hover {
color: #ffffff;
}
.booking-form {
background: #ffffff;
padding: 44px 40px 50px 40px;
border-radius: 4px;
}
.booking-form h3 {
color: #19191a;
margin-bottom: 36px;
}
.booking-form form .check-date {
position: relative;
margin-bottom: 15px;
}
.booking-form form .check-date label {
font-size: 14px;
color: #707079;
display: block;
margin-bottom: 10px;
}
.booking-form form .check-date input {
width: 100%;
height: 50px;
border: 1px solid #ebebeb;
border-radius: 2px;
font-size: 16px;
color: #19191a;
text-transform: uppercase;
font-weight: 500;
padding-left: 20px;
}
.booking-form form .check-date i {
color: var(--color-primary);
position: absolute;
right: 18px;
bottom: 17px;
}
.booking-form form .select-option {
margin-bottom: 15px;
}
.booking-form form .select-option label {
font-size: 14px;
color: #707079;
display: block;
margin-bottom: 10px;
}
.booking-form form .select-option .nice-select {
border-radius: 2px;
border: 1px solid #ebebeb;
height: 50px;
line-height: 50px;
outline: none;
padding-left: 20px;
width: 100%;
float: none;
}
.booking-form form .select-option .nice-select:after {
border-bottom: 2px solid var(--color-primary);
border-right: 2px solid var(--color-primary);
height: 10px;
margin-top: 0;
right: 20px;
width: 10px;
top: 36%;
}
.booking-form form .select-option .nice-select span {
font-size: 16px;
color: #19191a;
text-transform: uppercase;
font-weight: 500;
}
.booking-form form .select-option .nice-select .list {
margin-top: 0;
width: 100%;
}
.booking-form form button {
display: block;
font-size: 14px;
text-transform: uppercase;
border: 1px solid var(--color-primary);
border-radius: 2px;
color: var(--color-primary);
font-weight: 500;
background: transparent;
width: 100%;
height: 46px;
margin-top: 30px;
}
.hero-slider {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
.hero-slider.owl-carousel .owl-dots {
position: absolute;
left: 0;
bottom: 23px;
width: 100%;
text-align: center;
}
.hero-slider.owl-carousel .owl-dots button {
height: 6px;
width: 6px;
background: #ffffff;
opacity: 0.5;
border-radius: 50%;
margin-right: 10px;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.hero-slider.owl-carousel .owl-dots button.active {
width: 30px;
border-radius: 50px;
opacity: 1;
}
.hero-slider.owl-carousel .owl-dots button:last-child {
margin-right: 0;
}
.hero-slider .owl-stage-outer, .hero-slider .owl-stage, .hero-slider .owl-item, .hero-slider .hs-item {
height: 100%;
} .about-text {
text-align: center;
padding: 0 35px;
}
.about-text p {
color: #595960;
font-weight: 500;
}
.about-text p.f-para {
margin-bottom: 10px;
}
.about-text p.s-para {
margin-bottom: 35px;
}
.about-text .about-btn {
color: #19191a;
}
.about-pic img {
min-width: 100%;
} .services-section {
border-top: 1px solid #e5e5e5;
}
.services-section .section-title {
margin-bottom: 36px;
}
.service-item {
text-align: center;
padding: 30px 35px 18px;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.service-item:hover {
background: var(--color-primary);
}
.service-item:hover i {
color: #ffffff;
}
.service-item:hover h4 {
color: #ffffff;
}
.service-item:hover p {
color: #ffffff;
}
.service-item i {
display: inline-block;
color: var(--color-primary);
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
font-size: 50px;
}
.service-item h4 {
color: #19191a;
font-size: 22px;
margin-bottom: 15px;
margin-top: 10px;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.service-item p {
color: #707079;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
} .hp-room-items {
margin-left: -15px;
margin-right: -15px;
overflow: hidden;
}
.hp-room-items .hp-room-item {
height: 600px;
margin-right: -15px;
position: relative;
overflow: hidden;
}
.hp-room-items .hp-room-item::after {
position: absolute;
content: '';
width: 100%;
height: 100%;
left: 0;
top: 0;
background-color: transparent;
transition: .4s;
}
.hp-room-items .hp-room-item:hover .primary-btn {
color: #eee;
}
.hp-room-items .hp-room-item:hover::after {
background-color: rgba(0, 0, 0, 0.4);
}
.hp-room-items .hp-room-item:hover .hr-text {
bottom: 135px;
z-index: 1;
}
.hp-room-items .hp-room-item:hover .hr-text h2 {
margin-bottom: 30px;
}
.hp-room-items .hp-room-item .hr-text {
position: absolute;
left: 45px;
right: 25px;
bottom: -250px;
-webkit-transition: all 0.5s;
-o-transition: all 0.5s;
transition: all 0.5s;
}
.hp-room-items .hp-room-item .hr-text h3 {
color: #ffffff;
margin-bottom: 15px;
}
.hp-room-items .hp-room-item .hr-text h2 {
color: var(--color-primary);
font-weight: 700;
margin-bottom: 50px;
-webkit-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
}
.hp-room-items .hp-room-item .hr-text h2 span {
font-family: var(--font-primary);
font-size: 16px;
font-weight: 400;
color: #ffffff;
}
.hp-room-items .hp-room-item .hr-text table {
margin-bottom: 30px;
}
.hp-room-items .hp-room-item .hr-text table tbody tr td {
font-size: 16px;
color: #ffffff;
line-height: 36px;
}
.hp-room-items .hp-room-item .hr-text table tbody tr td.r-o {
width: 120px;
}
.hp-room-items .hp-room-item .hr-text .primary-btn:after {
background: #ffffff;
} .testimonial-section {
background: #f9f9f9;
}
.testimonial-section .section-title {
margin-bottom: 30px;
}
.testimonial-slider.owl-carousel .owl-item img {
width: auto;
margin: 0 auto;
}
.testimonial-slider.owl-carousel .owl-nav button {
height: 44px;
width: 44px;
border: 1px solid #ebebeb;
font-size: 24px;
color: #707079;
background: #ffffff;
line-height: 48px;
text-align: center;
border-radius: 50%;
position: absolute;
left: -190px;
top: 50%;
-webkit-transform: translateY(-6px);
-ms-transform: translateY(-6px);
transform: translateY(-6px);
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.testimonial-slider.owl-carousel .owl-nav button:hover {
border-color: #19191a;
color: #19191a;
}
.testimonial-slider.owl-carousel .owl-nav button.owl-next {
left: auto;
right: -190px;
}
.testimonial-slider .ts-item {
text-align: center;
}
.testimonial-slider .ts-item p {
font-size: 20px;
color: #707079;
line-height: 30px;
margin-bottom: 50px;
}
.testimonial-slider .ts-item .ti-author {
margin-bottom: 60px;
}
.testimonial-slider .ts-item .ti-author .rating {
display: inline-block;
}
.testimonial-slider .ts-item .ti-author .rating i {
color: #f5b917;
font-size: 16px;
}
.testimonial-slider .ts-item .ti-author h5 {
font-size: 20px;
color: #19191a;
display: inline-block;
} .blog-section {
padding-bottom: 70px;
}
.blog-section .section-title {
margin-bottom: 36px;
} .footer-section {
background: #222736;
}
.footer-section a {
color: var(--color-primary);
}
.footer-section a:hover {
color: var(--color-primary);
}
.footer-section .footer-text {
padding: 80px 0 30px;
}
.footer-section .footer-text .ft-about {
margin-bottom: 30px;
}
.footer-section .footer-text .ft-about .logo {
margin-bottom: 20px;
}
.footer-section .footer-text .ft-about .logo a {
display: inline-block;
}
.footer-section .footer-text .ft-about p {
color: #aaaab3;
margin-bottom: 20px;
}
.footer-section .footer-text .ft-about .fa-social a {
display: inline-block;
height: 40px;
width: 40px;
font-size: 16px;
line-height: 40px;
text-align: center;
color: #ffffff;
border: 1px solid #5A4D48;
border-radius: 50%;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
margin-right: 7px;
}
.footer-section .footer-text .ft-about .fa-social a:hover {
background: var(--color-primary);
border-color: var(--color-primary);
}
.footer-section .footer-text .ft-contact {
margin-bottom: 30px;
}
.footer-section .footer-text .ft-contact h6 {
font-size: 14px;
color: var(--color-primary);
text-transform: uppercase;
font-weight: 700;
letter-spacing: 3px;
font-family: var(--font-primary);
margin-bottom: 20px;
}
.footer-section .footer-text .ft-contact ul li {
font-size: 16px;
color: #aaaab3;
line-height: 32px;
list-style: none;
}
.footer-section .footer-text .ft-newslatter h6 {
font-size: 14px;
color: var(--color-primary);
text-transform: uppercase;
font-weight: 700;
letter-spacing: 3px;
font-family: var(--font-primary);
margin-bottom: 20px;
}
.footer-section .footer-text .ft-newslatter p {
color: #aaaab3;
margin-bottom: 20px;
}
.footer-section .footer-text .ft-newslatter .fn-form {
position: relative;
}
.footer-section .footer-text .ft-newslatter .fn-form input {
width: 100%;
height: 50px;
border-radius: 2px;
background: #393D4A;
border: none;
padding-left: 20px;
font-size: 16px;
color: #707079;
}
.footer-section .footer-text .ft-newslatter .fn-form button {
position: absolute;
right: 0;
top: 0;
font-size: 16px;
background: var(--color-primary);
color: #ffffff;
padding: 0 16px;
height: 50px;
border: none;
border-radius: 0 2px 2px 0;
}
.footer-section .copyright-option {
background: rgba(16, 20, 31, 0.2);
padding: 20px 0;
}
.footer-section .copyright-option ul li {
list-style: none;
display: inline-block;
margin-right: 34px;
}
.footer-section .copyright-option ul li:last-child {
margin-right: 0;
}
.footer-section .copyright-option ul li a {
font-size: 16px;
color: #aaaab3;
}
.footer-section .copyright-option .co-text {
font-size: 16px;
color: #707079;
text-align: right;
}  .breadcrumb-section {
padding-top: 70px;
padding-bottom: 80px;
}
.breadcrumb-text {
text-align: center;
}
.breadcrumb-text h2 {
font-size: 44px;
color: #19191a;
margin-bottom: 12px;
}
.breadcrumb-text .bt-option a {
display: inline-block;
font-size: 18px;
color: #19191a;
margin-right: 20px;
position: relative;
font-weight: 500;
}
.breadcrumb-text .bt-option a:after {
position: absolute;
right: -13px;
top: 1px;
content: "";
font-size: 18px;
font-family: "FontAwesome";
color: #aaaab3;
}
.breadcrumb-text .bt-option span {
display: inline-block;
font-size: 18px;
color: #aaaab3;
} .aboutus-page-section {
padding-top: 0;
padding-bottom: 70px;
}
.about-page-text .ap-title {
margin-bottom: 30px;
}
.about-page-text .ap-title h2 {
font-size: 44px;
color: #19191a;
margin-bottom: 18px;
}
.about-page-text .ap-title p {
font-size: 18px;
color: #707079;
line-height: 28px;
}
.about-page-text .ap-services {
margin-bottom: 32px;
}
.about-page-text .ap-services li {
list-style: none;
color: #707079;
line-height: 32px;
}
.about-page-text .ap-services li i {
color: var(--color-primary);
margin-right: 5px;
}
.about-page-services .ap-service-item {
position: relative;
height: 420px;
border-radius: 5px;
margin-bottom: 30px;
}
.about-page-services .ap-service-item .api-text {
position: absolute;
left: 0;
bottom: 40px;
width: 100%;
text-align: center;
}
.about-page-services .ap-service-item .api-text h3 {
color: #ffffff;
} .video-section {
height: 500px;
padding-top: 140px;
}
.video-section .video-text {
text-align: center;
}
.video-section .video-text h2 {
font-size: 48px;
color: #ffffff;
margin-bottom: 16px;
}
.video-section .video-text p {
font-size: 20px;
color: #ffffff;
margin-bottom: 40px;
}
.video-section .video-text .play-btn {
display: inline-block;
} .gallery-section {
padding-bottom: 80px;
}
.gallery-section .section-title {
margin-bottom: 38px;
}
.gallery-item {
position: relative;
height: 279px;
margin-bottom: 20px;
border-radius: 5px;
position: relative;
z-index: 1;
}
.gallery-item:hover:after {
opacity: 1;
}
.gallery-item:hover .gi-text {
opacity: 1;
}
.gallery-item:after {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(25, 25, 26, 0.3);
content: "";
z-index: -1;
border-radius: 5px;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
opacity: 0;
}
.gallery-item.large-item {
height: 576px;
}
.gallery-item .gi-text {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 100%;
height: 100%;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
opacity: 0;
}
.gallery-item .gi-text h3 {
color: #ffffff;
} .rooms-section {
padding-top: 0;
padding-bottom: 80px;
}
.room-item {
margin-bottom: 30px;
}
.room-item img {
min-width: 100%;
}
.room-item .ri-text {
border: 1px solid #ebebeb;
border-top: none;
padding: 24px 24px 30px 28px;
}
.room-item .ri-text h4 {
color: #19191a;
margin-bottom: 17px;
}
.room-item .ri-text h3 {
color: var(--color-primary);
font-weight: 700;
margin-bottom: 14px;
}
.room-item .ri-text h3 span {
font-family: var(--font-primary);
font-size: 14px;
font-weight: 400;
color: #19191a;
}
.room-item .ri-text table {
margin-bottom: 18px;
}
.room-item .ri-text table tbody tr td {
font-size: 16px;
color: #707079;
line-height: 36px;
}
.room-item .ri-text table tbody tr td.r-o {
width: 125px;
}
.room-item .ri-text .primary-btn {
color: #19191a;
}
.room-pagination {
text-align: center;
padding-top: 20px;
}
.room-pagination a {
font-size: 16px;
color: #707079;
border: 1px solid #EFD4B9;
border-radius: 2px;
padding: 7px 13px 5px;
margin-right: 7px;
display: inline-block;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.room-pagination a:last-child {
margin-right: 0;
}
.room-pagination a:hover {
background: var(--color-primary);
color: #ffffff;
} .room-details-section {
padding-top: 0;
padding-bottom: 80px;
}
.room-details-item {
margin-bottom: 30px;
}
.room-details-item .rd-text h3 {
color: #19191a;
margin-bottom: 20px;
}
.room-details-item .rd-text .rd-title {
overflow: hidden;
margin-bottom: 8px;
}
.room-details-item .rd-text .rd-title .rdt-right {
float: right;
text-align: right;
}
.room-details-item .rd-text .rd-title .rdt-right .rating {
display: inline-block;
margin-right: 25px;
margin-bottom: 10px;
}
.room-details-item .rd-text .rd-title .rdt-right .rating i {
color: #f5b917;
}
.room-details-item .rd-text .rd-title .rdt-right a {
display: inline-block;
color: #ffffff;
font-size: 13px;
text-transform: uppercase;
font-weight: 700;
background: var(--color-primary);
padding: 14px 28px 13px;
}
.room-details-item .rd-text h2 {
color: var(--color-primary);
font-weight: 700;
margin-bottom: 25px;
}
.room-details-item .rd-text h2 span {
font-family: var(--font-primary);
font-size: 16px;
font-weight: 400;
color: #19191a;
}
.room-details-item .rd-text table {
width: 100%;
}
.room-details-item .rd-text table tbody tr td {
font-size: 16px;
color: #19191a;
line-height: 36px;
}
.room-details-item .rd-text table tbody tr td:last-child {
text-align: right;
}
.room-details-item .rd-text table tbody tr td.r-o {
width: 120px;
color: #707079;
}
.room-details-item .rd-text p {
color: #707079;
}
.room-details-item .rd-text p.f-para {
margin-bottom: 22px;
}
.rd-reviews {
padding-top: 55px;
border-top: 1px solid #e5e5e5;
margin-bottom: 50px;
}
.rd-reviews h4 {
color: #19191a;
letter-spacing: 1px;
margin-bottom: 45px;
}
.rd-reviews .review-item {
margin-bottom: 32px;
}
.rd-reviews .review-item .ri-pic {
float: left;
margin-right: 30px;
}
.rd-reviews .review-item .ri-pic img {
height: 70px;
width: 70px;
border-radius: 50%;
}
.rd-reviews .review-item .ri-text {
overflow: hidden;
position: relative;
padding-left: 30px;
}
.rd-reviews .review-item .ri-text:before {
position: absolute;
left: 0;
top: 0;
width: 1px;
height: 100%;
background: #e9e9e9;
content: "";
}
.rd-reviews .review-item .ri-text span {
font-size: 12px;
color: var(--color-primary);
text-transform: uppercase;
letter-spacing: 3px;
}
.rd-reviews .review-item .ri-text .rating {
position: absolute;
right: 0;
top: 0;
}
.rd-reviews .review-item .ri-text .rating i {
color: #f5b917;
}
.rd-reviews .review-item .ri-text h5 {
color: #19191a;
margin-top: 4px;
margin-bottom: 8px;
}
.rd-reviews .review-item .ri-text p {
color: #707079;
margin-bottom: 0;
}
.review-add h4 {
color: #19191a;
letter-spacing: 1px;
margin-bottom: 45px;
}
.review-add .ra-form input {
width: 100%;
height: 50px;
border: 1px solid #e5e5e5;
font-size: 16px;
color: #aaaab3;
padding-left: 20px;
margin-bottom: 25px;
}
.review-add .ra-form input::-webkit-input-placeholder {
color: #aaaab3;
}
.review-add .ra-form input::-moz-placeholder {
color: #aaaab3;
}
.review-add .ra-form input:-ms-input-placeholder {
color: #aaaab3;
}
.review-add .ra-form input::-ms-input-placeholder {
color: #aaaab3;
}
.review-add .ra-form input::placeholder {
color: #aaaab3;
}
.review-add .ra-form h5 {
font-size: 20px;
color: #19191a;
margin-bottom: 24px;
float: left;
margin-right: 10px;
}
.review-add .ra-form .rating {
padding-top: 3px;
display: inline-block;
}
.review-add .ra-form .rating i {
color: #f5b917;
font-size: 16px;
}
.review-add .ra-form textarea {
width: 100%;
height: 132px;
border: 1px solid #e5e5e5;
font-size: 16px;
color: #aaaab3;
padding-left: 20px;
padding-top: 12px;
margin-bottom: 24px;
resize: none;
}
.review-add .ra-form textarea::-webkit-input-placeholder {
color: #aaaab3;
}
.review-add .ra-form textarea::-moz-placeholder {
color: #aaaab3;
}
.review-add .ra-form textarea:-ms-input-placeholder {
color: #aaaab3;
}
.review-add .ra-form textarea::-ms-input-placeholder {
color: #aaaab3;
}
.review-add .ra-form textarea::placeholder {
color: #aaaab3;
}
.review-add .ra-form button {
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
color: #ffffff;
letter-spacing: 2px;
background: var(--color-primary);
border: none;
padding: 14px 34px 13px;
display: inline-block;
}
.room-booking {
padding: 0 30px 0 40px;
}
.room-booking h3 {
color: #19191a;
margin-bottom: 30px;
}
.room-booking form .check-date {
position: relative;
margin-bottom: 15px;
}
.room-booking form .check-date label {
font-size: 14px;
color: #707079;
display: block;
margin-bottom: 10px;
}
.room-booking form .check-date input {
width: 100%;
height: 50px;
border: 1px solid #ebebeb;
border-radius: 2px;
font-size: 16px;
color: #19191a;
text-transform: uppercase;
font-weight: 500;
padding-left: 20px;
}
.room-booking form .check-date i {
color: var(--color-primary);
position: absolute;
right: 18px;
bottom: 17px;
}
.room-booking form .select-option {
margin-bottom: 15px;
}
.room-booking form .select-option label {
font-size: 14px;
color: #707079;
display: block;
margin-bottom: 10px;
}
.room-booking form .select-option .nice-select {
border-radius: 2px;
border: 1px solid #ebebeb;
height: 50px;
line-height: 50px;
outline: none;
padding-left: 20px;
width: 100%;
float: none;
}
.room-booking form .select-option .nice-select:after {
border-bottom: 2px solid var(--color-primary);
border-right: 2px solid var(--color-primary);
height: 10px;
margin-top: 0;
right: 20px;
width: 10px;
top: 36%;
}
.room-booking form .select-option .nice-select span {
font-size: 16px;
color: #19191a;
text-transform: uppercase;
font-weight: 500;
}
.room-booking form .select-option .nice-select .list {
margin-top: 0;
width: 100%;
}
.room-booking form button {
display: block;
font-size: 14px;
text-transform: uppercase;
border: 1px solid var(--color-primary);
border-radius: 2px;
color: var(--color-primary);
font-weight: 500;
background: transparent;
width: 100%;
height: 46px;
margin-top: 30px;
}
#gallery .hidden {
display: none;
}
#gallery .gallery-filter {
text-align: center;
margin: 50px 0; 
}
#gallery .gallery-filter li {
display: inline-block;
margin-right: 50px; 
}
#gallery .gallery {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap; 
}
#gallery .gallery li {
width: 25%;
padding: 5px; 
list-style-type: none;
}
.wpsbc-date-number {
text-align: center !important;
} .blog-section.blog-page {
padding-top: 0;
padding-bottom: 88px;
}
.blog-item {
height: 450px;
position: relative;
margin-bottom: 30px;
border-radius: 5px;
z-index: 1;
}
.blog-item::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.6) 100%);
z-index: -1;
}
.blog-item.small-size {
height: 400px;
}
.blog-item .bi-text {
position: absolute;
left: 0;
bottom: 25px;
width: 100%;
padding-left: 30px;
padding-right: 30px;
}
.blog-item .bi-text .b-tag {
display: inline-block;
color: #ffffff;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 1px;
background: var(--color-primary);
padding: 3px 10px;
border-radius: 2px;
}
.blog-item .bi-text h4 {
margin-top: 18px;
margin-bottom: 18px;
color: #ffffff;
}
.blog-item .bi-text h4 a {
color: #ffffff;
}
.blog-item .bi-text .b-time {
font-size: 12px;
color: #ffffff;
text-transform: uppercase;
letter-spacing: 3px;
}
.load-more {
text-align: center;
padding-top: 30px;
}
.load-more .primary-btn {
color: #19191a;
} .blog-details-hero {
height: 70vh;
min-height: 600px;
max-height: 1200px;
display: flex;
justify-content: center;
align-items: center;
position: relative;
z-index: 1;
background-attachment: fixed;
}
.blog-details-hero::after, .hero-slider-overlay::after {
content: '';
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: rgba(0, 0, 0, 0.4);
z-index: -1;
}
.hero-slider-overlay::after {
z-index: 1;
}
.blog-details-hero h1 {
color: #fff;
font-size: 4rem;
}
.bd-hero-text {
text-align: center;
}
.bd-hero-text span {
font-size: 12px;
color: #ffffff;
background: var(--color-primary);
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1px;
display: inline-block;
padding: 4px 16px;
border-radius: 2px;
}
.bd-hero-text h2 {
font-size: 44px;
color: #ffffff;
line-height: 54px;
margin-top: 30px;
margin-bottom: 12px;
}
.bd-hero-text ul li {
list-style: none;
font-size: 14px;
color: var(--color-primary);
margin-right: 35px;
display: inline-block;
}
.bd-hero-text ul li:last-child {
margin-right: 0;
}
.bd-hero-text ul li.b-time {
text-transform: uppercase;
} .blog-details-title {
font-size: 35px;
margin-bottom: 20px;
}
.blog-details-section {
padding-top: 55px;
}
.blog-details-text .bd-title {
margin-bottom: 52px;
}
.blog-details-text .bd-title p {
font-size: 18px;
color: #707079;
line-height: 30px;
}
.blog-details-text .bd-pic {
overflow: hidden;
margin-bottom: 35px;
}
.blog-details-text .bd-pic .bp-item {
width: calc(33.33% - 10px);
float: left;
margin-right: 15px;
}
.blog-details-text .bd-pic .bp-item:last-child {
margin-right: 0;
}
.blog-details-text .bd-pic .bp-item img {
min-width: 100%;
}
.blog-details-text .bd-more-text {
margin-bottom: 50px;
}
.blog-details-text .bd-more-text .bm-item {
margin-bottom: 30px;
}
.blog-details-text .bd-more-text .bm-item h4 {
color: #19191a;
margin-bottom: 20px;
}
.blog-details-text .bd-more-text .bm-item p {
font-size: 18px;
color: #707079;
line-height: 30px;
}
.blog-details-text .tag-share {
overflow: hidden;
border-top: 1px solid #ebebeb;
padding-top: 30px;
margin-bottom: 75px;
}
.blog-details-text .tag-share .tags {
float: left;
}
.blog-details-text .tag-share .tags a {
font-size: 12px;
color: #707079;
background: #ebebeb;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1px;
display: inline-block;
padding: 4px 16px;
border-radius: 2px;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
margin-right: 6px;
}
.blog-details-text .tag-share .tags a:hover {
color: #ffffff;
background: var(--color-primary);
}
.blog-details-text .tag-share .social-share {
float: right;
}
.blog-details-text .tag-share .social-share span {
display: inline-block;
font-size: 18px;
color: #707079;
}
.blog-details-text .tag-share .social-share a {
display: inline-block;
font-size: 16px;
color: #707079;
margin-left: 30px;
}
.blog-details-text .comment-option {
margin-bottom: 75px;
}
.blog-details-text .comment-option h4 {
color: #19191a;
margin-bottom: 35px;
}
.blog-details-text .comment-option .single-comment-item {
margin-bottom: 30px;
}
.blog-details-text .comment-option .single-comment-item.first-comment .sc-text {
padding-left: 22px;
}
.blog-details-text .comment-option .single-comment-item.first-comment .sc-text:before {
position: absolute;
left: 0;
top: 0;
width: 1px;
height: 255px;
background: #ebebeb;
content: "";
}
.blog-details-text .comment-option .single-comment-item.reply-comment {
padding-left: 120px;
margin-bottom: 52px;
}
.blog-details-text .comment-option .single-comment-item.second-comment .sc-text {
padding-left: 22px;
}
.blog-details-text .comment-option .single-comment-item.second-comment .sc-text:before {
position: absolute;
left: 0;
top: 0;
width: 1px;
height: 100px;
background: #ebebeb;
content: "";
}
.blog-details-text .comment-option .single-comment-item .sc-author {
float: left;
margin-right: 28px;
}
.blog-details-text .comment-option .single-comment-item .sc-author img {
height: 70px;
width: 70px;
border-radius: 50%;
}
.blog-details-text .comment-option .single-comment-item .sc-text {
display: table;
position: relative;
}
.blog-details-text .comment-option .single-comment-item .sc-text span {
font-size: 12px;
color: var(--color-primary);
text-transform: uppercase;
letter-spacing: 2px;
}
.blog-details-text .comment-option .single-comment-item .sc-text h5 {
font-size: 20px;
color: #19191a;
margin-top: 4px;
margin-bottom: 8px;
}
.blog-details-text .comment-option .single-comment-item .sc-text p {
color: #707079;
margin-bottom: 18px;
}
.blog-details-text .comment-option .single-comment-item .sc-text a {
display: inline-block;
color: #19191a;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
padding: 5px 24px;
border: 1px solid #F9EEE3;
border-radius: 50px;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
margin-right: 10px;
}
.blog-details-text .comment-option .single-comment-item .sc-text a:hover {
background: var(--color-primary);
color: #ffffff;
border-color: var(--color-primary);
}
.blog-details-text .leave-comment h4 {
color: #19191a;
margin-bottom: 35px;
}
.blog-details-text .leave-comment .comment-form input {
width: 100%;
height: 50px;
color: #707079;
font-size: 16px;
padding-left: 20px;
border: 1px solid #e5e5e5;
border-radius: 2px;
margin-bottom: 20px;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.blog-details-text .leave-comment .comment-form input:focus {
border-color: var(--color-primary);
}
.blog-details-text .leave-comment .comment-form textarea {
width: 100%;
height: 116px;
color: #707079;
font-size: 16px;
padding-left: 20px;
border: 1px solid #e5e5e5;
border-radius: 2px;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
margin-bottom: 42px;
resize: none;
padding-top: 12px;
}
.blog-details-text .leave-comment .comment-form textarea:focus {
border-color: var(--color-primary);
}
.blog-details-text .leave-comment .comment-form button {
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
color: #ffffff;
letter-spacing: 2px;
background: var(--color-primary);
border: none;
padding: 14px 42px 13px;
display: inline-block;
border-radius: 2px;
} .recommend-blog-section {
padding-top: 65px;
padding-bottom: 50px;
}
.recommend-blog-section .section-title {
margin-bottom: 37px;
}
.recommend-blog-section .section-title h2 {
margin-top: 0;
} .contact-section {
padding-top: 80px;
padding-bottom: 80px;
}
.contact-text h2 {
font-size: 44px;
color: #19191a;
margin-bottom: 24px;
}
.contact-text p {
color: #707079;
}
.contact-text table tbody tr td {
font-size: 16px;
color: #19191a;
line-height: 36px;
font-weight: 500;
}
.contact-text table tbody tr td.c-o {
color: #707079;
width: 75px;
}
.contact-form .nice-select {
width: 100%;
margin-bottom: 28px;
border-radius: 0;
}
.contact-form .nice-select .list {
width: 100%;
}
.contact-form input {
width: 100%;
height: 50px;
border: 1px solid #e1e1e1;
font-size: 16px;
color: #aaaab3;
padding-left: 25px;
margin-bottom: 28px;
}
.contact-form input::-webkit-input-placeholder {
color: #aaaab3;
}
.contact-form input::-moz-placeholder {
color: #aaaab3;
}
.contact-form input:-ms-input-placeholder {
color: #aaaab3;
}
.contact-form input::-ms-input-placeholder {
color: #aaaab3;
}
.contact-form input::placeholder {
color: #aaaab3;
}
.contact-form textarea {
width: 100%;
height: 150px;
border: 1px solid #e1e1e1;
font-size: 16px;
color: #aaaab3;
padding-left: 25px;
padding-top: 12px;
margin-bottom: 33px;
resize: none;
}
.contact-form textarea::-webkit-input-placeholder {
color: #aaaab3;
}
.contact-form textarea::-moz-placeholder {
color: #aaaab3;
}
.contact-form textarea:-ms-input-placeholder {
color: #aaaab3;
}
.contact-form textarea::-ms-input-placeholder {
color: #aaaab3;
}
.contact-form textarea::placeholder {
color: #aaaab3;
}
.contact-form input[type="submit"] {
width: auto;
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
color: #ffffff;
letter-spacing: 2px;
background: var(--color-primary);
border: none;
padding: 14px 34px 13px;
display: inline-block;
}
.map {
height: 470px;
-webkit-box-shadow: 0px 14px 35px rgba(0, 0, 0, 0.15);
box-shadow: 0px 14px 35px rgba(0, 0, 0, 0.15);
margin-top: 75px;
}
.map iframe {
width: 100%;
}
.price-list {
display: flex;
flex-direction: column;
}
.price-list__label {
display: flex;
flex-direction: row;
color: #707079;
font-size: 16px;
}
.price-list__value {
display: flex;
flex-direction: row;
}
.price-list__box {
flex: 25%;
text-align: center;
padding: 10px;
} @media only screen and (min-width: 1554px) and (max-width: 1920px) {
.hp-room-items .hp-room-item .hr-text {
bottom: -200px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1250px) {
.hp-room-items .hp-room-item .hr-text {
bottom: -288px;
}
}
@media only screen and (min-width: 1200px) {
.container {
max-width: 1170px;
}
} @media only screen and (min-width: 992px) and (max-width: 1199px) {
.testimonial-slider.owl-carousel .owl-nav button {
left: -150px;
}
.testimonial-slider.owl-carousel .owl-nav button.owl-next {
right: -150px;
}
.hp-room-items .hp-room-item .hr-text {
bottom: -322px;
}
.hp-room-items .hp-room-item:hover .hr-text {
bottom: 80px;
}
}
@media only screen and (max-width: 991px) {
.spad {
padding-top: 40px;
padding-bottom: 40px;
}
.mobile-lang-switcher {
display: flex;
}
.mobile-lang-switcher ul {
margin-right: 16px;
}
.blog-details-hero {
background-attachment: unset;
background-position: center;
height:300px;
min-height: auto;
max-height: none;
}
.brand-name__container {
justify-content: space-between;
padding-top: 20px;
padding-bottom: 20px;
}
.brand-name {
font-size: 20px;
}
.top-nav {
display: none;
}
.menu-item .nav-menu {
display: none;
}
.offcanvas-menu-overlay {
position: fixed;
left: 0;
top: 0;
background: rgba(0, 0, 0, 0.7);
z-index: 98;
height: 100%;
width: 100%;
visibility: hidden;
-webkit-transition: 0.3s;
-o-transition: 0.3s;
transition: 0.3s;
}
.offcanvas-menu-overlay.active {
visibility: visible;
}
.canvas-open {
font-size: 22px;
width: 30px;
height: 30px;
color: #19191a;
border-radius: 2px;
line-height: 33px;
text-align: center;
z-index: 100;
display: block;
cursor: pointer;
}
.offcanvas-menu-wrapper {
position: fixed;
left: -300px;
top: 0;
width: 320px;
z-index: 999;
background: #ffffff;
text-align: center;
overflow-y: auto;
height: 100%;
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.5s;
-o-transition: all 0.5s;
transition: all 0.5s;
padding: 30px;
display: block;
}
.offcanvas-menu-wrapper .canvas-close {
font-size: 40px;
height: 30px;
width: 30px;
text-align: center;
line-height: 30px;
cursor: pointer;
padding-right: 1px;
}
.offcanvas-menu-wrapper .search-icon {
color: #19191a;
text-align: center;
cursor: pointer;
margin-bottom: 10px;
}
.offcanvas-menu-wrapper .options-row {
display: flex;
justify-content: flex-end;
}
.offcanvas-menu-wrapper .header-configure-area {
margin-bottom: 30px;
}
.offcanvas-menu-wrapper .header-configure-area .language-option {
display: inline-block;
cursor: pointer;
padding: 13px 0;
position: relative;
margin-bottom: 10px;
}
.offcanvas-menu-wrapper .header-configure-area .language-option:hover .flag-dropdown {
top: 40px;
opacity: 1;
visibility: visible;
}
.offcanvas-menu-wrapper .header-configure-area .language-option img {
height: 26px;
width: 26px;
border-radius: 50%;
margin-right: 10px;
}
.offcanvas-menu-wrapper .header-configure-area .language-option span {
font-size: 16px;
color: #19191a;
text-transform: uppercase;
font-weight: 500;
}
.offcanvas-menu-wrapper .header-configure-area .language-option .flag-dropdown {
position: absolute;
left: 0;
top: 60px;
width: 100px;
background: #ffffff;
display: block;
padding: 10px 15px;
-webkit-box-shadow: 0px 9px 10px rgba(25, 25, 26, 0.2);
box-shadow: 0px 9px 10px rgba(25, 25, 26, 0.2);
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
z-index: 99;
}
.offcanvas-menu-wrapper .header-configure-area .language-option .flag-dropdown ul li {
list-style: none;
text-align: left;
}
.offcanvas-menu-wrapper .header-configure-area .language-option .flag-dropdown ul li a {
font-size: 14px;
text-transform: uppercase;
font-weight: 500;
color: #19191a;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.offcanvas-menu-wrapper .header-configure-area .language-option .flag-dropdown ul li a:hover {
color: var(--color-primary);
}
.offcanvas-menu-wrapper .header-configure-area .bk-btn {
display: inline-block;
font-size: 13px;
font-weight: 700;
padding: 16px 28px 15px;
background: var(--color-primary);
color: #ffffff;
text-transform: uppercase;
letter-spacing: 2px;
}
.offcanvas-menu-wrapper .mainmenu {
display: none;
}
.offcanvas-menu-wrapper .slicknav_menu {
background: transparent;
padding: 0;
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_btn {
float: none;
margin: 0 0 10px 0;
display: none;
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav {
display: block !important;
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav ul {
margin: 0;
text-align: left;
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav ul li .dropdown {
padding-left: 20px;
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav ul li a {
margin: 0;
padding: 10px;
font-weight: 600;
font-size: 16px;
color: #19191a;
border-bottom: 1px solid #e5e5e5;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav ul li a:hover {
border-radius: 0;
background: transparent;
color: var(--color-primary);
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav .slicknav_row a {
border-bottom: 0;
padding-left: 0;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav .slicknav_row span {
color: #19191a;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav .slicknav_row:hover a {
color: var(--color-primary);
}
.offcanvas-menu-wrapper .slicknav_menu .slicknav_nav .slicknav_row:hover span {
color: var(--color-primary);
}
.offcanvas-menu-wrapper .top-social {
display: inline-block;
margin-top: 30px;
margin-bottom: 20px;
}
.offcanvas-menu-wrapper .top-social a {
display: inline-block;
font-size: 16px;
color: #19191a;
margin-right: 20px;
}
.offcanvas-menu-wrapper .top-social a:last-child {
margin-right: 0;
}
.offcanvas-menu-wrapper .top-widget {
text-align: left;
margin-top: 20px;
}
.offcanvas-menu-wrapper .top-widget li {
list-style: none;
font-size: 16px;
color: #19191a;
font-weight: 500;
line-height: 28px;
}
.offcanvas-menu-wrapper .top-widget li i {
color: var(--color-primary);
margin-right: 4px;
}
.offcanvas-menu-wrapper.show-offcanvas-menu-wrapper {
left: 0;
opacity: 1;
visibility: visible;
}
.about-text {
margin-bottom: 30px;
}
.footer-section .copyright-option ul {
text-align: center;
margin-bottom: 10px;
}
.footer-section .copyright-option .co-text {
text-align: center;
}
.about-pic img {
margin-bottom: 20px;
}
.room-booking {
padding: 0;
margin-top: 40px;
}
.contact-form {
padding-top: 30px;
}
.hero-text {
margin-bottom: 40px;
}
.room-details-item .rd-text h3 {
margin-bottom: 10px;
}
.aboutus-page-section {
padding-bottom: 32px;
}
} @media only screen and (min-width: 768px) and (max-width: 991px) {
.hero-section {
height: 550px;
}
.testimonial-slider.owl-carousel .owl-nav button {
left: -30px;
}
.testimonial-slider.owl-carousel .owl-nav button.owl-next {
right: -30px;
}
.hp-room-items {
margin: 0;
}
.hp-room-item {
margin-bottom: 15px;
}
#gallery .gallery li {
width: 50%; 
}
} @media only screen and (max-width: 767px) {
.hero-section {
height: 400px;
}
.hero-text {
text-align: center;
}
.hero-text h1 {
font-size: 40px;
line-height: 55px;
}
.testimonial-slider.owl-carousel .owl-nav {
display: none;
}
.room-details-item .rd-text .rd-title {
margin-bottom: 25px;
}
.room-details-item .rd-text .rd-title h3 {
float: none;
margin-bottom: 30px;
}
.room-details-item .rd-text .rd-title .rdt-right {
float: none;
text-align: left;
}
.footer-section .copyright-option ul li {
margin-right: 25px;
}
.blog-details-text .tag-share .tags {
float: none;
margin-bottom: 20px;
}
.blog-details-text .tag-share .social-share {
float: none;
}
.about-text .section-title h2 {
font-size: 30px;
line-height: 40px;
}
.hp-room-items {
margin: 0 -5px;
}
.hp-room-item {
margin-bottom: 10px;
}
#gallery .gallery li {
width: 50%;
}
} @media only screen and (max-width: 479px) {
.footer-section .copyright-option ul li {
margin-bottom: 5px;
}
.video-section {
padding-top: 80px;
}
.rd-reviews .review-item .ri-pic, .blog-details-text .comment-option .single-comment-item .sc-author {
float: none;
margin-bottom: 30px;
}
.rd-reviews .review-item .ri-text .rating {
position: relative;
}
.rd-reviews .review-item .ri-text, .blog-details-text .comment-option .single-comment-item.second-comment .sc-text, .blog-details-text .comment-option .single-comment-item.first-comment .sc-text {
padding-left: 0;
}
.blog-details-text .comment-option .single-comment-item.reply-comment {
padding-left: 30px;
}
.rd-reviews .review-item .ri-text:before, .blog-details-text .comment-option .single-comment-item.first-comment .sc-text:before, .blog-details-text .comment-option .single-comment-item.second-comment .sc-text:before {
display: none;
}
.blog-details-hero h1 {
font-size: 2.5rem;
}
.blog-details-text .bd-pic .bp-item {
width: 100%;
float: none;
margin-right: 0;
margin-bottom: 10px;
}
.blog-details-text .tag-share .tags a {
margin-bottom: 6px;
}
.blog-details-text .comment-option .single-comment-item .sc-text a {
margin-bottom: 10px;
}
} .home-about,
.home-experiences,
.home-apartments,
.home-coast {
--home-ink: #243e38;
--home-muted: #54665f;
--home-accent: #496454;
padding: 96px 0;
}
.home-about {
background: #f8f7f2;
}
.home-about__layout {
display: grid;
grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
align-items: center;
gap: 72px;
}
.home-about__layout--text-only {
grid-template-columns: minmax(0, 760px);
justify-content: center;
}
.home-about__visual {
position: relative;
padding: 0 20px 20px 0;
isolation: isolate;
}
.home-about__visual::before {
content: "";
position: absolute;
inset: 32px 0 0 32px;
background: #dce3d7;
border-radius: 120px 12px 12px 12px;
z-index: -1;
}
.home-about__visual img {
display: block;
width: 100%;
height: 480px;
object-fit: cover;
border-radius: 120px 12px 12px 12px;
}
.home-about__location {
position: absolute;
bottom: 44px;
left: 24px;
display: inline-flex;
align-items: center;
gap: 10px;
padding: 12px 20px;
background: #fff;
color: var(--home-ink);
border-radius: 40px;
font-size: 13px;
font-weight: 700;
box-shadow: 0 6px 24px rgba(36, 62, 56, 0.12);
}
.home-about .about-text {
padding: 0;
margin: 0;
text-align: left;
}
.home-about .section-title,
.home-experiences .section-title,
.home-apartments .section-title,
.home-coast .section-title,
.home-reviews .section-title {
text-align: left;
margin: 0 0 24px;
}
.home-about .section-title > span,
.home-experiences .section-title > span,
.home-apartments .section-title > span,
.home-coast .section-title > span,
.home-reviews .section-title > span {
display: inline-flex;
align-items: center;
gap: 12px;
color: var(--home-accent);
font-size: 12px;
letter-spacing: 2.5px;
}
.home-about .section-title > span::before,
.home-experiences .section-title > span::before,
.home-apartments .section-title > span::before,
.home-coast .section-title > span::before,
.home-reviews .section-title > span::before {
content: "";
width: 32px;
height: 1px;
background: currentColor;
}
.home-about .section-title h2,
.home-experiences .section-title h2,
.home-apartments .section-title h2,
.home-coast .section-title h2,
.home-reviews .section-title h2 {
color: var(--home-ink);
font-size: clamp(30px, 3.2vw, 44px);
line-height: 1.22;
letter-spacing: -1.2px;
margin-top: 16px;
overflow-wrap: break-word;
}
.home-about__description,
.home-about__description p {
color: var(--home-muted);
font-size: 16px;
font-weight: 400;
line-height: 1.85;
}
.home-about__description {
margin-bottom: 28px;
}
.home-about__description > :last-child {
margin-bottom: 0;
}
.home-section-link {
display: inline-flex;
align-items: center;
justify-content: space-between;
gap: 28px;
padding: 12px 0;
border-bottom: 1px solid var(--home-accent);
color: var(--home-ink);
font-size: 13px;
font-weight: 700;
}
.home-section-link > span {
font-size: 22px;
line-height: 1;
}
.home-section-link:hover {
color: var(--home-accent);
}
.home-section-link:focus-visible,
.experience-card:focus-visible {
outline: 3px solid var(--home-accent);
outline-offset: 5px;
}
.home-experiences {
background: #eef2ec;
border-top: 0;
}
.home-experiences__heading {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 32px;
margin-bottom: 40px;
}
.home-experiences__heading .section-title {
margin-bottom: 0;
}
.home-experiences__heading > a {
flex-shrink: 0;
}
.home-experiences__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
}
.experience-card {
display: flex;
flex-direction: column;
padding: 32px;
border: 1px solid #dfe6db;
border-radius: 12px;
background: #fff;
color: var(--home-ink);
box-shadow: 0 4px 20px rgba(36, 62, 56, 0.025);
transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.experience-card:hover {
color: var(--home-ink);
border-color: #9caf9f;
transform: translateY(-6px);
box-shadow: 0 18px 36px rgba(36, 62, 56, 0.09);
}
.experience-card__top {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 30px;
}
.experience-card__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 58px;
height: 58px;
border-radius: 50%;
color: var(--home-accent);
background: #eef2ec;
font-size: 23px;
}
.experience-card__number {
color: #697c70;
font-size: 13px;
letter-spacing: 2px;
}
.experience-card h3 {
margin: 0 0 16px;
color: var(--home-ink);
font-size: 23px;
line-height: 1.35;
overflow-wrap: break-word;
}
.experience-card__description,
.experience-card__description p {
color: var(--home-muted);
font-size: 15px;
line-height: 1.8;
}
.experience-card__description {
margin-bottom: 28px;
}
.experience-card__footer {
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
margin-top: auto;
padding-top: 20px;
border-top: 1px solid #e4e9e0;
font-size: 12px;
font-weight: 700;
}
.experience-card__footer > span {
font-size: 24px;
line-height: 1;
}
@media (max-width: 991px) {
.home-about, .home-experiences { padding: 64px 0; }
.home-about__layout { gap: 32px; }
.home-about__visual img { height: 440px; }
.home-experiences__grid { gap: 16px; }
.experience-card { padding: 24px; }
}
@media (max-width: 767px) {
.home-about, .home-experiences { padding: 48px 0; }
.home-about__layout, .home-experiences__grid { grid-template-columns: minmax(0, 1fr); }
.home-about__visual img { height: 340px; }
.home-experiences__heading { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 28px; }
.experience-card__top { margin-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
.experience-card { transition: none; }
.experience-card:hover { transform: none; }
} .home-apartments { background: #fff; }
.home-apartments .section-title { margin-bottom: 40px; }
.home-apartments__grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 24px;
}
.apartment-card {
display: flex;
flex-direction: column;
min-width: 0;
border: 1px solid #dfe6db;
border-radius: 12px;
overflow: hidden;
background: #fff;
}
.apartment-card__image { overflow: hidden; background: #eef2ec; }
.apartment-card__image img {
display: block;
width: 100%;
aspect-ratio: 4 / 5;
object-fit: cover;
transition: transform 350ms ease;
}
.apartment-card:hover .apartment-card__image img,
.apartment-card:focus-within .apartment-card__image img { transform: scale(1.035); }
.apartment-card__body {
display: flex;
flex: 1;
flex-direction: column;
padding: 24px;
}
.apartment-card h3 {
color: var(--home-ink);
font-size: 25px;
line-height: 1.3;
margin-bottom: 24px;
overflow-wrap: anywhere;
}
.apartment-card__specs {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px 12px;
margin: 0 0 24px;
}
.apartment-card__specs dt {
font-size: 11px;
font-weight: 400;
color: var(--home-muted);
margin-bottom: 5px;
}
.apartment-card__specs dd {
color: var(--home-ink);
font-size: 15px;
font-weight: 700;
margin: 0;
overflow-wrap: anywhere;
}
.apartment-card__times {
display: flex;
flex-wrap: wrap;
gap: 8px 16px;
padding-top: 16px;
border-top: 1px solid #e4e9e0;
margin-bottom: 20px;
font-size: 11px;
color: var(--home-muted);
}
.apartment-card__times strong { color: var(--home-ink); font-weight: 600; }
.apartment-card .home-section-link { margin-top: auto; } .home-coast { background: #f8f7f2; }
.home-coast__heading {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
margin-bottom: 40px;
}
.home-coast__heading .section-title { margin: 0; max-width: 740px; }
.home-coast__location {
display: inline-flex;
align-items: center;
gap: 10px;
color: var(--home-accent);
font-size: 13px;
padding-bottom: 8px;
}
.home-coast__grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
grid-auto-rows: 210px;
gap: 20px;
}
.coast-photo {
position: relative;
display: block;
min-width: 0;
overflow: hidden;
border-radius: 12px;
background: #dce3d7;
}
.coast-photo--featured { grid-column: span 2; grid-row: span 2; }
.coast-photo--panorama { grid-column: 1 / -1; grid-row: span 2; }
.coast-photo img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 350ms ease;
}
.coast-photo::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(transparent 60%, rgba(20, 42, 36, 0.45));
pointer-events: none;
}
.coast-photo__zoom {
position: absolute;
z-index: 1;
top: 16px;
right: 16px;
display: flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
background: #fff;
color: var(--home-ink);
border-radius: 50%;
font-size: 13px;
}
.coast-photo__number {
position: absolute;
z-index: 1;
bottom: 16px;
left: 20px;
color: #fff;
font-size: 12px;
letter-spacing: 2px;
}
.coast-photo:hover img { transform: scale(1.04); }
.coast-photo:focus-visible { outline: 3px solid var(--home-accent); outline-offset: 5px; }
@media (max-width: 1199px) {
.home-apartments__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.apartment-card__image img { aspect-ratio: 4 / 3; }
.apartment-card__specs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
.home-apartments, .home-coast { padding: 64px 0; }
.home-coast__grid { grid-auto-rows: 160px; gap: 16px; }
}
@media (max-width: 767px) {
.home-apartments, .home-coast { padding: 48px 0; }
.home-apartments__grid { grid-template-columns: minmax(0, 1fr); }
.home-apartments .section-title { margin-bottom: 28px; }
.home-coast__heading { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 28px; }
.home-coast__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 160px; gap: 12px; }
.coast-photo--featured { grid-row: span 2; }
.coast-photo--panorama { grid-row: span 1; }
.coast-photo__zoom { top: 10px; right: 10px; width: 30px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
.apartment-card__image img, .coast-photo img { transition: none; }
.apartment-card:hover .apartment-card__image img,
.apartment-card:focus-within .apartment-card__image img,
.coast-photo:hover img { transform: none; }
} .home-reviews {
--home-ink: #243e38;
--home-accent: #496454;
}
.home-reviews .section-title { margin-bottom: 40px; } .contact-whatsapp {
display: inline-flex;
align-items: center;
gap: 12px;
max-width: 100%;
margin-top: 24px;
padding: 14px 20px;
border-radius: 8px;
background: #246747;
color: #fff;
font-size: 14px;
font-weight: 700;
line-height: 1.5;
}
.contact-whatsapp i { font-size: 24px; flex-shrink: 0; }
.contact-whatsapp:hover, .contact-whatsapp:focus {
background: #1c5138;
color: #fff;
}
.contact-whatsapp:focus-visible {
outline: 3px solid #246747;
outline-offset: 4px;
} .coastal-header, .coastal-hero, .coastal-footer, .coastal-menu {
--coastal-ink: #243e38;
--coastal-green: #496454;
--coastal-cream: #f8f7f2;
}
.coastal-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 24px;
min-height: 48px;
padding: 13px 22px;
border: 1px solid transparent;
border-radius: 6px;
font-size: 13px;
font-weight: 700;
line-height: 1.5;
transition: background-color 180ms ease, color 180ms ease;
}
.coastal-button > span { font-size: 21px; line-height: 1; }
.coastal-button--solid { background: var(--coastal-ink); color: #fff; }
.coastal-button--solid:hover { background: var(--coastal-green); color: #fff; }
.coastal-button--light { background: var(--coastal-cream); color: var(--coastal-ink); }
.coastal-button--light:hover { background: #dce3d7; color: var(--coastal-ink); }
.coastal-header a:focus-visible, .coastal-header button:focus-visible,
.coastal-menu a:focus-visible, .coastal-menu button:focus-visible {
outline: 3px solid #496454;
outline-offset: 5px;
}
.coastal-header { position: relative; z-index: 20; background: #fff; }
.coastal-header__strip { background: #f0f3ed; color: #496454; }
.coastal-header__strip-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
min-height: 36px;
font-size: 11px;
letter-spacing: 0.3px;
}
.coastal-header__strip i { margin-right: 7px; }
.coastal-header__contact { display: flex; gap: 24px; }
.coastal-header__contact a { color: #496454; }
.coastal-header__contact a:hover { text-decoration: underline; }
.coastal-header .menu-item { box-shadow: none; border-bottom: 1px solid #e4e9e0; }
.coastal-header__main {
display: flex;
align-items: center;
justify-content: space-between;
gap: 28px;
min-height: 100px;
}
.coastal-header__brand { display: inline-flex; flex-shrink: 0; align-items: center; padding: 12px 0; }
.coastal-header .logo { width: 118px; max-width: 118px; max-height: 76px; object-fit: contain; }
.coastal-header__wordmark { font-family: var(--font-secondary); font-size: 32px; color: var(--coastal-ink); line-height: 1.1; }
.coastal-header__wordmark > span { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: 3px; margin-top: 6px; }
.coastal-header__nav { margin-left: auto; }
.coastal-header__nav > ul { display: flex; align-items: center; gap: 28px; }
.coastal-header__nav li { position: relative; list-style: none; }
.coastal-header__nav > ul > li > a {
display: inline-flex;
align-items: center;
gap: 7px;
position: relative;
padding: 36px 0;
color: var(--coastal-ink);
font-size: 13px;
font-weight: 500;
}
.coastal-header__nav > ul > li > a::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 27px;
height: 2px;
background: #8fa38c;
transform: scaleX(0);
transform-origin: left;
transition: transform 180ms ease;
}
.coastal-header__nav > ul > li.active > a::after,
.coastal-header__nav > ul > li:hover > a::after,
.coastal-header__nav > ul > li:focus-within > a::after { transform: scaleX(1); }
.coastal-header__nav i { font-size: 8px; }
.coastal-header__dropdown {
position: absolute;
top: 100%;
left: -20px;
width: 240px;
padding: 10px;
background: #fff;
border: 1px solid #e4e9e0;
border-radius: 8px;
box-shadow: 0 12px 30px rgba(36, 62, 56, 0.12);
opacity: 0;
visibility: hidden;
}
.coastal-header__nav li:hover > .coastal-header__dropdown,
.coastal-header__nav li:focus-within > .coastal-header__dropdown { opacity: 1; visibility: visible; }
.coastal-header__dropdown a { display: block; padding: 12px; font-size: 13px; color: var(--coastal-ink); border-radius: 4px; }
.coastal-header__dropdown a:hover, .coastal-header__dropdown a:focus-visible { background: #f0f3ed; }
.coastal-header__actions { display: flex; align-items: center; gap: 22px; }
.coastal-header__languages, .coastal-footer__languages { display: flex; gap: 10px; list-style: none; }
.coastal-header__languages a, .coastal-footer__languages a { display: inline-block; padding: 8px 2px; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.coastal-header__languages a { color: #68796b; }
.coastal-header__languages .current-lang a { color: var(--coastal-ink); border-bottom: 1px solid currentColor; }
.coastal-header .canvas-open { display: none; } .coastal-menu {
display: flex;
flex-direction: column;
position: fixed;
inset: 0 0 0 auto;
width: min(420px, 100vw);
height: 100vh;
height: 100dvh;
padding: 0;
background: #f8f7f2;
text-align: left;
overflow: hidden;
visibility: hidden;
opacity: 0;
transform: translateX(100%);
z-index: 100001;
box-shadow: -16px 0 60px rgba(20, 37, 30, 0.12);
transition: transform 250ms ease, opacity 250ms ease, visibility 250ms ease;
}
.coastal-menu.show-offcanvas-menu-wrapper { left: auto; visibility: visible; opacity: 1; transform: translateX(0); }
.offcanvas-menu-overlay { display: block; position: fixed; inset: 0; background: rgba(20, 37, 30, 0.55); z-index: 100000; visibility: hidden; pointer-events: none; }
.offcanvas-menu-overlay.active { visibility: visible; pointer-events: auto; }
.coastal-menu__top {
display: flex;
flex-shrink: 0;
align-items: center;
justify-content: space-between;
gap: 20px;
padding: 24px;
padding-top: max(24px, env(safe-area-inset-top));
border-bottom: 1px solid #dfe6db;
}
.coastal-menu__brand { color: var(--coastal-ink); font-size: 30px; font-family: var(--font-secondary); line-height: 1.2; }
.coastal-menu__brand:hover { color: var(--coastal-green); }
.coastal-menu__brand > span { display: block; margin-top: 4px; font-size: 10px; letter-spacing: 1px; }
.coastal-menu .canvas-close, .coastal-header .canvas-open {
align-items: center;
justify-content: center;
flex-shrink: 0;
width: 44px;
height: 44px;
padding: 0;
border: 1px solid #d5ddd1;
border-radius: 10px;
background: transparent;
color: var(--coastal-ink);
font-size: 25px;
cursor: pointer;
}
.coastal-menu .canvas-close { display: inline-flex; font-size: 30px; line-height: 1; }
.coastal-menu__body { flex: 1; min-height: 0; padding: 28px 24px 16px; overflow-y: auto; overscroll-behavior: contain; }
.coastal-menu__label { display: block; color: #68796b; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 14px; }
.coastal-menu__nav ul { list-style: none; }
.coastal-menu__nav > ul > li { margin-bottom: 6px; border-radius: 8px; }
.coastal-menu__nav > ul > li.active { background: #e9eee4; }
.coastal-menu__row { display: flex; align-items: center; gap: 8px; padding-right: 6px; }
.coastal-menu__nav > ul > li > a,
.coastal-menu__row > a {
display: block;
flex: 1;
min-width: 0;
padding: 15px 14px;
color: var(--coastal-ink);
font-family: var(--font-secondary);
font-size: 18px;
line-height: 1.5;
overflow-wrap: anywhere;
border-radius: 8px;
}
.coastal-menu__nav a:hover, .coastal-menu__nav a:focus-visible { background: #e9eee4; color: var(--coastal-ink); }
.coastal-menu__nav a[aria-current="page"] { font-weight: 700; }
.coastal-menu__toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid #d5ddd1; border-radius: 8px; background: transparent; color: var(--coastal-ink); font-size: 11px; cursor: pointer; }
.coastal-menu__toggle:hover { background: #dce3d7; }
.coastal-menu__toggle i { transition: transform 180ms ease; }
.coastal-menu__toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.coastal-menu__submenu { margin: 0 14px; padding: 0 0 10px 16px; border-left: 1px solid #c8d3c1; }
.coastal-menu__submenu[hidden] { display: none; }
.coastal-menu__submenu a { display: block; padding: 12px 14px; color: #496454; border-radius: 6px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.coastal-menu__language-section { padding: 24px 0; margin-top: 24px; border-top: 1px solid #dfe6db; }
.coastal-menu__languages { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; }
.coastal-menu__languages a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid #d5ddd1; border-radius: 6px; color: var(--coastal-ink); font-size: 13px; }
.coastal-menu__languages .current-lang a { color: #fff; border-color: var(--coastal-ink); background: var(--coastal-ink); }
.coastal-menu__languages a:hover { color: #fff; border-color: #496454; background: #496454; }
.coastal-menu__contact { display: grid; gap: 4px; font-size: 13px; }
.coastal-menu__contact a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 0; color: var(--coastal-green); overflow-wrap: anywhere; }
.coastal-menu__contact i { flex-shrink: 0; font-size: 14px; }
.coastal-menu__bottom { flex-shrink: 0; padding: 20px 24px; padding-bottom: max(20px, env(safe-area-inset-bottom)); background: #f8f7f2; border-top: 1px solid #dfe6db; }
.coastal-menu__booking { width: 100%; min-height: 52px; margin: 0; }
html.coastal-menu-open, body.coastal-menu-open { overflow: hidden; overscroll-behavior: none; }
@media (max-width: 575px) {
.coastal-menu { width: 100%; box-shadow: none; }
.coastal-menu__top { padding-inline: 20px; }
.coastal-menu__body { padding: 24px 20px 16px; }
.coastal-menu__bottom { padding-inline: 20px; }
} .coastal-hero.hero-section {
height: auto;
min-height: 640px;
min-height: clamp(640px, 78svh, 860px);
background: #243e38;
color: #fff;
isolation: isolate;
}
.coastal-hero__slides { position: absolute; inset: 0; z-index: 0; }
.coastal-hero .hero-slider { z-index: 0; }
.coastal-hero .hero-slider .hs-item { background-position: center; background-size: cover; }
.coastal-hero.hero-slider-overlay::after { z-index: 1; background: linear-gradient(90deg, rgba(15, 32, 27, 0.86), rgba(15, 32, 27, 0.52) 55%, rgba(15, 32, 27, 0.2)); }
.coastal-hero .container { z-index: 2; }
.coastal-hero .hero-text { margin: 0; padding: 88px 0 128px; max-width: 700px; text-align: left; }
.coastal-eyebrow { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 2.8px; line-height: 1.6; }
.coastal-hero .coastal-eyebrow { margin-bottom: 26px; color: #e4eadf; }
.coastal-hero .hero-text h1 { font-size: clamp(46px, 5.4vw, 76px); line-height: 1.12; letter-spacing: -2.5px; color: #fff; margin-bottom: 26px; }
.coastal-hero h1 > span { color: #e0e8d9; }
.coastal-hero .hero-text p { color: #edf0ea; font-size: 16px; line-height: 1.85; max-width: 430px; margin: 0 0 32px; }
.coastal-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px 30px; }
.coastal-hero .coastal-button--light { color: var(--coastal-ink); }
.coastal-hero__apartments { display: inline-flex; gap: 18px; padding: 12px 0; color: #fff; font-size: 13px; border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
.coastal-hero__apartments:hover { color: #e0e8d9; }
.coastal-hero__bottom { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; }
.coastal-hero__bottom .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 24px; padding-bottom: 24px; padding-right: 85px; border-top: 1px solid rgba(255, 255, 255, 0.25); font-size: 11px; letter-spacing: 0.7px; }
.coastal-hero__bottom i { margin-right: 8px; }
.coastal-hero__pause { display: flex; align-items: center; justify-content: center; position: absolute; z-index: 3; right: max(20px, calc((100% - 1140px) / 2)); bottom: 14px; width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%; background: rgba(15, 32, 27, 0.4); color: #fff; cursor: pointer; font-size: 12px; }
.coastal-hero__pause[hidden] { display: none; }
.coastal-hero a:focus-visible, .coastal-hero button:focus-visible, .coastal-footer a:focus-visible { outline: 3px solid #e0e8d9; outline-offset: 5px; }
#apartments { scroll-margin-top: 24px; } .coastal-footer { background: #243e38; color: #e0e8d9; }
.coastal-footer__invitation { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 64px 0 48px; border-bottom: 1px solid #496158; }
.coastal-footer .coastal-eyebrow { color: #c0ceba; margin-bottom: 16px; }
.coastal-footer__invitation h2 { color: #fff; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.25; letter-spacing: -1.2px; }
.coastal-footer .coastal-button--light { color: var(--coastal-ink); }
.coastal-footer__grid { display: grid; grid-template-columns: 1.3fr 0.8fr 1.2fr; gap: 70px; padding: 52px 0; }
.coastal-footer__brand { display: inline-block; color: #fff; font-family: var(--font-secondary); font-size: 40px; line-height: 1; }
.coastal-footer__brand > span { display: block; font-family: var(--font-primary); font-size: 10px; letter-spacing: 3.5px; text-transform: uppercase; margin-top: 12px; }
.coastal-footer__about p { color: #d2ddd1; font-size: 14px; line-height: 1.85; max-width: 260px; margin: 24px 0 20px; }
.coastal-footer__location { font-size: 12px; }
.coastal-footer__location i { margin-right: 7px; }
.coastal-footer h3 { color: #c0ceba; font-family: var(--font-primary); font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: 2px; margin-bottom: 22px; }
.coastal-footer__nav ul { list-style: none; }
.coastal-footer__nav li + li { margin-top: 12px; }
.coastal-footer__nav a, .coastal-footer__contact a { color: #f1f3ec; font-size: 13px; }
.coastal-footer a:hover { color: #fff; }
.coastal-footer__nav a:hover, .coastal-footer__contact a:hover { text-decoration: underline; text-underline-offset: 4px; }
.coastal-footer address { font-size: 13px; line-height: 1.8; margin-bottom: 20px; font-style: normal; }
.coastal-footer address > span { display: block; }
.coastal-footer__contact > a { display: flex; align-items: baseline; gap: 10px; margin-top: 12px; overflow-wrap: anywhere; }
.coastal-footer__contact i { flex-shrink: 0; }
.coastal-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; border-top: 1px solid #496158; }
.coastal-footer__bottom p { color: #c0ceba; font-size: 11px; margin: 0; }
.coastal-footer__languages a { color: #c0ceba; }
.coastal-footer__languages .current-lang a { color: #fff; border-bottom: 1px solid currentColor; }
@media (max-width: 1199px) {
.coastal-header__main { min-height: 88px; }
.coastal-header__nav { display: none; }
.coastal-header .canvas-open { display: inline-flex; }
.coastal-header__actions { margin-left: auto; }
.coastal-hero__pause { right: 20px; }
}
@media (max-width: 991px) {
.coastal-footer__grid { gap: 32px; }
.coastal-hero.hero-section { min-height: 600px; }
.coastal-menu .canvas-close { padding: 0; }
}
@media (max-width: 767px) {
.coastal-header__strip-inner { min-height: 32px; font-size: 10px; }
.coastal-header__contact > a:last-child:not(:first-child) { display: none; }
.coastal-header__main { min-height: 80px; gap: 14px; }
.coastal-header .logo { width: 92px; max-height: 58px; }
.coastal-header__booking { display: none; }
.coastal-header__actions { gap: 16px; }
.coastal-hero.hero-section { min-height: 580px; }
.coastal-hero .hero-text { padding: 64px 0 118px; }
.coastal-hero .hero-text h1 { font-size: clamp(42px, 10vw, 60px); letter-spacing: -1.5px; }
.coastal-hero .hero-text p { font-size: 15px; max-width: 340px; }
.coastal-hero .coastal-eyebrow { font-size: 10px; letter-spacing: 2px; margin-bottom: 22px; }
.coastal-hero__bottom .container { align-items: flex-start; flex-direction: column; gap: 7px; padding-top: 18px; padding-bottom: 18px; font-size: 10px; }
.coastal-hero__pause { bottom: 6px; }
.coastal-footer__invitation { align-items: flex-start; flex-direction: column; padding: 48px 0 36px; gap: 24px; }
.coastal-footer__grid { grid-template-columns: 1fr 1fr; padding: 36px 0; gap: 36px 24px; }
.coastal-footer__about { grid-column: 1 / -1; }
.coastal-footer__about p { max-width: 360px; margin-top: 20px; }
}
@media (max-width: 479px) {
.coastal-footer__grid { grid-template-columns: minmax(0, 1fr); }
.coastal-footer__about { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
.coastal-button, .coastal-header__nav > ul > li > a::after, .coastal-menu { transition: none; }
} .coastal-button--solid:focus { background: #496454; color: #fff; }
.coastal-hero .coastal-button--light:hover,
.coastal-hero .coastal-button--light:focus,
.coastal-footer .coastal-button--light:hover,
.coastal-footer .coastal-button--light:focus { background: #dce3d7; color: #243e38; }
@media (prefers-reduced-motion: reduce) {
.coastal-menu__toggle i { transition: none; }
} .activity-page {
--activity-ink: #243e38;
--activity-muted: #54665f;
--activity-accent: #496454;
--home-ink: var(--activity-ink);
--home-accent: var(--activity-accent);
--coastal-ink: var(--activity-ink);
--coastal-green: var(--activity-accent);
--coastal-cream: #f8f7f2;
color: var(--activity-ink);
background: #fff;
}
.activity-page a:focus-visible {
outline: 3px solid var(--activity-accent);
outline-offset: 5px;
}
.activity-page .screen-reader-text {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.activity-eyebrow {
display: flex;
align-items: center;
gap: 12px;
color: var(--activity-accent);
font-size: 11px;
font-weight: 700;
line-height: 1.6;
letter-spacing: 2px;
text-transform: uppercase;
}
.activity-eyebrow::before { content: ""; flex-shrink: 0; width: 30px; height: 1px; background: currentColor; }
.activity-breadcrumb { font-size: 12px; line-height: 1.7; }
.activity-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px 12px; list-style: none; }
.activity-breadcrumb li { min-width: 0; overflow-wrap: anywhere; }
.activity-breadcrumb li + li::before { content: "/"; margin-right: 12px; opacity: 0.5; }
.activity-breadcrumb a { color: inherit; }
.activity-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.activity-breadcrumb [aria-current] { opacity: 0.75; }
.activity-intro { padding: 28px 0 72px; background: #f8f7f2; border-bottom: 1px solid #e4e9e0; }
.activity-intro .activity-breadcrumb { margin-bottom: 60px; }
.activity-intro__layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: end; gap: 80px; }
.activity-intro h1 { color: var(--activity-ink); font-size: clamp(44px, 5.5vw, 72px); line-height: 1.12; letter-spacing: -2px; margin: 18px 0 24px; overflow-wrap: anywhere; }
.activity-intro__layout > div > p { color: var(--activity-muted); font-size: 18px; line-height: 1.8; max-width: 580px; margin: 0; }
.activity-intro__note { border-left: 1px solid #cdd7c8; padding: 4px 0 4px 36px; }
.activity-intro__icon { display: block; color: var(--activity-accent); font-size: 38px; line-height: 1; margin-bottom: 22px; }
.activity-intro__note .activity-eyebrow { letter-spacing: 1.4px; }
.activity-intro__note .activity-eyebrow::before { display: none; }
.activity-intro__layout .activity-intro__note p { font-size: 15px; margin-top: 10px; }
.activity-collection { padding: 64px 0 96px; }
.activity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; }
.activity-card { min-width: 0; border: 1px solid #dfe6db; border-radius: 12px; overflow: hidden; background: #fff; transition: box-shadow 200ms ease, border-color 200ms ease; }
.activity-card:hover, .activity-card:focus-within { border-color: #9caf9f; box-shadow: 0 16px 36px rgba(36, 62, 56, 0.09); }
.activity-card__link { display: flex; flex-direction: column; height: 100%; color: var(--activity-ink); }
.activity-page .activity-card__link:focus-visible { outline-offset: -4px; border-radius: 12px; }
.activity-card__image { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: #e9eee4; }
.activity-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 350ms ease; }
.activity-card:hover .activity-card__image img, .activity-card:focus-within .activity-card__image img { transform: scale(1.04); }
.activity-card__placeholder { display: flex; align-items: center; justify-content: center; height: 100%; background: linear-gradient(135deg, #dce3d7, #f0f3ed); color: #496454; font-size: 54px; }
.activity-card__arrow { position: absolute; right: 16px; bottom: 16px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #f8f7f2; color: var(--activity-ink); font-size: 24px; line-height: 1; }
.activity-card__body { display: flex; flex: 1; flex-direction: column; padding: 28px; }
.activity-card h2 { color: var(--activity-ink); font-size: 24px; line-height: 1.4; letter-spacing: -0.5px; overflow-wrap: anywhere; margin: 0 0 16px; }
.activity-card__body p { color: var(--activity-muted); font-size: 14px; line-height: 1.85; margin-bottom: 24px; }
.activity-card__more { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 18px; border-top: 1px solid #e4e9e0; color: var(--activity-accent); font-size: 12px; font-weight: 700; }
.activity-card__more > span { font-size: 22px; line-height: 1; }
.activity-pagination { margin-top: 52px; }
.activity-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.activity-pagination .page-numbers, .activity-content__pages > * { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 10px 15px; border: 1px solid #d5ddd1; border-radius: 6px; color: var(--activity-ink); font-size: 13px; }
.activity-pagination .current, .activity-pagination a:hover, .activity-content__pages [aria-current], .activity-content__pages a:hover { background: var(--activity-ink); border-color: var(--activity-ink); color: #fff; }
.activity-pagination .dots { border-color: transparent; }
.activity-empty { padding: 24px 0; text-align: center; }
.activity-empty > i { color: var(--activity-accent); font-size: 40px; margin-bottom: 24px; }
.activity-empty h2 { color: var(--activity-ink); font-size: 28px; line-height: 1.4; margin-bottom: 20px; } .activity-hero { position: relative; isolation: isolate; min-height: 400px; background: #eef2ec; }
.activity-hero--photo { min-height: 540px; color: #fff; background: #243e38; }
.activity-hero__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.activity-hero--photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(15, 32, 27, 0.55), rgba(15, 32, 27, 0.3) 30%, rgba(15, 32, 27, 0.85)); }
.activity-hero__inner { display: flex; flex-direction: column; justify-content: space-between; min-height: inherit; gap: 80px; padding-top: 28px; padding-bottom: 56px; }
.activity-hero__copy { max-width: 940px; }
.activity-hero h1 { color: inherit; font-size: clamp(42px, 5vw, 68px); line-height: 1.15; letter-spacing: -1.8px; margin: 20px 0 28px; overflow-wrap: anywhere; }
.activity-hero__back { display: inline-flex; align-items: center; gap: 16px; padding: 8px 0; border-bottom: 1px solid currentColor; color: inherit; font-size: 12px; font-weight: 700; }
.activity-hero__back:hover { color: inherit; }
.activity-hero--photo .activity-eyebrow { color: #e0e8d9; }
.activity-hero--photo a:focus-visible { outline-color: #e0e8d9; }
.activity-single__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 72px; padding-top: 72px; padding-bottom: 96px; }
.activity-article, .activity-sidebar { min-width: 0; }
.activity-content { color: var(--activity-muted); font-size: 17px; line-height: 1.9; overflow-wrap: anywhere; }
.activity-content::after { content: ""; display: block; clear: both; }
.activity-content p { color: inherit; font-size: inherit; line-height: inherit; margin-bottom: 24px; }
.activity-content > p:first-child { font-size: 20px; color: var(--activity-ink); line-height: 1.8; }
.activity-content h1, .activity-content h2, .activity-content h3, .activity-content h4, .activity-content h5, .activity-content h6 { color: var(--activity-ink); line-height: 1.35; margin: 36px 0 20px; }
.activity-content > :first-child { margin-top: 0; }
.activity-content h1, .activity-content h2 { font-size: clamp(28px, 3vw, 34px); letter-spacing: -0.7px; }
.activity-content h3 { font-size: 26px; }
.activity-content a { color: var(--activity-accent); text-decoration: underline; text-underline-offset: 4px; }
.activity-content a:hover { color: var(--activity-ink); }
.activity-content ul, .activity-content ol { padding-left: 24px; margin-bottom: 24px; }
.activity-content li + li { margin-top: 8px; }
.activity-content img { height: auto; border-radius: 8px; }
.activity-content figure, .activity-content .wp-caption { max-width: 100%; margin-bottom: 28px; }
.activity-content figcaption, .activity-content .wp-caption-text { font-size: 13px; line-height: 1.7; margin-top: 10px; }
.activity-content .alignleft { float: left; margin-right: 24px; }
.activity-content .alignright { float: right; margin-left: 24px; }
.activity-content .aligncenter { display: block; margin-inline: auto; }
.activity-content iframe, .activity-content video { max-width: 100%; }
.activity-content blockquote { border-left: 3px solid #9caf9f; padding: 8px 0 8px 24px; margin: 32px 0; color: var(--activity-ink); }
.activity-content blockquote > :last-child { margin-bottom: 0; }
.activity-content table { display: block; max-width: 100%; overflow-x: auto; margin-bottom: 28px; }
.activity-content td, .activity-content th { padding: 12px 16px; border: 1px solid #dfe6db; }
.activity-content pre { padding: 20px; background: #f8f7f2; overflow-x: auto; }
.activity-content__pages { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.activity-article__back { margin-top: 48px; padding-top: 24px; border-top: 1px solid #dfe6db; }
.activity-sidebar__inner { display: grid; gap: 24px; }
.activity-related { padding: 28px; background: #f8f7f2; border: 1px solid #e4e9e0; border-radius: 12px; }
.activity-related h2 { color: var(--activity-ink); font-size: 27px; line-height: 1.3; letter-spacing: -0.7px; margin: 12px 0 20px; }
.activity-related ul { list-style: none; }
.activity-related li + li { border-top: 1px solid #dfe6db; }
.activity-related li a { display: flex; align-items: center; gap: 12px; padding: 16px 0; color: var(--activity-ink); font-size: 13px; line-height: 1.5; }
.activity-related li a:hover { color: var(--activity-accent); text-decoration: underline; text-underline-offset: 3px; }
.activity-related li img, .activity-related__placeholder { flex-shrink: 0; width: 56px; height: 56px; border-radius: 6px; object-fit: cover; }
.activity-related__placeholder { display: flex; align-items: center; justify-content: center; background: #e4e9e0; color: var(--activity-accent); font-size: 22px; }
.activity-related li a > span:not([class]) { min-width: 0; overflow-wrap: anywhere; }
.activity-related__arrow { margin-left: auto; flex-shrink: 0; font-size: 20px; }
.activity-related .home-section-link { display: flex; margin-top: 8px; font-size: 12px; }
.activity-stay { padding: 32px 28px; background: var(--activity-ink); color: #fff; border-radius: 12px; }
.activity-stay .activity-eyebrow { color: #c0ceba; font-size: 10px; letter-spacing: 1.2px; }
.activity-stay h2 { color: #fff; font-size: 29px; line-height: 1.35; letter-spacing: -0.6px; margin: 20px 0 16px; }
.activity-stay p { color: #d2ddd1; font-size: 14px; line-height: 1.85; margin-bottom: 24px; }
.activity-stay .coastal-button { width: 100%; justify-content: space-between; }
.activity-stay .coastal-button:focus-visible { outline-color: #e0e8d9; } .activity-gallery { margin-top: 48px; }
.activity-gallery h2 { color: var(--activity-ink); font-size: 30px; letter-spacing: -0.7px; line-height: 1.3; margin-bottom: 24px; }
.activity-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 14px; list-style: none; }
.activity-gallery__grid li { min-width: 0; }
.activity-gallery__grid > li:first-child:nth-last-child(n+3) { grid-column: span 2; grid-row: span 2; }
.activity-gallery__grid > li:only-child { grid-column: 1 / -1; grid-row: span 2; }
.activity-gallery__grid > li:first-child:nth-last-child(2), .activity-gallery__grid > li:first-child:nth-last-child(2) ~ li { grid-column: span 1; grid-row: span 2; }
.activity-gallery__grid:has(> li:first-child:nth-last-child(2)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.activity-gallery__grid a { display: block; height: 100%; position: relative; border-radius: 10px; background: #e4e9e0; }
.activity-gallery__grid img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.activity-gallery__grid a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: #142a24; opacity: 0; transition: opacity 200ms ease; pointer-events: none; }
.activity-gallery__grid a:hover::after { opacity: 0.15; }
.activity-gallery__zoom { display: flex; align-items: center; justify-content: center; position: absolute; right: 12px; top: 12px; z-index: 1; width: 32px; height: 32px; background: #fff; border-radius: 50%; color: var(--activity-ink); font-size: 12px; }
.activity-archive__gallery { padding: 72px 0 96px; background: #f8f7f2; }
.activity-archive__gallery .activity-gallery { margin-top: 0; }
.activity-archive__gallery .activity-gallery__grid { grid-auto-rows: 200px; gap: 20px; }
@media (max-width: 1199px) {
.activity-single__layout { gap: 40px; grid-template-columns: minmax(0, 1fr) 300px; }
.activity-grid { gap: 24px; }
.activity-card__body { padding: 24px; }
}
@media (max-width: 991px) {
.activity-intro__layout { gap: 40px; grid-template-columns: minmax(0, 1fr) 220px; }
.activity-intro__note { padding-left: 24px; }
.activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.activity-single__layout { grid-template-columns: minmax(0, 1fr); gap: 48px; padding-top: 48px; padding-bottom: 64px; }
.activity-sidebar__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.activity-collection, .activity-archive__gallery { padding: 48px 0 64px; }
.activity-archive__gallery .activity-gallery__grid { grid-auto-rows: 160px; gap: 14px; }
}
@media (max-width: 767px) {
.activity-intro { padding: 24px 0 40px; }
.activity-intro .activity-breadcrumb { margin-bottom: 36px; }
.activity-intro__layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.activity-intro h1 { letter-spacing: -1.4px; margin: 16px 0 20px; }
.activity-intro__layout > div > p { font-size: 16px; }
.activity-intro__note { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 16px; padding: 24px 0 0; border-left: 0; border-top: 1px solid #cdd7c8; }
.activity-intro__icon { grid-row: span 2; align-self: center; font-size: 32px; margin: 0; }
.activity-intro__layout .activity-intro__note p { margin: 0; font-size: 14px; }
.activity-grid { grid-template-columns: minmax(0, 1fr); }
.activity-card h2 { font-size: 25px; }
.activity-collection { padding: 32px 0 48px; }
.activity-pagination { margin-top: 32px; }
.activity-hero { min-height: 320px; }
.activity-hero--photo { min-height: 440px; }
.activity-hero__inner { padding-top: 24px; padding-bottom: 36px; gap: 64px; }
.activity-hero h1 { font-size: clamp(36px, 9vw, 52px); letter-spacing: -1px; margin: 16px 0 24px; }
.activity-breadcrumb { font-size: 11px; }
.activity-single__layout { padding-top: 36px; padding-bottom: 48px; gap: 36px; }
.activity-content { font-size: 16px; }
.activity-content > p:first-child { font-size: 18px; }
.activity-sidebar__inner { grid-template-columns: minmax(0, 1fr); }
.activity-related, .activity-stay { padding: 24px; }
.activity-gallery { margin-top: 36px; }
.activity-gallery__grid, .activity-archive__gallery .activity-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 140px; gap: 10px; }
.activity-gallery__grid > li:first-child:nth-last-child(n+3) { grid-column: 1 / -1; grid-row: span 2; }
.activity-gallery__grid > li:first-child:nth-last-child(2), .activity-gallery__grid > li:first-child:nth-last-child(2) ~ li { grid-row: span 1; }
.activity-gallery__zoom { right: 10px; top: 10px; width: 28px; height: 28px; }
.activity-archive__gallery { padding: 40px 0 48px; }
}
@media (max-width: 479px) {
.activity-content .alignleft, .activity-content .alignright { float: none; margin-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
.activity-card, .activity-card__image img, .activity-gallery__grid a::after { transition: none; }
.activity-card:hover .activity-card__image img, .activity-card:focus-within .activity-card__image img { transform: none; }
} .apartment-page {
--apartment-ink: #243e38;
--apartment-muted: #54665f;
--apartment-accent: #496454;
--home-ink: var(--apartment-ink);
--home-accent: var(--apartment-accent);
--coastal-ink: var(--apartment-ink);
--coastal-green: var(--apartment-accent);
--coastal-cream: #f8f7f2;
background: #fff;
color: var(--apartment-ink);
}
.apartment-page a:focus-visible, .apartment-availability__calendar:focus-visible { outline: 3px solid var(--apartment-accent); outline-offset: 5px; }
.apartment-page section[id] { scroll-margin-top: 32px; }
.apartment-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; line-height: 1.6; text-transform: uppercase; letter-spacing: 2px; color: var(--apartment-accent); }
.apartment-eyebrow::before { content: ""; flex-shrink: 0; width: 30px; height: 1px; background: currentColor; }
.apartment-section-title { color: var(--apartment-ink); font-size: clamp(28px, 3vw, 36px); line-height: 1.3; letter-spacing: -0.8px; margin: 0 0 24px; overflow-wrap: anywhere; }
.apartment-breadcrumb { font-size: 12px; line-height: 1.7; }
.apartment-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px 12px; list-style: none; }
.apartment-breadcrumb li { min-width: 0; overflow-wrap: anywhere; }
.apartment-breadcrumb li + li::before { content: "/"; margin-right: 12px; opacity: 0.5; }
.apartment-breadcrumb a { color: inherit; }
.apartment-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.apartment-breadcrumb [aria-current] { opacity: 0.75; }
.apartment-hero { position: relative; isolation: isolate; min-height: 380px; background: #eef2ec; }
.apartment-hero--photo { min-height: 540px; color: #fff; background: #243e38; }
.apartment-hero__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.apartment-hero--photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(15, 32, 27, 0.55), rgba(15, 32, 27, 0.12) 35%, rgba(15, 32, 27, 0.86)); }
.apartment-hero__inner { display: flex; flex-direction: column; justify-content: space-between; gap: 100px; min-height: inherit; padding-top: 28px; padding-bottom: 56px; }
.apartment-hero__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.apartment-hero__bottom > div:first-child { min-width: 0; max-width: 790px; }
.apartment-hero h1 { color: inherit; font-size: clamp(42px, 5vw, 70px); line-height: 1.15; letter-spacing: -1.8px; margin-top: 20px; overflow-wrap: anywhere; }
.apartment-hero--photo .apartment-eyebrow { color: #e0e8d9; }
.apartment-hero--photo a:focus-visible { outline-color: #e0e8d9; }
.apartment-hero__actions { display: flex; flex-shrink: 0; flex-direction: column; align-items: center; gap: 12px; }
.apartment-hero__gallery { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 10px 16px; color: inherit; font-size: 12px; }
.apartment-hero__gallery:hover { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.apartment-hero .coastal-button--light:hover, .apartment-hero .coastal-button--light:focus { background: #dce3d7; color: var(--apartment-ink); }
.apartment-hero:not(.apartment-hero--photo) .coastal-button--light { background: var(--apartment-ink); color: #fff; }
.apartment-hero:not(.apartment-hero--photo) .coastal-button--light:hover { background: var(--apartment-accent); }
.apartment-summary { padding: 32px 0; background: #f8f7f2; border-bottom: 1px solid #e4e9e0; }
.apartment-summary__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 20px; margin: 0; }
.apartment-summary__fact { min-width: 0; padding: 4px 20px; border-left: 1px solid #ccd7c7; }
.apartment-summary__fact dt { display: flex; align-items: center; gap: 10px; color: var(--apartment-muted); font-size: 12px; font-weight: 400; }
.apartment-summary__fact dt i { flex-shrink: 0; width: 18px; text-align: center; color: var(--apartment-accent); font-size: 16px; }
.apartment-summary__fact dd { color: var(--apartment-ink); font-size: 22px; font-weight: 700; line-height: 1.4; margin: 8px 0 0 28px; overflow-wrap: anywhere; }
.apartment-sections { background: #fff; border-bottom: 1px solid #e4e9e0; }
.apartment-sections ul { display: flex; flex-wrap: wrap; gap: 0 36px; list-style: none; }
.apartment-sections a { display: inline-block; padding: 22px 0; color: var(--apartment-accent); font-size: 12px; font-weight: 700; }
.apartment-sections a:hover { color: var(--apartment-ink); text-decoration: underline; text-underline-offset: 6px; }
.apartment-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 72px; padding-top: 64px; padding-bottom: 80px; }
.apartment-layout__main { min-width: 0; }
.apartment-overview > .apartment-eyebrow { margin-bottom: 16px; }
.apartment-copy { color: var(--apartment-muted); font-size: 17px; line-height: 1.9; overflow-wrap: anywhere; }
.apartment-copy::after { content: ""; display: block; clear: both; }
.apartment-copy p { color: inherit; font-size: inherit; line-height: inherit; margin-bottom: 24px; }
.apartment-copy > p:first-child { color: var(--apartment-ink); font-size: 19px; line-height: 1.85; }
.apartment-copy h1, .apartment-copy h2, .apartment-copy h3, .apartment-copy h4, .apartment-copy h5, .apartment-copy h6 { color: var(--apartment-ink); line-height: 1.35; margin: 32px 0 18px; }
.apartment-copy h1, .apartment-copy h2 { font-size: 30px; }
.apartment-copy h3 { font-size: 25px; }
.apartment-copy > :first-child { margin-top: 0; }
.apartment-copy a { color: var(--apartment-accent); text-decoration: underline; text-underline-offset: 4px; }
.apartment-copy a:hover { color: var(--apartment-ink); }
.apartment-copy ul, .apartment-copy ol { padding-left: 24px; margin-bottom: 24px; }
.apartment-copy li + li { margin-top: 8px; }
.apartment-copy img { height: auto; border-radius: 8px; }
.apartment-copy figure, .apartment-copy .wp-caption { max-width: 100%; margin-bottom: 24px; }
.apartment-copy figcaption, .apartment-copy .wp-caption-text { font-size: 13px; line-height: 1.7; margin-top: 10px; }
.apartment-copy .alignleft { float: left; margin-right: 24px; }
.apartment-copy .alignright { float: right; margin-left: 24px; }
.apartment-copy .aligncenter { display: block; margin-inline: auto; }
.apartment-copy iframe, .apartment-copy video { max-width: 100%; }
.apartment-copy table { display: block; max-width: 100%; overflow-x: auto; margin-bottom: 24px; }
.apartment-copy td, .apartment-copy th { padding: 12px; border: 1px solid #dfe6db; }
.apartment-copy blockquote { padding-left: 24px; border-left: 3px solid #9caf9f; margin: 28px 0; }
.apartment-copy pre { padding: 20px; background: #f8f7f2; overflow-x: auto; }
.apartment-copy__pages { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.apartment-copy__pages > * { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid #d5ddd1; border-radius: 6px; padding: 8px 12px; }
.apartment-copy__pages [aria-current], .apartment-copy__pages a:hover { background: var(--apartment-ink); color: #fff; }
.apartment-amenities, .apartment-gallery, .apartment-pricing { margin-top: 48px; padding-top: 40px; border-top: 1px solid #dfe6db; }
.apartment-amenities ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; list-style: none; }
.apartment-amenities li { display: flex; align-items: center; gap: 12px; min-width: 0; color: var(--apartment-muted); font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.apartment-amenities__check { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #eef2ec; color: var(--apartment-accent); font-size: 10px; }
.apartment-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.apartment-section-heading .apartment-section-title { margin: 0; }
.apartment-section-heading > span { display: inline-flex; align-items: center; gap: 8px; color: var(--apartment-muted); font-size: 11px; line-height: 1.6; text-align: right; }
.apartment-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; list-style: none; }
.apartment-gallery__grid li { min-width: 0; }
.apartment-gallery__grid--featured > li:first-child { grid-column: 1 / -1; }
.apartment-gallery__grid a { display: block; position: relative; aspect-ratio: 4 / 3; border-radius: 10px; background: #e4e9e0; }
.apartment-gallery__grid--featured > li:first-child a { aspect-ratio: 16 / 10; }
.apartment-gallery__grid img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.apartment-gallery__grid a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: #142a24; opacity: 0; transition: opacity 200ms ease; pointer-events: none; }
.apartment-gallery__grid a:hover::after { opacity: 0.15; }
.apartment-gallery__zoom { display: flex; align-items: center; justify-content: center; position: absolute; right: 14px; top: 14px; z-index: 1; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--apartment-ink); font-size: 12px; }
.apartment-pricing__table { border: 1px solid #dfe6db; border-radius: 10px; overflow: hidden; }
.apartment-pricing table { width: 100%; border-collapse: collapse; font-size: 14px; }
.apartment-pricing th, .apartment-pricing td { padding: 14px 24px; line-height: 1.6; }
.apartment-pricing thead { background: var(--apartment-ink); color: #fff; font-size: 11px; letter-spacing: 0.8px; text-transform: uppercase; }
.apartment-pricing thead th { font-weight: 700; }
.apartment-pricing tbody th { color: var(--apartment-muted); font-weight: 400; }
.apartment-pricing tbody td { color: var(--apartment-ink); font-weight: 700; white-space: nowrap; }
.apartment-pricing tr > :last-child { text-align: right; }
.apartment-pricing tbody tr:nth-child(even) { background: #f8f7f2; }
.apartment-pricing tbody tr + tr { border-top: 1px solid #e4e9e0; }
.apartment-return { margin-top: 36px; }
.apartment-booking { position: sticky; top: 28px; min-width: 0; padding: 32px; border: 1px solid #d5ddd1; border-radius: 12px; background: #f8f7f2; box-shadow: 0 8px 32px rgba(36, 62, 56, 0.04); }
.apartment-booking .apartment-eyebrow { font-size: 10px; letter-spacing: 1.2px; }
.apartment-booking h2 { color: var(--apartment-ink); font-size: 32px; line-height: 1.3; letter-spacing: -0.8px; margin: 20px 0 12px; overflow-wrap: anywhere; }
.apartment-booking > p { color: var(--apartment-muted); font-size: 14px; line-height: 1.8; margin-bottom: 24px; }
.apartment-booking__actions { display: grid; gap: 12px; }
.apartment-booking .coastal-button { justify-content: space-between; width: 100%; }
.apartment-booking__availability { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 10px 12px; border: 1px solid #c8d3c1; border-radius: 6px; color: var(--apartment-ink); font-size: 12px; line-height: 1.5; font-weight: 700; text-align: center; }
.apartment-booking__availability:hover { color: var(--apartment-ink); background: #e9eee4; }
.apartment-booking__note { display: flex; align-items: flex-start; gap: 10px; padding: 24px 0; margin-top: 24px; border-top: 1px solid #d5ddd1; }
.apartment-booking__note > i { flex-shrink: 0; margin-top: 4px; color: var(--apartment-accent); font-size: 16px; }
.apartment-booking__note p { color: var(--apartment-muted); font-size: 12px; line-height: 1.8; margin: 0; }
.apartment-booking__prices { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid #d5ddd1; color: var(--apartment-accent); font-size: 12px; font-weight: 700; }
.apartment-booking__prices:hover { color: var(--apartment-ink); }
.apartment-availability { background: #eef2ec; padding: 72px 0 88px; }
.apartment-availability__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.apartment-availability__heading .apartment-section-title { margin: 16px 0 0; }
.apartment-availability__calendar { max-width: 100%; padding: 28px; border: 1px solid #d5ddd1; border-radius: 12px; background: #fff; overflow-x: auto; overscroll-behavior-x: contain; }
@media (max-width: 1199px) {
.apartment-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; }
.apartment-booking { padding: 28px; }
.apartment-summary__fact { padding-inline: 14px; }
.apartment-summary__facts { gap: 12px; }
}
@media (max-width: 991px) {
.apartment-hero__bottom { flex-direction: column; align-items: flex-start; gap: 28px; }
.apartment-hero__actions { flex-direction: row; flex-wrap: wrap; gap: 16px; }
.apartment-summary__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.apartment-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-top: 48px; padding-bottom: 64px; }
.apartment-booking { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 32px; }
.apartment-booking > .apartment-eyebrow, .apartment-booking > h2, .apartment-booking > p { grid-column: 1; }
.apartment-booking__actions { grid-column: 2; grid-row: 1 / span 3; align-content: center; }
.apartment-booking__note, .apartment-booking__prices { grid-column: 1 / -1; }
.apartment-booking > p { margin-bottom: 0; }
.apartment-availability { padding: 56px 0 64px; }
.apartment-availability__calendar { padding: 20px; }
}
@media (max-width: 767px) {
.apartment-hero { min-height: 360px; }
.apartment-hero--photo { min-height: 460px; }
.apartment-hero__inner { gap: 64px; padding-top: 24px; padding-bottom: 36px; }
.apartment-hero h1 { font-size: clamp(36px, 9vw, 52px); letter-spacing: -1px; margin-top: 16px; }
.apartment-hero .apartment-eyebrow { font-size: 10px; letter-spacing: 1.6px; }
.apartment-breadcrumb { font-size: 11px; }
.apartment-summary { padding: 24px 0; }
.apartment-summary__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
.apartment-summary__fact { padding-inline: 12px; }
.apartment-summary__fact dd { font-size: 20px; }
.apartment-sections ul { gap: 0 24px; padding-block: 8px; }
.apartment-sections a { padding: 10px 0; }
.apartment-layout { padding-top: 36px; padding-bottom: 48px; gap: 36px; }
.apartment-copy { font-size: 16px; }
.apartment-copy > p:first-child { font-size: 18px; }
.apartment-amenities, .apartment-gallery, .apartment-pricing { margin-top: 36px; padding-top: 28px; }
.apartment-amenities ul { gap: 12px 16px; }
.apartment-amenities li { font-size: 13px; gap: 8px; }
.apartment-section-heading { gap: 16px; }
.apartment-gallery__grid { gap: 10px; }
.apartment-gallery__zoom { width: 28px; height: 28px; top: 10px; right: 10px; }
.apartment-pricing th, .apartment-pricing td { padding: 13px 18px; }
.apartment-booking { display: block; padding: 24px; }
.apartment-booking > p { margin-bottom: 24px; }
.apartment-availability { padding: 40px 0 48px; }
.apartment-availability__heading { flex-direction: column; align-items: flex-start; gap: 24px; }
.apartment-availability__calendar { padding: 16px; }
}
@media (max-width: 479px) {
.apartment-amenities ul { grid-template-columns: minmax(0, 1fr); }
.apartment-copy .alignleft, .apartment-copy .alignright { float: none; margin-inline: 0; }
.apartment-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
.apartment-gallery__grid a::after { transition: none; }
} .coastal-contact {
--contact-ink: #243e38;
--contact-muted: #54665f;
--contact-accent: #496454;
--coastal-ink: var(--contact-ink);
--coastal-green: var(--contact-accent);
--coastal-cream: #f8f7f2;
background: #f8f7f2;
color: var(--contact-ink);
}
.coastal-contact a:focus-visible { outline: 3px solid var(--contact-accent); outline-offset: 5px; }
.coastal-contact__eyebrow { display: flex; align-items: center; gap: 12px; color: var(--contact-accent); font-size: 11px; font-weight: 700; line-height: 1.6; text-transform: uppercase; letter-spacing: 2px; }
.coastal-contact__eyebrow::before { content: ""; flex-shrink: 0; width: 30px; height: 1px; background: currentColor; }
.coastal-contact__intro { padding: 28px 0 56px; }
.coastal-contact__breadcrumb { font-size: 12px; line-height: 1.7; margin-bottom: 56px; }
.coastal-contact__breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px 12px; list-style: none; }
.coastal-contact__breadcrumb li + li::before { content: "/"; margin-right: 12px; opacity: 0.5; }
.coastal-contact__breadcrumb a { color: inherit; }
.coastal-contact__breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.coastal-contact__breadcrumb [aria-current] { opacity: 0.75; }
.coastal-contact__intro-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; align-items: end; gap: 72px; }
.coastal-contact h1 { color: var(--contact-ink); font-size: clamp(40px, 5vw, 64px); line-height: 1.15; letter-spacing: -1.8px; margin: 18px 0 24px; overflow-wrap: anywhere; }
.coastal-contact__description, .coastal-contact__description p { color: var(--contact-muted); font-size: 17px; line-height: 1.85; max-width: 620px; margin-bottom: 0; }
.coastal-contact__destination { display: flex; align-items: center; gap: 16px; padding-bottom: 8px; color: var(--contact-muted); font-size: 12px; line-height: 1.7; }
.coastal-contact__destination-icon { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 60px; height: 60px; border: 1px solid #cdd7c8; border-radius: 50%; color: var(--contact-accent); font-size: 23px; }
.coastal-contact__destination strong { display: block; font-family: var(--font-secondary); color: var(--contact-ink); font-size: 20px; font-weight: 400; }
.coastal-contact__enquiry { padding-bottom: 80px; }
.coastal-contact__layout { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: start; gap: 28px; }
.coastal-contact__details, .coastal-contact__form { min-width: 0; padding: 40px; border-radius: 14px; }
.coastal-contact__details { background: var(--contact-ink); color: #fff; }
.coastal-contact__details .coastal-contact__eyebrow { color: #c0ceba; font-size: 10px; letter-spacing: 1.6px; }
.coastal-contact__details h2 { color: #fff; font-size: 36px; line-height: 1.3; letter-spacing: -1px; margin: 20px 0 28px; }
.coastal-contact__methods { display: grid; }
.coastal-contact__method { display: flex; align-items: center; gap: 14px; padding: 22px 0; color: #fff; border-top: 1px solid #496158; }
.coastal-contact__method:hover { color: #e0e8d9; }
.coastal-contact__method > span:nth-child(2) { min-width: 0; }
.coastal-contact__method-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 42px; height: 42px; color: #d6e2cd; background: #334d43; border-radius: 50%; font-size: 16px; }
.coastal-contact__method-label { display: block; color: #c0ceba; font-size: 11px; line-height: 1.6; margin-bottom: 5px; }
.coastal-contact__method strong { font-size: 14px; font-weight: 400; line-height: 1.8; overflow-wrap: anywhere; }
.coastal-contact__method-arrow { flex-shrink: 0; margin-left: auto; font-size: 20px; color: #c0ceba; }
.coastal-contact__whatsapp { padding-top: 28px; border-top: 1px solid #496158; }
.coastal-contact .contact-whatsapp { display: flex; width: 100%; margin-top: 14px; padding: 16px; background: #edf2e8; color: var(--contact-ink); font-size: 12px; font-weight: 700; }
.coastal-contact .contact-whatsapp i { color: #246747; font-size: 26px; }
.coastal-contact .contact-whatsapp:hover, .coastal-contact .contact-whatsapp:focus { background: #dce3d7; color: var(--contact-ink); }
.coastal-contact__whatsapp-arrow { margin-left: auto; font-size: 20px; flex-shrink: 0; }
.coastal-contact__details a:focus-visible { outline-color: #e0e8d9; }
.coastal-contact__form { background: #fff; border: 1px solid #dfe6db; box-shadow: 0 12px 40px rgba(36, 62, 56, 0.035); }
.coastal-contact__form h2 { color: var(--contact-ink); font-size: 34px; line-height: 1.3; letter-spacing: -0.8px; margin: 16px 0; }
.coastal-contact__form-intro { color: var(--contact-muted); font-size: 14px; line-height: 1.85; margin-bottom: 28px; } .coastal-contact__form .wpcf7-form > .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; margin: 0; }
.coastal-contact__form .wpcf7-form > .row > [class*="col-"] { min-width: 0; width: 100%; max-width: 100%; padding: 0; }
.coastal-contact__form .wpcf7-form > .row > .col-lg-12 { grid-column: 1 / -1; }
.coastal-contact__form .wpcf7-form p { margin: 0; }
.coastal-contact__form .wpcf7-form-control-wrap { display: block; }
.coastal-contact__form label { display: block; width: 100%; margin-bottom: 0; color: var(--contact-ink); font-size: 12px; font-weight: 700; line-height: 1.7; }
.coastal-contact__field-label > span:first-child { display: block; margin-bottom: 8px; }
.coastal-contact__form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="number"], select, textarea) { display: block; width: 100%; min-width: 0; min-height: 50px; padding: 13px 15px; border: 1px solid #cdd7c8; border-radius: 6px; background: #fafbf8; color: var(--contact-ink); font-family: var(--font-primary); font-size: 16px; font-weight: 400; line-height: 1.5; transition: border-color 150ms ease, background-color 150ms ease; }
.coastal-contact__form textarea { min-height: 180px; height: 180px; max-width: 100%; resize: vertical; }
.coastal-contact__form :is(input, textarea)::placeholder { color: #69796c; opacity: 1; font-size: 13px; }
.coastal-contact__form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="number"], select, textarea):focus { border-color: var(--contact-accent); background: #fff; outline: 2px solid var(--contact-accent); outline-offset: 2px; }
.coastal-contact__form :is(input, textarea)[aria-invalid="true"] { border-color: #a43f32; }
.coastal-contact__form .wpcf7-submit { display: inline-block; width: auto; max-width: 100%; min-width: 160px; min-height: 50px; padding: 14px 28px; border: 1px solid transparent; border-radius: 6px; background: var(--contact-ink); color: #fff; font-family: var(--font-primary); font-size: 13px; font-weight: 700; line-height: 1.5; letter-spacing: 0; text-transform: none; cursor: pointer; transition: background-color 150ms ease; }
.coastal-contact__form .wpcf7-submit:hover, .coastal-contact__form .wpcf7-submit:focus { background: var(--contact-accent); color: #fff; }
.coastal-contact__form .wpcf7-submit:focus-visible { outline: 3px solid var(--contact-accent); outline-offset: 4px; }
.coastal-contact__form .wpcf7-submit:disabled { opacity: 0.6; cursor: wait; }
.coastal-contact__form .wpcf7-spinner { vertical-align: middle; margin: 0 0 0 14px; }
.coastal-contact__form .wpcf7-not-valid-tip { display: block; margin-top: 8px; color: #963a2f; font-size: 12px; font-weight: 400; line-height: 1.6; }
.coastal-contact__form .wpcf7 form .wpcf7-response-output { margin: 24px 0 0; padding: 14px 16px; border-radius: 6px; color: var(--contact-ink); font-size: 13px; line-height: 1.7; }
.coastal-contact__recaptcha { margin: 24px 0 0; color: #67766a; font-size: 11px; line-height: 1.8; }
.coastal-contact__recaptcha a { color: var(--contact-accent); text-decoration: underline; text-underline-offset: 3px; }
.coastal-contact__location { padding: 72px 0 88px; background: #fff; scroll-margin-top: 24px; }
.coastal-contact__location-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 32px; }
.coastal-contact__location-heading h2 { color: var(--contact-ink); font-size: clamp(28px, 3.2vw, 40px); line-height: 1.3; letter-spacing: -1px; margin: 16px 0; }
.coastal-contact__location-heading p { display: flex; align-items: baseline; gap: 10px; color: var(--contact-muted); font-size: 14px; line-height: 1.8; margin: 0; }
.coastal-contact__location-heading .coastal-button { flex-shrink: 0; }
.coastal-contact__map { overflow: hidden; border-radius: 14px; border: 1px solid #dfe6db; background: #eef2ec; }
.coastal-contact__map iframe { display: block; width: 100%; height: 440px; }
.coastal-contact__additional { padding-top: 48px; padding-bottom: 48px; color: var(--contact-muted); font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.coastal-contact__additional p { color: inherit; font-size: inherit; line-height: inherit; }
@media (max-width: 1199px) {
.coastal-contact__intro-layout { gap: 40px; }
.coastal-contact__details, .coastal-contact__form { padding: 32px; }
.coastal-contact__layout { gap: 24px; }
}
@media (max-width: 991px) {
.coastal-contact__intro-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 28px; }
.coastal-contact__destination { flex-direction: column; align-items: flex-start; gap: 12px; }
.coastal-contact__layout { grid-template-columns: minmax(0, 1fr); }
.coastal-contact__enquiry { padding-bottom: 56px; }
.coastal-contact__location { padding: 56px 0 64px; }coastal-hero__pause
}
@media (max-width: 767px) {
.coastal-contact__intro { padding: 24px 0 36px; }
.coastal-contact__breadcrumb { margin-bottom: 36px; font-size: 11px; }
.coastal-contact__intro-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.coastal-contact h1 { font-size: clamp(36px, 9vw, 48px); letter-spacing: -1.2px; margin: 16px 0 20px; }
.coastal-contact__description, .coastal-contact__description p { font-size: 16px; }
.coastal-contact__destination { flex-direction: row; align-items: center; gap: 14px; padding: 20px 0 0; border-top: 1px solid #d5ddd1; }
.coastal-contact__destination-icon { width: 48px; height: 48px; font-size: 19px; }
.coastal-contact__destination strong { font-size: 17px; }
.coastal-contact__details, .coastal-contact__form { padding: 28px 24px; border-radius: 10px; }
.coastal-contact__details h2 { font-size: 32px; margin-bottom: 20px; }
.coastal-contact__method { padding: 20px 0; gap: 12px; }
.coastal-contact__method-icon { width: 38px; height: 38px; font-size: 14px; }
.coastal-contact__method strong { font-size: 13px; }
.coastal-contact__form h2 { font-size: 30px; }
.coastal-contact__enquiry { padding-bottom: 40px; }
.coastal-contact__location { padding: 40px 0 48px; }
.coastal-contact__location-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
.coastal-contact__map { border-radius: 10px; }
.coastal-contact__map iframe { height: 340px; }
}
@media (max-width: 575px) {
.coastal-contact__form .wpcf7-form > .row { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.coastal-contact__form .wpcf7-submit { min-width: 0; width: calc(100% - 42px); }
}
@media (prefers-reduced-motion: reduce) {
.coastal-contact__form :is(input, textarea, select) { transition: none; }
}