@import url(base.css);
/* ==================================== V.12.05.2017 ==================================== */
* {
	margin: 0;
	padding: 0;
	border: 0;
	-webkit-text-size-adjust: none;
}

html {
	height: 100%;
}

body {
	margin: 0;
	padding: 0;
	height: 100%;
}

/**
body::after {
  content: ' ';
  display: block;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0.05;
  background-image: url('../images/mountain.png');
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 100%;
  z-index: -1;
}
**/

body.no-scroll {
	overflow: hidden;
}

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

article p img {
	height: auto!important;
}

ul, ol {
	list-style-type: none;
}

b, strong {
	font-weight: 600;
}

.clear {
	clear:both;
}

.flex-gallery.hide_d, .hide_d {
	display : none;
}

i.icon::before {
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

ul li div.wrapper {
	overflow:hidden;
	aspect-ratio: var(--image-aspect-ratio);
}

/* ====================================
				 HEADER
 ==================================== */
body > header {
	display: flex;
	flex-wrap: wrap-reverse;
}

body > header > div {
	flex: 0 0 100%;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

/** --- NAV MAIN --- **/
nav.main ul, nav.secondary ul {
	align-items: center;
}

header div.main nav.main ul, header div.main nav.secondary ul {
	justify-content: flex-end;
}

header div.main nav ul li a, nav.cart ol li a {
	border-bottom: transparent solid 2px;
}

header div.main nav.main ul > li, header div.main nav.secondary ul > li {
	display: flex;
	align-items: center;
}

header div.main nav.main ul > li.dropdown {
	flex-wrap: wrap;
	position: relative;
}

header div.main nav.main ul > li.dropdown div {
	flex: 0 0 100%;
}

header div.main nav > ul > li::before {
	content: '\f111';
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-weight: 600;
	color: var(--color-primary);
	font-size: 5px;
	margin: 0 12px 0 0;
}

header div.main nav > ul > li:first-of-type::before {
	display: none;
}

/** --- NAV HAMBURGER --- **/
header div.main nav.hamburger-button ul li a {
	font-size: 22px;
}

header div.main nav.hamburger-button ul li a:hover {
	color: var(--color-primary);
	border-bottom-color: transparent;
}

div.hamburger-container {
	position: fixed;
	opacity: 0;
	top: 0;
	left: -10000px;
	height: 100%;
	width: 100%;
	background: #000000BB;
	z-index: 2000;
	transition: var(--transition-default);
}

div.hamburger-container.active {
	left: 0;
	opacity: 1;
}


div.hamburger-container.active div.hamburger-menu {
	opacity: 1;
}

div.hamburger-menu {
	opacity: 0;
	transition: var(--transition-default);
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-white);
	max-width: 100%;
	width: 320px;
	height: 100%;
	z-index: 2000;
	border-top-right-radius: var(--default-border-radius);
	border-bottom-right-radius: var(--default-border-radius);
	box-shadow: var(--default-shadow);
	box-sizing: border-box;
	border-right: 8px solid var(--color-primary);
}

div.hamburger-menu.right {
	left: auto;
	right: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-top-left-radius: var(--default-border-radius);
	border-bottom-left-radius: var(--default-border-radius);
	border-left: 8px solid var(--color-primary);
	border-right: 0;
}

div.hamburger-menu.right.active {
	right: 0;
}

div.hamburger-menu a.close {
	position: absolute;
	top: 10px;
	right: 20px;
	color: var(--color-gray);

}

div.hamburger-menu a.close:hover {
	color: var(--color-black);
}

div.hamburger-menu nav {
	background: var(--color-white);
	box-sizing: border-box;
	margin: 44px 0 22px;
	padding: 0 10px;
	overflow-y: scroll;
	scrollbar-width: thin;
	scrollbar-color: var(--color-primary);
	max-height: calc(100% - 88px);
}

div.hamburger-menu nav ul li {
	--padding: 1em 1.5em;
	--margin: 0 0 10px;
	display: flex;
	align-items: center;
	flex: 0 0 100%;
	margin: var(--margin);
	padding: var(--padding);
	box-sizing: border-box;
	border-radius: var(--default-border-radius);
	transition: var(--transition-default);
}

div.hamburger-menu nav ul li:last-of-type {
	border: 0;
}

div.hamburger-menu nav ul li:hover {
	background: var(--color-gray-lightest);
}

div.hamburger-menu nav ul li.selected {
	background: #F9F9F9;
}


div.hamburger-menu nav ul li a {
	--font-size: 16px;
	display: inline-block;
	color: var(--color-gray-darkest);
	font-weight: 500;
	padding: 0;
	box-sizing: border-box;
	background: transparent;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	max-width: calc(100% - 50px);
}

div.hamburger-menu nav ul li::before {
	content: '\f054';
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-weight: 600;
	margin: 0 14px;
	color: var(--color-gray);
}

div.hamburger-menu nav ul.main {
	border-radius: var(--default-border-radius);
	background: var(--color-gray-lightest);
}

div.hamburger-menu nav ul.site li {
	margin: 0;
}

div.hamburger-menu nav ul.site li::before {
	content: '';
	display: none;
}

div.hamburger-menu nav ul.site {
	border-top: 1px solid var(--color-gray-lightest);

}

div.hamburger-menu nav ul li a.selected, div.hamburger-menu nav ul li a:hover {
	color: var(--color-primary);
	text-decoration: underline;
}

div.hamburger-menu nav ul.site li {
	display: flex;
	justify-content: center;
	gap: 1em;
}

div.hamburger-menu nav ul.site li a.selected {
	text-decoration: none;
	border-bottom: 1px solid var(--color-primary);
}

div.hamburger-menu div.cta {
	display: flex;
	justify-content: center;
}

/** --- NAV SECONDARY --- **/
header div.secondary {
	justify-content: space-between;
}

header div.secondary nav ul li.site a {
	display: inline-block;
	padding: 0 8px;
}

header div.secondary nav.site ul {
	align-items: center;
	justify-content: flex-end;
}

/** --- NAV CONTACT --- **/
header div.contact nav ul li {
	text-align: center;
	cursor: default;
}

header div.contact nav ul li a {
	display: inline-block;
}

/**	--- DROPDOWN --- **/
header div nav ul li.dropdown div {
	--background: transparent;
	display: none;
	position: absolute;
	top: 30px;
	z-index: 200;
	box-sizing: border-box;
	margin: 8px 0 0 -10px;
	white-space: nowrap;
	max-width: 370px;
}

header div nav ul li.dropdown:hover > div {
	display: block;
}

header div nav ul li.dropdown div ul {
	margin: 0;
	padding: 0 0;
}

header div nav ul li.dropdown div ul li {
	flex: 0 0 100%;
}

header div nav ul li.dropdown div ul li a {
	padding: 0 12px;
	box-sizing: border-box;
}

header div nav ul li.dropdown:hover > div ul li.dropdown div {
	margin: -30px 0 0 188px;
}

/** --- NAV MOBILE --- **/
header div nav ul.toggle-mobile {
	display: none;
	justify-content: flex-end;
}

header div nav ul.toggle-mobile ul li button {
	margin: 0;
}

nav.hamburger-button.mobile {
	display: none;
}
/* ============================================================================================= */

/* ==================================== BANNER ==================================== */
#superslides {
	width: var(--banner-width-full);
	height: var(--banner-height-full);
	margin: 0 auto;
	overflow: hidden;
}

	#superslides.fullscreen, #videobanner.fullscreen {
		width: 100vw;
		height: 100vh;
		max-width: 100%;
		max-height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}

	#superslides.fullscreen #slides ul.slides-container li::after, #videobanner.fullscreen::after {
		content: '';
		background: var(--banner-fullscreen-background-mask);
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 9;
	}

	#superslides.slim {
	    width: 100%;
	    height: var(--banner-slim-height);
		box-sizing: border-box;
	    padding: var(--banner-slim-padding);
	}

