/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

/*** CONTAINER ***/

:root {
	--left-right-padding: 1rem;
}
@media (min-width: 901px) {
	:root {
		--left-right-padding: 2rem;
	}
}

.l-subheader, .l-section {
    padding-left: var(--left-right-padding);
    padding-right: var(--left-right-padding);
}

@media (max-width: 1024px) {
    .l-section.height_huge {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}

/*** BUTTONS ***/

.w-toplink {
	margin: var(--left-right-padding);
    transform: translate3d(0, 200%, 0) !important;
}
.w-toplink:not(:hover) {
	opacity: 0.4;	
}

.w-btn.us-btn-style_2 {
	transition-property: background, box-shadow, color, opacity, transform;
}

.submenu {
	margin-top: 1rem;
	display: none;
}
@media (min-width: 601px) {
	.submenu {
		display: block;
	}	
}
@media (min-width: 901px) {
	.submenu {
		--hwrapper-gap: 3rem !important;
	}	
}

/*** HEADER + FOOTER ***/

@media (max-width: 900px) {
	footer #kontakt .g-cols {
		display: flex;
		flex-direction: column-reverse;
	}
}

/*** HEADERS ***/
.impressum h3 {
	font-size: 2rem;	
	line-height: 1.2;
}
.impressum h4 {
	font-size: 1.5rem;	
	line-height: 1.2;
}

.mixed-header {
	max-width: 1380px;
	font-size: min(3.5rem, 5vw);
	text-align: center;
	margin: 0 auto;
}
.mixed-header h1 {
	margin-bottom: 0;	
}
.mixed-header h2,
.mixed-header h3,
.mixed-header h4 {
	padding-top: 0;	
}

.inline h1,
.inline h2,
.inline h3,
.inline h4 {
	display: inline;
}

em,
.em,
.em h1,
.em h2,
.em h3,
.em h4 {
	font-style: normal;
	color: var(--color-content-primary);
}

.indent-header h3,
h3.indent-header {
	margin-bottom: 2rem;
}
.indent-header h4,
h4.indent-header {
	margin-bottom: 0.75rem;
	color: var(--color-content-secondary);
}

.project-section.right > .l-section-h,
.project-section.left > .l-section-h {
	border-bottom: 1px solid #000;
	padding-bottom: 1.5rem;
}

.project-section h2 {
	font-size: 1rem;
	font-weight: 700;
    max-width: 8rem;
}

.indent-text {
	margin: 2rem 0 0 0;
}

@media (min-width: 601px) {
	.indent-header h3,
	h3.indent-header {
		text-indent: 8rem;
		margin-top: -4rem;
	}
	.indent-header h4,
	h4.indent-header {
		margin-top: -4rem;
		margin-left: 8rem;
	}
	.project-section .indent-header h4,
	.project-section h4.indent-header {
		margin-top: -3.5rem;
	}
	.indent-text {
		margin: 2rem 0 0 10%;
	}
	.project-section.right > .l-section-h,
	.project-section.left > .l-section-h {
		padding-bottom: 4rem;
	}
}

@media (min-width: 901px) {
	.indent-header h3,
	h3.indent-header {
		text-indent: 16rem;
		margin-top: -5.5rem;
		margin-bottom: 3rem;
	}
	.indent-header h4,
	h4.indent-header {
		margin-top: -5.5rem;
		margin-left: 16rem;
	}
	.project-section .indent-header h4,
	.project-section h4.indent-header {
		margin-top: -4rem;
	}

	.indent-text {
		margin: 2rem 10% 0 40%;
	}
	.project-section .indent-text {
		margin-right: 0;
	}
	.project-section h2 {
		max-width: none;
	}

	.side-padding > .l-section-h {
		padding-left: 10%;
		padding-right: 10%;
	}
	.project-section.right > .l-section-h {
		padding-left: 33%;
	}
	.project-section.left > .l-section-h {
		padding-right: 33%;
	}
}

/*** DIVERSE ***/

.maxw {
	max-width: 1250px;
	margin-left: auto;
	margin-right: auto;
}

.hyphens {
	hyphens: auto;
}

