/*
Theme Name:   Custom Theme
Description:  Custom Theme ist ein Child-Theme von Hello Elementor.
Author:       Gawin Steiner
Author URL:   https://gawinsteiner.ch
Template:     hello-elementor
Version:      1.0
Text Domain:  theme-by-gawin
*/

/*******************************************************************************************************************************
BIG COMMENT
*******************************************************************************************************************************/
body.noscrolling {
	overflow: hidden;
}
body.admin-bar header {
    top: 32px !important;
}

/**************************************************************************
MEDIUM COMMENT
**************************************************************************/
.full-screen-container {
	position: absolute;
	top: 0;
	transform: translatey(-100vh);
	left 0;
	width: 100%;
	min-height: 100vh;
	z-index: 999;
	background-color: var( --e-global-color-341c689 );
	transition: all 0.5s;
	overflow-y: auto;
}

.logo-close-icon-container {
    display: flex;
    justify-content: space-between;
}
.site-logo {
	max-width: 250px;
	cursor: pointer !important;
}


@media (min-width:575px) AND (max-width: 767px) {
	div#site-logo {
		padding-left: 10px;
	}
}
.full-screen-container li {
	list-style: none;
}

.full-screen-container a.level-1:hover,
.full-screen-container a.level-2:hover {
	color: var( --e-global-color-9b628c0 );
}
.full-screen-container a.level-1:hover svg {
	fill: var( --e-global-color-9b628c0 );
}


.full-screen-container a {
	color: var( --e-global-color-bf0ee4b );
	font-size: 2em; /*make dynamic*/
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important;
    -webkit-touch-callout: none !important;
	font-weight: 600;
}
@media (min-width: 1024px) {
	.full-screen-container a {
		font-size: 3em; /*make dynamic*/
	}
}

.full-screen-container ul.second-level-items a {
	color: var( --e-global-color-bf0ee4b );
	font-size: 1.7em; /*make dynamic*/
}

@media (max-width: 767px) {
	ul.first-level-items {
		width: 400px;
		position: absolute;
		left: 10px;
		top: 160px;
		padding-inline-start: 10px;
	}
	ul.second-level-items {
		width: 400px;
		position: absolute;
		min-height:100%;
		left: 0px;
		top: 0;
		display: none;
		transition: all 0.5s;
		z-index: 1;
		background: var( --e-global-color-341c689 );
		padding-inline-start: 10px;
	}
}

@media (min-width:768px) AND (max-width: 950px) {
		ul.first-level-items {
		width: 300px;
		position: absolute;
		left: 60px;
		top: 220px;
		font-weight: 600;
	}
	ul.second-level-items {
		width: 400px;
		position: absolute;
		left: 300px;
		top: 10px;
		display: none;
		transition: all 0.5s;
	}
	
}


@media screen AND (min-width: 951px) {
	ul.first-level-items {
		width: 400px;
		position: absolute;
		left: 60px;
		top: 220px;
		font-weight: 600;
	}
	ul.second-level-items {
		width: 400px;
		position: absolute;
		left: 400px;
		top: 10px;
		display: none;
		transition: all 0.5s;
	}
}

ul.first-level-items svg {
    fill: #fff;
}

a.level-1 span {
    margin-left: 20px;
	font-size: 0.8em;
	display: inline;
}

/*
.li-first-level:hover .second-level-items {
    opacity: 1 !important;
	transition: all 0.5s;
}*/
header.site-header {
	transition: background 0.5s;
}
header.site-header.sticky-bg {
	background: #fff;
	transition: background 0.5s;
}

#menu-burger {
	cursor:pointer;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important;
    -webkit-touch-callout: none !important;
}
header.inverted #menu-burger svg path:first-child {
    transform: rotate(45deg) translate(0px, -9px);
}
header.inverted #menu-burger svg path:nth-child(2) {
    transform: rotate(-45deg) translate(-36px, 10px);
}
header.inverted #menu-burger svg {
    fill: #fff;
}
header #menu-burger svg,
header #menu-burger svg path,
header.inverted #menu-burger svg,
header.inverted #menu-burger svg path {
	transition: all 0.5s;
}

header.inverted {
	background: transparent;
}



span#close-subnav {
	display: none;
	cursor: pointer;
}
span#close-subnav.visible {
	display:inline;
    position: absolute;
    right: 30px;
    top: 145px;
    transform: rotate(180deg);
	z-index:50;
}
span#close-subnav svg {
    width: 45px;
    fill: #fff;
}
@media screen AND (min-width: 768px) {
	span#close-subnav.visible {
		display: none !important;
	}
}

/**************************************************************************
Button Menu Home
**************************************************************************/
.button-menu-btn {
	cursor: pointer;
}
.button-menu-btn span.elementor-button-content-wrapper {
    text-align: left;
}