#superslides #slides {
	position: relative;
	margin: 0;
}

#superslides #slides ul.slides-container {
	/**display: none;**/
	opacity: 0;
	transition: opacity 500ms ease-in;
}

#superslides #slides ul.slides-container li img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#superslides #slides ul.slides-container li {
	padding: 0;
	margin: 0;
	position: relative;
	background: none;
}

#superslides #slides .scrollable {
	position: relative;
	top: 0;
	left: 0;
	overflow-y: auto;
	height: 100%;
}

#superslides #slides .scrollable:after {
	content: "";
	display: table;
	clear: both;
}

#superslides #slides .slides-navigation {
	position: absolute;
	z-index: 3;
	top: calc(50% - 13px);
	width: 100%;
}

#superslides #slides  .slides-navigation a {
	position: absolute;
	display: block;
	width: var(--banner-navigation-arrow-width);
	height: var(--banner-navigation-arrow-height);
	padding: 0;
}

#superslides #slides .slides-navigation a.prev {
	left: var(--banner-navigation-arrow-offset);
	background: var(--banner-navigation-arrow-background-prev);
}

#superslides #slides .slides-navigation a.next {
	right: var(--banner-navigation-arrow-offset);
	background: var(--banner-navigation-arrow-background-next);
}

#superslides #slides.single .slides-navigation a.prev, #superslides #slides.single .slides-navigation a.next {
	display: none;
}

#superslides #slides .slides-pagination {
	display: var(--banner-pagination-display);
	position: absolute;
	z-index: 3;
	bottom: 0;
	text-align: center;
	width: 100%;
}

#superslides #slides .slides-pagination a {
	border: 2px solid var(--banner-pagination-button-color);
	text-indent: 9999px;
	border-radius: 100%;
	width: var(--banner-pagination-button-radius);
	height: var(--banner-pagination-button-radius);
	margin: 2px;
	overflow: hidden;
	display: inline-block;
}

#superslides #slides  .slides-pagination a.current {
	background: var(--banner-pagination-button-color);
}

#superslides #slides .slides-container li video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	height: auto;
	width: auto;
	z-index: -100;
	transform: translateX(-50%) translateY(-50%);
	background: transparent;
	background-size: cover;
	transition: 1s opacity;
}


.scroller {
	text-align: center;
	position: absolute;
	bottom: 10px;
	width: 100%;
	color: var(--banner-scroller-color);
	z-index: 20;
	animation: animation-scroller 2s infinite;
}

.scroller i::before {
	cursor: pointer;
	font-size: 42px;
	animation: animation-scroller-arrow 2s infinite;
	opacity: 0.5;
}

@keyframes animation-scroller {
  50% {
    bottom: 0;
  }
}

@keyframes animation-scroller-arrow {
  50% {
    padding-top: 20px;
	opacity: 1;
  }
}
/* ==================================== caption ==================================== */
@keyframes animatedarrow {
	0% { background-position: center bottom 22px; }
	50% { background-position: center bottom 30px; }
	100% { background-position: center bottom 22px; }
}

#superslides #slides div.caption {
	--width: 33%;
	--color: var(--color-white);
	--background: transparent;
	--padding: 2em 4em;
	--max-width: 400px;

	width: var(--width);
	color: var(--color);
	background: var(--background);
	padding: var(--padding);
	box-sizing:border-box;
	max-width: var(--max-width);
}

#superslides #slides div.caption span.heading1 {
	--color: var(--color-white);
	margin: 0;
}

#superslides #slides div.caption a.button {
	--border-radius: 0;
	--font-weight: 600;
	margin: 0;
	transition: none;
}

#superslides #slides ul.slides-container li div.slide-wrapper {
	height: 100%;
}

#superslides #slides div.caption.background {
	--background: var(--color-primary);
	display: flex;
	flex-direction: column;
	gap: 1em;
}

#superslides #slides div.caption.background.skew {
	--padding: 2em 0 8em;
	--max-width: 500px;
	/**clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);**/
	clip-path: circle(50% at 50% 0%);
	box-shadow: var(--default-shadow);
}

#superslides #slides div.caption.background div.content {
	h1, h2, h3, h4, h5, h6 {
		--color: var(--color-white);
	}
}

#superslides #slides ul.slides-container li div.slide-wrapper.right {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}

#superslides #slides ul.slides-container li div.slide-wrapper.right div.caption.background.skew {
	--padding: 8em 0 2em;
	clip-path: circle(50% at 50% 100%);
}


#superslides #slides .caption.mobile {
	display: none;
}

#superslides #slides .caption-fullscreen, #videobanner .caption-fullscreen {
	padding: 20px 13% 30px;
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	height: 100%;
	position: relative;
	z-index: 19;

}

#superslides #slides .caption-fullscreen > div, #videobanner .caption-fullscreen > div {
	flex: 0 0 100%;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 400;
}

#superslides #slides .caption-fullscreen > div h1, #superslides #slides .caption-fullscreen > div h2, #superslides #slides .caption-fullscreen > div h3, #superslides #slides .caption-fullscreen > div h4, #superslides #slides .caption-fullscreen > h5, #superslides #slides .caption-fullscreen > div h6,
#videobanner .caption-fullscreen > div h1, #videobanner .caption-fullscreen > div h2, #videobanner .caption-fullscreen > div h3, #videobanner .caption-fullscreen > div h4, #videobanner .caption-fullscreen > h5, #videobanner .caption-fullscreen > div h6{
	color: #FFFFFF!important;
	font-weight: 500;
}

