/* Reset margin und border */

* {
    border: 0;
    margin: 0;
}

a,
a:link,
a:focus,
a:visited,
 :-moz-focusring {
    color: #000;
    border: 0;
    outline: 0;
    text-decoration: none;
}

a:-webkit-any-link {
    text-decoration: none;
}

img {
    display: block;
    width: 100%;
    height: auto;
}


/* Clearfix */

.clearfix::after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}


/*-------------- Baustelle --------------------------------------------------*/

.logo_wrap {
    max-width: 60%;
    margin-left: calc(50% - 20%);
    margin-top: 48vh;
}

@media (min-width: 1024px) {
    .logo_wrap {
        max-width: 545px;
        margin-left: calc(50% - 130px);
        margin-top: 48vh;
    }
}

@media (min-width: 1921px) {
    .logo_wrap {
        max-width: 730px;
    }
}


/*-------------------------- Startseite neu 03-2020 ------------------------*/

.wrapper {
    box-sizing: border-box;
    padding: 115px 160px;
    width: 100%;
}

@media (max-width: 1120px) {
    .wrapper {
        box-sizing: border-box;
        padding: 50px 0px;
        width: 100%;
    }
}

.logo_top-left {
    width: 435px;
}

.textblock {
    width: 790px;
    margin-left: calc(50% - 130px);
    margin-top: 15vh;
}

@media (max-width: 1920px) {
    .textblock {
        width: 790px;
        margin-left: calc(50% - 130px);
        margin-top: 7vh;
    }
}

.margb0px {
    margin-bottom: 0px;
}

p,
.margb5px {
    margin-bottom: 7px;
}

.margb40px {
    margin-bottom: 40px;
}

.margt40px {
    margin-top: 50px;
    /*40px*/
}

@media (max-width: 500px) {
    .margt40px {
        margin-top: 0px;
        /*40px*/
    }
}

.font14px {
    font-size: 16px;
    text-transform: uppercase;
    line-height: 18px;
    letter-spacing: 1.5px;
}

.font20px {
    font-size: 26px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.font36px {
    font-size: 50px;
    text-transform: uppercase;
    line-height: 46px;
    margin-top: 11px;
    margin-bottom: 75px;
    /*50px*/
}

.font42px {
    font-size: 60px;
    text-transform: uppercase;
    line-height: 1.16em;
    letter-spacing: 0.5px;
}

.smallimg {
    width: 60px;
    margin-top: 10px;
}

.lineheight23px {
    line-height: 23px;
}

.button_dl {
    width: 138px;
    height: 34px;
    background: #000;
    box-sizing: border-box;
    display: inline-block;
    font-size: 14px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #fff;
    padding: 7px 10px;
    text-align: center;
    margin-bottom: 0px;
    margin-top: 10px;
    font-family: 'dinbold';
}


/*--------------------------------------------------------------------------*/


/* -------------------------- RegulÃ¤re Seite -------------------------------*/


/*--------------------------------------------------------------------------*/


/* Header und Nav */

.header {
    position: fixed;
    height: 80px;
    width: 100%;
    box-sizing: border-box;
    padding-top: 12px;
    top: 0;
    left: 0;
    background-color: #ffffff;
    z-index: 1040;
    -webkit-box-shadow: 0px 19px 15px -7px rgba(0, 0, 0, 0.27);
    -moz-box-shadow: 0px 19px 15px -7px rgba(0, 0, 0, 0.27);
    box-shadow: 0px 19px 15px -7px rgba(0, 0, 0, 0.27);
}

@media (min-width: 1025px) {
    .header {
        height: 130px;
        padding-top: 20px;
    }
}

.logos {
    display: table;
    float: left;
    margin-top: -3px;
}

.logo_sport {
    width: 220px;
    display: table-cell;
    vertical-align: bottom;
    padding-right: 25px;
}

.logo_sport img {
    width: 220px;
    margin-top: 13px;
}

.logo_ems {
    display: table-cell;
    vertical-align: bottom;
}

.logo_ems img {
    width: 43px;
}

@media (min-width: 1025px) {
    .logo_sport {
        width: 350px;
    }
    .logo_sport img {
        width: 350px;
        height: 111px;
        margin: 0;
    }
    .logo_ems {
        width: 84px;
    }
    .logo_ems img {
        width: 84px;
        /*height: 76px;*/
        /*padding-bottom: 6px;*/
    }
}

#nav_mob {
    float: right;
    position: relative;
    margin-right: 10px;
    margin-top: 20px;
}