@media (min-width: 601px) {
	.slim {
		padding-left: 10%;
		padding-right: 10%;
	}
}
@media (min-width: 901px) {
	.hyphens {
		hyphens: none;
	}
}

.grey,
.grey h1,
.grey h2,
.grey h3,
.grey h4 {
	color: var(--color-content-secondary);
}

span.small {
    display: block;
    font-size: 0.5em;
	line-height: 1.1;
	margin-top: 0.25rem;
}

.big p {
	font-size: 1.25rem;
	line-height: 1.25;
}


@media (min-width: 901px) {
	.big p {
		font-size: 1.5rem;
	}
}


/*** SCROLLING TEXT ***/

.scrollcontainer {
    overflow-x: hidden;
    margin-top: -9rem;
    margin-bottom: -18rem;
    margin-left: -0rem;
}
.scrolltext {
	white-space: nowrap;
	font-size: 28rem;
	line-height: 1.2;
	margin-left: 0;
	z-index: -1;	
    transition: all 0.1s;
}

.scroll-auto-left {
	overflow: hidden;
	white-space: nowrap;
}


@media (min-width: 901px) {
	
	.scrollcontainer {
		margin-top: -20rem;
		margin-bottom: -30rem;
	}
	.scrolltext {
		font-size: 52rem;
	}
}

/*** LEAD IMAGE RANDOM ***/

#image-random {
	text-align: center;
	min-height: calc(min(1380px, 100vw) * 0.5625);
}
#image-collage .w-gallery-list {
	display: block;
}
#image-random .w-gallery-item {
	aspect-ratio: auto;
	opacity: 0;
	position: static;
	display: none;
}
#image-random .w-gallery-item img {
	width: 100%;
}
#image-random .w-gallery-item-img[data-hidden-images-number]:after {
	content: '';
	display: none;
}

/*** LEAD IMAGE COLLAGE ***/

#image-collage > .l-section-h {
    min-height: calc(100vh - var(--header-height, 0));
}
#image-collage .vc_column_container  {
	position: static;
}
#image-collage .w-gallery-list {
	display: block;
}
#image-collage .w-gallery-item  {
	aspect-ratio: auto;
	opacity: 0;
	position: absolute;
}

/*** SIDE WORDS + PADDING ***/

.side-words .side-word-left,
.side-words .side-word-right {
	display: none;
	color: var(--color-content-primary);
}

@media (min-width: 901px) {
	
	.side-words .vc_column_container {
		position: static;
	}
	.side-words > .l-section-h {
		padding-left: 10%;
		padding-right: 10%;
	}
	#image-collage.side-words > .l-section-h {
		padding-left: 6.5rem;
		padding-right: 6.5rem;
	}
	
	.side-words .side-word-left,
	.side-words .side-word-right {
		display: block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		font-size: 1rem;
		text-transform: uppercase;
	}
	.side-words .side-word-left {
		left: 0;
		text-align: left;
	}
	.side-words .side-word-right {
		right: 0;
		text-align: right;
	}
}

/***  TABLE ***/

.tablerow {
	padding-top: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #000;	
}
.tablerow p,
.tablerow h5 {
	font-size: 1rem;
	line-height: 1.25;
}
.tablerow p {
	hyphens: auto;
}
.tablerow h5 {
	hyphens: auto;
	text-transform: uppercase;
}
.tablerow.slim {
	padding-left: 0;
	padding-right: 0;
	margin-left: 10%;
	margin-right: 10%;
}

@media (max-width: 900px) {
	.tablerow {
    	--columns-gap: 1rem !important;
	}
	.tablerow > .wpb_column:nth-child(2) .wpb_text_column {
		color: var(--color-content-border);	
	}
}
@media (min-width: 901px) {
	.tablerow p,
	.tablerow h5 {
		font-size: 1.25rem;
	}
	.tablerow p {
		hyphens: none;
	}
}

/*** ACCORDION ***/

