
/* ACCORDION */

.accordion-title {
display: block;

padding-top: 0.5em; /* overwrite headline padding */
padding-bottom: 0;
}

/* hide till grouped */
.accordion-title:not(.accordion-ready),
.accordion-title:not(.accordion-ready) ~ :not(.no-accordion) {
display: none;
}


.accordion-title {
cursor: pointer;
display: block;
}

.accordion-ready::before {
content: " ";
position: relative;
width: 0.75em;
height: 0.75em;
margin-right: 0.25em;
display: inline-block;
background: transparent none center center no-repeat;
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMzMzMzMzIiBkPSJNNSAzbDMuMDU3LTMgMTEuOTQzIDEyLTExLjk0MyAxMi0zLjA1Ny0zIDktOXoiLz48L3N2Zz4=);
background-size: contain;
transition: transform 0.3s ease;
}

.accordion-open::before {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}


.accordion-content {
display: none;
padding-left: 1em;
}

.accordions {
padding-bottom: 0.5em;
}

.accordion-content:not(:last-child) {
padding-bottom: 0.5em;
}

.accordion-content > :first-child {
padding-top: 0;
margin-top: 0;
}
@media (min-width: 1000px) {

	.fade-in,
	.appear-children.fade-in > * {
		transition: opacity 0.6s ease, transform 0.6s ease-out !important;
		transition-delay: 0.2s;
	}

	.appear.fade-in,
	.appear-children.fade-in > :not(.appeared-child) {
		opacity: 0;
		transform: translateY(2.5rem);
	}


	.slide-left,
	.slide-right {
		transition: opacity 0.3s ease, transform 0.6s ease-out !important;
	}

	.appear.slide-left {
		transform: translateX(100%);
		opacity: 0;
	}
	.appear.slide-right {
		transform: translateX(-100%);
		opacity: 0;
	}

	.appear.small-element.slide-left {
		transform: translateX(300%);
		opacity: 0;
	}
	.appear.small-element.slide-right {
		transform: translateX(-300%);
		opacity: 0;
	}

}

/* FORMS */

.send-progress {
cursor: wait;

}
.send-progress .form-composer {
pointer-events: none;
opacity: 0.6;
}

.form-composer {
padding: 0;
margin: 0 -0.5em;
transition: opacity 0.2s ease;
}
.form-composer .composer-col {
padding: 0 0.5em;
}

.form-input {
padding: 0.5em 0;
}

.minimal-input {
display: block;
background-color: white;
color: currentColor;
border: 1px white solid; /* fix color because .select-placeholder */
box-sizing: border-box;
outline: 0;
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
border-radius: 0px;
height: 2em;
line-height: 2em;
padding: 0px 0.2em;
margin: 0;
width: 100%;
font-weight: 300;
}

.minimal-input option {
color: #333; /* fix color because .select-placeholder */
}

textarea.minimal-input { 
max-width: 100%; /* no horizontal resize */
line-height: 1.5em;
padding-top: 0.25em;
}
select.minimal-input {
cursor: pointer;
}

.input-label {
min-height: 2em;
line-height: 150%;
box-sizing: border-box;
padding-top: 0.2em;
}

.input-select-wrapper {
position: relative;
}
.input-select-button {
position: absolute;
top: 0;
right: 0;
background: currentColor none 50% 54% no-repeat;
background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMCA3LjMzbDIuODI5LTIuODMgOS4xNzUgOS4zMzkgOS4xNjctOS4zMzkgMi44MjkgMi44My0xMS45OTYgMTIuMTd6Ii8+PC9zdmc+);
background-size: 0.8em 0.8em;
display: block;
width: 2em;
height: 2em;
line-height: 2em;
text-align: center;
pointer-events: none;
}

.input-button {
background: #94a2ae;
color: white;
text-align: center;
border: 0;
cursor: pointer;
text-transform: uppercase;
	padding-top: 0.05em;
		margin: 0 auto;
	max-width: 8em;
	font-weight: 500;
}

.minimal-input:-moz-input-placeholder {
color: #94a2ae;
}
.minimal-input::-moz-input-placeholder {
color: #94a2ae;
}
.minimal-input:-ms-input-placeholder {
color: #94a2ae;
}
.minimal-input::-ms-input-placeholder {
color: #94a2ae;
}
.minimal-input::-webkit-input-placeholder {
color: #94a2ae;
}
.minimal-input::placeholder {
color: #94a2ae;
}

.select-placeholder,
select.minimal-input option[value=""] {
color: #94a2ae;
}


.checkbox,
.radio {
min-height: 2em;
line-height: 150%;
display: inline-block;
position: relative;
color: inherit;
text-decoration: none;
padding-left: 3em;
padding-top: 0.2em;
box-sizing: border-box;
-webkit-user-select: none;
user-select: none;
}

.checkbox > span,
.radio > span {
position: absolute;
top: 0px;
left: 0px;
border: 1px currentColor solid;
box-sizing: border-box;
width: 2em;
height: 2em;
background: transparent none center center no-repeat;
background-size: 1em 1em;
}
.checkbox.checked span {
background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMzMzIiBkPSJNMjAuMjg1IDJsLTExLjI4NSAxMS41NjctNS4yODYtNS4wMTEtMy43MTQgMy43MTYgOSA4LjcyOCAxNS0xNS4yODV6Ii8+PC9zdmc+);
}

