/*
Theme Name:	Bauhaus Child
Description:	Child Theme for customization of the Prism Immobilier Website
Template:	bauhaus
*/





/* Variables */

:root {
	--beige: #EBDECE;
	--terracotta: #872B1C;
	--dark-cherry: #381211;
	
	--h1-font-size: 4rem;
	--h2-font-size: 3rem;
	--h3-font-size: 2rem;
	--p-font-size: 1rem;
	
	--menu-font-size-lvl1: 1.625rem;
	--menu-font-size-lvl2: 1.25rem;
	--filter-font-size: 1.25rem;
	--subtitle-font-size: 1.625rem;
	
	--letter-spacing-xxs: 0.01em;
	--letter-spacing-xs: 0.05em;
	--letter-spacing-xl: 0.15em;
	
	--submenu-offset: 4.25rem;
	
	--h2-margin-bottom-no-line: calc(2.875rem - 1.166rem);
	
	--page-title-margin: 6.875rem 0;
	
	--project-header-height: 42.5rem;

	--block-padding: calc(7.5rem - 35px) 0 7.5rem 0;
	
	--filter-margin-bottom: 2.5rem;
	--filter-margin-right: 4rem;

	--unversal-block-leftortop-width: 41.66666667%;
	--unversal-block-rightorbottom-width: 58.333333333%;
	--unversal-block-leftortop-margin: 0 8.33333333% 0 0;
	
	--width-50to100: 50%;

	--form-gap: 1.375rem;
	--form-topfields-flex-direction: row;
	--form-field-width: 32%;
	--form-row-gap: 1rem;

	--flex-direction-device-dependent: row;

	--text-margin-about-title: calc( 5.625rem - 1.166rem );

	--separator-length: 12.5rem;
	--separator-height: 0.125rem;
	--separator-distance: calc( (5.625rem - 1.166rem) / -2 );
	
	--footer-margin: 0 -4.2857rem;
	--footer-padding: calc( 4.2857rem + (var(--separator-distance) * -1) ) 0;
	--footer-logo-width: 18.25rem;
}

@media (max-width: 880px) {
	:root {
		--h1-font-size: 2.8rem;
		--h2-font-size: 2.125rem;
	    --h3-font-size: 1.3rem;
		
		--menu-font-size-lvl1: 1.25rem;
		--menu-font-size-lvl2: 1rem;
		--filter-font-size: 0.8rem;
		
		--submenu-offset: 2.5rem;
		
		--page-title-margin: 3rem 0;
		
		--filter-font-size: 0.8rem;
	    --subtitle-font-size: 1.1rem;
		
		--project-header-height: 16rem;
		
		--block-padding: calc(3.125rem - 35px) 0 3.125rem 0;
		
		--margin-before-footer: -4rem;
		
		--filter-margin-bottom: 1rem;
		--filter-margin-right: 1rem;
		
		--unversal-block-leftortop-width: 100%;
		--unversal-block-rightorbottom-width: 100%;
		--unversal-block-leftortop-margin: 0 0 3rem 8.33333333%;
		
		--width-50to100: 100%;
		
		--text-margin-about-title: calc( 3.75rem - 1.166rem );
		
		--separator-length: 6rem;
		--separator-distance: calc( (3.75rem - 1.166rem) / -2 );
		
		--flex-direction-device-dependent: column;
		
		--form-field-width: 100%;
		

		--footer-padding: 1.7rem;
		--footer-logo-width: 13.875rem;
	}
}

@media (max-width: 767px) {
	:root {
		--footer-margin: 4rem -1.7rem 0;
	}
	
}

@media (min-width: 700px) and (max-width: 880px) and (orientation: portrait) {
	:root {
		--footer-margin: 4rem -4.3rem 0;
	}
}

/* Typography */

html {
	font-size: 16px;
}

body, h1 {
	font-family: "DM Sans", sans-serif !important;
    font-optical-sizing: auto;
}

p {
	font-size: var(--p-font-size);
	margin-bottom: 0;
	letter-spacing: 0;
	line-height: 1.2em !important;
}