.contextmenu_trigger {
    position: absolute;
    right: 5px;
    top: 0px;
    width: 30px;
}

.context_zie_open {
    display: block;
    position: absolute;
    top: 40px;
    right: -26px;
    width: 100vw;
    background-color: #000;
    box-sizing: border-box;
    padding: 15px;
    -webkit-box-shadow: 0px 10px 21px -4px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 10px 21px -4px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 10px 21px -4px rgba(0, 0, 0, 0.75);
}

ul.topnav_mob {
    list-style-type: none;
    text-align: right;
    margin-top: 20px;
    padding-right: 10px;
    li {
        a {
            font-family: "dinlight";
            text-transform: uppercase;
            color: #fff;
            font-size: 20px;
            line-height: 41px;
            &:hover {
                font-family: "dinlight";
                text-transform: uppercase;
                color: #fff;
                font-size: 20px;
                line-height: 41px;
            }
        }
    }
}

.button_training_mob {
    color: #ffffff;
    background-color: #b72967;
    width: 130px;
    height: 38px;
    line-height: 14px;
    font-family: "SeroBold";
    font-size: 14px;
    text-transform: uppercase;
    box-sizing: border-box;
    padding: 6px;
    letter-spacing: 1px;
    text-align: center;
    float: right;
    margin: 20px 0px 15px 0px;
}

#nav_desk {
    float: right;
    display: none;
}

@media (min-width: 768px) {
    #nav_desk {
        display: block;
    }
    #nav_mob {
        display: none;
    }
}

ul.topnav_desk {
    list-style-type: none;
    margin-top: 20px;
    /*margin-right: 40px;*/
    float: left;
}

ul.topnav_desk li {
    float: left;
    /*margin-left: 28px;*/
    box-sizing: border-box;
    height: 60px;
    min-width: 130px;
    position: relative;
}

ul.topnav_desk li.unterst_special {
    width: 190px;
}

@media (max-width: 1024px) {
    ul.topnav_desk li {
        float: left;
        /*margin-left: 28px;*/
        box-sizing: border-box;
        height: 30px;
        width: 130px;
        position: relative;
    }
}

ul.topnav_desk li a {
    font-family: "SeroBoldd";
    text-transform: uppercase;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    box-sizing: border-box;
    padding: 3px 13px 0px 13px;
    display: block;
    background: #000;
    transition: all 0.1s linear 0s;
    position: absolute;
    bottom: 0;
    left: 0;
    border-top: 2px solid #000;
}

ul.topnav_desk li a:last-child {
    margin-right: 7px;
}

ul.topnav_desk li a:hover {
    /*background: #FEE006;*/
    background: #000;
    color: #fff;
    border-top: 10px solid #000;
}

ul.topnav_desk li a.active_nav {
    /*background: #FEE006;*/
    background: #000;
    color: #fff;
    border-top: 10px solid #000;
}

.kontakt_training {
    width: 130px;
    float: right;
    text-align: center;
    margin-top: 12px;
}

