/*
Theme Name: Adigi Base Framework - Child Theme
Text Domain: adigi-child
Template: adigi
Version: 3.0
Description: Adigi Base Framework, version 3
Author: Adigi Ltd
Author URI: https://www.adigi.co.uk
*/

/* Override CSS here */


/* Global */

.body-overlay {
	background-color: #000;
}

.br-5 {
	border-radius: 5px;
}

.br-10 {
	border-radius: 10px;
}

.inset-border {
	border: 1px solid var(--color-primary);
	padding: 10px;
}


/* Layout */

@media screen and (max-width: 1699px) and (min-width: 1440px) {
	.container, .boxed {max-width: 1440px;}
}

.container, .container-fluid, .boxed {
    padding-left: calc(var(--column-spacing) * 2);
    padding-right: calc(var(--column-spacing) * 2);
}

.navbar-container-inner.container-fluid, .section-instagram-feed .container-fluid {
	padding-left: var(--column-spacing); 
	padding-right: var(--column-spacing);
}

/* Buttons */

.btn-primary.outlined, .section.bg-body .boxed .btn-primary.outlined,
.section.bg-body.alt-map .btn-primary.outlined {
	color: #fff!important;
}

.section.bg-body .btn-primary.outlined {
	color: #000!important;
}

.navbar .btn {
	padding: 1.608rem 3.521rem;
}

body.scrolled .navbar .btn {
	padding: 1.25rem 2.806rem;
}

.btn-underline {
	border-color: var(--color-primary)!important;
	padding: 0 0 0.5rem;
}


/* Forms */

.form-sidebar h5 {
	font-size: 1rem;
}


/* Dropdowns */

.dropdown-toggle::after {
    border-top: .3em solid var(--color-primary);
    transform-origin: center;
}

.dropdown-toggle.show:after {
	transform: scaleY(-1);
}

.dropdown-menu {
	background-color: #000;
	border-radius: 0;
	margin-top: 20px!important;
	padding: 0.75rem;
	top: 15px;
}

.dropdown-menu > div {
	border: 1px solid var(--color-primary);
	padding: 1.5rem;
}