.radio > span {
border-radius: 50%;
}
.radio > span > span {
position: absolute;
top: 22%;
left: 22%;
width: 56%;
height: 56%;
background-color: currentColor;
border-radius: 50%;
display: none;
}
.radio.checked > span > span {
display: block;
}

@media (min-width: 1000px) {
	.option-align-h .checkbox + .checkbox,
	.option-align-h .radio + .radio {
	margin-left: 1em;
	}
}
@media (max-width: 999px) { /* same like v */
	.option-align-h .checkbox,
	.option-align-h .radio {
	display: block;
	}
	.option-align-h .checkbox + .checkbox,
	.option-align-h .radio + .radio {
	margin-top: 1em;
	}
}

.option-align-v .checkbox,
.option-align-v .radio {
display: block;
}
.option-align-v .checkbox + .checkbox,
.option-align-v .radio + .radio {
margin-top: 1em;
}

/* form errors */

.form-error {
padding: 0.5em 0;
display: none;
}
.form-error-response {
background: white;
border: 1px red solid;
color: red;
padding: 0.2em 0.2em 0 0.2em;
line-height: 1.4em;
text-align: center;
}
.invalid input,
.invalid textarea,
.invalid select,
.invalid .checkbox > span, 
.invalid .radio > span {
border-color: red;
}


.init-delayed {
visibility: hidden;
}

/* LIGHTBOX */

#lightbox {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1019;
background-color: RGBA(0,0,0,0.8);
overflow: auto;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}

#lightbox > div {
position: relative;
width: 100%;
min-height: 100%;

    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;

}

#lightbox > div > div {
width: 100%;
}

#lightbox > div > div > .image {
background-size: contain;
}



#lightbox-close {
z-index: 1020;
position: absolute;
right: 1em;
top: 1em;
width: 44px;
height: 44px;
display: none;
}

#lightbox-close span {
height: 2px;
margin-top: -1px;
width: 44px;
left: 50%;
top: 50%;
position: absolute;
background-color: white;
}

#lightbox-close :nth-child(1) {
-webkit-transform: translate(-22px, 0px) rotate(45deg);
transform: translate(-22px, 0px) rotate(45deg);
}
#lightbox-close :nth-child(2) {
-webkit-transform: translate(-22px, 0px) rotate(-45deg);
transform: translate(-22px, 0px) rotate(-45deg);
}



.lightbox-content,
.lightbox-sub-content {
display: none;
}
#lightbox .lightbox-content,
#lightbox .lightbox-sub-content {
display: block;
}
/* MOBILE MENU */

#mobile-menu {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1009;
background: rgb(151,206,83); /* Old browsers */
background: -moz-linear-gradient(top, rgba(151,206,83,1) 0%, rgba(76,137,52,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(151,206,83,1) 0%,rgba(76,137,52,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(151,206,83,1) 0%,rgba(76,137,52,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
color: white;
overflow: auto;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}

#menu-button {
z-index: 1010;
position: absolute;
right: 1.3em;
top: 1em;
width: 44px;
height: 44px;
}


#mobile-menu ul,
#mobile-menu li {
list-style-type: none;
margin: 0;
padding: 0;
display: block;
}

#mobile-menu > ul {
padding: 3.5em 0;
}

#mobile-menu ul ul {
padding-bottom: 2em;
}

#mobile-menu a {
display: block;
text-decoration: none;
padding: 0.5em;
font-size: 1.25em;
text-align: center;
text-transform: uppercase;
font-weight: 500;
	letter-spacing: 0.05em;
}

#mobile-menu ul ul a {
font-size: 1em;
}


#menu-button span {
height: 4px;
margin-top: -2px;
width: 38px;
left: 50%;
top: 50%;
position: absolute;
background-color: #fff;
}


#menu-button :nth-child(1) {
-webkit-transform: translate(-19px, -13px);
transform: translate(-19px, -13px);
transition: transform ease 0.3s, width ease 0.3s, background-color 0.3s ease;
}
#menu-button :nth-child(2) {
-webkit-transform: translate(-19px, 0px);
transform: translate(-19px, 0px);
transition: opacity ease 0.15s, background-color 0.3s ease;
}
#menu-button :nth-child(3) {
-webkit-transform: translate(-19px, 13px);
transform: translate(-19px, 13px);
transition: transform ease 0.3s, width ease 0.3s, background-color 0.3s ease;
}


.mobile-menu-open #menu-button :nth-child(1) {
-webkit-transform: translate(-22px, 0px) rotate(45deg);
transform: translate(-22px, 0px) rotate(45deg);
width: 44px;
}
.mobile-menu-open #menu-button :nth-child(2) {
opacity: 0;
}
.mobile-menu-open #menu-button :nth-child(3) {
-webkit-transform: translate(-22px, 0px) rotate(-45deg);
transform: translate(-22px, 0px) rotate(-45deg);
width: 44px;
}

.mobile-menu-open #menu-button span {
background-color: white;
}