/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/


/*
Breakpoints:

col-xs-<1-12>
@media only screen and (max-width: 480px) {
    .class {
        height: 150px;
    }
}

col-sm-<1-12>
@media only screen and (max-width: 600px) {
    .class {
        height: 150px;
    }
}

col-md-<1-12>
@media only screen and (max-width: 840px) {
    .class {
        height: 150px;
    }
}

col-lg-<1-12>
@media only screen and (max-width: 960px) {
    .class {
        height: 150px;
    }
}

col-xl-<1-12>
@media only screen and (max-width: 1280px) {
    .class {
        height: 150px;
    }
}

col-<1-12>
@media only screen and (min-width: 1281px) {
    .class {
        height: 150px;
    }
}
*/

@import "../fonts/fonts.css";
@import "form.css";

:root {
    --base-font-size: 30px;
    --primary-color: #753e8c;

    --xl-font-sz: 36px;
    --xl-font-lh: 50px;

    --lg-font-sz: 26px;
    --lg-font-lh: 36px;

    --md-font-sz: 18px;
    --md-font-lh: 25px;

    --sm-font-sz: 14px;
    --sm-font-lh: 20px;

    --std-font-sz: 20px;
    --std-font-lh: 28px;

}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1rem;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/****** Main ********/

body {
    color: #ffffff;
    font-size:62.5%;
    font-family: 'hk_groteskregular', sans-serif;
}

.logo {
    z-index: 999;
    background-color: #ffffff;
    height: 180px;
    justify-content: center;
    display: flex;
}

#logo {
    width: 150px;
    object-fit: contain;
    height: auto;
}

@media only screen and (max-width: 960px) {
    .logo {
        height: 150px;
    }
    #logo {
        width: 130px;
    }
}

.fixed-content {
    position:fixed;
    z-index: 10;
    width:100%;
    height:100%;
    margin:auto;
    top:0;
    right:0;
    bottom:0;
    left:0;
}
.content {
    width:100%;
    display:flex;
}
.content-text {
    position: relative;
    width:100%;
    display:flex;
}
.device-frame {
    /*position: relative;*/
    /*float:left;*/
}
.device {
    width:266px;
    position: relative;
}
.device-slide {
    position:absolute;
    top:33px;
    right:10px;
    z-index: 15;
    text-align:center;
}
.device-slide1 {
    width:25px;
    height:50px;
    color:grey;
    font-size:2em;
    line-height:1em;
    position: absolute;
    top: 20px;
    right: 20px;
}
.slide {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    z-index: 0;
    height: 100vh;
}

.animatable {
    display:flex;
    justify-content: center;
}

.philosopy {
    background-color: #ffffff;
    color: black;
    display: flex;
    padding: 100px;
    font-size: 2.5em;
}

.kontakt {
    background-color: #ffffff;
	opacity: 0.8 !important;
    color: black;
    display: flex;
    padding: 100px;
    font-size: 2.5em;
}

@media screen and (max-width: 600px) {
    .philosopy {
        padding: 50px;
    }

}

.workshops {
    padding: 20px;
    display: flex;
    justify-content: center;
    -webkit-hyphens: auto;
}

.workshops img {
    width: 60%;
    height: 100%;

}


@media only screen and (max-width: 600px) {
    .workshops img {
        width: 70%;
        height: 100%;
    }
}

@media only screen and (max-width: 480px) {
    .workshops img {
        width: 100%;
        height: 100%;
    }
}

h2.animatable {
    justify-content: flex-start;
}


.uebermich {
    color:black;
    padding-right:80px;
}

.uebermich h2 {
    color:black;
    font-size: var(--lg-font-sz);
    font-family: hk_groteskbold, Helvetica,sans-serif;
    text-align: left;
}

.uebermich p {
    font-size: var(--md-font-sz);
    line-height: var(--md-font-lh);
    text-align: left;
    /*text-align: justify;*/
    /*text-justify: auto;*/
}

@media only screen and (max-width: 480px) {
    .uebermich p {
        font-size: var(--sm-font-sz);
        line-height: var(--sm-font-lh);
    }
}

.slide .animatable {
    opacity:0;
    -webkit-transform:translate(0,30px);
    transform:translate(0,30px);
    -webkit-transition:opacity 0.4s ease,-webkit-transform 0.4s ease;
    transition:opacity 0.4s ease,transform 0.4s ease;
}
.slide.active.remove .animatable {
    opacity:0;
    -webkit-transform:translate(0,-20px);
    transform:translate(0,-20px);
}