#superslides.fullscreen + #nav_crumb, #superslides.fullscreen + #nav_core,
#videobanner.fullscreen + #nav_crumb, #videobanner.fullscreen + #nav_core
 {
	margin-top: 100vh;
}

/* ==================================== generals ==================================== */
body > div.container-main {
	display: flex;
	flex-wrap: wrap;
}

body > div.container-main.reversed {
	flex-direction: row-reverse;
}

body > #superslides.fullscreen + div.container-main, body > #superslides.fullscreen + ul#core, body > #superslides.fullscreen + div.crumbs,
body > #videobanner.fullscreen + div.container-main, body > #videobanner.fullscreen + ul#core, body > #videobanner.fullscreen + div.crumbs {
	margin-top: 100vh;
}

body > div.container-main > main {
	flex: 4;
}

body > div.container-main > aside {
	flex: 0 1 20%;
}

body > div.container-main > main article {
	clear: both;
}

body > div.container-main > main article.page header {
	display: flex;
	flex-wrap: wrap-reverse;
	padding: 0 10%;
}

body > div.container-main > main.blog article.page > header {
	margin: 0.5em 0 1em;
}

body > div.container-main > main.blog article.page > header h1 {
	margin: 0.2em 0 0;
}

body > div.container-main > main article.page header h1, body > div.container-main > main article.page header div {
	flex: 0 0 100%;
}

body > div.container-main > main article.page header h1 {
	margin: 0.5em 0 0;
}

body > div.container-main > main.fullscreen article.page h1:first-of-type {
	margin-top: 20px;
}

body > div.container-main > main article.page header + article.chapter {
	padding: 0 10% 50px;
}

ul.cart_errors li {
	background : none;
	padding :0;
}

/** Lists **/
body > div.container-main > main article ul, body > div.container-main > main article ol {
	--margin: 0 0 1em;
	margin: var(--margin);
}

body > div.container-main > main article ul > li, body > div.container-main > main article ol > li, nav.cart > ol > li, aside .widget ul > li {
	position: relative;
	padding: 0 0 0 14px;
}

body > div.container-main > main article ul > li + li, body > div.container-main > main article ol > li + li, nav.cart > ol > li, aside .widget ul > li + li{
	margin: var(--list-item-margin);
}

body > div.container-main > main article ul > li:before, aside .widget ul > li:before {
	content: '';
	width: 6px;
	height: 6px;
	display: block;
	position: absolute;
	left: 0;
	top: 10px;
	border-radius: 100%;
	background: var(--list-item-bullet-background);
}

aside .widget.contact ul > li:before, aside .widget.social ul > li:before, aside .widget.filters ul > li:before {
	display: none;
}

body > div.container-main > main article ol, nav.cart > ol {
    counter-reset: numList;
}

body > div.container-main > main article ol li, nav.cart > ol li {
	padding: 0 0 0 29px;
}

body > div.container-main > main article ol > li:before, nav.cart > ol > li:before {
	width: 24px;
	height: 24px;
	line-height: 22px;
	counter-increment: numList;
    content: counter(numList);
	text-align: center;
	font-weight: 600;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 100%;
	background: var(--list-item-bullet-background);
	color: var(--list-item-bullet-color);
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	border: none;
	margin-bottom: 25px;
}

td {
	vertical-align: top;
	border: #c8c8c8 solid 1px;
	padding: 8px 12px;
}

p {
	font-size: var(--body-font-size);
	line-height: var(--body-line-height);
	margin-bottom: 22px;
	text-align: left;
}

aside p {
	text-align: left;
}

hr {
	border-top: 4px solid var(--color-primary-dark);
	clear: both;
	margin: 30px auto 30px auto;
	height: 0;
	width: 2.5%;
	border-radius: var(--default-border-radius);
	border-image-slice: 1;
	border-width: 4px;
	border-image-source: linear-gradient(to left, var(--color-primary) 0%, var(--color-secondary) 100%);
}

h1.share {
	display: flex;
	align-items: center;
}

h1.share span {
	flex: 1;
}

h1.share span:last-of-type {
	flex: 0 0 auto;
}

h1.share span small {
	margin: 0 0.5em 0 0;
}

h1.share span i {
	font-size: smaller;
}

h1.share span a.a2a_dd {
	margin: 0;
}

div.tags {
	display: flex;
	gap: 0.5em;
	margin: 0.5em 0 0;
	align-items: center;
}

header div.tags {
	margin: 0;
}

div.tags span, div.tags span a {
	font-size: var(--time-font-size);
	color: var(--time-color);
	text-decoration: none;
}

div.tags span a:hover {
	text-decoration: underline;
}

div.tags span h2 {
	display: inline-block;
}

#videobanner {
	width: 100%;
	height: 50vh;
	position: relative;
	overflow: hidden;
}

	#videobanner video {
		position: absolute;
		top: 50%;
		left: 50%;
		min-width: 100%;
		min-height: 100%;
		height: auto;
		width: auto;
		z-index: -100;
		transform: translateX(-50%) translateY(-50%);
		transition: 1s opacity;
	}

	#videobanner button.controller {
		background: none;
		height: 50px;
		width: 35px;
		padding: 0;
		border-style: solid;
		border-width: 25px 0px 25px 35px;
		border-color: transparent transparent transparent white;
		position: absolute;
		bottom: 50px;
		left: 50px;
		border-radius: 2px;
		z-index: 9001;
	}

	#videobanner button.controller.playing {
		border-style: double;
		border-width: 0px 0 0px 35px;
	}

	#videobanner:hover button.controller, #videobanner:hover button.controller.playing {
		border-color: transparent transparent transparent #363636;
	}

/* ==================================== nav_crumb ==================================== */
div.crumbs, div.crumbs ul, div.crumbs ul li {
	display: flex;
	align-items: center;
}

	div.crumbs ul li:after {
		display: block;
		font-family: "Font Awesome 6 Free";
		font-style: normal;
		font-variant: normal;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
	}

	div.crumbs ul li:last-of-type:after {
		display: none;
	}

	div.crumbs ul li a {
		text-decoration: none;
	}

	div.crumbs ul li:last-child a {
		background: none;
	}

/* ==================================== widgets ==================================== */
main .widget {
	box-sizing: border-box;
}


main .widget p:last-of-type {
	margin: 0
}

aside .widget {
	display: block;
	overflow: hidden;
}

aside .widget a.button, aside .widget button {
	margin: 10px 0;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}

.widget.social li {
	background: transparent none no-repeat left center / 24px 24px;
}

.widget.social li + li {
	margin: 1em 0 0 0;
}

.widget.social li a {
	--color: var(--color-black);
	text-decoration: none;
}