.dropdown-menu a {
	font-size: 1rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.dropdown-menu a:hover {
	color: var(--color-primary);
}

.dropdown-menu .col-12:not(:last-child) p {
	margin-bottom: 1rem;
}



/* Navbar */

.navbar-link {
    margin: 0 32px;
}

.navbar-menu a:hover {
	color: var(--color-primary);
}

.navbar-menu-links p {
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.navbar-menu-links-child-wrapper > div:not(:last-child) {
	margin-bottom: 0.5rem;
}

.navbar-menu-inner {
  scrollbar-color: var(--color-primary) #fff;
  scrollbar-width: thin;
}



/* Footer */

.footer-logo {
	margin-bottom: 56px;
}

.footer-subscribe {
	max-width: 500px;
}

.footer-subscribe .row {
	padding: 16px 18px 16px 20px;
}

.footer-subscribe p, .row-footer-complex-bottom {
	letter-spacing: 0;
	text-transform: none;
}

.footer-subscribe .form-control {
    border: none;
}

.footer-subscribe .mail-icon {
	min-width: 45px;
}

.footer-subscribe .form-check {
    font-size: 1rem;
}

.footer-complex-spacer {
	border-top: 1px solid var(--color-primary);
	margin-top: 64px;
	padding-top: 64px;
}

.footer-menu-item:not(:last-child) {
    margin-bottom: 2rem;
}

.footer-menu-item a:after {
    background-color: #fff;
}


/* Social Icons */

.footer .social-icons a {
    margin: 0 20px 0 0;
}

.footer .social-icons path {
    fill: initial;
}


/* Banners */

.banner h1 {
	line-height: 1.12903;
	margin-bottom: 2rem;
}

.banner h1 img {
	margin-bottom: 1rem;
}

.banner:not(.boxed-banner) p {
	font-size: 24px;
	letter-spacing: 0.1em;
	line-height: 1.25;
	text-transform: uppercase;
}

.banner:not(.boxed-banner) .carousel-item > div > div:first-child:before, .banner:not(.boxed-banner) .carousel-item > div > div:first-child:after {
	content: '';
	display: block;
	pointer-events: none;
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 1;
}

.banner .carousel-item > div > div:first-child:before {
	background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 16%, rgba(0, 0, 0, 0) 84%, rgba(0, 0, 0, 1) 100%);
	opacity: 25%;
}

.banner .carousel-item > div > div:first-child:after {
	background: linear-gradient(180deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 28%);
	opacity: 75%;
}

.homepage-banner .container {
	margin-bottom: 96px;
}

.boxed-banner {
	height: 480px;
	margin: var(--section-padding) auto var(--section-padding);
	max-width: 1576px;
}

.boxed-banner .col-12 {
	max-width: 720px;
}


/* Carousels */

.carousel-indicators [data-bs-target], .carousel-indicators .active {
	background-image: url('./img/svg/icon-carousel-indicator.svg');
	background-size: 100%;
	background-repeat: no-repeat;
	border: none;
    border-radius: 0;
    height: 10px;
    width: 20px;
    margin-right: 10px;
    margin-left: 10px;
    background-color: transparent!important;
}

.carousel-indicators .active {
	background-image: url('./img/svg/icon-carousel-indicator-active.svg');
}


/* Instagram Feed */

.section-instagram-feed {
	padding-top: 24px;
}


/* Boxed CTA */

.boxed-pattern-bottom-right .padding-wrapper {
	padding-top: var(--section-padding);
	padding-bottom: var(--section-padding);
}


/* Background Illustrations */

.footer, .navbar-menu, .pattern-top-left, .pattern-bottom-right, 
.boxed-pattern-top-left .padding-wrapper, .boxed-pattern-bottom-right .padding-wrapper {
	overflow: hidden;
}

.boxed-pattern-top-left .padding-wrapper, .boxed-pattern-bottom-right .padding-wrapper {
	position: relative;
}

.pattern-top-left .container, .pattern-bottom-right .container,
.boxed-pattern-top-left .padding-wrapper .position-relative, .boxed-pattern-bottom-right .padding-wrapper .position-relative {
	z-index: 1;
}


.footer:before, .navbar-menu:before, .pattern-top-left:before, .pattern-bottom-right:after,
.boxed-pattern-top-left .padding-wrapper:before, .boxed-pattern-bottom-right .padding-wrapper:after {
	aspect-ratio: 960/803;
	background-image: url('./img/bg-pattern_01.jpg');
	background-repeat: no-repeat;
	background-size: 100%;
	content: '';
	display: block;
	mix-blend-mode: multiply;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	bottom: 0; left: 0;
	width: 52%;
}

.navbar-menu:before {
	width: 100%;
	z-index: -1;
}

.form-sidebar-wrapper.pattern-top-left:before {
	aspect-ratio: unset;
	background-image: url('./img/bg-pattern_02.jpg');
	background-size: cover;
	top: 0; right: 0; bottom: 0;
	width: 100%;
}

.pattern-top-left:before, .boxed-pattern-top-left .padding-wrapper:before {
	top: 0; bottom: auto;
	width: 35%;
	transform: scaleY(-1);
}

.pattern-bottom-right:after, .boxed-pattern-bottom-right .padding-wrapper:after  {
	right: 0; left: auto;
	width: 55%;
	transform: scaleX(-1);
}

.alt-map .order-lg-1:after {
	background-image: url('./img/bg-pattern_02.jpg');
	background-size: cover;
	content: '';
	display: block;
	mix-blend-mode: multiply;
	opacity: 0.4;
	pointer-events: none;
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
}


/* Block Tweaks */

.block-columns .carousel-item {
	border: 1px solid var(--color-primary);
	padding: 10px;
}

.block-columns.contained-text .column-content-wrapper {
	margin-left: 87px;
	margin-right: 87px;
}


/* Testimonials */

.testimonials {
	padding: 220px 0;
}

.testimonials .carousel-control-next, .testimonials .carousel-control-prev {
	width: 7.5%;
}


/* Logo Slider */

.logo-slider .slider-wrapper {
	border-radius: 10px;
	overflow: hidden;
	background-color: var(--color-tertiary);
	padding: 30px 0;
}

.logo-slider .logo-slider-gradient {
    width: 15%;
}

.section.bg-body .logo-slider-gradient.left {
    background: linear-gradient(90deg, var(--color-tertiary) 0%, var(--color-tertiary) 10%, rgba(0,0,0,0) 100%);
}

.section.bg-body .logo-slider-gradient.right {
    background: linear-gradient(270deg, var(--color-tertiary) 0%, var(--color-tertiary) 10%, rgba(0,0,0,0) 100%);
}

.logo-slider .logo-cell {
	background-color: #FBF9F0;
	border-radius: 10px;
	padding: 30px;
}

.logo-slider.partners .logo-cell {
	padding: 0 30px;
}

.logo-slider.partners a {
	height: auto!important;
}

.slider-scrolling-logos .carousel-cell > div {
    margin-right: 20px;
}


/* Panels */

.panel {
	aspect-ratio: 503/600;
	padding: 10px;
}

.panel > .inner {	
	padding: 45px;
	transition: 0.2s ease-out;
}

.panel:hover > .inner, .panel.hovered > .inner {
	opacity: 0;
}

.panel .gradient {
	background: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 50%);
}