.slide.active .animatable {
    opacity:1;
    -webkit-transform:translate(0,0);
    transform:translate(0,0);
}

.slide.active .animatable.footer {
    transform: none;
    -webkit-transform: none;
    flex-wrap: nowrap;
}
@media only screen and (max-width: 480px) {
    .slide.active .animatable.footer {
        position: absolute;
        top: calc(var(--vh, 1vh) * 100 - 100px);
    }
}

.slide.active {
    z-index: 10;
}

h2 {
    font-size:5em;
    margin-bottom:20px
}

p > img {
    padding-top: 20px;
    width: 70px;
}

@media only screen and (min-width: 1281px) {
    p {
        font-size: var(--xl-font-sz);
        line-height: var(--xl-font-lh);
        margin-bottom:10px;
    }
    p > img {
        padding-top: 30px;
        width: 100px;
    }
}
@media only screen and (max-width: 1280px) {
    p {
        font-size: var(--lg-font-sz);
        line-height: var(--lg-font-lh);
        margin-bottom:10px;
    }
    p > img {
        padding-top: 20px;
        width: 70px;
    }

}
@media only screen and (max-width: 960px) {
    p {
        font-size: var(--lg-font-sz);
        line-height: var(--lg-font-lh);
        margin-bottom:5px;
    }
}
@media only screen and (max-width: 840px) {
    p {
        font-size: var(--lg-font-sz);
        line-height: var(--lg-font-lh);
        margin-bottom:5px;
    }
}
@media only screen and (max-width: 600px) {
    p {
        font-size: var(--md-font-sz);
        line-height: var(--md-font-lh);
        margin-bottom:3px;
    }
    p > img {
        padding-top: 20px;
        width: 50px;
    }

}
@media only screen and (max-width: 480px) {
    p {
        font-size: var(--sm-font-sz);
        line-height: var(--sm-font-lh);
    }
    p > img {
        padding-top: 20px;
        width: 30px;
    }
}



a {
    text-decoration: none;
}

a:link,
a:visited {
    color:#fff;
    text-decoration:none;
}
a:hover {
    text-decoration: underline;
}
.arrow {
    position: relative;
    padding-right:15px;
}

.arrow:before,
.arrow:after {
    content:'';
    position: absolute;
    right:0;
    top:4px;

    width:2px;
    height:12px;
    background: #ffffff;
}
.arrow:before {
    transform: rotate(45deg);
    top:12px;
}
.arrow:after {
    transform: rotate(-45deg);

}
.inner {
    position: relative;
    height:100%;
}

.inner img {
    width: 100vw;
    object-fit: cover;
    height: auto;
}

@media only screen and (max-width: 480px) {
    .inner img {
        object-fit: cover;
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
        width: 100%;
    }
}

header {
    background-color: transparent;
    padding: 25px 0;
    color: #ffffff;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 9999;
    text-align: right;
}