.line-height-1 {
	line-height: 1.2em !important;
}

.rs-text {
	line-height: 1.2em !important;
	color: var(--beige) !important;
	text-align: center !important;
}


h1 {
	font-size: var(--h1-font-size);
	font-weight: 300 !important;
	color: var(--terracotta);
	letter-spacing: var(--letter-spacing-xs) !important;
}

h2 {
	font-size: var(--h2-font-size);
	font-weight: 500;
	color: var(--terracotta);
	letter-spacing: var(--letter-spacing-xs) !important;
}

h3 {
	font-size: var(--h3-font-size);
	font-weight: 500;
	letter-spacing: var(--letter-spacing-xs) !important;
}

/* Colors */

.beige {
	color: var(--beige);
}

/* Universal classes */

.before-footer {
	margin-bottom: var(--margin-before-footer);
}

.vc_single_image-img {
	pointer-events: none;
}

.grecaptcha-badge { 
    visibility: hidden !important;
}


/* Preloader */


svg {
	overflow: visible;
}

#loftloader-wrapper {
	z-index: 10000000 !important;
}

.prism-preloader {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 527px;
  height: 148px;
  transform: translate(-50%, -50%);
}


svg {
  transition: transform 0.5s ease-out;
}
svg .prism {
  stroke-dasharray: 470;
  stroke-dashoffset: 470;
  stroke-width: 27;
  stroke: #872B1C;
  fill: none;
  animation: s-prism-anim 0.75s linear forwards 0.5s;
}
svg .prism-clippath {
  fill: rgba(0, 0, 0, 0.383);
  stroke: none;
  stroke-width: 0;
}


@keyframes s-prism-anim {
  0% {
    stroke-dashoffset: 470;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@media (max-width: 880px) {
	.prism-preloader {
		width: 300px;
		height: 100px;
	}
}


/* Header */

.navbar-toggle .icon-bar {
    width: 3.438rem;
}

.navbar-toggle .icon-bar + .icon-bar {
    margin-top: 0.5rem;
}

.navbar-toggle:hover .icon-bar {
    background-color: white !important;
}

.close-menu {
	color: white;
}

.menu-item-gtranslate, .navbar .social-list {
	display: none;
}

.navbar {
    padding-left: calc(50% - 15rem);
}

.navbar .brand {
	margin-top: 0.25rem;
}

.brand img {
	width: 31.25rem !important; 
	height:auto !important;
}

@media (max-width: 880px) {
	.navbar {
    height: 5.625rem !important;
	padding-left: 1.7rem;
	padding-top: 1.7rem;
}
	
	.brand img {
    width: 15rem !important;
}
	.wrapper {
		padding-top: 5.625rem;
	}
}

/* Menu off-canvas */

 .menu-list {
        top: 0;
    }

.menu-list>li {
    font-size: var(--menu-font-size-lvl1);
	color: var(--beige);
	letter-spacing: var(--letter-spacing-xl);
	text-transform: uppercase;
	font-weight: 400;
    }


.menu-list ul li {
    font-size: var(--menu-font-size-lvl2);
    margin-top: 2.4rem;
	margin-left: var(--submenu-offset);

}

.menu-list .active>a, .menu-list li a:hover, .menu-list .current>a {
    text-decoration: none;
    color: var(--terracotta) !important;
}

.menu-list li a {
    color: var(--terracotta) !important;
}

.menu-item-299, .menu-item-298 {
	display: inline-block;
}

.menu-item-299 a, .menu-item-298 a {
	font-size: var(--menu-font-size-lvl2);
}

.menu-item-299 {
	margin-right: 1.5rem;
	margin-bottom: 20%;
}

@media (max-width: 1329px) and (orientation: landscape) {
	
	.menu {
		width: 50% !important;
	}
	.menu-list {
		bottom: 5rem;
    }
	
	.menu-item-299 {
		margin-bottom: 10%;
	}
	
	.menu-list>li {
    margin-top: 2rem;
}
	
	.menu-footer {
    bottom: 2rem;
    }
	
	.menu-footer .copy {
    margin-top: 1.5rem;
    }
	
}

@media (min-height: 600px) and (max-width: 880px) {
    .menu-list {
        bottom: 10rem;
    }
	
	.menu-item-299 {
		margin-bottom: 10%;
}

    .menu .menu-lang {
        top: 2.2rem;
    }
	
	.menu-footer {
    bottom: 2rem;
    }

    .menu-footer .copy {
    margin-top: 1.5rem;
    }
}

/* Lightbox */

.lightbox .lb-image {
	border: none !important;
	border-radius: 0 !important;
}

.lb-dataContainer {
	display: none !important;
}

/* Cookie banner */

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	font-size: 0.75rem !important;
}

@media (max-width: 768px) {
    .cmplz-cookiebanner .cmplz-buttons {
        flex-direction: row !important;
    }
	
	.cmplz-cookiebanner .cmplz-message  {
		font-size: .7rem !important;
	}
	
	.cmplz-header {
		display: none !important;
	}
	
	.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	font-size: 0.7rem !important;
	height: unset !important;
	padding: 0.25rem !important;
}
	
	.cmplz-cookiebanner {
		z-index: 1000000000 !important;
	}
}