.panel .overlay {
	opacity: 0;
	padding: 45px 45px 50px 45px;
	right: 0; bottom: 0; left: 0;
	transform: translateY(100%);
	transition: 0.4s ease-out;
}

.panel:hover .overlay, .panel.hovered .overlay {
	opacity: 1;
	transform: translateY(0);
}

.panel .border-overlay {
	border: 1px solid var(--color-primary);
	border-radius: 10px;
	top: 10px; right: 10px; bottom: 10px; left: 10px;
}


/* Gallery Slider */

.gallery-slider .flickity-slider {
	align-items: center;
	display: flex;
}

.slider-images .carousel-cell {
    margin: 0 calc(var(--column-spacing) / 1.37142);
}

.gallery-slider .slider-images .carousel-cell:nth-child(odd) {
    height: 437px;
}

.gallery-slider .slider-images .carousel-cell:nth-child(even) {
    height: 625px;
}


/* Features Icons */

.features-icons .icons-wrapper {
	background-color: var(--color-tertiary);
}

.features-icons .col-icon .icon-img-wrapper {
	background-color: #FBF9F0;
	border-radius: 50%;
	padding: 32px;
    height: 128px;
    width: 128px;
}

.icon-img-wrapper + .icon-text {
    margin-top: 1.5rem;
}


/* Accommodation Slider */

.accommodation-slider .carousel-cell {
	width: 786px;
}

.accommodation-slider .carousel-cell .img-fluid, .accommodation-modal .img-fluid {
	border: 1px solid var(--color-primary);
	padding: 10px;
}

.accommodation-modal .modal-dialog {
	max-width: 1398px;
}

.accommodation-modal .modal-content {
	padding: 72px 48px;
}

.accommodation-modal-close {
	position: absolute;
	top: 1.5rem; right: 1.5rem;
}

.accommodation-modal-close svg {
	transform: translateY(-1px);
}


/* Spa Treatments Slider */

.treatments-slider h3 {
	font-size: 28px;
}

.treatments-slider .carousel-cell {
	width: 450px;
}


/* Partners Block */

.partners-block .column-content p {
	height: 188px;
	margin-bottom: 0!important;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FBF9F0;
	border-radius: 10px;
	border: 1px solid #BF9716;
	padding: 30px;
}

.partners-block .column-content p > a {
	display: block;
}


.partners-block .column-content h4 {
	margin-top: 1.5rem;
}

.partners-block .column-content img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.partners-block .row {
	margin-bottom: calc(var(--column-spacing) * -1);
	justify-content: start;
}

.partners-block .col-12 {
    margin-bottom: 3.5rem;
}


.partners-block .col-lg-9 {
	margin-bottom: calc(var(--column-spacing) * 2);
    width: 25%;
}


/* Panels Grid */

.panel-grid > .container > .row {
	margin-bottom: -48px;
}

.panel-grid > .container > .row > div {
	margin-bottom: 48px;
}

