//@defaultColor: #222;
@lightBlue: #d1e0f0;
@darkGreen: #0f3e0d;
@parmaGray: #b2bfc5;
@deNime: #6A7C80;
@sulkingRoomPink: #A0837F;
@preferenceRed: #6d4247;
@cinderRose: #c7a4a6;
@scandinavianPink: #e69090;
@beige: #fbf9f2;
@backgroundColor: #fbfbfb;
//@backgroundColor: @beige;

@defaultColor: #555555;
@navigationBackgroundColor: @scandinavianPink;
@menuColor1: white;
@menuColor1Selected: @defaultColor;

@fp1Background: @backgroundColor;
@fp2Background: #f1eded;

@mobile-transition-time: .3s;

@text-image-width: 10em;

@mobile-size-large: 23em + @text-image-width;
@desktop-size: 48em;
@desktop-size-large: 57em + @text-image-width;

@navigation-height: 11rem;

@initialLogoHeight: 4rem;

.shadow(@width; @color) {
    -webkit-filter: drop-shadow( 0 0 @width @color);
    filter: drop-shadow( 0px 0px @width @color);
}

body, label {
    font-weight: 300;
    line-height: 150%;
    font-size: 1.2rem;
    background-color: @backgroundColor;
    color: @defaultColor;
}
button, input[type="button"], input[type="submit"] {
    background: @defaultColor;
    &:hover, &:focus {
        background: lighten(@defaultColor, 10%);
    }
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="tel"], input[type="range"],
input[type="date"], input[type="month"], input[type="week"], input[type="time"],
input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
    border-color: @defaultColor;
}

body, button, input, select, textarea {
    font-family: "Jost", sans-serif;
}

ul.menu, button.menu-toggle {
    font-family: "Gilda display", serif;
}
#masthead .wrap {
    position: absolute;
    top: 0;
    @media screen and (min-width: @desktop-size) {
        top: initial;
        z-index: 10;
    }
    nav {
        display: block;
        top: 50%;
        position: absolute;
        left: 0;
        right: 0;
        transform: translateY(-50%);
        @media screen and (min-width: @desktop-size) {
            transform: none;
            position: static;
        }
    }
}
.navigation-top {
    position: fixed;
    z-index: 1000;
    left: 0;
    right: 0;
    bottom: auto;
    height: @navigation-height;
    min-height: 4rem;
    padding-top: @initialLogoHeight;
    background-color: @navigationBackgroundColor;
    border-bottom-color: @defaultColor;

    .above-navigation-top {
        position: absolute;
        top: 0;
        z-index: 5;
        height: 100%;
        padding: 1rem;
        @media screen and (min-width: @desktop-size) {
            width: 100%;
            text-align: center;
            padding-bottom: 3rem;
        }
    }

    .custom-logo-link {
//        position: absolute;
//        left: 1em;
        height: 100%;
//        margin: .5rem 0;
        z-index: 5;
        transition-property: opacity;
        transition-duration: .3s;
        &:hover {
            opacity: 0.6;
        }

        img {
            height: 100%;
            max-height: unset;
            opacity: .8;
        }
    }
    .wrap {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
//        top: 0;
        padding: 0;
        max-width: none;
    }

    a {
        font-weight: normal;
    }

/*
 * Make menu for mobile sitcky too
 */

    button.menu-toggle {
        left: 100%;
        transform: translate(-100%, 0);
        outline: none;

        position: relative;
        margin-left: 0;
        margin-right: 0;
        &, .icon {
            color: @menuColor1;
        }

        &:focus, &:hover {
            background: transparent;
        }

/*
        .menu-text {
            transition-property: color,transform,width;
            transition-duration: @mobile-transition-time;
            overflow-x: hidden;
            white-space: nowrap;
            display: inline-block;
            position: relative;
            top: -2px;
            vertical-align: middle;
        }
*/
    }
    .menu-hauptmenu-container > ul {
        position: absolute;
        z-index: 10;
        right: 0;
        width: 20em;
        max-width: 90%;
        transform: translateX(100%);
        transition-property: transform;
        transition-duration: .5s;
        display: inline-block;
        @media screen and (min-width: @desktop-size) {
            position: static;
            display: none;
            transform: none;
            width: auto;
            max-width: none;
            &> li {
                &> a {
                    color: @menuColor1;
                    &:hover {
                        color: @menuColor1Selected;
                    }
                }
                &.current_page_item {
                    &> a {
                        color: @menuColor1Selected;
                    }
                }
            }
        }
    }
}