/* Whatsapp button */

a.yydev-chat-button span {
    background-size: contain !important;
}

/* Homepage */

@media (max-width: 880px) {
	
	.home-hero {
		margin-bottom: -4rem !important;
	}
	
	.home-hero  img {
    height: 37svh;
    object-fit: cover;
	}
}

/* Homepage navigation cards */

.home-nav {
	padding: 6.5rem 4rem;
	background-color: #fff;
}

.home-nav__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;

	width: 100%;
	max-width: 62rem;
	margin: 0 auto;
}

.home-nav__card {
	position: relative;
	display: block;

	aspect-ratio: 3 / 4;
	overflow: hidden;

	color: var(--beige);
	text-decoration: none;
	background-color: var(--dark-cherry);
}

.home-nav__card:hover,
.home-nav__card:focus {
	color: var(--beige);
	text-decoration: none;
}

.home-nav__image {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;
	object-fit: cover;

	transform: scale(1);
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-nav__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;

	background:
		linear-gradient(
			to bottom,
			rgba(56, 18, 17, 0.10) 0%,
			rgba(56, 18, 17, 0.18) 45%,
			rgba(56, 18, 17, 0.68) 100%
		);

	transition: background 0.8s ease;
}

.home-nav__frame {
	position: absolute;
	inset: 1rem;
	z-index: 2;

	border: 1px solid rgba(235, 222, 206, 0.65);

	opacity: 0;
	transform: scale(0.985);

	transition:
		opacity 0.7s ease,
		transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);

	pointer-events: none;
}