.widget.social li a:hover {
	--color: var(--color-primary);
	text-decoration: underline;
}

.widget.social li.facebook {
	background-image: url(../images/icon-facebook.png);
}

.widget.social li.twitter {
	background-image: url(../images/icon-twitter.png);
}

.widget.social li.googleplus {
	background-image: url(../images/icon-googleplus.png);
}

.widget.social li.linkedin {
	background-image: url(../images/icon-linkedin.png);
}

.widget.social li.instagram {
	background-image: url(../images/icon-instagram.png);
}

.widget.social li.pinterest {
	background-image: url(../images/icon-pinterest.png);
}

.widget.social li.youtube {
	background-image: url(../images/icon-youtube.png);
}

.widget.social li.whatsapp {
	background: transparent none no-repeat left center / 24px 24px;
	background-image: url(../images/socials/whatsapp.png);
}

.widget.gmap iframe {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	aspect-ratio: 16/3;
}

/* ==================================== cols ==================================== */
.colspacer {
	width: 6%;
	float: left;
	overflow: hidden;
	display: block;
}

	.colspacer:before {
		content: "\00a0 ";
	}

.col25 {
	width: 20.50%;
	float: left;
}

.col33 {
	width: 29.33%;
	float: left;
}

.col50 {
	width: 47%;
	float: left;
}

.col66 {
	width: 64.66%;
	float: left;
}

.col75 {
	width: 70.50%;
	float : left;
}

.col33 img, .col50 img, .col66 img, .col25 img, .col75 img {
	width: 100%;
}


/* ==================================== form ==================================== */
.flex {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
}

.flex.wrap {
	flex-wrap: wrap;
}

.flex div.row {
	display: flex;
	flex: 0 0 100%;
	gap: 1em;
}

.flex div.row.offset {
	margin: 0.5em 0 0;
}

.flex div.row.offset > div > label {
	margin: 0 0 0.5em;
}

.flex div.row div {
	flex: 1;
}

.flex div.row div.large {
	flex: 3;
}

.flex div.row div > input[type="text"], .flex div.row div > input[type="password"], .flex div.row div > input[type="pasword"], .flex div.row div > select {
	width: 100%;
	box-sizing: border-box;
	margin: 0;
}

.flex div.row div hr {
	margin: 10px 0;
}

.flex div.row div h2 {
	margin: 0;
}

.flex fieldset {
	flex: 0 0 100%;
}

.flex fieldset.login > div {
	display: flex;
	flex: 0 0 100%;
	gap: 1em;
}

.flex fieldset.login > div > div {
	flex: 1;
}

form.flex div.required {
	flex: 0 0 100%;
}
/* ==================================== filter ==================================== */
.filter {
	margin: -10px 0 10px 0;
	padding: 0 0 15px 0;
	font-size: 12px;
	color: #382d24;
}
	.filter a {
		display: inline-block;
		text-decoration: none;
		font-size: 12px;
		margin: 4px 4px;
		padding: 0 6px;
		color: #382d24;
		background: #eaeaea;
	}
	.filter a.selected {
		background: #b0a8a8;
		color: white;
	}

.sidebar .filter {
	margin: 0 0 10px;
}

.sidebar .filter hr {
	margin: 20px 0 0;
}

.sidebar .filter:last-of-type hr {
	display: none;
}
/* ==================================== paging ==================================== */
#paging {
	text-align: center;
	clear: both;
	margin-top: 30px;
}

#paging a {
	color: #4a4949;
	padding: 6px 12px 6px 12px;
	font-size: 14px;
	line-height: 22px;
	text-decoration: none;
	display: inline-block;
	margin: 1%;
	border: #bbb9bc solid 1px;
	transition: all 0.2s ease-in-out;
}

#paging a:hover {
	border: #0088df solid 1px;
}

#paging span {
	font-weight: bold;
	margin: 1%;
}

/* ==================================== faq_overview ==================================== */
#faq_overview {
	margin-top: 25px;
}

#faq_overview h2 a {
	color: #525252;
	padding-left: 15px;
	text-decoration: none;
	background: transparent url(../images/arrow-close.png) no-repeat 0 6px;
}

#faq_overview div {
	padding: 0 0 5px 15px;
}

#faq_overview hr {
	margin: 14px 0 14px;
}

/* ==================================== print ==================================== */
@media print {
	body, p, h1, h2, h3, h4, h5, h6, #container, #content {
		background: white;
		color: black;
	}

	#body > footer, #body > header, #sidebar, div.crumbs {
		display: none;
	}
}

.imageBox img {
	max-width: 135px;
	float: left;
}
.imageBoxInfo {
	padding-top: 35px;
}

button.controller:disabled, button.controller:disabled:hover {
	background: #EBEBEB;
	color: #d4d4d4!important;
	cursor: not-allowed;
}

form.constraint button.controller:disabled {
	visibility: hidden;
}

table.prices {
	width: 100%;
}

table.prices tr th, table.prices tr td {
	padding: 4px 10px;
}

table.prices tr td {
	text-align: right;
}

table.prices tr td:first-of-type {
	text-align: left;
}


form .facilities ul li {
	background: none;
}

.room button.controller {
	display: block;
	margin: 25px auto 0;
}

.translate {
	position: fixed;
	bottom: 0;
	background: #020202;
	color: #F2F2F2;
	padding: 15px;
	z-index: 9999;
}

.red {
	color: #cf2228;
}

.green {
	color: #36cc22;
}
.orange {
	color: #ce5c23;
}

/* ==================================== form ==================================== */
form {
	/**margin: 25px 0 50px 0;**/
}

input[type="text"], input[type="password"], input[type="email"], input[type="file"], textarea, select, label.captcha {
	background: var(--input-background);
	box-sizing: border-box;
	font-weight: var(--input-font-weight);
	font-size: var(--input-font-size);
	font-family: var(--input-font-family);
	color: var(--input-color);
	border: 1px solid var(--input-border-color);
	border-radius: var(--input-border-radius);
	padding: var(--input-padding);
	outline: none;
	margin: var(--input-margin);
	width: var(--input-width);
	display: block;
}

label.captcha {
	padding: 0;
	background: transparent;
}

label.captcha img {
	border: 0;
	display: block;
	margin: 0 auto;
}

textarea {
	min-height: 20vh;
	resize: vertical;
	width: calc(100% - 12px);
}

.flex div.row div textarea {
	width: 100%;
}

label {
	display: block;
	margin: 0 0 0.25em;
}

select {
	width: 100%;
	padding: 7px 5px 7px 5px;
}

select.small {
	width: 100px;
}