.kontakt_training a {
    text-align: center;
    font-family: "dinbold";
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

@media (min-width: 768px) {
    ul.topnav_desk {
        list-style-type: none;
        margin-top: 11px;
        /*margin-right: 40px;*/
        float: left;
    }
    ul.topnav_desk li a {
        font-family: "dinbold";
        text-transform: uppercase;
        color: #fff;
        font-size: 14px;
    }
    .kontakt_training {
        width: 130px;
        float: right;
        text-align: center;
        margin-top: -10px;
    }
    .kontakt_training a {
        text-align: center;
        font-family: "dinbold";
        font-size: 12px;
        line-height: 10px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }
    .button_training {
        color: #ffffff;
        background-color: #b72967;
        width: 130px;
        height: 38px;
        line-height: 14px;
        font-family: "dinbold";
        font-size: 14px;
        text-transform: uppercase;
        box-sizing: border-box;
        padding: 6px;
        letter-spacing: 1px;
    }
}

@media (min-width: 1025px) {
    ul.topnav_desk {
        list-style-type: none;
        margin-top: 13px;
        /*margin-right: 40px;*/
        float: left;
    }
    ul.topnav_desk li a {
        font-family: "dinbold";
        text-transform: uppercase;
        color: #fff;
        font-size: 17px;
        padding-bottom: 4px;
    }
    .kontakt_training {
        width: 130px;
        float: right;
        text-align: center;
        margin-top: 30px;
    }
    .kontakt_training a {
        text-align: center;
        font-family: "dinbold";
        font-size: 14px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }
    .button_training {
        color: #ffffff;
        background-color: #b72967;
        width: 130px;
        height: 47px;
        line-height: 16px;
        font-family: "dinbold";
        font-size: 14px;
        text-transform: uppercase;
        box-sizing: border-box;
        padding: 9px;
        letter-spacing: 1px;
    }
}

.content {
    margin-top: 105px;
}

@media (min-width: 1025px) {
    .content {
        margin-top: 180px;
    }
}


/* -------------------- zentral hinterlegte AbstÃ¤nde ------------------------*/

.marg_top_medium {
    margin-top: 40px;
}

.marg_bottom_medium {
    margin-bottom: 40px;
}

@media (max-width: 767px) {
    .marg_top_medium {
        margin-top: 10px;
    }
    .marg_bottom_medium {
        margin-bottom: 10px;
    }
}


/*-------------------- Content ----------------------------------------------*/


/* H's, P's*/

h1 {
    font-family: 'dinlight';
    font-size: 14px;
    letter-spacing: 7px;
    margin-bottom: 20px;
    font-weight: normal;
    text-transform: uppercase;
}

h2 {
    font-family: 'dinlight';
    font-size: 60px;
    /*line-height: 68px;*/
    line-height: 1.16em;
    letter-spacing: 1px;
    font-weight: normal;
    text-transform: uppercase;
    margin-bottom: 13px;
}

.wrapper_reg p {
    margin-bottom: 8px;
}

p.smallregular {
    margin-bottom: 0px;
    line-height: 15px;
}

.boldupper {
    font-family: 'dinbold';
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 1.5px;
    font-weight: normal;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 3px;
}

.smallregular {
    font-family: 'dinlight';
    font-size: 19px;
    line-height: 19px;
    letter-spacing: 0px;
    font-weight: normal;
    display: inline-block;
}

.smallupper {
    font-family: 'dinlight';
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 1px;
    font-weight: normal;
    text-transform: uppercase;
    display: inline-block;
}


/* Content */

.wrapper_reg {
    width: 100%;
    font-family: 'dinlight';
    font-size: 20px;
    line-height: 24px;
}

.inner_wrap_full {
    width: 100%;
    box-sizing: border-box;
}

.inner_wrap {
    width: 100%;
    box-sizing: border-box;
    padding: 0px 15px;
}

@media (min-width: 1150px) {
    .inner_wrap,
    .inner_wrap_full {
        max-width: 1120px;
        padding: 0;
        margin: auto;
    }
}

.smaller_wrap {
    padding: 0px 100px 0px 135px;
}

@media (max-width: 1120px) {
    .smaller_wrap {
        padding: 10px 15px;
    }
}

.spacer {
    margin-top: 120px;
}


/* Variable Spacer */

.spacer20 {
    padding: 10px 0px;
}

.spacer30 {
    padding: 15px 0px;
}

.spacer40 {
    padding: 20px 0px;
}

.spacer60 {
    padding: 30px 0px;
}

.spacer100 {
    padding: 50px 0px;
}

@media (max-width: 500px) {
    .spacer20 {
        padding: 20px 0px;
    }
    .spacer30 {
        padding: 0px 0px;
    }
    .spacer40 {
        padding: 0px 0px;
    }
    .spacer60 {
        padding: 0px 0px;
    }
    .spacer100 {
        padding: 0px 0px;
    }
}

.circle_grey {
    box-sizing: border-box;
    padding: 14px 0px 0px 0px;
    min-height: 300px;
    background: rgba(255, 255, 255, 1);
    background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 6%, rgba(255, 255, 255, 1) 35%, rgba(255, 255, 255, 1) 38%, rgba(228, 229, 231, 1) 85%, rgba(228, 229, 231, 1) 100%);
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, rgba(255, 255, 255, 1)), color-stop(6%, rgba(255, 255, 255, 1)), color-stop(35%, rgba(255, 255, 255, 1)), color-stop(38%, rgba(255, 255, 255, 1)), color-stop(85%, rgba(228, 229, 231, 1)), color-stop(100%, rgba(228, 229, 231, 1)));
    background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 6%, rgba(255, 255, 255, 1) 35%, rgba(255, 255, 255, 1) 38%, rgba(228, 229, 231, 1) 85%, rgba(228, 229, 231, 1) 100%);
    background: -o-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 6%, rgba(255, 255, 255, 1) 35%, rgba(255, 255, 255, 1) 38%, rgba(228, 229, 231, 1) 85%, rgba(228, 229, 231, 1) 100%);
    background: -ms-radial-gradient(center, ellipse cover, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 6%, rgba(255, 255, 255, 1) 35%, rgba(255, 255, 255, 1) 38%, rgba(228, 229, 231, 1) 85%, rgba(228, 229, 231, 1) 100%);
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 6%, rgba(255, 255, 255, 1) 35%, rgba(255, 255, 255, 1) 38%, rgba(228, 229, 231, 1) 85%, rgba(228, 229, 231, 1) 100%);
}