.home-nav__content {
	position: absolute;
	left: 2rem;
	right: 2rem;
	bottom: 2rem;
	z-index: 3;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.home-nav__eyebrow {
	position: relative;

	margin-bottom: 0.55rem;
	padding-left: 2.6rem;

	font-size: 0.7rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: var(--letter-spacing-xl);
	text-transform: uppercase;

	opacity: 0;
	transform: translateY(0.5rem);

	transition:
		opacity 0.55s ease,
		transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-nav__eyebrow::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;

	width: 1.8rem;
	height: 1px;

	background-color: currentColor;

	transform: translateY(-50%);
}

.home-nav__title {
	font-size: 1.45rem;
	font-weight: 300;
	line-height: 1.1;

	letter-spacing: var(--letter-spacing-xs);
	text-transform: uppercase;

	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}


/* Hover */

.home-nav__card:hover .home-nav__image,
.home-nav__card:focus-visible .home-nav__image {
	transform: scale(1.055);
}

.home-nav__card:hover .home-nav__overlay,
.home-nav__card:focus-visible .home-nav__overlay {
	background:
		linear-gradient(
			to bottom,
			rgba(56, 18, 17, 0.06) 0%,
			rgba(56, 18, 17, 0.13) 45%,
			rgba(56, 18, 17, 0.72) 100%
		);
}

.home-nav__card:hover .home-nav__frame,
.home-nav__card:focus-visible .home-nav__frame {
	opacity: 1;
	transform: scale(1);
}

.home-nav__card:hover .home-nav__eyebrow,
.home-nav__card:focus-visible .home-nav__eyebrow {
	opacity: 1;
	transform: translateY(0);
}

.home-nav__card:hover .home-nav__title,
.home-nav__card:focus-visible .home-nav__title {
	transform: translateY(0.15rem);
}


/* Tablet */

@media (max-width: 880px) {

	.home-nav {
		padding: 4rem 1.7rem;
	}

	.home-nav__grid {
		gap: 1rem;
	}

	.home-nav__content {
		left: 1.4rem;
		right: 1.4rem;
		bottom: 1.4rem;
	}

	.home-nav__title {
		font-size: 1.1rem;
	}

}


/* Mobile */

@media (max-width: 650px) {

	.home-nav {
		padding: 3rem 1.7rem;
	}

	.home-nav__grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.home-nav__card {
		aspect-ratio: 4 / 5;
	}

	.home-nav__frame {
		inset: 0.8rem;

		/*
		No real hover on touch devices,
		so keep the frame visible.
		*/
		opacity: 1;
		transform: none;
	}

	.home-nav__eyebrow {
		opacity: 1;
		transform: none;
	}

	.home-nav__title {
		font-size: 1.35rem;
	}

}


/* Respect reduced-motion preferences */

@media (prefers-reduced-motion: reduce) {

	.home-nav__image,
	.home-nav__frame,
	.home-nav__eyebrow,
	.home-nav__title {
		transition: none;
	}

}

/* About page */

.about {
	background-color: var(--beige);
}

.rs-fix {
	margin-right: -65px !important;
	margin-left: -65px !important;
}


@media (max-width: 880px) {
	.about .property-intro .col-md-6 {
		padding: 0 41px;
		margin: 0;
	}
	
	.about p {
		padding-right: 0 !important;
		text-align: center;
		margin-bottom: calc(var(--separator-length) + 2.875rem) !important;
	}
	
	.about p::after {
		content: "";
		position: absolute;
		height: calc(var(--separator-length) / 2);
		width: var(--separator-height);
		background-color: var(--dark-cherry);
		bottom: calc(var(--separator-length) / 2 ) !important;
		left: 50%;
	}

	.about h2 {
		text-align: center;
		margin-bottom: var(--h2-margin-bottom-no-line) !important;
	}
	
	.about h2::after {
		content: none !important;
	}
	
}


.about h2, .expertise h2 {
	text-transform: none !important;
	letter-spacing: var(--letter-spacing-xxs) !important;
}

.about p {
	padding-right: 1.875rem;
}

.about .dots-image img {
    aspect-ratio: 7 / 5 !important;
}

.expertise .dots {
    display: none;  
}

.expertise .experience-box {
    display: none;
}

.expertise .section-about {
    padding: var(--block-padding);
}

.expertise .row {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.expertise p, .expertise h2 {
	text-align: center;
}

.expertise .section-about-title {
    margin-bottom: var(--h2-margin-bottom-no-line);
}

.expertise p {
	position: relative;
	margin-bottom: var(--separator-length);
}

@media (max-width: 880px) {
	.expertise p {
	margin-bottom: calc(var(--separator-length) + 2.875rem);
	}
}

.expertise p::after {
    content: "";
    position: absolute;
    height: calc(var(--separator-length)/2);
    width: var(--separator-height);
    background-color: var(--dark-cherry);
    bottom: calc(var(--separator-length)/-2 - 2.875rem);
    left: 50%;
	}

.expertise .col-md-offset-1 {
	margin-left: 0 !important;
	}

.expertise .col-md-5 {
	width: 100% !important;
	}

.expertise .dots-image, .expertise img {
	width: 100%;
	}

@media (min-width: 880px) {
	
		.row-reverse .row {
			flex-direction: row-reverse !important;
		}
		.row-reverse .col-md-6 {
			margin: 0 0 0 8.33333333% !important;
		}
}



/* Page title */ 

.page-header, .page-header-2, .page-header-3 {
	margin: var(--page-title-margin);
}

.page-header h1, .page-header-2 h1, .page-header-3 h1 {
	text-transform: none !important;
	letter-spacing: var(--letter-spacing-xxs) !important;
}

.contact-page {
	margin-bottom: 2rem;
}



/* Filters */

.filter li a {
	text-transform: uppercase;
	letter-spacing: var(--letter-spacing-xl);
	font-weight: 500;
	font-size: var(--filter-font-size);
	color: var(--dark-cherry);
}

.filter-content-2 {
	margin-bottom: var(--filter-margin-bottom);
}

.filter-content-2 .filter li, .filter-content-3 .filter li, .filter-content-4 .filter li {
    margin-right: var(--filter-margin-right);
}

/* Project grid */

/* .nofilter .filter-content-2 {
	display: none;
} */

.project-item {
	aspect-ratio: 1/1;
}

.project-item a {
	display: none;
}

.project-item img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.project-hover .project-title {
	bottom: calc(50% - (var(--h3-font-size) / 2));
}

.project-hover-content {
	display: flex;
    justify-content: center;
}

.project-description {
	display: none;
}

.item-shadow:before {
	background: rgba(135,43,28,0.6);
	transition: .5s ease;
}


.item-shadow:hover::before {
	background: rgba(0,0,0,0);
	transition: .5s ease;
}

.project-item:hover .project-hover .project-title {
	display: none;
}


/* Project Page */ 

video {
	width: 100%;
    height: var(--project-header-height);
    object-fit: cover;
	position: relative;
}

#myBtn {
	position: absolute;
	transform: translate(-50%,-100%);
	top: 50%;
	left: 50%;
	border-radius: 50%;
  width: 4rem;
	height: 4rem;
  font-size: 0.75rem;
  padding: 10px;
  border: none;
  background: black;
  color: white;
  cursor: pointer;
	transition: 0.3s ease;
}

#myBtn:hover {
  background: rgba(0, 0, 0, 0);;
  color: var(--dark-cherry);
	transition: 0.3s ease;
}