#form_errors {
	margin-bottom: 15px;
	color: var(--error-color);
}

	input.error, textarea.error, select.error {
		border: 1px solid var(--error-color)!important;
	}

	label.error {
		color: var(--error-color)!important;
	}

	.error_input {
		border: 1px solid var(--error-color)!important;
	}

	.error_label {
		color: var(--error-color)!important;
	}

form .required {
	font-size: 10px;
}

fieldset:disabled input, fieldset:disabled label {
	cursor: not-allowed;
	opacity: 0.6;
}

div.checkbox, div.radio {
	display:flex;
	align-items: flex-start;
	flex-wrap: wrap;
}

.flex div.row.checkbox, .flex div.row.radio {
	gap: 0;
}

div.checkbox input[type="checkbox"], div.radio input[type="radio"] {
	margin: 6px 0 0 0;
}

div.checkbox > div.checkbox, div.radio > div.radio {
	flex: 0 0 100%;
	flex-wrap: nowrap;
}

div.checkbox > div.checkbox + div.checkbox {
	margin: 5px 0 0 0;
}

div.checkbox input, div.radio input {
	margin: 0;
}

div.checkbox input + label, div.radio input + label {
	margin: 0 0 0 5px;
}

/** =============== ARROW ================	**/
i.arrow {
    border: solid #FFFFFF;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 3px;
	position: absolute;
	top : calc(50% - 3px);
	left : 10px;
}

i.arrow.right {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

i.arrow.left {
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
}

i.arrow.up {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
	top : 10px;
}

i.arrow.down {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
	left :  14px;
	top : calc(50% - 3px);
}
/** =============== /ARROW ================	**/


/** =============== FOOTER ================	**/
body > footer {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

body > footer > div {
	display: flex;
	box-sizing: border-box;
	flex: 0 0 100%;
}

body > footer div.newsletter {
	flex-wrap: wrap;
}

body > footer div.newsletter div {
	flex: 0 0 100%;
}

body > footer div.newsletter.flex {
	display: flex;
	flex-wrap: wrap;
}

body > footer div.newsletter.flex div {
	flex: 1;
}

body > footer div.container {
	flex: 1;
	flex-wrap: wrap;
	align-items: flex-start;
}

body > footer div.container div, body > footer div.container nav.logo {
	flex: 1;
}

body > footer div.container nav.logo {
	text-align: right;
}

body > footer div.menu nav {
	width: 100%;
}

body > footer div.menu nav ul {
	display: flex;
	flex-direction: column;
	max-height: 250px;
	flex-wrap: wrap;
}

body > footer div.menu.full nav ul {
	max-height: none;
	flex-direction: row;
	gap: 0.5em;
	justify-content: center;
}

body > footer > div.credits {
	justify-content: space-between;
	align-items: center;
}

body > footer nav ul {
	gap: 0;
}



/** =============== /FOOTER ================	**/
body > div.container-main.partners {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1em;
}

body > div.container-main.partners a, section.partners span {
	flex: 0 1 50px;
}

body > div.container-main.partners a img {
	width: 100%;
}

/** =============== EDITOR ================	**/
*[data-table][data-key][data-value] {
	display: inline;
}

*[data-table][data-key][data-value].ckeditor {
	display: block;
}

section[contenteditable=true], span[contenteditable=true] {
	/*padding: 2px;*/
	border: 1px dotted #959595;
	cursor: pointer;
	z-index: 1000;
        box-sizing: border-box;
}

section[contenteditable=true]:hover, span[contenteditable=true]:hover {
       border: 1px dotted #ff0000;
}

.content p > section[contenteditable=true] {
	display: block;
}

ul li > section[contenteditable=true] {
	position: relative;
	z-index: 9999;
}
/** =============== /EDITOR ===============	**/


/** =============== REGISTRATION ===============	**/
section[data-person] {
	clear: left;
	border-top : 1px solid #EDEDED;
	margin: 0 0 20px;
	padding: 20px 0 0;
	overflow:hidden;
	display: none;
}

section[data-person]:nth-of-type(1) {
	border: 0;
	display: block;
}
/** =============== /REGISTRATION ===============	**/



/** =============== MENUCARD ===============	**/
.menucard_container {
	display:flex;
	gap: 2em;
	flex-wrap: wrap;
}

.menucard_container > div {
	flex: 0 0 calc(50% - 2em);
}

.menucard {
	flex-wrap: wrap;
	gap: 5px;
	margin: 0 0 50px;
}

.menucard > hr {
	flex: 0 0 100%;
	margin: 0 auto;
	border-top: 1px solid var(--color-secondary);
	border-bottom: 1px solid var(--color-primary);
	box-shadow: none;
}

.menucard > div.item {
	display: flex;
	flex: 1 0 100%;
	padding: 5px 0;
	border-bottom: 1px dotted var(--color-secondary-dark);
}

.menucard > div.item:last-of-type {
	border: 0;
}

.menucard > div.item > div.text {
	flex: 1;
}

.menucard > div.item > div.text > div.title h3 {
	margin: 0;
	padding: 0;
	text-transform: none;
	color: var(--color-black);
	font-size: var(--font-size-regular);
}

.menucard > div.item > div.text > div.description {
	flex: 1 0 45%;
}

div.description > p {
	margin: 0;
	font-style: italic;
	text-align: left;
	font-size: var(--font-size-small);
}

div.description > p b, div.description > p strong {
	font-style: normal;
	font-weight: 600;
}


.menucard > div.item > div.price {
	flex: 0 1 125px;
	text-align: right;
	display: flex;
	gap: 1em;
}

.menucard > div.item > div.price div {
	flex: 1;
}
/** =============== /MENUCARD ===============	**/
#popup {
	background: white;
	margin: 0 auto;
	border: 1px solid #000000;
	padding: 25px;
	max-width: 90%;
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}


.home_block {
	overflow: hidden;
}

/* ==================================== Nivo Lightbox ==================================== */
.nivo-lightbox-theme-default.nivo-lightbox-overlay {
	background: #666;
	background: rgba(0,0,0,0.6);
}

.nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading {
	background: url(../images/loading.gif) no-repeat 50% 50%;
}

.nivo-lightbox-theme-default .nivo-lightbox-nav {
	top: 10%;
	width: 8%;
	height: 80%;
	text-indent: -9999px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	opacity: 0.75;
}

.nivo-lightbox-theme-default .nivo-lightbox-nav:hover {
	opacity: 1;
}

.nivo-lightbox-theme-default .nivo-lightbox-prev {
	background-image: url(../images/prev.png);
	border-radius: 0 3px 3px 0;
}

.nivo-lightbox-theme-default .nivo-lightbox-next {
	background-image: url(../images/next.png);
	border-radius: 3px 0 0 3px;
}

.nivo-lightbox-theme-default .nivo-lightbox-close {
	display: block;
	background: url(../images/close.png) no-repeat 5px 5px;
	width: 16px;
	height: 16px;
	text-indent: -9999px;
	padding: 5px;
	opacity: 0.5;
}

.nivo-lightbox-theme-default .nivo-lightbox-close:hover {
	opacity: 1;
}

.nivo-lightbox-theme-default .nivo-lightbox-title-wrap {
	bottom: -7%;
}

.nivo-lightbox-theme-default .nivo-lightbox-title {
	font: 14px/20px 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-style: normal;
	font-weight: normal;
	background: #000;
	color: #fff;
	padding: 7px 15px;
	border-radius: 2px;
}

.nivo-lightbox-theme-default .nivo-lightbox-image img {
	background: #fff;
	-webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4);
	-moz-box-shadow: 0px 1px 1px rgba(0,0,0,0.4);
	box-shadow: 0px 1px 1px rgba(0,0,0,0.4);
}
.nivo-lightbox-theme-default .nivo-lightbox-ajax, .nivo-lightbox-theme-default .nivo-lightbox-inline {
	background: #fff;
	padding: 40px;
	-webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.4);
	-moz-box-shadow: 0px 1px 1px rgba(0,0,0,0.4);
	box-shadow: 0px 1px 1px rgba(0,0,0,0.4);
}

