/* @override 
	https://neighbours-marrakech.pincgestaltet.ch/wp-content/themes/bb-theme-child/style.css?* */



/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Version: 1.2
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here...Remember to change the Version number above! */ 


/* @group Font Reset
------------------------------------------------------------- */

html {
	font-size: 16px;
	-moz-osx-font-smoothing: grayscale!important;
	-webkit-font-smoothing: antialiased!important;
	text-rendering: optimizeLegibility!important;
}

/* @end */



/* @group Custom Properties - General
------------------------------------------------------------- */

:root {
	/* Viewport */
	--min-viewport: 350;
	--max-viewport: 3840;
	
	/* Typography */
	/* font-size-base */
	--base-min: 15;
	--base-max: 20;
	--base-slope: calc((var(--base-max) - var(--base-min)) / (var(--max-viewport) - var(--min-viewport)));
	--base-intercept: calc(var(--base-min) - var(--base-slope) * var(--min-viewport));
	  
	/* font-size-lg */
	--lg-min: 20;
	--lg-max: 40;
	--lg-slope: calc((var(--lg-max) - var(--lg-min)) / (var(--max-viewport) - var(--min-viewport)));
	--lg-intercept: calc(var(--lg-min) - var(--lg-slope) * var(--min-viewport));
	  
	/* font-size-xl */
	--xl-min: 30;
	--xl-max: 90;
	--xl-slope: calc((var(--xl-max) - var(--xl-min)) / (var(--max-viewport) - var(--min-viewport)));
	--xl-intercept: calc(var(--xl-min) - var(--xl-slope) * var(--min-viewport));
	
	--font-size-sm: calc( var(--font-size-base) * 0.9 );
	
	--font-size-base: clamp(
	    calc(var(--base-min) * 1px),
	    calc(var(--base-intercept) * 1px + var(--base-slope) * 100vw),
	    calc(var(--base-max) * 1px)
	);
	
	--font-size-lg: clamp(
	    calc(var(--lg-min) * 1px),
	    calc(var(--lg-intercept) * 1px + var(--lg-slope) * 100vw),
	    calc(var(--lg-max) * 1px)
	);
	
	--font-size-xl: clamp(
	    calc(var(--xl-min) * 1px),
	    calc(var(--xl-intercept) * 1px + var(--xl-slope) * 100vw),
	    calc(var(--xl-max) * 1px)
	);

	--line-height-base: 1.3;

	--font-family: "Basis Grotesque Pro", sans-serif;
	--font-weight: 300;
	--font-style: normal;
	--letter-spacing: 0.1em;
	--letter-spacing-heading: 0.25em;
	--word-spacing: 0;
	
	--font-base: var(--font-style) var(--font-weight) var(--font-size-base)/var(--line-height-base) var(--font-family);
	
	/* Spacing */
	--spacing-0-25: calc(var(--spacing-1) * 0.25);
	--spacing-0-5: calc(var(--spacing-1) * 0.5);
	--spacing-0-75: calc(var(--spacing-1) * 0.75);
	--spacing-1: calc( var(--font-size-base) *.75 );
	--spacing-1-25: calc(var(--spacing-1) * 1.25);
	--spacing-1-5: calc(var(--spacing-1) * 1.5);
	--spacing-1-75: calc(var(--spacing-1) * 1.75);
	--spacing-2: calc(var(--spacing-1) * 2);
	--spacing-3: calc(var(--spacing-1) * 3);
	--spacing-4: calc(var(--spacing-1) * 4);
	--spacing-5: calc(var(--spacing-1) * 5);
	
	--spacing-fluid-min: 30;
	--spacing-fluid-max: 90;
	--spacing-fluid-slope: calc((var(--spacing-fluid-max) - var(--spacing-fluid-min)) / (var(--max-viewport) - var(--min-viewport)));
	--spacing-fluid-intercept: calc(var(--spacing-fluid-min) - var(--spacing-fluid-slope) * var(--min-viewport));
	
	--spacing-fluid: clamp(
	    calc(var(--spacing-fluid-min) * 1px),
	    calc(var(--spacing-fluid-intercept) * 1px + var(--spacing-fluid-slope) * 100vw),
	    calc(var(--spacing-fluid-max) * 1px)
	);
	
	--row-spacing-y: calc( var(--spacing-fluid) * 3 );
	--row-spacing-x: var(--spacing-1);
	--module-spacing-y: var(--spacing-1);
	--module-spacing-x: var(--spacing-1);
	
	/* Colors */	
	--color-black: #000000;
	--color-white: #ffffff;
	
	/* Transitions */	
	--transition: 0.3s ease;
}

/* @end */



/* @group Typography - General
------------------------------------------------------------- */

body {
	font: var(--font-base);
}

p, h1, h2, h3, h4 {
	font: var(--font-base);
	letter-spacing: var(--letter-spacing);
	word-spacing: var(--word-spacing);
}

p {
	text-align: justify;
	hyphenate-limit-chars: 7;
	hyphens: auto;
	text-wrap: pretty;
}

