/*================================================
    Allgemeines Layout
================================================*/

/* Grid Settings */

@media only screen and ( min-width: 981px ) {
    div:not(.et_pb_row).flex_wrapper,
    div.et_pb_row.flex_wrapper .et_pb_column {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        position: relative;
    }

    div.flex_wrapper.columns_1-3 article {
        width: calc((100% / 3) - ((var(--gap) * 2) / 3));
        margin-right: 0;
        margin-bottom: var(--gap);
    }

    div.flex_wrapper.columns_1-3 article:nth-child(3n + 2) {
        margin: 0 var(--gap);
    }

    div.flex_wrapper.columns_1-4 .et_pb_module {
        width: calc((100% / 4) - ((var(--gap-small) * 3) / 4));
        margin-right: 0;
        margin-bottom: 0;
    }

    div.flex_wrapper.columns_1-4 .et_pb_module:not(:last-of-type) {
        margin-right: var(--gap-small);
    }
}

/* Text width */

.et_pb_text.narrower {
    max-width: var(--narrower);
}

/* Hintergründe */

.greybg,
.et_pb_section.greybg {
    background-color: var(--contentgrey);
}

/* images */

img.round {
    border-radius: 50%;
}

/*================================================
    home
================================================*/

@media only screen and ( max-width: 980px ) {
    .home h1 {
        font-size: 30px;
        font-weight: bold;
        letter-spacing: 0;
        line-height: 32px;
    }

    .home h1 .lite {
        font-size: 26px;
        font-weight: 300;
        letter-spacing: 0;
        line-height: 33px;
        color: var(--lightgrey);
        text-transform: none;
    }

    .home h2 {
        font-size: 30px;
        font-weight: bold;
        letter-spacing: 1px;
        line-height: 32px;
        text-transform: uppercase;
        padding-bottom: 20px;
    }

    .home h2 span {
        font-size: 26px;
        font-weight: 300;
        letter-spacing: 0;
        line-height: 33px;
        color: var(--lightgrey);
        text-transform: none;
        display: block;
        padding-bottom: 5px;
    }
}

/*================================================
    #portfolio
================================================*/

@media only screen and ( min-width: 981px ) {
    .fwidth {
        width: 100%;
        max-width: unset;
    }

    ul#menu-portfolio {
        max-width: 1080px;
        margin: 0 auto;
        width: 80%;
    }
}

#portfolio.et_pb_section {
    padding: var(--gap-small) 0;
}

#portfolio .et_pb_row {
    padding: 0;
}

/*================================================
    Über mich
================================================*/

.page-id-66 .et_pb_section_1 {
    padding-top: 0;
}

/*================================================
    Leistungen > BEAUTYFOTOGRAFIE
================================================*/

@media only screen and ( min-width: 981px ) {
    #leistungen_beautyfotografie.et_pb_section,
    #workshops_fotografie.et_pb_section {
        padding: 100px 0;
    }

    #workshops_fotografie.et_pb_section .et_pb_column_1_2 {
        width: calc((100% / 2) - (22px / 2));
    }

    #workshops_fotografie.et_pb_section .et_pb_column_1_2:first-of-type {
        margin-right: 22px;
    }
}

#leistungen_beautyfotografie.et_pb_section .et_pb_text.narrow,
#workshops_fotografie.et_pb_section .et_pb_text.narrow {
    margin-bottom: 40px;
}

#leistungen_beautyfotografie.et_pb_section .et_pb_button_module_wrapper,
#workshops_fotografie.et_pb_section .et_pb_button_module_wrapper {
    display: inline-block;
    margin-bottom: 60px;
}

#leistungen_beautyfotografie .et_pb_row:last-of-type {
    padding-bottom: 0;
}

#workshops_fotografie.et_pb_section .et_pb_row,
#workshops_fotografie.et_pb_section .et_pb_column {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
}

@media only screen and ( max-width: 980px ) {
    #leistungen_beautyfotografie.et_pb_section,
    #workshops_fotografie.et_pb_section,
    #referenzen.et_pb_section,
    #intro.et_pb_section {
        padding: 60px 0;
    }

    #intro .et_pb_row {
        padding: 0;
    }

    #intro .et_pb_row .et_pb_column:first-of-type {
        margin-bottom: 60px;
    }

    #workshops_fotografie.et_pb_section .et_pb_column_1_2:first-of-type {
        margin-bottom: var(--gap-small);
    }
}

/*================================================
    Referenzen
================================================*/
@media only screen and ( max-width: 767px ) {
    .swiper-button-prev,
    .swiper-button-next {
        display: none;
    }
}

/*================================================
    Leistungen > Beauty
================================================*/

article.leistung {
    text-align: center;
}

article.leistung h3 {
    margin-top: 25px;
    margin-bottom: 10px;
    padding-bottom: 0;
    text-transform: uppercase;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 31px;
}

article.leistung div.images {
    position: relative;
    max-width: 400px;
    margin: 0 auto;
}

article.leistung img.small {
    width: 80px;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 0;
}

@media only screen and ( max-width: 980px ) {
    article.leistung:not(:last-of-type) {
        margin-bottom: 60px;
    }

    article .description {
        max-width: 334px;
        margin: 0 auto;
    }
}

/*================================================
    Infobox
================================================*/

#infoboxes .et_pb_blurb_content {
    max-width: unset;
}

#infoboxes .et_pb_main_blurb_image .et_pb_image_wrap {
    position: relative;
}

#infoboxes .et_pb_main_blurb_image .et_pb_image_wrap::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--black);
    opacity: .6;
    transition: 500ms;
}

#infoboxes .et_pb_main_blurb_image:hover .et_pb_image_wrap::before {
    opacity: .2;
    transition: 500ms;
}

#infoboxes .et_pb_main_blurb_image {
    margin-bottom: 0;
}

#infoboxes .et_pb_blurb_container {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
}

#infoboxes .et_pb_blurb.et_pb_text_align_left .et_pb_blurb_content .et_pb_blurb_container {
    text-align: center;
}

#infoboxes h2.et_pb_module_header,
#infoboxes h2.et_pb_module_header span {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 4px;
    line-height: 22px;
    color: var(--white);
    text-transform: uppercase;
    padding-bottom: 0;
}

@media only screen and ( max-width: 980px ) {
    #infoboxes.et_pb_section,
    #infoboxes.et_pb_row {
        padding-bottom: 0;
    }

    #infoboxes .et_pb_module.et_pb_blurb {
        margin-bottom: var(--gap-small);
    }

    #infoboxes .et_pb_module.et_pb_blurb:last-of-type {
        margin-bottom: 0;
    }
}