@media (-webkit-min-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6/2), (min--moz-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {

	.nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading {
		background-image: url(../images/loading-2x.gif);
		background-size: 32px 32px;
	}
	.nivo-lightbox-theme-default .nivo-lightbox-prev {
		background-image: url(../images/prev-2x.png);
		background-size: 48px 48px;
	}
	.nivo-lightbox-theme-default .nivo-lightbox-next {
		background-image: url(../images/next-2x.png);
		background-size: 48px 48px;
	}
	.nivo-lightbox-theme-default .nivo-lightbox-close {
		background-image: url(../images/close-2x.png);
		background-size: 16px 16px;
	}

}

.nivo-lightbox-overlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99998;
	width: 100%;
	height: 100%;
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.nivo-lightbox-overlay.nivo-lightbox-open {
	visibility: visible;
	opacity: 1;
}

.nivo-lightbox-wrap  {
	position: absolute;
	top: 10%;
	bottom: 10%;
	left: 10%;
	right: 10%;
}

.nivo-lightbox-content {
	width: 100%;
	height: 100%;
}

.nivo-lightbox-title-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 99999;
	text-align: center;
}

.nivo-lightbox-nav {
	display: none;
}

.nivo-lightbox-prev {
	position: absolute;
	top: 50%;
	left: 0;
}

.nivo-lightbox-next {
	position: absolute;
	top: 50%;
	right: 0;
}

.nivo-lightbox-close {
	position: absolute;
	top: 2%;
	right: 2%;
}

.nivo-lightbox-image {
	text-align: center;
}

.nivo-lightbox-image img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	vertical-align: middle;
	display: inline-block;
}

.nivo-lightbox-image:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.nivo-lightbox-content iframe {
	width: 100%;
	height: 100%;
}

.nivo-lightbox-inline, .nivo-lightbox-ajax {
	max-height: 100%;
	overflow: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.nivo-lightbox-error {
	display: table;
	text-align: center;
	width: 100%;
	height: 100%;
	color: #fff;
	text-shadow: 0 1px 1px #000;
}

.nivo-lightbox-error p {
	display: table-cell;
	vertical-align: middle;
}

.nivo-lightbox-notouch .nivo-lightbox-effect-fade,
.nivo-lightbox-notouch .nivo-lightbox-effect-fadeScale,
.nivo-lightbox-notouch .nivo-lightbox-effect-slideLeft,
.nivo-lightbox-notouch .nivo-lightbox-effect-slideRight,
.nivo-lightbox-notouch .nivo-lightbox-effect-slideUp,
.nivo-lightbox-notouch .nivo-lightbox-effect-slideDown,
.nivo-lightbox-notouch .nivo-lightbox-effect-fall {
	-webkit-transition: all 0.2s ease-in-out;
	   -moz-transition: all 0.2s ease-in-out;
	    -ms-transition: all 0.2s ease-in-out;
	     -o-transition: all 0.2s ease-in-out;
	        transition: all 0.2s ease-in-out;
}

.nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap {
	-webkit-transition: all 0.3s;
	   -moz-transition: all 0.3s;
	    -ms-transition: all 0.3s;
	     -o-transition: all 0.3s;
	        transition: all 0.3s;
	-webkit-transform: scale(0.7);
	   -moz-transform: scale(0.7);
	    -ms-transform: scale(0.7);
	        transform: scale(0.7);
}

.nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap {
	-webkit-transform: scale(1);
	   -moz-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
}

.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap,
.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
	-webkit-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
	   -moz-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
	    -ms-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
	     -o-transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
	        transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
}

.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap {
	-webkit-transform: translateX(-10%);
	   -moz-transform: translateX(-10%);
	    -ms-transform: translateX(-10%);
	        transform: translateX(-10%);
}

.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap {
	-webkit-transform: translateX(10%);
	   -moz-transform: translateX(10%);
	    -ms-transform: translateX(10%);
	        transform: translateX(10%);
}

.nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap {
	-webkit-transform: translateX(0);
	   -moz-transform: translateX(0);
	    -ms-transform: translateX(0);
	        transform: translateX(0);
}

.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
	-webkit-transform: translateY(-10%);
	   -moz-transform: translateY(-10%);
	    -ms-transform: translateY(-10%);
	        transform: translateY(-10%);
}

.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap {
	-webkit-transform: translateY(10%);
	   -moz-transform: translateY(10%);
	    -ms-transform: translateY(10%);
	        transform: translateY(10%);
}

.nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap {
	-webkit-transform: translateY(0);
	   -moz-transform: translateY(0);
	    -ms-transform: translateY(0);
	        transform: translateY(0);
}

.nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall {
	-webkit-perspective: 1000px;
	   -moz-perspective: 1000px;
	        perspective: 1000px;
}

.nivo-lightbox-effect-fall .nivo-lightbox-wrap {
	-webkit-transition: all 0.3s ease-out;
	   -moz-transition: all 0.3s ease-out;
	    -ms-transition: all 0.3s ease-out;
	     -o-transition: all 0.3s ease-out;
	        transition: all 0.3s ease-out;
	-webkit-transform: translateZ(300px);
	   -moz-transform: translateZ(300px);
	    -ms-transform: translateZ(300px);
	        transform: translateZ(300px);
}

.nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap {
	-webkit-transform: translateZ(0);
	   -moz-transform: translateZ(0);
	    -ms-transform: translateZ(0);
	        transform: translateZ(0);
}