.w-tabs.accordion>div>.w-tabs-section {
	border-width: 0;
}
.w-tabs.accordion>div>.w-tabs-section:last-of-type {
	border-bottom-width: 0;
}
.no-touch .w-tabs-section-header:hover, 
.no-touch .w-tabs-section-header:focus {
	background: transparent;
}
/* TAB SECTION CONTROL BUTTON */
/*
.w-tabs.accordion .w-tabs-section.active>.w-tabs-section-header .w-tabs-section-control {
	transform: none;
}
.w-tabs.accordion .w-tabs-sections.icon_none>div>.w-tabs-section-header .w-tabs-section-control {	
	display: block;
	font-family: "fontawesome";
    font-style: normal;
    font-size: 36px;
    line-height: 1 !important;
    font-weight: 300;
	text-align: center;
	padding: 0;
	width: 4rem;
	height: 2.5rem;
    transition: all 0.3s, ease;
    border-radius: 2em;
    background: transparent;
    border: 2px solid var(--color-content-heading);
    color: var(--color-content-text);
}
.w-tabs.accordion .w-tabs-sections>div:not(.active)>.w-tabs-section-header .w-tabs-section-control {
    color: var(--color-content-link-hover);
    border-color: var(--color-content-link-hover);
}
.w-tabs.accordion .w-tabs-sections>div:not(.active)>.w-tabs-section-header:hover .w-tabs-section-control, ### SECTION CONTROL
.color_alternate .w-tabs.accordion .w-tabs-sections>div:not(.active)>.w-tabs-section-header:hover .w-tabs-section-control {
    color: var(--color-content-text);
    border-color: var(--color-content-text);
}
.color_alternate .w-tabs.accordion .w-tabs-sections>div:not(.active)>.w-tabs-section-header .w-tabs-section-control {
    color: var(--color-content-bg);
    border-color: var(--color-content-bg);
}
.w-tabs.accordion .w-tabs-section-control:after {	
	content: '\f067';
	background: none;
}
.w-tabs.accordion .w-tabs-section:not(.active) .w-tabs-section-control:after {
	content: '\f068';
}
*/

.w-tabs.accordion .w-tabs-section-title {
	position: relative;
    display: flex;
    align-items: center;
}

.w-tabs.accordion .w-tabs-section-title h2 {
	color: var(--color-content-secondary);
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.1;
	text-transform: none;
	padding: 0;
	margin: 0;
}
.w-tabs.accordion .w-tabs-section-title h3 {
	display: inline-block;
	color: var(--color-content-secondary);
	font-size: 1rem;
	line-height: 1.2;
	text-transform: none;
	text-align: right;
	width: 7rem;
	min-width: 7rem;
	padding: 0 1rem 0 0;
	margin: 0;
}
.color_alternate .w-tabs.accordion .w-tabs-section-title h2,
.color_alternate .w-tabs.accordion .w-tabs-section-title h3 {
	color: var(--color-content-bg);
}

.w-tabs.accordion .w-tabs-section.active .w-tabs-section-title h2,
.w-tabs.accordion .w-tabs-section.active .w-tabs-section-title h3,
.w-tabs.accordion .w-tabs-section-header:hover .w-tabs-section-title h2,
.w-tabs.accordion .w-tabs-section-header:hover .w-tabs-section-title h3 {
	color: var(--color-content-heading);
}
.w-tabs.accordion .w-tabs-section-header:not(:hover):not(.active) .w-btn.us-btn-style_2 {
	color: var(--color-content-secondary) !important;
	border-color: var(--color-content-secondary);
}

.w-tabs.accordion>div>div>.w-tabs-section-content {
	padding-top: 0;
	padding-right: 0;
}

.w-tabs.accordion .w-tabs-section-content .wpb_column .w-image img {
	width: 80%;
}
.w-tabs.accordion .w-tabs-section-content .wpb_text_column {
	width: 100%;
}

@media (max-width: 600px) {
	.w-tabs-section-header,
	.w-tabs-section-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}