@media (max-width:529px) {
    .circle_grey {
        min-height: 420px;
    }
}


/* ---- Footer --- */

.footer_logo {
    float: left;
    width: 200px;
    box-sizing: border-box;
    padding: 20px 0px;
    margin-right: 50px;
}

@media (max-width: 500px) {
    .footer_logo {
        display: none;
    }
}

.footer_arche {
    float: left;
    width: 200px;
    box-sizing: border-box;
    padding: 20px 0px;
    margin-right: 50px;
}

.footer_kontakt {
    float: left;
    width: 200px;
    box-sizing: border-box;
    padding: 20px 0px;
    margin-right: 50px;
}

.footer_impressum {
    float: left;
    width: 200px;
    box-sizing: border-box;
    padding: 20px 0px;
    margin-right: 50px;
}

@media (max-width: 529px) {
    .footer_arche {
        float: left;
        width: 200px;
        box-sizing: border-box;
        padding: 10px 0px;
        margin-right: 50px;
    }
    .footer_kontakt {
        float: left;
        width: 200px;
        box-sizing: border-box;
        padding: 10px 0px;
        margin-right: 50px;
    }
    .footer_impressum {
        float: left;
        width: 200px;
        box-sizing: border-box;
        padding: 10px 0px;
        margin-right: 50px;
    }
}


/* Canvas */

.canv_desk {
    display: block;
}

.canv_mob {
    display: none;
}

.desk_only {
    display: block;
}

.mob_only {
    display: none;
}

@media (max-width: 1023px) {
    .canv_desk {
        display: none;
    }
    .canv_mob {
        display: block;
    }
    .desk_only {
        display: none;
    }
    .mob_only {
        display: block;
    }
}

canvas {
    /*position: absolute;
    left: 10%;
    top: 12%;*/
    width: 1024px;
    height: 682px;
    margin: auto;
    /*cursor: pointer;*/
    overflow: hidden;
}

#donations {
    width: 100%;
}

#canv {
    width: 1024px;
    height: 682px;
    z-index: 2;
    background-image: url('../media/spiegelarche_-1px.jpg');
    background-repeat: no-repeat;
    background-size: contain;
}

#textbox {
    position: absolute;
    width: 260px;
    box-sizing: border-box;
    padding: 20px;
    background: #fff;
    font-size: 16px;
    -webkit-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.31);
    -moz-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.31);
    box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.31);
}

#paypal_don {
    position: absolute;
    top: calc(50% - 100px);
    left: calc(50% - 130px);
    width: 260px;
    box-sizing: border-box;
    padding: 20px;
    background: #fff;
    text-align: center;
    -webkit-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.31);
    -moz-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.31);
    box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.31);
}


/* lightslider */

.plusicon {
    position: absolute;
    top: calc(50% + 10px);
    left: calc(50% - 35px);
    width: 70px;
    height: 70px;
    cursor: pointer;
    transition: all 0.1s linear 0s;
}

@media (max-width: 590px) {
    .plusicon {
        position: absolute;
        top: calc(50% + 15px);
        left: calc(50% - 25px);
        width: 50px;
        height: 50px;
        cursor: pointer;
        transition: all 0.1s linear 0s;
    }
}

.hover_img {
    position: absolute;
    width: 340px;
    top: 0;
    left: 0;
    height: 100%;
    cursor: pointer;
    opacity: 0;
    background-color: #ffffff;
    transition: all 0.1s linear 0s;
}

.hover_img:hover {
    opacity: 0.3;
}