h1 {
	font-size: var(--font-size-xl);
	letter-spacing: var(--letter-spacing-heading);
	text-transform: uppercase;
}

h2 {
	font-size: var(--font-size-xl);
	letter-spacing: var(--letter-spacing-heading);
	text-transform: uppercase;
}

h3 {
	font-size: var(--font-size-lg);
	letter-spacing: var(--letter-spacing-heading);
	text-transform: uppercase;
}

h4 {
	font-size: calc( 0.9 * var(--font-size-base) );
	text-transform: uppercase;
}

/* @end */



/* @group Typography - Spacing
------------------------------------------------------------- */

p, h1, h2, h3, h4 {
	margin: var(--spacing-1) 0 0 0;
}

h1 + p,
h2 + p,
h3 + p,
h1 + h4,
h2 + h4,
h3 + h4 {
	margin: var(--spacing-1-5) 0 0 0;
}

p:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child {
	margin-top: 0;
}

/* @end */



/* @group Typography - Links
------------------------------------------------------------- */

.fl-rich-text > * > a {
	position: relative;
	text-decoration: none;
	color: inherit;
}

.fl-rich-text > * > a::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.05em;
	background-color: currentColor;
	content: '';
}

/* @end */



/* @group Layout - Row
------------------------------------------------------------- */

.fl-page {
	overflow-x: hidden;
}

.fl-module-box.nm-content {
	width: 100%;
	margin: 0 auto;
}

.fl-module-box.nm-content-full-width {
	max-width: calc( 25 * var(--spacing-fluid) );
}

.fl-module-box.nm-content-columns {
	max-width: calc( 25 * var(--spacing-fluid) );
}

.fl-module-box.nm-content-fixed-width {
	max-width: calc( 12.5 * var(--spacing-fluid) );
}

/* @end */



/* @group Layout - Columns
------------------------------------------------------------- */

.fl-module-box.nm-content-columns {
	gap: var(--spacing-fluid);
}

.fl-module-box.nm-content-col {
	gap: var(--spacing-fluid);
}

	@media all and (max-width: 900px) {
		.fl-module-box.nm-content-columns {
			flex-direction: column;
			align-items: center;
		}
		
		.fl-module-box.nm-content-col {
			width: 100%;
			max-width: calc( 15.625 * var(--spacing-fluid) );
		}
	}

/* @end */



/* @group Layout - Row Content Wrap
------------------------------------------------------------- */

.fl-row-content-wrap {
	padding: var(--row-spacing-y) var(--row-spacing-x);
}

#fl-main-content .fl-builder-content-primary > .fl-row:first-child .fl-row-content-wrap {
	padding-top: calc( var(--row-spacing-y) / 2 );
	padding-bottom: calc( var(--row-spacing-y) / 2 );
}

.fl-row[data-bg-color="sand"]:has(+ .fl-row[data-bg-color="sand"]) .fl-row-content-wrap,
.fl-row[data-bg-color="sunset"]:has(+ .fl-row[data-bg-color="sunset"]) .fl-row-content-wrap,
.fl-row[data-bg-color="terracotta"]:has(+ .fl-row[data-bg-color="terracotta"]) .fl-row-content-wrap,
.fl-row[data-bg-color="blush"]:has(+ .fl-row[data-bg-color="blush"]) .fl-row-content-wrap,
.fl-row[data-bg-color="olive"]:has(+ .fl-row[data-bg-color="olive"]) .fl-row-content-wrap {
	padding-bottom: calc( var(--row-spacing-y) / 3 );
}

.fl-row[data-bg-color="sand"] + .fl-row[data-bg-color="sand"] .fl-row-content-wrap,
.fl-row[data-bg-color="sunset"] + .fl-row[data-bg-color="sunset"] .fl-row-content-wrap,
.fl-row[data-bg-color="terracotta"] + .fl-row[data-bg-color="terracotta"] .fl-row-content-wrap,
.fl-row[data-bg-color="blush"] + .fl-row[data-bg-color="blush"] .fl-row-content-wrap,
.fl-row[data-bg-color="olive"] + .fl-row[data-bg-color="olive"] .fl-row-content-wrap {
	padding-top: 0;
}

/* Convert data attributes into css variables to use in child elements */

[data-bg-color="sand"] {
    --current-bg: var(--color-sand);
}

[data-bg-color="sunset"] {
    --current-bg: var(--color-sunset);
}

[data-bg-color="terracotta"] {
    --current-bg: var(--color-terracotta);
}

[data-bg-color="blush"] {
    --current-bg: var(--color-blush);
}

[data-bg-color="olive"] {
    --current-bg: var(--color-olive);
}

/* @end */



/* @group Layout - Module
------------------------------------------------------------- */

.fl-module {
	margin: var(--module-spacing-y) var(--module-spacing-x);
}

.fl-module-box {
	margin: 0;
}

/* @end */



/* @group Body
------------------------------------------------------------- */

body {
	background: var(--color-page);
}

.fl-page-content {
	background: var(--color-page);
}

/* @end */



/* @group Header
------------------------------------------------------------- */