.panel-image-prop .logo-over-image {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
//    max-width: 8em;
    height: 50%;
    -webkit-filter: invert(1) drop-shadow(2px 3px 6px rgba(0,0,0,.6));
//    invert(1) drop-shadow( 0px 0px 3px rgba(0, 0, 0, .7));
    filter: invert(1) drop-shadow(2px 3px 6px rgba(0,0,0,.6));
//    invert(1) drop-shadow( 0px 0px 3px rgba(0, 0, 0, .7));
}

.shadow-black {
    .shadow(4px, rgba(0,0,0,.5))
}

.js .main-navigation.toggled-on > div > ul {
    transform: translateX(0%);
    @media screen and (min-width: @desktop-size) {
        transform: none;
    }
}

:not( .mejs-button ) > button:hover, :not( .mejs-button ) > button:focus {
    background: none;
}

.single-featured-image-header, .site-content-contain {
    background: transparent;
    margin-top: @navigation-height;
}
.single-featured-image-header + .site-content-contain {
    margin-top: 0;
}
.site-content {
    padding-top: 3em;
}

.responsive-table {
    display: block;
    @media screen and (min-width: @desktop-size) {
        display: table;
    }
    &.table-100 {
        width: 100%
    }
    .table-cell {
        padding-bottom: 1rem;
        width: 100%;
        padding: .5em;
        .no-underline {
            text-decoration: none;
            display: block;
//            margin: .3em;
            overflow: hidden;
            img {
                -webkit-box-shadow: none;
                box-shadow: none;
//                transition-property: opacity;
//                transition-duration: .3s;
                max-width: 10rem;

                &:hover {
                    opacity: .8;
                }
            }
        }
        @media screen and (min-width: @desktop-size) {
            display: table-cell;
            width: auto;
            &.cell-33 {
                width: 33.3333%;
            }
        }
    }
}
.nowrap {
    white-space: nowrap;
}
.block-align {
    text-align: justify;
}
.page-title2, .page-title3, h1, h2 {
    font-family: "Gilda display", serif;
}
h2 {
    font-size: 1.2rem;
}
.page-title2 {
    font-size: 1.5rem;
    vertical-align: middle;
    padding-bottom: .7rem;

    @media screen and (min-width: @desktop-size) {
        padding-bottom: 0;
    }
}
.page-title3 {
    font-size: 1rem;
}

table.no-border {
    &, tr, td {
        border: none;
    }
}
table.full-width {
    width: 100%;
}
img.bg-white {
    background-color: white;
    padding: .3rem;
    border-radius: .3rem;
}

@media screen and (min-width: @desktop-size) {
    .js .main-navigation {
        text-align: center;
        &> div > ul {
            display: inline-block;
        }
    }
}

.panel-content .wrap {
    padding-top: 0;
}

.page.page-one-column .entry-header, .twentyseventeen-front-page.page-one-column .entry-header {
    margin-bottom: 0;
}

.front-bar {
    .wrap {
        padding-top: 2em;
        padding-bottom: 2em;
        table {
            margin: 0;
        }
    }
}
.front-bar-1 {
    background-color: @fp1Background;
}
.front-bar-2 {
    background-color: @fp2Background;
    color: white;
    .picto-cont {
        display: inline-block;
        text-align: center;
    }
    a.picto {
        color: @defaultColor;
        img {
            transition-duration: .6s;
            transition-property: transform;
            margin: 1em;
        }
        &:hover, &:focus {
            color: lighten(@defaultColor, 30%);
            img {
                transform: scale(1.2);
            }
        }
    }
}

@media screen and (min-width: @desktop-size) {
    div.text-left-resp {
        text-align: left;
    }
    div.text-center-resp {
        text-align: center;
    }
    div.text-right-resp {
        text-align: right;
    }
}

a, a:hover, a:focus {
    box-shadow: none !important;
    // text-decoration: underline;
}

.entry-content {
    a, a:hover, a:focus {
        color: @scandinavianPink;
//        color: @preferenceRed;
    }
}

@media screen and (min-width: @desktop-size) {
    .page-one-column .panel-content .wrap {
        max-width: 50em;
    }
}


.partner {
    clear: both;
    @media screen and (min-width: @desktop-size) {
        margin-top: 7rem;
    }
    margin-top: 3rem;

    h2 {
        color: #e69090;
        font-weight: bold;
        margin-bottom: 0;
    }
    .type {
        line-height: 100%;
        font-size: 0.9rem;
        margin-bottom: 1rem;
        font-weight: bold;
    }
    p {
        margin-bottom: 0.2rem;
    }
}


/*
 * Set header image on front page to 60vh
 */