.width100 .wpb_single_image .vc_figure, .width100 .wpb_single_image img, .width100 .wpb_single_image .vc_single_image-wrapper  {
	width: 100%;
}

.width100 .wpb_single_image img {
	height: var(--project-header-height);
	object-fit: cover;
}

.property-intro p {
	margin-bottom: 1rem;
}

.property-intro .dots {
	display: none;	
}

.property-intro .dots-image img {
    object-fit: cover;
    aspect-ratio: 6 / 5;
}

.property-intro .experience-box {
	display: none;
}

.property-intro .row {
	display: flex;
	align-items: center;
	flex-direction: var(--flex-direction-device-dependent);
}

.property-intro .section-about {
	padding: var(--block-padding);
}

.property-intro .col-md-6 {
	width: var(--unversal-block-leftortop-width);
	margin: var(--unversal-block-leftortop-margin);
}

.property-intro .col-md-5 {
	width: var(--unversal-block-rightorbottom-width);
	margin-left: 0;
}

.property-intro .section-about-title {
	position: relative;
}

.property-intro .section-about-title::after {
	content: "";
	position: absolute;
	width: var(--separator-length);
	height: var(--separator-height);
	background-color: var(--dark-cherry);
	bottom: var(--separator-distance);
	left: 0;
}

.property-intro .section-about-title {
    margin-bottom: var(--text-margin-about-title);
}

.section-subtitle {
	font-size: var(--subtitle-font-size);
	font-weight: 200;
	letter-spacing: var(--letter-spacing-xl);
	color: var(--dark-cherry);
	margin-bottom: 0;
}

/* Dedicated form */

.pi-form {
	float: none;
	margin: 0 auto;
	padding: var(--block-padding);
}

.pi-form__wrap {
	display: flex;
	flex-direction: column;
	gap: var(--form-gap); 
}