.nivo-lightbox-theme-default .nivo-lightbox-popup {
	background: none;
	box-shadow: none;
}

#cookie_message {
	display: flex;
	background: var(--cookies-background);
	position: fixed;
	bottom: 0;
	box-sizing: border-box;
	border-top: var(--cookies-border);
	opacity: var(--cookies-opacity);
	z-index: 9999;
	padding: var(--cookies-padding);
	cursor: default;
	transition: var(--transition-default);
	gap: 2em;
	align-items: center;
}

#cookie_message:hover {
	opacity: var(--cookies-opacity-hover);
}

#cookie_message > p {
	flex: 4;
}

#cookie_message > div {
	flex: 1;
}

#cookie_message > div button {
	display: block;
	margin: 0;
	width: 100%;
}

#cookie_message > div button + button {
	margin: 5px 0 0 0;
}

span.message {
  font-size: x-small;
}

.custom-block {
	display: flex;
	gap: 1em;
	padding: 2em 0;
	box-sizing: border-box;
	clear: both;
	align-items: center;
}

.custom-block.reversed {
	flex-direction: row-reverse;
}

.custom-block.wrap {
	flex-wrap: wrap;
}

.custom-block div.image {
	flex: 1;
}

.custom-block div.image img {
	margin: 0 auto 0 0;
}

.custom-block.reversed div.image img {
	margin: 0 0 0 auto;
}

.custom-block div.text {
	flex: 3;
	font-weight: 400;
	color: var(--color-black);
}

.custom-block.full {
	margin: 0 var(--custom-block-margin);
	padding: 2em var(--custom-block-padding);
}

.custom-block.gray-block {
	background: var(--color-gray);
}

.custom-block.gray-block div.text ul li::before {
	display: none;
}

.custom-block.gray-block div.text ul li {
	display: block;
}

.custom-block.gray-block div.text ul li ul {
	margin: 0 0 0 2em;
}

.custom-block.properties {
	flex-wrap: wrap;
	background: var(--custom-block-background);
	padding: 2em var(--custom-block-padding) 4em;
	gap: 0;
}

.custom-block.properties > div {
	flex: 0 0 100%;
}

.custom-block.properties div h2 {
	font-size: 32px;
	line-height: 34px;
	color: var(--color-black);
}

.custom-block.properties > div.container {
	display: flex;
	gap: 30px;
	box-sizing: border-box;
}

.custom-block.properties.wrap > div.container {
	flex-wrap: wrap;
}

.custom-block.properties > div.container div.property {
	color: var(--color-white);
	text-decoration: none;
	--flex-items: 4;
	--flex-gap: 30px;
	flex: 0 1 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--flex-gap)));
	position: relative;
}

.custom-block.properties > div.container div.property span.label {
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-primary);
	z-index: 9000;
	padding: 5px 10px;
	box-sizing: border-box;
}

.custom-block.properties > div.container div.property a.image {
	display: block;
	height: 250px;
	overflow: hidden;
	border-radius: 5px;
}

.custom-block.properties > div.container div.property a.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: var(--transition-default);
	opacity: 0.9;
	transform: scale(1);
}

.custom-block.properties > div.container div.property a.image:hover img {
	opacity: 1;
	transform: scale(1.1);
}

.custom-block.properties > div.container div.property div.fill {
	position: relative;
	z-index: 100;
	display: block;
	width: 95%;
	margin: -32px auto 0;
	background: var(--orange);
	border-radius: 5px;
	padding: 10px;
	box-sizing: border-box;
	color: #2E2E2E;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.custom-block.properties > div.container div.property div.fill span {
	display: block;
}

.custom-block.properties > div.container div.property div.fill span.title {
	font-weight: 600;
}

span.address {
	background: url(../images/icon-location.png) no-repeat 0/50%;
	background-size: 15px 15px;
	padding: 0 0 0 20px;
}

span.reference {
	background: url(../images/icon-reference.png) no-repeat 0/50%;
	background-size: 15px 15px;
	padding: 0 0 0 20px;
}

.custom-block.filters form {
	flex: 0 0 100%;
	display: flex;
	gap: 1em;
}

.custom-block.filters form > div {
	flex: 1;
}

.custom-block.filters form > div button {
	margin: 0;
}

.grid-gallery {
	display: flex;
	background: #F8F8F8;
	padding: 2em 0;
}

.grid-gallery div.large {
	flex: 1 0 60vw;
}

.grid-gallery div.thumbs {
	flex: 0 1 40vw;
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	padding: 0 1em;
	box-sizing: border-box;
	overflow: hidden;
}

.grid-gallery div.thumbs div {
	--flex-items: 3;
	--flex-gap: 1em;
	flex: 0 1 calc((100% / var(--flex-items)) - (((var(--flex-items) - 1) / var(--flex-items)) * var(--flex-gap)));
}

.grid-gallery div.thumbs div {
	aspect-ratio: 4/3;
}

.grid-gallery a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius:5px;
}

.grid-gallery a img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.grid-gallery div.thumbs a img {
	filter: grayscale(0);
	transform: scale(1);
	transition: var(--transition-default);
}

.grid-gallery div.thumbs a:hover img {
	filter: grayscale(0);
	transform: scale(1.1);
}

main article div.form_container {
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
}

main article div.form_container > div {
	flex: 1 1 calc(50% - 1em);
}

main article div.form_container > div.picture a div.wrapper img {
	width: 100%;
	height: 100%;
	object-fit :cover;
}

main.property article header {
	display: flex;
	gap: 1em;
	align-items: center;
	width: 100%;
}

main.property article div.title {
	flex: 1 1 auto;
}

main.property article div.title h1 {
	margin: 0;
}

main.property article div.price {
	flex: 1 0 100px;
	text-align: right;
	font-weight: 400;
}

main.property div.info {
	font-size: 13px;
	margin: 0 0 1em;
}

main.property div.info span.reference + span.reference {
	margin: 0 0 0 1em;
}

main.property article div.container {
	display: flex;
	gap: 20px;
}

main.property article div.container > div {
	flex: 1;
	box-sizing: border-box;
}

main.property article div.container > div.contact {
	--input-background: var(--color-white-lightest);
	flex: 0 1 20%;
	background: #F8F8F8;
	padding: 0.5em 1em;
	box-sizing: border-box;
}

main.property article div.container > div.contact form div.checkbox input + label {
	font-size: 11px;
	line-height: 13px;
}

div.flex-table {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 25px;
}

main.property article div.container h2 + hr.fill {
	margin: 0 0 20px;
}

div.flex-table div.row {
	flex: 0 0 100%;
	display: flex;
	border-bottom: 1px solid #eaebea;
}

div.flex-table div.row:last-of-type {
	border: 0;
}