#nm-header .fl-row-content-wrap,
#nm-header-onscroll .fl-row-content-wrap {
	padding-top: 0;
	padding-bottom: 0;
}  

#nm-header .nm-content > .fl-module-box {
	flex: 0 0 33.3%;
}

/* Logo */

#nm-header .nm-content > .fl-module-box:nth-child(2) {
	max-width: calc( 4 * var(--font-size-xl) );
}

#nm-header .nm-content > .fl-module-box:nth-child(2) svg {
	width: 100%;
}

/* @end */



/* @group Footer
------------------------------------------------------------- */

#nm-footer .fl-row-content-wrap{
	padding-top: 0;
	padding-bottom: 0;
}

/*

.fl-builder-content-1143 {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}

#fl-main-content {
	position: relative;
	background: white;
	z-index: 2;
	margin-bottom: 50vh;
}

*/


#nm-footer .fl-module-menu nav li {
	border: none;
}

#nm-footer .fl-module-menu nav li a {
	padding: 0 var(--module-spacing-x);
}

#nm-footer .fl-module-menu nav li:first-child a {
	padding-left: 0;
}

#nm-footer .fl-module-menu nav li:last-child a {
	padding-right: 0;
}

/* @end */




/* @group Menu
------------------------------------------------------------- */

/* Button */
/* -------------------------------------- */

.pinc-mobile-menu-button {
    --module-button-size: var(--spacing-3);
    --module-line-height: 1px;
    --module-line-spacing: 6px;
    --module-line-color: var(--color-black);
    
    display: flex;
    align-items: center;
    gap: var(--spacing-0-75);
}

.pinc-mobile-menu-button,
.pinc-mobile-menu-button:hover,
.pinc-mobile-menu-button:active {
    padding: 0;
	background: transparent!important;
	border: 0!important;
	border-radius: 0;
}

.pinc-menu-icon {
    position: relative;
    width: var(--module-button-size);
    height: var(--module-button-size);
}

.pinc-menu-icon span {
	position: absolute;
	display: block;
	width: 100%;
	height: var(--module-line-height);
	background: var(--module-line-color);
	transition: transform var(--transition);
	backface-visibility: hidden;
}

.pinc-menu-icon span:nth-child(1) {
    top: calc(50% - var(--module-line-height) / 2 - var(--module-line-height) - var(--module-line-spacing));
}

.pinc-menu-icon span:nth-child(2) {
    top: calc(50% - var(--module-line-height) / 2);
}

.pinc-menu-icon span:nth-child(3) {
    top: calc(50% - var(--module-line-height) / 2 + var(--module-line-height) + var(--module-line-spacing));
}

/* Hover Animation */
.pinc-mobile-menu-button:hover .pinc-menu-icon span:nth-child(1) {
    transform: translateY(-200%);
}

.pinc-mobile-menu-button:hover .pinc-menu-icon span:nth-child(3) {
    transform: translateY(200%);
}

/* Label */
.pinc-menu-label {	
	margin-right: calc(-1 * var(--letter-spacing-heading)); /* Fix Letter Spacing */
	font: var(--font-base);
	font-size: var(--font-size-sm);
	letter-spacing: var(--letter-spacing-heading);
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--module-line-color);
}

	@media all and (max-width: 900px) {
		.pinc-menu-label {	
			display: none;
		}
	}

/* Menu Overlay */
/* -------------------------------------- */

.pinc-mobile-menu {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0 var(--row-spacing-x);
	background: var(--color-page);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition), visibility var(--transition);
}

.pinc-mobile-menu.pinc-open {
	opacity: 1;
	visibility: visible;
}

.pinc-mobile-menu-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	height: 100%;
}

/* Close Button Container */
.pinc-mobile-menu-close-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    max-width: calc( 25 * var(--spacing-fluid) );
    width: 100%;
    padding: var(--module-spacing-y) var(--module-spacing-x);
    margin: 0 auto;
}

/* Nav Container */
.pinc-mobile-menu-nav-container {
	max-width: calc( 12.5 * var(--spacing-fluid) );
	width: 100%;
	margin-top: auto;
	margin-bottom: auto;
	padding: var(--module-spacing-y) var(--module-spacing-x);
}

