/*********************************
** Written by Leonhard Schüller **
**   www.lms-soundservice.de    **
*********************************/

html { box-sizing: border-box; }
html * { box-sizing: inherit; }
body, header, main, footer, section, article, ul, figure { display: block; margin: 0; padding: 0; border: 0; outline: 0; }
body { text-align: center; }
section, article { position: relative; }
ul { list-style-type: none; }
h1, h2 { font-weight: 700; line-height: 1.1; margin: 0; }
p { -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; }
a { text-decoration: none; color: inherit; }
footer { background-color: #e7f2f1; }

.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }
.wrap-100 { width: 100%; display: block; }
.left { float: left; }
.right { float: right; }
.subtitle { display: block; line-height: 1.3; }
.uc { text-transform: uppercase; }
.fw2 { font-weight: 200; }
.fw4 { font-weight: 400; }
.fw7 { font-weight: 700; }
.bs { text-align: justify; }
.small { font-size: 0.78em; }
.col0 { color: #ffffff; }
.col1 { color: #429b92; }
.col2 { color: #397e7a; }
.col3 { color: #8ce5e5; }
.col4 { color: #e2f87c; }
.col5 { color: #062436; }
.col6 { color: #f7dd02; }
.col7 { color: #4fc1c1; }
.bg0 { background-color: #ffffff; }
.bg1 { background-color: #429b92; }
.bg2 { background-color: #397e7a; }
.bg3 { background-color: #8ce5e5; }
.bg4 { background-color: #e2f87c; }
.bg5 { background-color: #062436; }
.bg6 { background-color: #f7dd02; }
.bg7 { background-color: #4fc1c1; }
.bg9 { background: url(../img/bg-muster-blau.jpg) repeat center; }

#loader { position: fixed; z-index: 10; left: 0; top: 0; width: 100%; height: 100%; background-color: #429b92; opacity: 1; }
#loader:before { content: ""; display: block; position: absolute; left: 50%; top: 50%; margin-left: -25px; margin-top: -25px; width: 50px; height: 50px; border-left: 2px solid #ffffff; border-radius: 50%; animation: loading 1.2s linear infinite; }
#loader.hide { left: -100%; opacity: 0; transition: left 0s linear 0.5s, opacity 0.5s linear; }

/**********
** INDEX **
**********/

.index main header { overflow: hidden; position: relative; }
/*.index main header img { display: block; }*/
#logo-home { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
#index-sn1 { background: url(../img/bg-muster-hg.jpg) repeat center; }
#index-sn3 { background: url(../img/bg-muster-dg.jpg) repeat center; }

.extras li:before, #eventnavigation li:before { content: "\2192"; margin-right: 5px; }

/***********
** FOOTER **
***********/

#datenschutz a { text-decoration: underline; }
#social { margin: 30px auto; }
#social li { float: left; }
#social a { display: block; overflow: hidden; text-indent: -1000px; background: url(../img/socialmedia.png) no-repeat; }

/***********
** MOBILE **
***********/

@media only screen and (max-width: 959px) {

body { font-size: 15px; line-height: 1.5; }
h1 { font-size: 25px; }
main section { padding: 50px 0; }
main article:not(:first-child) { margin-top: 50px; }
main p { text-align: justify; }
.wrap-1000 { padding-left: 6.25%; padding-right: 6.25%; }
.subtitle { font-size: 18px; }
footer { padding: 50px 6.25%; }

#hamburger { position: fixed; z-index: 10; right: 20px; top: 20px; width: 30px; height: 25px; padding: 0; border: none; border-radius: 4px; background-color: #429b92; transition: background-color 0.5s linear; }
#hamburger:before { width: 4px; }
#hamburger:after { height: 4px; }
#hamburger span { display: block; position: absolute; left: 5px; width: 20px; height: 3px; background-color: #ffffff; }
#hamburger span:nth-of-type(1)  { top: 5px; }
#hamburger span:nth-of-type(2)  { top: 11px; }
#hamburger span:nth-of-type(3)  { top: 17px; }
#menu { position: fixed; z-index: 9; width: 100%; height: 100%; background-color: #429b92; -webkit-transform: translateX(-100%); transform: translateX(-100%); -webkit-transition: -webkit-transform 0.2s linear; transition: transform 0.2s linear; }
#menu.show { -webkit-transform: translateX(0px); transform: translateX(0px); }
#menu ul { position: relative; height: 80%; top: 10%; }
#menu li { height: 20%; }
#menu a { display: block; font-size: 20px; line-height: 85px; }
#bergbutton img { width: 42.5px; margin-top: 21.25px; }

/**********
** INDEX **
**********/

#logo-home { min-width: 320px; width: 46.3504%; }
.button { width: 42.5px; margin-bottom: 25px; }
#schneeschuhtouren { font-size: 25px; line-height: 1.1; display: inline-block; width: 240px; height: 138px; margin-top: 60px; padding-top: 12px; background: url(../img/grafik-schneeschuh.png) no-repeat center / 138px; }
#partner li { margin-top: 35px; }
#partner img { width: 138px; }
#referenzen { margin-top: 25px; }

/********
** WIR **
********/

#kindertage { width: 163.5px; margin-top: 25px; }
#zahlen { margin-top: 25px; }
#zahlen p { text-align: left; }

/***********
** EVENTS **
***********/

.detail:before { content: ""; display: block; width: 100%; height: 23px; margin: 25px 0 7px; background: url(../img/bergbutton-gruen.png) no-repeat center / 23px 23px; }
#events { width: 280px; margin: 25px auto; }
#events h2 { font-size: 20px; }
#events .subtitle { font-size: 15px; }
#events li { height: 300px; }
#events img { width: 92.75px; }
#events img:first-child { display: none; }
.extras .hgroup { position: absolute; color: #ffffff; top: 24px; width: 100%; }
.extras ul { margin-top: 25px; }
#eventnavigation { margin-top: 50px; }
.eventseite .grafik { width: 92.75px; margin-top: 25px; }

/************
** KONTAKT **
************/

#parallax { padding: 60px 0; background: url(../img/kontakt-960.jpg) no-repeat center / cover; }
#parallax p { text-align: center; }

/***********
** FOOTER **
***********/

#social { width: 174px; }
#social a { width: 31.5px; height: 31.5px; margin: 13px; background-size: 94.5px 31.5px; }
#social li:nth-of-type(1) a { background-position: 2.5px 0; }
#social li:nth-of-type(2) a { background-position: -31.5px 0; }
#social li:nth-of-type(3) a { background-position: -63px 0; }

}

/***********
** TABLET **
***********/

@media only screen and (max-width: 1379px) {

#scrollup, #scrolldown, #schnellkontakt, #eventnavigation { display: none; }

}

/**************
** DESKTOP 1 **
**************/

@media only screen and (min-width: 960px) {

body { font-size: 18px; line-height: 1.7; }

.center { position: absolute; top: 50%; width: 100%; transform: translateY(-50%); }

#site-header { position: fixed; z-index: 9; left: 0; top: 0; width: 100%; height: 60px; background-color: #424b59; }
#menu { margin-top: 15px; font-size: 18px; letter-spacing: 0.03em; }
#menu li { float: left; width: 20%; line-height: 1.0; }
#menu a { display: block; padding: 9px; }
#bergbutton { padding: 0 !important; opacity: 0; transform: scale(0.1); transition: opacity 0.2s linear 0.5s, transform 0.4s cubic-bezier(0, 0, 0.50, 1.75) 0.5s; }
.js #bergbutton { opacity: 1; transform: scale(1.0); }
#hamburger { display: none; }

.respect-menu { padding-top: 60px; }

.wrap-1000 { max-width: 800px; margin: 0 auto; }

main header { position: relative; }
main section { padding: 100px 0; }
.from-left { opacity: 0; transform: translateX(-80px); transition: opacity 1.0s linear, transform 1.0s ease-out; }
.from-left.subtitle { transition-delay: 0.2s, 0.2s; }
.scrolled .from-left { opacity: 1; transform: translateX(0); }
main h1 { font-size: 57px; }
.subtitle { font-size: 28px; font-weight: 400; letter-spacing: 0.025em; }
footer { padding: 100px 0; }

/**********
** INDEX **
**********/

.index main header { height: 100vh; }
#header-home { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.button { margin-bottom: 25px; }
#schneeschuhtouren { display: block; height: 392px; margin: 200px 0 100px; padding-top: 128px; font-size: 57px; line-height: 1.1; background: url(../img/grafik-schneeschuh.png) no-repeat center; }
#partner { min-width: 960px; max-width: 1024px; margin: 50px auto; }
#partner li { position: relative; float: left; width: 33.3333%; height: 245px; }
#partner .emt { margin-top: 50px; }
#partner .allein { width: 100%; }
#partner img { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
#referenzen { min-width: 960px; max-width: 1024px; margin: 50px auto; font-size: 23px; }
#referenzen li { display: inline-block; margin: 5px 8px; }
#referenzen li:not(:last-child):after { content: "/"; margin-left: 4px; }

/********
** WIR **
********/

#wir-sn1 { text-align: left; }
#wir-sn1 .wrap-1000 { max-width: 1000px; }
#kindertage { float: right; margin-left: 50px; }
#wir-sn1 p { text-align: justify; margin-top: 35px; }
#parallax-image { position: relative; width: 100%; margin: 100px 0; padding-bottom: 25%; /*34.375%;*/ overflow: hidden; }
#parallax-image img { position: absolute; z-index: -1; left: 0; top: 0; }
#zahlen { margin-top: 50px; }

/****************
** EVENTLISTEN **
****************/

#events { width: 880px; margin: 0 auto 50px; }
#events li { position: relative; float: left; width: 360px; height: 475px; margin: 40px; }
#events li a { display: block; position: relative; padding-top: 350px; }
#events li img { position: absolute; z-index: -1; left: 0; top: 0; width: 371px; transform: scale(0.75); transition: all 0.2s ease-out; }
#events li img:nth-of-type(1) { opacity: 1; }
#events li img:nth-of-type(2) { opacity: 0; }
#events li:hover img:nth-of-type(1) { opacity: 0; transform: scale(1.0); }
#events li:hover img:nth-of-type(2) { opacity: 1; transform: scale(1.0); }
#events h2 { font-size: 36px; line-height: 1; }
#events .subtitle { font-size: 21px; margin-top: 12px; }
#events p { font-size: 16px; line-height: 1.5; }

/**********
** EVENT **
**********/

#landevent-sn1, #wasserevent-sn1 { padding-bottom: 50px; }
#landevent-sn2, #wasserevent-sn2 { padding: 0; }
.eventseite .grafik { width: 185.5px; margin: 30px 0 20px; }
#eventnavigation { z-index: 8; position: absolute; left: 5%; top: 110px; text-align: left; }
#eventnavigation h2 { font-size: 20px; margin-bottom: 25px; }
#eventnavigation li { font-size: 14px; }
#eventnavigation .actual { color: #429b92; }
.bergkette { position: absolute; left: 0; bottom: 0; width: 100%; height: 22px; background: url(../img/bergkette.png) repeat-x center; }
.dotline { border-bottom: 1px dotted #1c3d50; margin: 40px 0; }
.eventdetails { padding: 0 50px; text-align: left; }
.eventdetails li { position: relative; margin-bottom: 12px; }
.eventdetails div { display: table; }
.detail { width: 240px; padding-left: 85px; float: left; }
.detail:before { content: ""; display: block; position: absolute; left: 0; top: 4px; width: 23px; height: 23px; background: url(../img/bergbutton-gruen.png) no-repeat center / 23px 23px; }
.extras { position: relative; overflow: hidden; }
.extras .center { color: #ffffff; }
.extras ul { margin-top: 25px; }

/************
** KONTAKT **
************/

#parallax { position: relative; overflow: hidden; width: 100%; height: 100vh; background: url(../img/kontakt-1920.jpg) no-repeat center / cover; }
#parallax .wrap-1000 { max-width: none; }
#kontakt-sn1 { padding: 0 0 100px; }
#kontakt-sn1 article { padding-top: 100px; }
#agb h3 { font-weight: 400; }

/***********
** FOOTER **
***********/

#social { width: 320px; }
#social a { width: 63px; height: 63px; margin: 20px; }
#social li:nth-of-type(1) a { background-position: 5px 0; }
#social li:nth-of-type(2) a { background-position: -63px 0; }
#social li:nth-of-type(3) a { background-position: -126px 0; }

/********
** 404 **
********/

#error-sn1 { padding-top: 200px; }
#error-sn1 a { text-decoration: underline; }

}

/**************
** DESKTOP 2 **
**************/

@media only screen and (min-width: 1380px) {

#scrolldown { display: block; position: absolute; z-index: 8; left: 50%; bottom: -50px; width: 100px; height: 100px; padding-top: 20px; border-radius: 50%; clip: rect(0px, 100px, 50px, 0px); font-size: 16px; transform: translateX(-50%); }
#scrollup { display: block; position: fixed; z-index: 8; right: 5%; bottom: 5%; width: 85px; height: 85px; padding-top: 20px; outline: none; border: 4px solid #000f27; border-radius: 50%; color: #000f27; font-size: 16px; line-height: 1.2; opacity: 0; }
.scrolled #scrollup { opacity: 1; transition: opacity 0.25s linear; }
#schnellkontakt { position: fixed; left: 0; width: 338px; text-align: left; line-height: 1.5; font-size: 16px; transition: opacity 0.25s linear, left 0s linear; }
#schnellkontakt li { display: block; margin-bottom: 5px; padding-left: 50px; transform: translateX(-338px); transition: transform 0.5s cubic-bezier(0, 0, 0.56, 1.42) 0.8s; }
#schnellkontakt li:last-child { transition-delay: 1.0s; }
.js #schnellkontakt li { transform: translateX(-50px); }
#schnellkontakt a { display: block; padding: 10px 14px; }
#schnellkontakt li { color: #ffffff; background-color: #424b59; }
#schnellkontakt p { margin: 15px 0 0 50px; padding: 10px 12px; background-color: #ffffff; opacity: 0; transition: opacity 0.4s linear; }
.scrolled #schnellkontakt p { opacity: 1; }
.index #schnellkontakt { bottom: 5%; }
.index #schnellkontakt li { color: #424b59; background-color: #ffffff; }
.scrolled #schnellkontakt { opacity: 0; left: -338px; transition-delay: 0s, 0.25s; }
.eventseite #schnellkontakt { left: auto; right: 0; opacity: 1 !important; }
.eventseite #schnellkontakt li { padding-left: 0; background-color: #424b59; transform: translateX(338px); }
.js.eventseite #schnellkontakt li { transform: translateX(50px); }

#events { width: 1320px; margin: 0 auto 50px; }

}

/********************************************
** BILDFORMAT H/W*100% AUF PADDING-BOTTOM! **
********************************************/

.diashow { position: relative; padding-bottom: 36.4583%; overflow: hidden; }
.dia-1, .dia-2, .dia-3, .dia-4 { display: block; position: absolute; left: 0; top: 0; opacity: 0; animation: diashow 12s ease-out 0s infinite; }
.dia-2 { animation-delay: 6s; }
.dia-3 { animation-delay: 12s; }
.dia-4 { animation-delay: 18s; }
.bitch img { animation-name: diashow-bitch; animation-duration: 24s; }

@keyframes loading {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
@keyframes diashow {
	0% { opacity: 0; transform: scale(1.2); }
	10% { opacity: 1; transform: scale(1); }
	50% { opacity: 1; transform: scale(1); }
	55% { opacity: 0; transform: scale(1); }
	99% { opacity: 0; transform: scale(1); }
	100% { opacity: 0; transform: scale(1.2); }
}
@keyframes diashow-bitch {
	0% { opacity: 0; transform: scale(1.2); }
	10% { opacity: 1; transform: scale(1); }
	25% { opacity: 1; transform: scale(1); }
	30% { opacity: 0; transform: scale(1); }
	99% { opacity: 0; transform: scale(1); }
	100% { opacity: 0; transform: scale(1.2); }
}