.padi-course > .container > .row {
	justify-content: start!important;
}


/* Gallery */

.gallery-grid-nav {
    margin-bottom: -20px;
}

.gallery-grid-nav .btn {
    margin: 0 10px 20px;
}

.gallery-grid-nav .btn.btn-primary.active:before {
	background-color: var(--color-primary) !important;
    transform: translateX(0%) skew(-10deg);
}

.gallery-wrapper {
    margin: 0 -12.5px -25px;
}

.gallery-item-wrapper {
    margin-bottom: 25px;
    padding: 0 12.5px;
    width: 25%;
}

.gallery-item {
    background-size: cover;
    background-position: center;
    cursor: pointer;
}

.gallery-item.square {
    aspect-ratio: 1/1;
}

.gallery-item.portrait {
    aspect-ratio: 3/4;
}

.gallery-item.landscape {
    aspect-ratio: 4/3;
}


/* Gallery Modal */

.gallery-modal .modal-dialog {
    max-width: 1024px;
}


.gallery-modal img {
	height: auto;
	width: auto;
	max-height: 100%;
    max-width: 100%;
}


/* Rates */

.rates-table .main .col > div {
	border-bottom: 1px dashed var(--color-primary);
	padding-bottom: 0.5rem;
}

.rates-table .main .col > div:not(:last-child) {
	margin-bottom: 0.5rem;
}

.rates-table h5 {
	font-size: 16px;
}










/* Media Queries */

/* 1700px */
@media (max-width: 1699px) {
	.block-columns.contained-text .column-content-wrapper {margin-left: 40px; margin-right: 40px;}
	.boxed-banner {max-width: 1344px;}
	.accommodation-modal .modal-dialog {max-width: 1200px;}
	.gallery-modal .modal-dialog {max-width: 896px;}

}

/* 1440px */
@media (max-width: 1439px) {
	.footer:before {width: 100%;}
	.navbar-link {margin: 0 24px;}
	.panel h3 {font-size: 26px;}
	.panel > .inner, .panel .overlay {padding: 30px;}
	.gallery-slider .slider-images .carousel-cell:nth-child(odd) {height: 334px;}
	.gallery-slider .slider-images .carousel-cell:nth-child(even) {height: 477px;}	
	.boxed-banner {max-width: 1104px;}
	.accommodation-slider .carousel-cell {width: 512px;}
	.accommodation-modal .modal-dialog {max-width: 1100px;}
	.accommodation-modal .modal-content {padding: 64px 32px;}
	.gallery-wrapper {margin: 0 -8px -16px;}
    .gallery-item-wrapper {margin-bottom: 16px; padding: 0 8px;}
    .gallery-modal .modal-dialog {max-width: 640px;}
}

/* 1200px */
@media (max-width: 1199px) {
    .footer-links {border-top: none; border-bottom: none;}
    .panel h3 {font-size: var(--font-size-h3);}
	.panel > .inner, .panel .overlay {padding: 45px;}
	.panel {aspect-ratio: 16/9;}
	.boxed-banner {max-width: 896px;}
	.accommodation-slider .carousel-cell {width: 786px;}
	.accommodation-modal .modal-dialog {max-width: 768px;}
	.accommodation-modal .modal-content {padding: 72px 48px;}
	.partners-block .col-lg-9 {width: 33.33333333%;}
    .gallery-item-wrapper {width: 33.33333%}
    .gallery-modal .modal-dialog {max-width: calc(100% - 192px);}	
}

/* 992px */
@media (max-width: 991px) {
    .block-columns.contained-text .column-content-wrapper {margin-left: 0; margin-right: 0;}
    .map-wrapper {aspect-ratio: 4/3;}
    .panel .overlay {top: 0;}
    .boxed-banner {max-width: 672px;}
    .accommodation-slider .carousel-cell {width: 512px;}
    .accommodation-modal .modal-dialog {max-width: 576px;}
	.accommodation-modal .modal-content {padding: 64px 32px;}
	.partners-block .col-lg-9 {width: 50%;}
	.block-columns.contained-text .carousel {margin-bottom: 1.5rem;}
	.rates-table h5 {font-size: 14px;}
}