@media (min-width: 768px) {	
	.w-tabs.accordion {
		margin-left: 25%;
	}
	.w-tabs.accordion .w-tabs-section-title h2 {
		font-size: min(4rem, 5vw);
	}
	.w-tabs.accordion .w-tabs-section-title h3 {
		position: absolute;
		bottom: min(1.5rem, 1.5vw);
		left: -12rem;
		width: 10rem;
		padding: 0;
	}
}
@media (min-width: 901px) {
	.w-tabs.accordion>div>div>.w-tabs-section-content {
		margin-left: 2rem;
	}
	.w-tabs.accordion .w-tabs-section-content .wpb_column .w-image {
		margin-top: max(-5rem, calc(-5vw - 1rem)); 
	}
	.w-tabs.accordion .w-tabs-section-content .wpb_column .w-image img {
		width: 100%;
	}
	.w-tabs.accordion .w-tabs-section-content .wpb_text_column {
		width: 80%;
	}	
}
@media (min-width: 1381px) {
	.w-tabs.accordion .w-tabs-section-content .wpb_text_column {
		width: 60%;
	}
}


/*** CONTENT SLIDER ***/

.owl-item {
    overflow: hidden;
}
.owl-prev:after {
	content: "\f177";
	font-weight: 300;
}
.owl-next:after {
	content: "\f178";
	font-weight: 300;
}

.w-content-carousel.items_1 .owl-carousel .owl-prev {
	position: static;
	left: auto;
	right: auto;
}
.w-content-carousel.items_1 .owl-carousel .owl-next {
	position: static;
	left: auto;
	right: auto;
}

.owl-carousel .owl-nav {
	display: flex;
	gap: 4rem;
	margin-top: 5rem;
}
.owl-carousel .owl-nav button {
	top: auto;
	transform: translateY(0);
}
.owl-carousel .owl-nav button:hover {
	color: var(--color-content-link);
}
.dotstyle_circle .owl-dot span {
	opacity: 1;
	background: var(--color-content-secondary) !important;
}
.dotstyle_circle .owl-dot.active span {
	box-shadow: none;
	background: var(--color-content-link) !important;
}


/*** IMAGE SLIDER ***/

.w-slider-h img.rsImg {
	width: auto !important;
    object-position: left top;
}
.royalSlider:not(.rsFullscreen) .rsOverflow {
	margin-bottom: 4rem;
	overflow: visible;
}
.royalSlider:not(.rsFullscreen) .rsArrow {
	top: auto;
	bottom: -4rem;
	margin-top: 0;
	color: var(--color-content-text);
}
.royalSlider .rsArrow {
    font-size: 36px;
    line-height: 4rem !important;
	text-shadow: none;
	text-align: left;
}
.royalSlider .rsArrow.rsArrowRight {
	text-align: right;
}
.royalSlider .rsArrow,
.royalSlider .rsFullscreenBtn {
	transition: color 0.4s ease;
}
.royalSlider .rsArrow:hover,
.royalSlider .rsFullscreenBtn:hover {
	color: var(--color-content-link);
}
.royalSlider .rsArrow:after {
    content: "\f177";
    font-weight: 300;
}
.royalSlider .rsArrow.rsArrowRight:after {
    content: "\f178";
    font-weight: 300;
}

.royalSlider .rsOverflow {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
}
.royalSlider.rsFullscreen .rsImg {
    width: 100% !important;
    height: 100% !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    object-fit: contain;
}
.royalSlider.rsFullscreen .rsArrow.rsArrowLeft:after {
	left: 8px;
}
.royalSlider.rsFullscreen .rsArrow.rsArrowRight:after {
	right: 8px;
}

.royalSlider:not(.rsFullscreen) .rsFullscreenBtn {
	width: 100%;
	height: 100%;
	text-align: right;
	cursor: -webkit-zoom-in;
   	cursor: zoom-in;
    opacity: 0;
}

.rsThumbsHor {
    height: auto !important;
	padding-top: 0;
}
.royalSlider.rsFullscreen .rsThumbsHor {
	padding-top: 8px;
	padding-left: 8px;
}
.rsWithThumbsHor .rsThumbsContainer {
	transform: none !important;
    height: auto !important;
    width: 100% !important;
}
.rsThumb {
    height: auto !important;
    width: auto !important;
	margin-right: 8px;
	margin-bottom: 8px;
}
.royalSlider .rsThumb img {
	aspect-ratio: revert-layer !important;
	height: var(--thumbs-width, 6.5rem);
	width: auto;
}
.rsThumb.rsNavSelected::after {
	border-color: var(--color-alt-content-link);
}