.pinc-mobile-menu nav {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Close Button */
/* -------------------------------------- */

.pinc-mobile-menu-close {
    --module-button-size: var(--spacing-3);
    --module-line-height: 1px;
    --module-line-color: var(--color-black);
    
    top: 0px;
    left: 0px;
    width: var(--module-button-size);
    height: var(--module-button-size);
    opacity: 0;
    transform: rotate(-90deg);
    transition: opacity var(--transition) 0.2s, transform var(--transition) 0.2s;
}

.pinc-mobile-menu-close,
.pinc-mobile-menu-close:hover,
.pinc-mobile-menu-close:active {
	padding: 0;
	background: transparent!important;
	border: 0;
	border-radius: 0;
}

.pinc-mobile-menu.pinc-open .pinc-mobile-menu-close {
	opacity: 1;
	transform: rotate(0deg);
}

.pinc-mobile-menu-close span {
	position: absolute;
	top: calc(50% - var(--module-line-height) / 2);
	display: block;
	width: 100%;
	height: var(--module-line-height);
	background: var(--module-line-color);
}

.pinc-mobile-menu-close span:nth-child(1) {
	transform: rotate(45deg);
}

.pinc-mobile-menu-close span:nth-child(2) {
	transform: rotate(-45deg);
}

/* Menu */
/* -------------------------------------- */

.pinc-mobile-menu ul {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pinc-mobile-menu ul li a {
	position: relative;
	padding: 0;
	font-size: var(--font-size-xl);
	letter-spacing: var(--letter-spacing-heading);
	text-decoration: none;
	text-transform: uppercase;
	transition: color var(--transition);
	word-spacing: var(--word-spacing);
}

.pinc-mobile-menu ul li ul li a {
	position: relative;
	font-size: var(--font-size-lg);
	letter-spacing: var(--letter-spacing-heading);
	text-decoration: none;
	text-transform: uppercase;
	transition: color var(--transition);
	word-spacing: var(--word-spacing);
}

.pinc-mobile-menu ul:hover li a, .pinc-mobile-menu ul:hover li ul li a {
	color: rgba(0, 0, 0, .2);
}

.pinc-mobile-menu ul li a:hover {
	color: rgba(0, 0, 0, 1);
}

.pinc-mobile-menu ul li ul li a:hover {
	color: rgba(0, 0, 0, 1);
}

/* Menu Items Animation */
.pinc-mobile-menu ul li {
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.pinc-mobile-menu.pinc-open ul li {
    opacity: 1;
}

/* Staggered Animation */
.pinc-mobile-menu.pinc-open ul li:nth-child(1) {
    transition-delay: 0.1s;
}

.pinc-mobile-menu.pinc-open ul li:nth-child(2) {
    transition-delay: 0.2s;
}

.pinc-mobile-menu.pinc-open ul li:nth-child(3) {
    transition-delay: 0.3s;
}

.pinc-mobile-menu.pinc-open ul li:nth-child(4) {
    transition-delay: 0.4s;
}

.pinc-mobile-menu.pinc-open ul li:nth-child(5) {
    transition-delay: 0.5s;
}

.pinc-mobile-menu.pinc-open ul li:nth-child(6) {
    transition-delay: 0.6s;
}

/* Submenu */
.pinc-mobile-menu ul li ul li {
    opacity: 0;
}

.pinc-mobile-menu.pinc-open ul li ul li {
    opacity: 1;
}

/* @end */



/* @group Language Selector
------------------------------------------------------------- */

.nm-language-selector nav {
	display: flex;
}

.nm-language-selector nav ul li {
	border: none;
}

.nm-language-selector nav ul li a {
	padding: var(--spacing-0-75) 0!important;
	font: var(--font-base);
	font-size: var(--font-size-sm);
	letter-spacing: var(--letter-spacing-heading);
	margin-right: calc(-1 * var(--letter-spacing-heading)); /* Fix Letter Spacing */
}

/* @end */



/* @group Module – Splide Image Slider
------------------------------------------------------------- */

.pinc-splide-image-slider .pinc-splide-image-slider__slide {
	width: 100%;
	height: 100%;
}

.pinc-splide-image-slider .pinc-splide-image-slider__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.pinc-splide-image-slider .splide__arrows {
	left: 50%;
	width: calc( 100% + var(--spacing-3) );
	transform: translateX(-50%) translateY(-50%);
}

/* @end */



/* @group Module – Splide Content Slider
------------------------------------------------------------- */

.pinc-splide-content-slider {
    flex: 1 1 0%;
    width: 500px;
    min-width: 0;
}

.pinc-splide-content-slider .splide__slide__wrapper {
	display: grid;
	height: 100%;
	text-decoration: none;
}

	@media all and (min-width: 601px) {
		.pinc-splide-content-slider .splide__slide__wrapper {
			gap: var(--spacing-1);
			grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		}
	}
	
	@media all and (max-width: 600px) {
		.pinc-splide-content-slider .splide__slide__wrapper {
			gap: 0;
			grid-template-columns: 1fr;
			grid-template-rows: auto 1fr;
			border: 1px solid var(--color-black);
		}
	}

.pinc-splide-content-slider .splide__slide__image {
	background-size: cover;
	background-position: center;
}

	@media all and (min-width: 601px) {
		.pinc-splide-content-slider .splide__slide__image {
			min-width: 0;
			min-height: 0;
		}
	}
	
	@media all and (max-width: 600px) {
		.pinc-splide-content-slider .splide__slide__image {
			height: calc( 7.5 * var(--spacing-fluid) );
			min-height: calc( 7.5 * var(--spacing-fluid) );
		}
	}

.pinc-splide-content-slider .splide__slide__content {
	min-width: 0;
	padding: var(--spacing-2);
	overflow-wrap: break-word;
	background-color: var(--current-bg);
}

	@media all and (min-width: 601px) {
		.pinc-splide-content-slider .splide__slide__content {
			align-content: flex-end;
			min-height: calc( 9.375 * var(--spacing-fluid) );
			border: 1px solid var(--color-black);
		}
	}
	
	@media all and (max-width: 600px) {
		.pinc-splide-content-slider .splide__slide__content {
			align-content: flex-start;
			padding: var(--spacing-2) var(--spacing-4);
		}
	}
	
.pinc-splide-content-slider .splide__slide__content p {
	text-align: left;
	hyphenate-limit-chars: 7;
	hyphens: auto;
	text-wrap: pretty;
}

/* Icon for cards with links */
/* -------------------------------------- */

	@media all and (min-width: 601px) {
		.pinc-splide-content-slider a.splide__slide__wrapper .splide__slide__content {
			padding-top: calc( var(--spacing-1) + var(--spacing-3) + var(--spacing-1) );
		}
	}

.pinc-splide-content-slider a.splide__slide__wrapper .splide__slide__content::before {
	position: absolute;
	top: var(--spacing-1);
	right: var(--spacing-1);
	display: block;
	width: var(--spacing-3);
	height: var(--spacing-3);
	background: url("data:image/svg+xml,%3Csvg viewBox='0 0 50.59595247 49.25154348' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-miterlimit='10' stroke-width='2'%3E%3Cpath d='m49.59815421 49.18522129c-1.22158607-18.3784128-3.17361606-33.99671036-2.06903543-47.50246416-16.42160739 2.6378868-31.46207406 1.58603748-47.38746457-.69284093'/%3E%3Cpath d='m2.21064527 48.49242407s27.69628232-25.94570778 45.31847448-46.80968377'/%3E%3C/g%3E%3C/svg%3E") center center no-repeat;
	background-size: 50% 50%;
	background-color: var(--current-bg)!important;
	border: 1px solid var(--color-black);
	border-radius: 9999px;
	content: "";
}

/* Arrows */

.pinc-splide-content-slider .splide__arrows {
	left: 50%;
	width: calc( 100% + var(--spacing-3) );
	transform: translateX(-50%) translateY(-50%);
}

/* @end */



/* @group Module – Splide Arrows
------------------------------------------------------------- */

.splide__arrows {
	position: absolute;
	top: 50%;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 0;
	transform: translateY(-50%);
	pointer-events: none;
}

.splide__arrows .splide__arrow {
	pointer-events: auto;
}

.splide__arrow,
.splide__arrow:hover,
.splide__arrow:active,
.splide__arrow:focus {
	position: relative;
	display: flex;
	width: var(--spacing-3);
	height: var(--spacing-4);
	background-color: var(--current-bg);
	border: 1px solid var(--color-black);
	border-radius: 0px;
	transition: all var(--transition)!important;
	outline: none;
}

.splide__arrow:not(:disabled):hover,
.splide__arrow:not(:disabled):active {
	background-color: var(--color-white);
}

.splide__arrow::before {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 50%;
	height: 50%;
	background: url("data:image/svg+xml,%3Csvg viewBox='0 0 35.43771444 70.3087846' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath vector-effect='non-scaling-stroke' d='m1.691941 69.65013153c12.1317215-13.85930634 21.79524231-26.28341675 32.12631989-35.05237961-13.47711183-9.74657058-23.36856843-21.12556648-33.01811982-33.99794006' fill='none' stroke='%23000' stroke-miterlimit='10' stroke-width='1'/%3E%3C/svg%3E") center center no-repeat;
	background-size: contain;
	content: "";
}

.splide__arrow--prev::before {
	transform: translate(-50%, -50%) rotate(180deg);
}

.splide__arrow--next::before {
	transform: translate(-50%, -50%) rotate(0deg);
}

.splide__arrow > svg {
	display: none;
}

	@media (hover: hover) {
		.splide__arrow {
			opacity: 0;
		}
		
		.splide:hover .splide__arrow {
			opacity: 1;
		}
	}
	
	@media (hover: none) {
		.splide__arrow {
			opacity: 1;
		}
	}

/* @end */



/* @group Module – Splide Pagination
------------------------------------------------------------- */

.splide__pagination {
	gap: 8px;
	margin: calc( 2 * var(--module-spacing-y) ) auto 0 auto;
	padding: 0;
}

.splide__pagination__page,
.splide__pagination__page:hover,
.splide__pagination__page.is-active {
	display: flex;
	width: 8px;
	height: 8px;
	padding: 0;
	background: transparent;
	border: 1px solid var(--color-black);
	border-radius: 0%;
	opacity: 1;
	transform: rotate(45deg);
	transition: all var(--transition);
	outline: none;
}

.splide__pagination__page:hover,
.splide__pagination__page.is-active {
	background: var(--color-black);
}

/* @end */



/* @group Module – Lettering
------------------------------------------------------------- */

.pinc-lettering-heading {
	margin-top: 0;
}

h1.pinc-lettering-heading .char,
h2.pinc-lettering-heading .char {
	margin-top: -0.25em;
	margin-bottom: -0.3em;
}

.pinc-lettering {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.pinc-lettering .word {
	display: contents;
}

.pinc-lettering .char {
	display: block;
}

.pinc-lettering .char:last-child {
	letter-spacing: 0;
}

.pinc-lettering .word:not(:last-child) .char:last-child {
	margin-right: 1ch;
}

.pinc-lettering-module .pinc-lettering:not(:first-child) {
	margin-top: var(--module-spacing-y);
}

/* @end */



/* @group Module – Hero
------------------------------------------------------------- */

.pinc-hero-container {
   	--shift-distance-pos: calc( 2 * var(--module-spacing-y) );
	--shift-distance-neg: calc( -1 * var(--shift-distance-pos) );
   	
   	height: auto;
	overflow: visible;
	min-height: calc( 12.5 * var(--spacing-fluid) );
}

/* Pattern */
	
.pinc-hero-pattern.pattern-left {
	width: 15vw;
}

.pinc-hero-pattern.pattern-right {
	width: 15vw;
}
	
.pinc-hero-pattern.pattern-left img {
	float: right;
}

.pinc-hero-pattern.pattern-right img {
	float: left;
}

.pinc-hero-pattern.pattern-middle {
	transform: translateY(-50%);
}

.pinc-hero-pattern img {
	width: calc( 15 * var(--spacing-1) + 15vw );
	max-width: calc( 15 * var(--spacing-1) + 15vw );
}

.pinc-hero-pattern.pattern-shift-up img {
	transform: translateY(var(--shift-distance-neg));
}

.pinc-hero-pattern.pattern-shift-down img {
	transform: translateY(var(--shift-distance-pos));
}

.pinc-hero-pattern.pattern-middle.pattern-shift-up img {
	transform: translateY(calc( 3 * var(--shift-distance-neg) ));
}

.pinc-hero-pattern.pattern-middle.pattern-shift-down img {
	transform: translateY(calc( 3 * var(--shift-distance-pos) ));
}

/* No background */

.pinc-hero-container.pinc-hero-no-background {
    min-height: 0;
}

/* @end */



/* @group Module – Gallery
------------------------------------------------------------- */

.pinc-gallery__grid {
	margin: calc(-1 * var(--module-spacing-y)) calc(-1 * var(--module-spacing-x));
}

.pinc-gallery__sizer,
.pinc-gallery__item {
    width: 50%;
}

.pinc-gallery__item {
    margin-bottom: 0;
    padding: var(--module-spacing-y) var(--module-spacing-x);
    box-sizing: border-box;
}

.pinc-gallery__image {
    display: block;
    width: 100%;
    height: auto;
}

.pinc-gallery__item a {
    display: block;
    cursor: pointer;
}

/* @end */



/* @group Module – Button Group
------------------------------------------------------------- */

/* CSS Variables */
.pinc-button-group {
    --module-border-style: solid;
	--module-border-width: 1px;
	--module-border-color: #000;
    --module-background-color: transparent;
	--module-background-color-hover: var(--color-white);
	--module-text-color: var(--color-black);
	--module-padding-top-bottom: var(--spacing-0-75);
	--module-padding-left-right: var(--spacing-1);
	--module-padding-inner: calc(var(--module-padding-left-right) / 2);
	--module-text-align-fix: -1%;
	--module-text-transform: uppercase;
	--module-icon-size: var(--spacing-1);
}

/* Button Group Container */
.pinc-button-group {
    display: flex;
}

.pinc-button-group--horizontal {
    flex-direction: row;
    flex-wrap: wrap;
}

.pinc-button-group--vertical {
    flex-direction: column;
}

.pinc-button-group--align-left {
    justify-content: flex-start;
}

.pinc-button-group--align-center {
    justify-content: center;
}

.pinc-button-group--align-right {
    justify-content: flex-end;
}

.pinc-button-group--vertical.pinc-button-group--align-left .pinc-button {
    align-self: flex-start;
}

.pinc-button-group--vertical.pinc-button-group--align-center .pinc-button {
    align-self: center;
}

.pinc-button-group--vertical.pinc-button-group--align-right .pinc-button {
    align-self: flex-end;
}

.pinc-button-group--align-left .pinc-button {
	margin-right: var(--module-padding-inner);
}

.pinc-button-group--align-right .pinc-button {
	margin-left: var(--module-padding-inner);
}

/* Button Base Styles */
.pinc-button {
	padding: var(--module-padding-top-bottom) var(--module-padding-left-right);
	text-decoration: none;
	color: var(--module-text-color);
	background-color: var(--module-background-color);
	border: var(--module-border-width) var(--module-border-style) var(--module-border-color);
	transition: background-color var(--transition);
	cursor: pointer;
}

.pinc-button:hover {
	text-decoration: none;
	background-color: var(--module-background-color-hover);
}

.pinc-button:active {
	text-decoration: none;
	background-color: var(--module-background-color-hover);
}

/* Button Content */
.pinc-button__content {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Label Frame */
.pinc-button__label-frame {
	position: relative;
	z-index: 2;
	display: inline-grid;
	align-items: center;
	min-height: var(--module-icon-size);
	padding: 0 var(--module-padding-inner);
	font-size: var(--font-size-sm);
	letter-spacing: var(--letter-spacing-heading);
	text-transform: uppercase;
	transition: transform var(--transition);
	/* Fix for misaligned text with letter spacing */
	margin-right: calc(-1 * var(--letter-spacing-heading)); /* Fix Letter Spacing */
}


/* Button Text */
.pinc-button__text {
	margin-bottom: var(--module-text-align-fix);
	text-align: center;
	transition: opacity var(--transition), 
				transform var(--transition);
	grid-area: 1 / 1;
}

/* Flip Text */
.pinc-button__flip-text {
	margin-bottom: var(--module-text-align-fix);
	text-align: center;
	opacity: 0;
	transform: translateY(75%);
	transition: opacity var(--transition), 
				transform var(--transition);
	grid-area: 1 / 1;
}

/* Icon */
.pinc-button__icon {
	z-index: 1;
	display: block;
	width: var(--module-icon-size);
	height: var(--module-icon-size);
	background: url("data:image/svg+xml,%3Csvg viewBox='0 0 50.59595108 49.25154495' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-miterlimit='10' stroke-width='1'%3E%3Cpath vector-effect='non-scaling-stroke' d='m25.5996671 47.98519448c8.20822925-9.37707568 14.74649404-17.78311423 21.7364185-23.71611014-9.11849666-6.5944544-15.81096752-14.29339057-22.33976746-23.00273387'/%3E%3Cpath vector-effect='non-scaling-stroke' d='m3.25985818 24.98245964s25.66356359.83754008 44.07623473-.71338625'/%3E%3C/g%3E%3C/svg%3E") center center no-repeat;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	transition: opacity var(--transition),
				transform var(--transition),
				background-color var(--transition);
}

/* Button Hover Icon */
.pinc-button--hover-icon .pinc-button__label-frame {
    transform: translateX(calc( ( var(--module-icon-size) / 2 )) );
}

.pinc-button--hover-icon .pinc-button__icon {
    opacity: 0;
    transform: translateX(calc( -1 * ( var(--module-icon-size) / 2 )) );
}

.pinc-button--hover-icon:hover .pinc-button__label-frame {
    transform: translateX(0);
}

.pinc-button--hover-icon:hover .pinc-button__icon {
    opacity: 1;
    transform: translateX(0);
}

/* Button Icon Always Visible */
.pinc-button--has-icon:not(.pinc-button--hover-icon) .pinc-button__icon {
    opacity: 1;
}

/* Flip Effect - Desktop */
@media (min-width: 901px) {
    .pinc-button--flip:hover .pinc-button__text {
        opacity: 0;
        transform: translateY(-75%);
    }
    
    .pinc-button--flip:hover .pinc-button__flip-text {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Disable Flip Effect - Mobile */
@media (max-width: 900px) {
    .pinc-button--hover-icon .pinc-button__label-frame {
        transform: translateX(0);
    }
    
    .pinc-button--hover-icon .pinc-button__icon {
        opacity: 1;
        transform: translateX(0);
    }
    
    .pinc-button__flip-text {
        display: none;
    }
}

/* @end */






/* @group Muster
------------------------------------------------------------- */

:root {
	--pattern-width: calc( 10 * var(--spacing-fluid) );
	--pattern-height: calc( 5 * var(--spacing-fluid) );
	--pattern-inset: calc( 5 * var(--spacing-fluid) );
	--pattern-shift: calc( 1 * var(--spacing-fluid) );
	--pattern-mp-opacity: 1;
}

	@media all and (max-width: 900px) {
		:root {
			--pattern-width: calc( 10 * var(--spacing-fluid) );
			--pattern-height: calc( 5 * var(--spacing-fluid) );
			--pattern-inset: calc( 3.75 * var(--spacing-fluid) );
			--pattern-shift: calc( 1 * var(--spacing-fluid) );
		}
	}

/* Container kann beliebig sein */
[class*="nm-pattern--"],
[class*="nm-pattern-2--"] {
    position: relative;
    overflow: visible;
}

/* ========================================
   GEMEINSAME BASIS FÜR BEIDE MUSTER
   ======================================== */

/* Basis für beide Pseudo-Elemente */
[class*="nm-pattern--"]::before,
[class*="nm-pattern-2--"]::after {
    content: '';
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
    width: var(--pattern-width);
    height: var(--pattern-height);
	opacity: var(--pattern-mp-opacity);
}

/* ========================================
   HORIZONTALE POSITION
   ======================================== */

/* Links */
.nm-pattern--left::before,
.nm-pattern-2--left::after {
    left: calc( ( -1 * var(--pattern-width) + var(--module-spacing-y) ) + var(--pattern-inset) );
    background-position: right center;
}

/* Rechts */
.nm-pattern--right::before,
.nm-pattern-2--right::after {
    right: calc( ( -1 * var(--pattern-width) + var(--module-spacing-y) ) + var(--pattern-inset) );
    background-position: left center;
}

/* ========================================
   BACKGROUND-POSITION (Vertikal + Horizontal kombiniert)
   ======================================== */

/* Top + Left */
.nm-pattern--top.nm-pattern--left::before,
.nm-pattern-2--top.nm-pattern-2--left::after {
    background-position: right top;
}

/* Top + Right */
.nm-pattern--top.nm-pattern--right::before,
.nm-pattern-2--top.nm-pattern-2--right::after {
    background-position: left top;
}

/* Center + Left */
.nm-pattern--center.nm-pattern--left::before,
.nm-pattern-2--center.nm-pattern-2--left::after {
    background-position: right center;
}

/* Center + Right */
.nm-pattern--center.nm-pattern--right::before,
.nm-pattern-2--center.nm-pattern-2--right::after {
    background-position: left center;
}

/* Bottom + Left */
.nm-pattern--bottom.nm-pattern--left::before,
.nm-pattern-2--bottom.nm-pattern-2--left::after {
    background-position: right bottom;
}

/* Bottom + Right */
.nm-pattern--bottom.nm-pattern--right::before,
.nm-pattern-2--bottom.nm-pattern-2--right::after {
    background-position: left bottom;
}

/* ========================================
   VERTIKALE POSITION DES PSEUDO-ELEMENTS
   ======================================== */

/* Top */
.nm-pattern--top::before,
.nm-pattern-2--top::after {
    top: var(--module-spacing-y);
}

/* Center */
.nm-pattern--center::before,
.nm-pattern-2--center::after {
    top: 50%;
    transform: translateY(-50%);
}

/* Bottom */
.nm-pattern--bottom::before,
.nm-pattern-2--bottom::after {
    bottom: var(--module-spacing-y);
}

/* ========================================
   SHIFT-KLASSEN
   ======================================== */

/* Shift Up */
.nm-pattern--shift-up::before,
.nm-pattern-2--shift-up::after {
    transform: translateY( calc( -1 * var(--pattern-shift) ) );
}

/* Shift Down */
.nm-pattern--shift-down::before,
.nm-pattern-2--shift-down::after {
    transform: translateY( calc( 1 * var(--pattern-shift) ) );
}

/* Center + Shift Up */
.nm-pattern--center.nm-pattern--shift-up::before,
.nm-pattern-2--center.nm-pattern-2--shift-up::after {
    transform: translateY( calc( -50% + (-1 * var(--pattern-shift)) ) );
}

/* Center + Shift Down */
.nm-pattern--center.nm-pattern--shift-down::before,
.nm-pattern-2--center.nm-pattern-2--shift-down::after {
    transform: translateY( calc( -50% + var(--pattern-shift) ) );
}

/* ========================================
   Z-INDEX
   ======================================== */

/* Behind */
.nm-pattern--behind::before,
.nm-pattern-2--behind::after {
    z-index: 0;
}

/* Front */
.nm-pattern--front::before,
.nm-pattern-2--front::after {
    z-index: 1;
}

/* ========================================
   MUSTER-BILDER (für beide Pseudo-Elemente)
   ======================================== */

.nm-pattern--01::before,
.nm-pattern-2--01::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_01.png');
}

.nm-pattern--02::before,
.nm-pattern-2--02::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_02.png');
}

.nm-pattern--03::before,
.nm-pattern-2--03::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_03.png');
}

.nm-pattern--04::before,
.nm-pattern-2--04::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_04.png');
}

.nm-pattern--05::before,
.nm-pattern-2--05::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_05.png');
}

.nm-pattern--06::before,
.nm-pattern-2--06::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_06.png');
}

.nm-pattern--07::before,
.nm-pattern-2--07::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_07.png');
}