.pi-form input, .pi-form textarea {
	border: none;
	font-weight: 300;
}

.pi-form input::placeholder, .pi-form textarea::placeholder {
	color: var(--dark-cherry);
	font-weight: 300;
}


.pi-form label {
	width: 100%;
}

.pi-form textarea {
	width: 100%;
}

.pi-form__topfields {
	display: flex;
	flex-direction: var(--flex-direction-device-dependent);
	row-gap: var(--form-row-gap);
	justify-content: space-between;
}


.pi-form__topfields p {
	width: var(--form-field-width);
}

.pi-form__projectname {
	display: flex;
    border: none;
    border-radius: 0;
    height: 3.6em;
    width: 100%;
	background-color: white;
    align-items: center;
    justify-content: flex-start;
    padding-left: 1rem;
    flex-direction: row;
}

.wpcf7-submit, .prism-button {
	background-color: var(--dark-cherry);
    color: white;
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-xl);
    padding: 0.75em 1.5em 0.7em 1.7em;
}

.form-two-column {
	align-items: flex-start;
	max-width: 1170px;
    margin: 0 auto 120px;
	gap: 3rem;
}

@media (max-width: 880px) and (orientation: portrait) {
	.form-two-column {
		flex-direction: column-reverse;
	}
	.form-two-column .vc_col-sm-6 {
	width: 100% !important;
    }

}

.form-two-column .vc_col-sm-6 {
	width: calc(50% - 1.5rem);
}


.form-two-column .pi-form {
	padding: 0;
}

.form-two-column .pi-form__topfields {
	flex-direction: column;
}

.form-two-column .pi-form__wrap p {
	width: 100%;
}

.form-two-column .pi-form__wrap p label {
	width: 100% !important;
}



.form-two-column .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

/* Footer */ 

.footer {
	background-color: var(--terracotta);
    margin: var(--footer-margin);
	padding: var(--footer-padding);
}

.footer__wrap {
  display: flex;
  flex-direction: var(--flex-direction-device-dependent);
  flex-wrap: wrap;
}
.footer__address {
  width: var(--width-50to100);	
	padding-bottom: 2.5rem;
}
.footer__address p {
	color: var(--beige) !important;
	line-height: 1.15em;
	margin-bottom: 1rem;
}
.footer__address .section-subtitle {
	position: relative;
	color: white;
	margin-bottom: 0.2rem;
}

.footer__address a {
	color: var(--beige);
}

.footer__address .section-subtitle::before {
  content: "";
  position: absolute;
  width: var(--separator-length);
  height: var(--separator-height);
  background-color: var(--beige);
  top: var(--separator-distance);
  left: 0;
}
.footer__logo {
  width: var(--width-50to100);
  text-align: right;
  margin-top: var(--separator-distance);
}
.footer__logo img {
  width: var(--footer-logo-width);
}
.footer__social {
  width: var(--width-50to100);
}
.footer__links {
  width: var(--width-50to100);
  display: flex;
  gap: 3rem;
  justify-content: flex-end;
  padding-inline-end: 3rem;
}

.footer .social-list a {
	color: white;
	font-size: 1.8rem;
	transition: 0.2s ease;
}

.footer .social-list a:hover {
	color: var(--beige);
	transition: 0.2s ease;
}

.footer__links a {
	color: var(--beige);
	font-size: 0.7rem;
}

@media (max-width: 880px) {
  .footer__address {
    order: 2;
  }
  .footer__logo {
    order: 1;
	  text-align: center;
	  margin-bottom: 4.5rem;
	  margin-top: unset;
  }
  .footer__social {
    order: 3;
	  margin-bottom: 0.7rem;
  }
  .footer__links {
    order: 4;
	justify-content: space-between;
	padding-inline-end: unset;
  }
}


/* Contacts page */


@media (max-width: 880px) {
	.map-mobile img {
	height: unset !important;
}
} 

/* Privacy policy + Cookie policy */

.privacy-policy .content, .cookie-statement, .cmplz-document h2 {
	max-width: 1200px !important;
	margin: 0 auto;
}