@media (max-width: 900px) {
	.royalSlider .rsNav {
		display: none;
	}
	.us-btn-style_4,
	.owl-carousel .owl-nav button,
	.royalSlider .rsArrow {
		font-size: 1.75rem !important;
	}
	
}

/*** CONTACT FLAG ***/

#contact-flag {
	display: none;
	background: #ff6d1e;
	color: #fff;
	font-size: 1.25rem;
	text-align: center;
	line-height: 1.25;
	text-transform: uppercase;
	cursor: pointer;
	width: 4rem;
	height: 6rem;
	padding: 0 0 0.75rem 0;
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
	overflow: hidden;
	opacity: 0;
	position: fixed;
	top: 60%;
	right: -300px;
	transform: translate(150%, -50%);
	transition: all 0.4s ease;
    pointer-events: none;
	z-index: 2;
}
#contact-flag.active {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
}
#contact-flag.active.in-view {
	right: var(--left-right-padding);
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}
#contact-flag a,
#contact-flag a:hover,
#contact-flag a:active,
#contact-flag a:focus
{
	color: #FFF;	
}

#contact-flag .prefix,
#contact-flag .suffix {
	opacity: 0;
	transition: opacity 0.4s ease;
	display: block;
}
#contact-flag .text {
	display: block;
}

@media (hover: hover) and (pointer: fine) {

	#contact-flag:hover {
		width: 7rem;
		height: 10rem;
		padding: 1.25rem 0.75rem;
		border-top-left-radius: 3.5rem;
		border-top-right-radius: 3.5rem;
	}
	#contact-flag:hover .prefix {
		opacity: 1;
	}
}

@media (max-width: 600px) {
	body:not(.home) #contact-flag {
		display: none;
	}
}


/*** MAIN NAVI ***/

.w-nav-open header {
	background: #FFF;
}
.w-nav-title i {
    margin-left: 0.75rem;
}
.w-nav-list.level_1 {
	padding-top: 5rem;
	padding-bottom: 3rem;
}
.w-nav-list.level_1 > li:not(.menu-item-object-us_page_block){
    display: inline-block;
	vertical-align: top;
	padding-left: 10vw;
	padding-bottom: min(4rem, 6vw);
}
.w-nav-list.level_1 > li.menu-item-object-us_page_block {
	padding-left: 10vw;
}

.w-nav-list.level_1 > li.w-nav-close,
.w-nav-list .w-nav-arrow {
	display: none;
}
.w-nav-list.level_2 {
	margin-top: 1rem;
    display: block;
    visibility: visible;
}
.w-nav-list > li {
	text-align: left;
}

.w-nav-anchor:not(.w-btn) {
	line-height: 1.1 !important;
}
.w-nav-list.level_1 > li:not(.menu-bottom) .w-nav-anchor.level_1 {
	text-transform: uppercase;
	font-size: 2rem;
	font-weight: 300 !important;
    padding-left: 0;
}
.w-nav-list.level_1 > li.menu-bottom .w-nav-anchor:not(.level_1) {
	font-size: 1.5rem;
}
.w-nav-list.level_1 > li:not(.menu-bottom) .w-nav-anchor:not(.level_1) {
	font-size: min(2.75rem, 7vw);
	padding-left: 0;
	padding-top: 0;
	padding-bottom: 0.25em;
}

.w-nav .menu-item.room-free-menu {
	display: none;
}
.w-nav .menu-item.room-free-menu.active {
	display: block;
}


@media (max-width: 600px) {
	.w-nav-list.level_1 > li:not(.menu-item-object-us_page_block),
	.w-nav-list.level_1 > li.menu-item-object-us_page_block {
		padding-left: 0.5rem;
	}
}
@media (min-width: 901px) {
	.w-nav-list.level_1 > li.menu-bottom {
		padding-left: 55.25vw;
	}
}