body:not(.elementor-editor-active) .button-menu-container .button-menu-list {
	height: 0px;
	transition: all 1s;
	overflow: hidden;
}
.button-menu-list a:hover span {
	color: var( --e-global-color-9b628c0 );
}
body:not(.elementor-editor-active) .button-menu-container.active .button-menu-list {
	height: 200px;
	transition: all 1s;
}
.button-menu-btn span.elementor-button-icon {
	transform: rotate(90deg);
	transition: all 1s;
}

.button-menu-container.active .button-menu-btn span.elementor-button-icon {
	transform: rotate(-90deg);
	transition: all 1s;
}

@media screen AND (min-width: 768px) {
	body:not(.elementor-editor-active) .button-menu-container .button-menu-list {
		opacity: 0;
		height: auto;
		transition: all 1s;
		overflow: initial;
	}
	body:not(.elementor-editor-active) .button-menu-container.active .button-menu-list {
		opacity: 1;
		height: auto;
		transition: all 1s;
		overflow: initial;
	}
}



.home-tile {
	overflow: hidden !important;
}
.home-tile::before {
    content: "" !important;
    background: var(--e-global-color-4f43ff0);
    position: absolute;
	top:0;
	transform: translatey(-100%);
	transition: transform 0.5s ease-in-out !important;
}


	.home-tile:not(.inViewport):hover:before,
	.home-tile.inViewport:before {
		transform: translatey(0%);
		transition: transform 0.5s ease-in-out;
	}
	.home-tile:not(.inViewport):hover .home-tile-title,
	.home-tile:not(.inViewport):hover .home-tile-button,
	.home-tile.inViewport .home-tile-title,
	.home-tile.inViewport .home-tile-button {
		opacity: 1;
		transition-property: opacity;
		transition-duration: 0.5s;
		transition-delay: 0.3s;
	}


.home-tile-title,
.home-tile-button {
    opacity: 0;
	transition-property: opacity;
	transition-duration: 0.5s;
}





body .offset-check-list {
	margin-top: -80px;
}
@media screen AND (min-width: 1024px) {
	body .offset-check-list {
		margin-top: -200px;
	}
}


/**************************************************************************
Contactform
**************************************************************************/
@media (min-width: 1024px) {
    #contactform .elementor-form-fields-wrapper {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		height: 900px;
	}

    #contactform .elementor-column {
        width: 50%;
    }
}
@media (max-width: 767px) {
    #contactform button[type="submit"] {
        padding: 13px 20px !important;
    }
}

#contactform input[type=text],
#contactform input[type=number],
#contactform input[type=email],
#contactform select {
    height: 40px !important;
}
#contactform textarea {
    height: 116px !important;
}

#contactform select {
    font-weight: 500 !important;
}

#contactform .elementor-field-option label {
    font-family: var(--e-global-typography-6430d4d-font-family), Sans-serif;
    font-size: var(--e-global-typography-6430d4d-font-size);
    font-weight: var(--e-global-typography-6430d4d-font-weight);
    line-height: var(--e-global-typography-6430d4d-line-height);
    letter-spacing: var(--e-global-typography-6430d4d-letter-spacing);
    word-spacing: var(--e-global-typography-6430d4d-word-spacing);
}

#contactform label[for="form-field-hear_about_us"] {
    font-weight: 500 !important;
}

#contactform button[type="submit"] span.elementor-align-icon-right.elementor-button-icon {
    font-size: 1.2em;
    line-height: 0;
}

/*Mamps*/
.cwpai_google_map {
    height: 600px;
}
.elementor-element.elementor-element-47555d2.elementor-widget.elementor-widget-cwpai_google_maps_marker {
    height: 600px;
}


.elementor-widget-text-editor a,
.elementor-field-type-html a {
    color: black;
}
.elementor-widget-text-editor a:hover,
.elementor-field-type-html a:hover {
    color: var(--e-global-color-9b628c0) !important;
}


.long-words {
    hyphens: auto;
}
/**************************************************************************
Footer
**************************************************************************/
#scroll-to-top {
	display: none; 
    background: var(--e-global-color-primary);
    padding: 10px;
	cursor: pointer;
}
@media (min-width:768px) {
	#scroll-to-top {
		padding: 20px;
	}
}
#scroll-to-top .elementor-icon {
    transform: rotate(-90deg);
}

footer a {
    color: #fff !important;
}


footer a:hover {
    color: var(--e-global-color-9b628c0) !important;
}
#footer-contact a:hover .footer-arrow svg {
    fill: var(--e-global-color-9b628c0) !important;
}


body .footer-arrow {
    display: inline;
}
#footer-contact .footer-arrow svg {
    fill: #fff !important;
	width: 0.9em;
}

@media(min-width: 1024px) {
	#footer-contact .elementor-heading-title:after {
		width: 50px;
		margin-left: 20px;
	}
}