/* 768px */
@media (max-width: 767px) {
	.container, .container-fluid, .boxed {padding-left: var(--column-spacing); padding-right: var(--column-spacing);}
	.navbar .btn {padding: 1.25rem 2.806rem;}
	.navbar-menu.padding-wrapper {padding-top: 56px;}
    .footer-logo {margin-bottom: 32px;}
    .footer-menu-item:not(:last-child) {margin-bottom: 1rem;}
    .footer-complex-spacer {margin-top: 32px; padding-top: 32px;}
    .banner p {font-size: 1rem;}
    .testimonials {padding: 96px 0;}
    .testimonials .text-xl {font-size: 1.25rem;}
	.logo-slider .slider-wrapper {padding: 15px 0;}
	.logo-slider .logo-cell {padding: 15px;}
	.slider-scrolling-logos .carousel-cell > div {margin-right: 10px;}
	.panel {aspect-ratio: 4/3;}
	.panel h3 {font-size: var(--font-size-h3-mobile);}
	.banner h1 br, .banner p br {display: none;}
	.gallery-slider .slider-images .carousel-cell:nth-child(odd) {height: 219px;}
	.gallery-slider .slider-images .carousel-cell:nth-child(even) {height: 313px;}	
	.boxed-banner {max-width: 528px; margin: var(--section-padding-mobile) auto var(--section-padding-mobile);}
	.boxed-pattern-bottom-right .padding-wrapper {padding-top: var(--section-padding-mobile); padding-bottom: var(--section-padding-mobile);}
	.accommodation-modal .modal-dialog {max-width: calc(100% - 48px);}
	.accommodation-modal .modal-content {padding: 48px 24px 32px;}
	.accommodation-modal-close {top: 0.75rem; right: 0.75rem;}
	.accommodation-modal-close svg {transform: translateY(0);}
	.slider-control-btn {width: 36px;}
	.treatments-slider h3 {font-size: 22px;}
	.banner:not(.boxed-banner) p {font-size: 16px;}
	.partners-block .col-12 {margin-bottom: 2rem;}
	.panel-grid > .container > .row {margin-bottom: -32px;}
	.panel-grid > .container > .row > div {margin-bottom: 32px;}
    .gallery-grid-nav {margin-bottom: -10px;}
    .gallery-grid-nav .btn {margin: 0 5px 10px; padding: 1rem;}
    .gallery-wrapper {margin: 0 -4px -8px;}
    .gallery-item-wrapper {margin-bottom: 8px; padding: 0 4px; width: 50%;}
    .gallery-item {border-radius: 8px;}
    .gallery-modal .modal-dialog {max-width: calc(100% - 128px);}
    .gallery-modal .top, .gallery-modal .bottom.padding-wrapper {padding: 16px!important;}
    .gallery-modal-img {aspect-ratio: 1/1;}
    .gallery-modal-img svg {width: 24px;}
    .gallery-modal .what-we-do-carousel-prev {left: -8px;}
    .gallery-modal .what-we-do-carousel-next {right: -13px;}
}

/* 576px */
@media (max-width: 575px) {
	.footer .social-icons a {margin: 0 10px 0 10px;}
	.btn-footer-subscribe {width: 100%;}
	.map-wrapper {aspect-ratio: 1/1;}
	.panel {aspect-ratio: 1/1;}
	.boxed-banner {max-width: calc(100% - 48px); height: 540px;}
	.accommodation-slider .carousel-cell {width: calc(100% - 48px);}
	.accommodation-slider .showcase .carousel-cell .column-content {max-width: 85%;}
	.treatments-slider .carousel-cell {width: 100%;}
	.partners-block .col-lg-9 {text-align: center; width: 100%;}
	.partners-block .btn-row {justify-content: center!important;}
    .gallery-modal .modal-dialog {max-width: calc(100% - 32px);}
    .gallery-modal .what-we-do-carousel-prev {left: 32px; z-index: 2;}
    .gallery-modal .what-we-do-carousel-next {right: 32px; z-index: 2;}	
    .rates-table h5 {font-size: 9px;}
}