.nm-pattern--08::before,
.nm-pattern-2--08::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_08.png');
}

.nm-pattern--09::before,
.nm-pattern-2--09::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_09.png');
}

.nm-pattern--10::before,
.nm-pattern-2--10::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_10.png');
}

.nm-pattern--11::before,
.nm-pattern-2--11::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linie_11.png');
}

.nm-pattern--kombi-01::before,
.nm-pattern-2--kombi-01::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linien_kombi_01.png');
}

.nm-pattern--kombi-02::before,
.nm-pattern-2--kombi-02::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linien_kombi_02.png');
}

.nm-pattern--kombi-03::before,
.nm-pattern-2--kombi-03::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linien_kombi_03.png');
}

.nm-pattern--kombi-04::before,
.nm-pattern-2--kombi-04::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linien_kombi_04.png');
}

.nm-pattern--kombi-05::before,
.nm-pattern-2--kombi-05::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linien_kombi_05.png');
}

.nm-pattern--kombi-06::before,
.nm-pattern-2--kombi-06::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linien_kombi_06.png');
}

.nm-pattern--kombi-07::before,
.nm-pattern-2--kombi-07::after {
    background-image: url('/wp-content/themes/bb-theme-child/assets/images/neighbours_marrakech_linien_kombi_07.png');
}

/* @end */