.has-header-image.twentyseventeen-front-page .custom-header,
.has-header-video.twentyseventeen-front-page .custom-header,
.has-header-image.home.blog .custom-header,
.has-header-video.home.blog .custom-header {
    height: 60vh;
    @media screen and (min-width: @desktop-size) {
        height: 60vh;
    }
}

.single-featured-image-header {
//    max-height: 50vh;
    overflow-y: hidden;
    img {
        width: 100%;
//        max-height: 50vh;
    }
}


.text-shadow( @diff, @radius, @color ) {
    text-shadow: @diff @diff @radius @color,
        @diff -@diff @radius @color,
        -@diff @diff @radius @color,
        -@diff -@diff @radius @color;
}

.site-branding-text {
    .site-title a, .site-description {
        .text-shadow(2px, 2px, rgba(64, 64, 64, 0.5));
    }
}

.footer-navigation {
    @media screen and (min-width: @desktop-size) {
        text-align: right;
    }

    ul {
        list-style: none;

        @media screen and (min-width: @desktop-size) {
            li {
                display: inline-block;

                + li:before {
                    content: "|";
                    margin-left: .5em;
                    margin-right: .5em;
                }
            }
        }
    }
}

blockquote {
//    font-family: 'Italianno', cursive;
    font-style: normal;
    font-size: 1.4rem;
    width: 17em;
    max-width: 85%;
    margin-left: auto;
    margin-right: auto;
    p {
        // rechtes margin, weil sonst einige Buchstaben abgeschnitten werden
        margin: 0 .4em 0 0;

        &.quote {
            &:before {
                content: "„";
            }
            &:after {
                content: "“";
            }
        }
    }
    margin-bottom: 1.5em;
}
.center {
    text-align: center;
}
.right {
    text-align: right;
}
.bold {
    font-weight: bold;
}
.italic {
    font-style: italic;
}
.site-title,
.page .panel-content .entry-title,
.page-title,
body.page:not(.twentyseventeen-front-page) .entry-title {
    text-transform: none;
    font-weight: 400;
    letter-spacing: 0.03em;
    color: @defaultColor;
}
.page .panel-content .entry-title,
.page-title,
body.page:not(.twentyseventeen-front-page) .entry-title {
    font-size: 1.25rem;
}
.site-description {
    letter-spacing: 0.04em;
}




div.text-image {
    &:before {
        clear: both;
    }
    margin: 1em auto;
    width: @text-image-width;
    text-align: center;
    position: relative;

    @media screen and (min-width: @mobile-size-large) {
        margin: 0 1em;
        position: relative;
        float: right;
    }
/*
    @media screen and (min-width: @desktop-size-large) {
        margin: 0;
    }
*/

    img.text-image {
        width: auto;
        height: auto;
        max-width: @text-image-width;
        display: block;
    }
    .image-blur {
        position: absolute;
        width: 100%;
        top: 0;
        bottom: 0;
        box-shadow: inset 0 0 5px 5px @backgroundColor;
//        background-color: rgba(255, 0, 0, 0.4);
    }
    &.left {
        @media screen and (min-width: @mobile-size-large) {
            float: left;
        }
/*
        @media screen and (min-width: @desktop-size-large) {
            img.text-image {
                transform: translateX(-120%);
            }
        }
*/
    }

    &.not-size-1 {
        display: none;
        @media screen and (min-width: @mobile-size-large) {
            display: block;
        }
    }
    &.not-size-2 {
        @media screen and (min-width: @mobile-size-large) {
            display: none;
        }
/*
        @media screen and (min-width: @desktop-size-large) {
            display: block;
        }
    }
    &.not-size-3 {
        @media screen and (min-width: @desktop-size-large) {
            display: none;
        }
*/
    }
}

.video-text-container {
    width: 300px;

    @media screen and (min-width: @mobile-size-large) {
        margin-right: 1em;
        float: left;
    }
    @media screen and (max-width: @mobile-size-large) {
        margin: 0 auto 0.5em;
    }

    .video-wrapper {
        width: 300px;
        height: 200px;
    }
}

ul.dashed {
    list-style-type: none;
    padding-left: 1em;
    & > li {
        &:before {
            content: "‒ ";
            display: inline-block;
            width: 1em;
            margin-left: -1em;
        }
    }
}

.footnote {
    font-size: .8em;
    font-style: italic;
    line-height: 100%;
}

.wpcf7-list-item {
    margin: 0;
}

.social-navigation a {
//    background-color: #ccc;
    &:hover, &:focus {
        color: white;
    }
}





body .top-margin {
    @media screen and (min-width: @desktop-size) {
        background-position-y: 5rem;
    }
}