.panel0 {
    background: #333333;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #753e8c));
    background: -webkit-linear-gradient(top, #333333 0%, #753e8c 100%);
    background: linear-gradient(to bottom, #333333 0%, #753e8c 100%);
    background-repeat: no-repeat;
}

.panel1 {
    background: #333333;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #753e8c));
    background: -webkit-linear-gradient(top, #333333 0%, #753e8c 100%);
    background: linear-gradient(to bottom, #333333 0%, #753e8c 100%);
    background-repeat: no-repeat;
}

.panel2 {
    background: #333333;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #753e8c));
    background: -webkit-linear-gradient(top, #333333 0%, #753e8c 100%);
    background: linear-gradient(to bottom, #333333 0%, #753e8c 100%);
    background-repeat: no-repeat;
}

.panel3 {
    background: #753e8c;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #753e8c), color-stop(100%, #333333));
    background: -webkit-linear-gradient(top, #753e8c 0%, #333333 100%);
    background: linear-gradient(to bottom, #753e8c 0%, #333333 100%);
    background-repeat: no-repeat;
}

.panel4 {
    background: #333333;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #753e8c));
    background: -webkit-linear-gradient(top, #333333 0%, #753e8c 100%);
    background: linear-gradient(to bottom, #333333 0%, #753e8c 100%);
    background-repeat: no-repeat;
}
.panel5 {
    background: #ffffff;
}
.panel6 {
    background: #ffffff;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #ffffff));
    background: -webkit-linear-gradient(top, #333333 0%, #ffffff 100%);
    background: linear-gradient(to bottom, #333333 0%, #ffffff 100%);
    background-repeat: no-repeat;
}


.section-bg,
.layer-object {
    position:absolute;
    z-index: 1;
}

.section-bg {
    z-index: 0;
}

.flexflowrow {
    flex-flow: row wrap;
}

.alignbottom {
    align-items: flex-end;
    display: flex;
}

.aligncenter {
    align-items: center;
    display: flex;
}

.verticaldistribute {
    display:flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer {
    background-color: #A6ADB4;
    height:100px;
}
.footer,
.footer p {
    font-size:18px;
}

@media only screen and (max-width: 480px) {
    .footer,
    .footer p {
        font-size:12px;
        line-height:14px;
    }
    .footer.animatable {
        justify-content: flex-start;
    }
}



@media only screen and (max-width: 840px) {
    h1 {
        font-size:15vw;
    }
    h2 {
        font-size:12vw;
    }
}


.panel {
    border: none;
    border-radius: 0;
    display: block;
    flex-direction: row;
}

.form-group {
    width: 100%;
}

.form-input {
    height: 3rem;
    margin-bottom: 30px;
    border-radius: 10px;
}

.form-label {
    font-size: 30px;
    margin-bottom: 15px;
}

.btn {
    font-size: 1.5rem;
    height: 3.6rem;
    line-height: .5rem;
    outline: 0;
    padding: 1rem 0.8rem;
    width: 100%;
    border-radius: 10px;
}

@media only screen and (max-width: 480px) {
    .form-label {
        font-size: 15px;
        margin-bottom: 5px;
    }
    .form-input {
        height: 2rem;
        margin-bottom: 10px;
        border-radius: 8px;
    }
    .btn {
        font-size: 1rem;
        height: 2rem;
        line-height: .3rem;
    }
    .contact-form input, .contact-form textarea {
        font-size: 15px;
    }
    .contact-form .form-submit {
        margin-top: 10px;
    }
}

.btn.btn-primary {
    background: #F9C289;
    border-color: #F9C289;
    color: #ffffff;
}

.btn.btn-secondary {
    background: #80808D;
    border-color: #80808D;
    color: #ffffff;
}

.form-error {
    padding-top:10px;
    display:block;
    font-size: 16px;
}

.accordion .accordion-header {
    font-size: var(--lg-font-sz);
    line-height: var(--lg-font-lh);
    padding: 25px;
    border-radius: 10px;
    color: #ffffff;
}

@media only screen and (max-width: 840px) {
    .accordion .accordion-header {
        font-size: var(--std-font-sz);
        line-height: var(--std-font-lh);
        padding: 15px;
        border-radius: 8px;
    }
}

.accordion .accordion-header-gradient-bg {
    background: #b461d8; /* Old browsers */
    background: -moz-linear-gradient(left, #b461d8 0%, #9550b2 48%, #753e8c 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #b461d8 0%,#9550b2 48%,#753e8c 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #b461d8 0%,#9550b2 48%,#753e8c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b461d8', endColorstr='#753e8c',GradientType=1 ); /* IE6-9 */
}

.accordion-body {
    font-size: var(--md-font-sz);
    line-height: var(--md-font-lh);
}

.contact {
    padding-top: 50px;
}

.leistungen {
    background-color: #ffffff;
    color:black;
    padding-top: 85px;
}

@media only screen and (max-width: 960px) {
    .leistungen {
        padding-top: 85px;
    }
}

@media only screen and (max-width: 840px) {
    .leistungen {
        padding-top: 45px;
    }
}

.accordion {
    margin-bottom: 120px;
}

@media only screen and (max-width: 840px) {
    .accordion {
        margin-bottom: 30px;
    }
}

.accordion input:checked~.accordion-body, .accordion[open] .accordion-body {
    margin-bottom: -100px;
}

@media only screen and (max-width: 840px) {
    .accordion input:checked ~ .accordion-body, .accordion[open] .accordion-body {
        margin-bottom: 0;
    }
}

.accordion .accordion-body {
    transition: none;
}

.bgpurple {
    background-color: var(--primary-color);
}

.modal.modal-lg .modal-overlay {
    background: #dedede;
}

.modal,
.modal p {
    font-size: var(--sm-font-sz);
    line-height: var(--sm-font-lh);
    color: black;
}
.modal strong,
.modal h1, 
.modal h2, 
.modal h3, 
.modal h4, 
.modal h5 {
    font-family: 'hk_groteskbold', sans-serif;
}

.modal-container .modal-body {
    overflow-y: scroll;
}

.modal-body a:link, a:visited { 
    color: #000;
 }

.modal .btn, .modal .btn-link {
    color: #753e8c;
}

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}
::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, .5);
  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);
}


/* Menu */

.hamburger-menu {
    z-index: 9999;
    position: absolute;
    top: 50px;
    right: 50px;
    width: 30px;
    height: 30px;
    cursor: pointer;
}
@media only screen and (max-width: 480px) {
    .hamburger-menu {
        top: 25px;
        right: 25px;
    }
}

.bar,
.bar:after,
.bar:before {
    width: 30px;
    height: 3px;
}
@media only screen and (max-width: 480px) {
    .bar,
    .bar:after,
    .bar:before {
        height: 2px;
    }
}

.bar {
    position: relative;
    transform: translateY(25px);
    background: rgba(26, 26, 26, 1);
    transition: all 0ms 300ms;
}

.bar.animate {
    background: rgba(255, 255, 255, 1);
}

.bar:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 15px;
    background: rgba(0, 0, 0, 1);
    transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar:after {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    background: rgba(0, 0, 0, 1);
    transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.bar.animate:after {
    top: 0;
    transform: rotate(45deg);
    background: rgba(255, 255, 255, 1);
    transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;
}

.bar.animate:before {
    bottom: 0;
    transform: rotate(-45deg);
    background: rgba(255, 255, 255, 1);
    transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;
}

/*nav menu*/
.show {
    left: 0;
    visibility: visible;
}

.hide {
    visibility: hidden;
    left: 100%;
}

.mobile-nav {
    background: rgba(117, 62, 140, 0.9);
    position: absolute;
    top: 0;
    left: calc(100vw - 300px);
    width: 300px;
    height: 100vh;
    text-align: right;
    transition: .2s ease;
    z-index: 999;
    padding: 20px;
    padding-right: 50px;
}

.mobile-nav ul {
    position: relative;
    margin-top: 170px;
    list-style: none;
}

@media only screen and (max-width: 480px) {
    .mobile-nav ul {
        margin-top: 100px;
    }
    .mobile-nav {
        left: 50vw;
        width: 50vw;
    }
}

.mobile-nav li {
    padding-bottom: 25px;
}

@media only screen and (max-width: 480px) {
    .mobile-nav li {
        padding-bottom: 15px;
    }
}

.mobile-nav a {
    text-align: right;
    font-size: 18px;
    color: #ffffff;
    opacity: 1;
    transition: opacity .9s ease-in-out;
}

@media only screen and (max-width: 480px) {
    .mobile-nav a {
        font-size: 14px;
    }
}

.mobile-nav.show a {
    text-align: right;
    font-size: 18px;
    color: #ffffff;
    opacity: 1;
    z-index: 999;
}

.mobile-nav a:hover {
    color: #6AB981;
    text-decoration: none;
}

li.mobile-nav-extra {
    padding-bottom: 50px;
}
li.mobile-nav-infolinks a {
    color: grey;
}
li.mobile-nav-infolinks {
    padding-bottom: 10px;
}


/* arrow */
@-webkit-keyframes fade_move_down {
    0%   { -webkit-transform:translate(0,-10px) rotate(45deg); opacity: 0;  }
    50%  { opacity: 1;  }
    100% { -webkit-transform:translate(0,10px) rotate(45deg); opacity: 0; }
}
@-moz-keyframes fade_move_down {
    0%   { -moz-transform:translate(0,-10px) rotate(45deg); opacity: 0;  }
    50%  { opacity: 1;  }
    100% { -moz-transform:translate(0,10px) rotate(45deg); opacity: 0; }
}
@keyframes fade_move_down {
    0%   { transform:translate(0,-10px) rotate(45deg); opacity: 0;  }
    50%  { opacity: 1;  }
    100% { transform:translate(0,10px) rotate(45deg); opacity: 0; }
}


.scroll {
    position: absolute;
    bottom: 20px;
    left: calc(100vw * .5);
    font-size: 1.3em;
    display: inline-block;
    height: 80px;
}

.scroll:after {
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.scroll:after {
    content: '';
    width: 40px;
    height: 40px;
    position: absolute;
    margin: auto;
    top: 10px;
    right: 0;
    left: 0;
    -webkit-animation: 3s arrow infinite ease;
    animation: 3s fade_move_down infinite ease;
}

.u-between {
    justify-content: space-between;
}