/*-------------------- Back to top ------------------------------------------*/

.back-to-top {
    position: fixed;
    right: 0;
    bottom: 40px;
    display: none;
    z-index: 1000;
    -webkit-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.31);
    -moz-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.31);
    box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.31);
    /*background: #b72967;*/
    background: #000;
    cursor: pointer;
    width: 80px;
    height: 37px;
    box-sizing: border-box;
    padding: 6px 20px;
    transition: all 0.1s linear 0s;
}

.back-to-top:hover {
    transform: scale(1.1);
}

@media (min-width: 1120px) {
    .back-to-top {
        right: calc(50% - 560px);
    }
}

@media (max-width: 500px) {
    .back-to-top {
        bottom: 0;
    }
}

.foot_kontakt {
    position: fixed;
    z-index: 1000;
    /*right: 100px;*/
    right: calc(50% - 100px);
    bottom: 0px;
    width: 200px;
    height: 60px;
    background: #000;
    text-transform: uppercase;
    text-align: center;
    box-sizing: border-box;
    padding: 13px 0px;
    cursor: pointer;
    -webkit-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.6);
    -moz-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.6);
    box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.6);
}

.foot_unterst {
    position: fixed;
    z-index: 1000;
    /*right: 100px;*/
    right: calc(50% - 100px);
    bottom: 70px;
    width: 200px;
    height: 42px;
    background: #00ddf7;
    text-transform: uppercase;
    text-align: center;
    box-sizing: border-box;
    padding: 9px 0px;
    cursor: pointer;
    -webkit-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.6);
    -moz-box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.6);
    box-shadow: 12px 15px 23px -6px rgba(0, 0, 0, 0.6);
}

@media (max-width: 500px) {
    .foot_unterst {
        bottom: 50px;
    }
}

a .foot_kontakt:hover p,
a .foot_unterst:hover p {
    transform: scale(1.1);
}

a .foot_unterst p {
    font-family: 'dinbold';
    font-size: 13px;
    letter-spacing: 3px;
    color: #fff;
    transition: all 0.1s linear 0s;
}

a .foot_kontakt p {
    font-family: 'dinbold';
    font-size: 17px;
    letter-spacing: 2px;
    color: #fff;
    transition: all 0.1s linear 0s;
}

@media (max-width: 500px) {
    .foot_kontakt {
        right: calc(50% - 70px);
        bottom: 0px;
        width: 140px;
        height: 40px;
        padding: 5px 0px;
    }
    a .foot_kontakt p {
        font-size: 15px;
    }
}

.bg-graphics {
    background-image: url('../media/outline-spiegelarche.svg');
    background-size: contain;
    background-position: bottom left;
    min-height: 80vh;
    background-repeat: no-repeat;
}

.button_mail {
    width: 138px;
    height: 34px;
    background: #000;
    box-sizing: border-box;
    display: inline-block;
    font-size: 14px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #fff;
    padding: 7px 10px;
    text-align: center;
    margin-bottom: 0px;
    margin-top: 10px;
    color: #fff;
    font-family: 'dinbold';
    letter-spacing: 2px;
    font-size: 14px;
}


/* Gallery show all */

.gal_box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.flex_gal {
    flex: 0 1 340px;
    background-color: #fff;
    /*height: 275px;*/
    margin: 25px 0px;
    position: relative;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.3s linear 0s;
}

@media (max-width: 709px) {
    .flex_gal {
        flex: 0 1 163px;
        background-color: #fff;
        /*height: 275px;*/
        /*margin: 25px auto;*/
        position: relative;
        box-sizing: border-box;
        cursor: pointer;
        transition: all 0.3s linear 0s;
    }
    .flex_gal .hover_img {
        position: absolute;
        width: 163px;
        top: 0;
        left: 0;
        height: 100%;
        cursor: pointer;
        opacity: 0;
        background-color: #ffffff;
        transition: all 0.1s linear 0s;
    }
    .flex_gal .hover_img:hover {
        opacity: 0.3;
    }
    .flex_gal .plusicon {
        position: absolute;
        top: calc(50% + 20px);
        left: calc(50% - 25px);
        width: 50px;
        height: 50px;
        cursor: pointer;
        transition: all 0.1s linear 0s;
    }
}

.abst_nach_oben {
    margin-top: 60px;
}

@media (max-width: 767px) {
    .abst_nach_oben {
        margin-top: 10px;
    }
}