div.flex-table div.row > div {
	flex: 1;
	padding: 10px 0 10px 20px;
	box-sizing: border-box;
}

div.flex-table div.row > div:first-of-type {
	flex: 0 0 200px;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: 400;
	border-right: 1px solid #eaebea;
	padding: 10px 20px 10px 0;
}

div.grid-info {
	display: flex;
	flex-wrap: wrap;
	margin: 30px 0;
	background: var(--color-gray-lightest);
	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

div.grid-info div.row {
	flex: 0 0 100%;
	display: flex;
	border-bottom: 1px solid #eaeaea;
}

div.grid-info div.row:last-of-type {
	border: 0;
}

div.grid-info div.row div.item {
	flex: 0 0 33%;
	text-align: center;
	box-sizing: border-box;
	padding: 2em;
	border-right: 1px solid #eaeaea;
	transition: var(--transition-default);
}

div.grid-info div.row div.item:hover {
	background: var(--color-gray-light);
}

div.grid-info div.row div.item:last-of-type {
	border: 0;
}

div.grid-info div.row div.item div.title {
	font-weight: 600;
}

div.grid-info div.row div.item img {
	width: 32px;
	display: block;
	margin: 0 auto 1em;
}


div.grid-info div.row div.item div.icon {
	margin: 0 0 1em;
}

div.grid-info div.row div.item div.icon i {
	font-size: var(--font-size-large);
	color: var(--color-secondary-dark);
}

div.grid-info div.row div.item:hover div.icon i {
	color: var(--color-secondary-darkest);
}

p.message {
	font-size: 12px;
	font-style: italic;
}

section.sort {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 10px;
}

section.sort form select {
	margin: 0;
}


/** === POPUP === */
div.popup-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 9000;
	background: rgba(0, 0, 0, 55%);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 2em;
	box-sizing: border-box;
}

div.popup-container i.fa-xmark {
	position: absolute;
	top: 40px;
	right: 40px;
	cursor: pointer;
	font-size: 24px;
	color: #FFFFFF;
	opacity: 0.5;
	transition: all 0.3s ease-in;
}

div.popup-container i.fa-xmark:hover {
	opacity: 1;
}

div.popup-container div.popup {
	display: flex;
	background: #FFFFFF;
	box-sizing: border-box;
	transition: all 0.5s ease-in;
	opacity: 0;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
	border-radius: 5px;
	overflow: hidden;
}

div.popup-container div.popup.active {
	opacity: 1;
}

div.popup-container div.popup div.text {
	flex: 2 0 auto;
	background: #FFFFFF;
	padding: 1em;
	box-sizing: border-box;
	overflow-y: auto;
}

div.popup-container div.popup div.image {

}

div.popup-container div.popup div.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/** ------------ **/


/* ==================================== Debug ==================================== */
div.dump {
	color : #F3F3F3;
	font-family: Verdana, sans-serif;
	background : #131313;
	border : 1px #D4D4D4 solid;
	border-radius : 2px;
	min-height : 75px;
	max-height : 350px;
	width : 650px;
	margin : 15px auto;
	overflow-y : auto;
	padding : 15px;
}

div.dump h1 {
	font-size: 12px;
	line-height: 1;
	margin: 0 0 5px;
}

div.dump pre {
	padding: 0 0 5px;
	border-bottom: 1px dotted #F2F2F2;
}
div.dump pre:last-child {
	border: 0;
}

div.dump pre:empty {
	background: #dd5a5a4d;
}
div.dump pre:empty:before {
	content : 'NULL / False';
	padding-left: 10px;
}

.alert-box {
    color: #555;
    border-radius: 2px;
    font-family: Verdana, sans-serif;
    font-size: 11px;
    padding: 10px 10px 10px 36px;
    margin: 10px;
	z-index: 100;
	position: relative;
}

.alert-box span {
    font-weight:bold;
    text-transform:uppercase;
	margin-right : 5px;
}

.alert-box a.close {
	position: absolute;
	top: 0px;
	right: 10px;
	background: none !important;
	height: auto !important;
	display: block !important;
	color: #020202;
	text-decoration: none;
}

.alert-box h5 {
	font-size: 10px;
	font-weight: normal;
	font-style: italic;
}

div.error {
    background: #ffecec url(../cp/images/error.png) no-repeat 10px 50%;
    border: 1px solid #f5aca6;
}

div.success {
    background: #e9ffd9 url(../cp/images/success.png) no-repeat 10px 50%;
    border: 1px solid #a6ca8a;
}

div.warning {
    background: #fff8c4 url(../cp/images/warning.png) no-repeat 10px 50%;
    border: 1px solid #f2c779;
}

div.notice {
    background: #e3f7fc url(../cp/images/notice.png) no-repeat 10px 50%;
    border: 1px solid #8ed9f6;
}

.ckeditor_wrapper .message {
	display: none;
}

div.popup_wrapper {
	position: relative;
}

span.popup {
	position: absolute;
	display: inline;
	top: 35px;
	z-index: 10;
	padding: 10px 10px 5px 10px;
	background: #f4f4f4;
	border-radius: 2px;
	box-shadow: 0 2px 7px #131313;
}

/** ------- **/
div.color-grid {
	border: 1px solid #000;
}
div.color-grid div.row {
	height: 30px;
	display: flex;
}

div.color-grid div.row div {
	flex: 1;
	display: flex;
	align-items: center;
	text-align: center;
	height: 100%;
	border: 1px solid #000;
	margin: -1px 0 0 -1px;
	border-bottom: 0;
}

div.color-grid div.row div span {
	flex: 1;
	font-weight: 600;
}

body > div.container-main > main article ul.page_gallery {
	margin: 1em 0 0;
}

#whatsapp_floating {
	background: #25d366;
	width: 50px;
	height: 50px;
	box-sizing: border-box;
	border-radius: 50%;
	padding: 10px;
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 999;
	box-shadow: var(--default-shadow);
}

body > div.container-main > main.contact article.page {
	background: var(--color-white-opac);
}

body > div.container-main > main.contact article.page div.form_container {
	padding: 10px var(--default-padding-sides);
}

article iframe {
	max-width: 100%;
	width: 100%;
	display: block;
	height: auto;
	aspect-ratio: 16/9;
}

article.chapter.filters {
	background: var(--color-tertiary);
}

article.chapter.filters form#frm_filters {
	box-sizing: border-box;
}

article.chapter.filters form#frm_filters div.category_filter {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}

form.flex div.row h2 {
	margin: 1em 0 0.5em;
}

form.flex section {
	flex: 0 0 100%;
	display: flex;
	flex-wrap: wrap;
	margin: 0.5em 0 0;
}

form.flex section.personal_information {
	display: none;
}

form.flex section.personal_information.active {
	display: block;
}