/*
Theme Name: WP Master Theme 2
Theme URI: https://bitbucket.org/eunit/wp-master-theme-2
Author: Johannes Veelken
Author URI: http://e-unit.de
Description: e-unit's Wordpress Master Theme als Vorlage für eigene, neue Themes.
Version: 2.1.0
Text Domain: wp-master-theme-2
Bitbucket Theme URI: https://bitbucket.org/eunit/wp-master-theme-2
*/

.max-content-h {
    height: intrinsic;
    height: -moz-max-content;
    height: -webkit-max-content;
    height: max-content
}

.max-content-w {
    width: intrinsic;
    width: -moz-max-content;
    width: -webkit-max-content;
    width: max-content
}

.widget_search input[type="text"] {
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s
}

.widget_search input[type="submit"] {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
    border-style: solid;
    border-width: 1px;
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border-radius: 4px
}

.widget_pages ul,.widget_nav_menu ul {
    list-style-type: none;
    padding: 0;
    margin: 0
}

.widget_pages ul ul,.widget_nav_menu ul ul {
    padding-left: 15px;
    padding-left: .9375rem
}

.gksm-custom-menu-widget {
    background: #eee;
    padding: 15px
}

.gksm-custom-menu-widget ul {
    padding: 0;
    margin: 0
}

.gksm-custom-menu-widget ul li {
    list-style-type: none
}

.gksm-custom-menu-widget ul li a {
    display: block;
    padding: .5em 0em;
    border-top: 1px solid #fff
}

.gksm-custom-menu-widget ul li.current_page_item a {
    color: #095096 !important;
    font-weight: bold
}

form textarea {
    max-width: 100%;
    height: 132px !important
}

form .btn {
    float: right;
    padding: 10px 40px;
    background-color: #024f98;
    border-radius: 5px;
    color: #ffffff;
    border: none
}

form .btn:hover,form .btn:active,form .btn:focus,form .btn:active:focus {
    background-color: #013566;
    color: #ffffff
}

form .btn:hover:disabled {
    background-color: #0369ca;
    color: #ffffff
}

form .form-control {
    background: #ffffff;
    width: 100% !important;
    margin-bottom: 15px;
    border-radius: 5px
}

form .form-control::placeholder {
    color: #aaaaaa;
    opacity: 1
}

form .form-control::-webkit-input-placeholder,form .form-control:-ms-input-placeholder,form .form-control::-ms-input-placeholder {
    color: #aaaaaa
}

form select.form-control {
    color: #aaaaaa
}

form select.form-control option {
    color: #333
}

form .input-group {
    margin-bottom: 15px;
    width: 100%
}

form .input-group .input-group-addon i {
    font-size: 18px;
    color: #024f98
}

form .check-container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-size: 16px
}

form .check-container br {
    display: none
}

form .check-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0
}

form .check-container input:checked ~ .checkmark {
    background-color: #ec6e29
}

form .check-container input:checked ~ .checkmark:after {
    display: block
}

form .check-container .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #ec6e29
}

form .check-container .checkmark:after {
    content: "";
    position: absolute;
    display: none;
    left: 10px;
    top: 6px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

form .check-container:hover .checkmark {
    background-color: #e75f15
}

.btn.btn-flat {
    border: none;
    border-radius: 2px;
    position: relative;
    margin: 10px 1px;
    padding: 5px 20px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0;
    will-change: box-shadow,transform;
    color: #000000de;
    transition: box-shadow .2s cubic-bezier(.4, 0, 1, 1), background-color .2s cubic-bezier(.4, 0, .2, 1), color .2s cubic-bezier(.4, 0, .2, 1);
    outline: 0;
    cursor: pointer;
    text-decoration: none;
    background: 0 0
}

.btn.btn-flat:hover {
    background-color: #9993
}

.dtp > .dtp-content > .dtp-date-view header.dtp-header {
    background: #d05512
}

.dtp > .dtp-content > .dtp-date-view header.dtp-header .dtp-close i {
    color: #ffffff !important
}

.dtp > .dtp-content > .dtp-date-view .dtp-date,.dtp > .dtp-content > .dtp-date-view .dtp-time {
    background: #ec6e29
}

.dtp > .dtp-content > .dtp-date-view .dtp-date .left a,.dtp > .dtp-content > .dtp-date-view .dtp-time .left a,.dtp > .dtp-content > .dtp-date-view .dtp-date .right a,.dtp > .dtp-content > .dtp-date-view .dtp-time .right a {
    color: #ffffff !important
}

.dtp > .dtp-content > .dtp-date-view .dtp-picker table td a {
    color: #333 !important
}

.dtp > .dtp-content > .dtp-date-view .dtp-picker table td a:hover {
    color: #024f98 !important
}

.dtp > .dtp-content > .dtp-date-view .dtp-picker table td a.selected {
    background: #024f98;
    color: #ffffff !important
}

.dtp > .dtp-content > .dtp-date-view .dtp-picker table td a.selected:hover {
    color: #ffffff !important
}

.dtp > .dtp-content > .dtp-date-view .dtp-picker .svg-clock circle[fill="#8BC34A"] {
    fill: #024f98
}

.dtp > .dtp-content > .dtp-date-view .dtp-picker .svg-clock line.hour-hand,.dtp > .dtp-content > .dtp-date-view .dtp-picker .svg-clock line.minute-hand {
    stroke: #024f98
}

.cookie-notice-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 20px 5px
}

.cookie-notice-container #cn-accept-cookie {
    background: #ec6e29;
    color: #ffffff !important;
    font-weight: bold;
    border-radius: 2px;
    margin: 15px 0 5px;
    padding: 10px 30px;
    max-width: 200px;
    transition: all ease .2s
}

.cookie-notice-container #cn-accept-cookie:hover {
    background: #e75f15;
    color: #ffffff;
    text-decoration: none
}

.cookie-notice-container #cn-refuse-cookie {
    background: none;
    padding: 0;
    color: #ffffff !important
}

.cookie-notice-container #cn-refuse-cookie:hover {
    text-decoration: none
}

.cn-revoke-cookie {
    background: none !important;
    padding: 0 !important
}

.alignnone {
    margin: 5px 20px 20px 0
}

.aligncenter,div.aligncenter {
    display: block;
    margin: 5px auto 5px auto
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px
}

a img.alignnone {
    margin: 5px 20px 20px 0
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    white-space: nowrap;
    height: 1px;
    width: 1px;
    overflow: hidden
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0,0,0,0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

html {
    height: auto
}

body {
    font-size: 14px;
    font-size: .875rem;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -ms-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.grecaptcha-badge {
    display: none
}

.container {
    min-width: 320px
}

a {
    text-decoration: none;
    color: #ec6e29 !important
}

a:hover {
    color: #024f98 !important;
    text-decoration: none
}

a:focus {
    outline: none;
    text-decoration: none
}

h1 {
    color: #dae7f7;
    font-weight: bolder;
    background-color: #024f98;
    border-bottom-right-radius: 10px;
    padding: 10px 15px 5px 15%;
    margin: 0;
    margin-bottom: 20px;
    text-transform: uppercase;
    position: relative;
    width: intrinsic;
    width: -moz-max-content;
    width: -webkit-max-content;
    width: max-content;
    max-width: 100%;
    z-index: 998
}

h1:after {
    content: '';
    position: absolute;
    width: 50vw;
    height: 100%;
    left: -50vw;
    top: 0;
    background-color: inherit;
    margin-bottom: inherit
}

h2 {
    color: #024f98;
    font-weight: bolder
}

h3 {
    color: #ec6e29
}

.verbesserung {
    padding: 8px;
    margin: 15px 0;
    border-radius: 0;
    border: 1px solid transparent;
    background-color: #eeeeee;
    color: #024f98;
    font-weight: bolder;
    z-index: 998 !important;
    position: absolute;
    right: 10px;
    top: 0
}

.verbesserung:hover {
    color: #024f98;
    border: 1px solid #024f98
}

@media (max-width: 992px) {
    .verbesserung {
        display: none
    }
}

#wpadminbar {
    z-index: 9999999
}

#wpadminbar a {
    color: #ffffff !important
}

#wpadminbar a:hover {
    color: #00b9eb !important
}

@media (max-width: 600px) {
    #wpadminbar {
        position: fixed
    }
}

.tos-close {
    top: 100px
}

.so-widget-sow-features .sow-features-list .sow-features-feature .sow-icon-container {
    width: 100%
}

.so-widget-sow-features .sow-features-list .sow-features-feature .sow-icon-container .sow-icon-image {
    width: 100%
}

.so-widget-sow-features .sow-features-list .sow-features-feature .textwidget h5 {
    font-size: 1.1em;
    font-weight: bolder;
    hyphens: auto;
    text-align: center
}

.categories {
    background-color: #dae7f7;
    height: 250px;
    margin: 20px 0 150px;
    padding: 20px 50px 0px 50px !important
}

.categories .so-widget-sow-image .sow-image-container img {
    border-radius: 100%;
    border: 7px solid #ec6e29;
    box-shadow: 0 0 0 10px #dae7f7
}

.categories .so-widget-sow-image .widget-title {
    margin-top: 20px;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 22px
}

@media (max-width: 992px) {
    .categories {
        flex-direction: row
    }
}

@media (max-width: 780px) {
    .categories {
        height: auto;
        margin-bottom: 0;
        padding: 30px 0
    }

    .categories .so-widget-sow-image .sow-image-container img {
        height: 150px
    }
}

@media (min-width: 993px) {
    body {
        margin-top: 100px
    }

    .container {
        width: 970px
    }
}

.widget_sow-hero {
    margin-top: -75px !important
}

body {
    padding-top: 90px;
    padding-top: 5.625rem;
    font-family: Arial, Helvetica, "sans-serif";
    font-size: 18px;
    overflow-x: hidden;
    padding-top: 0;
    width: 100%;
    color: #333;
    transition: margin-left ease .5s
}

body.menu-is-open {
    overflow: hidden
}

@media (min-width: 992px) {
    body {
        margin-left: 0 !important;
        overflow-x: hidden !important
    }

    body.menu-is-open {
        overflow: auto
    }
}

.content {
    margin-left: 0;
    margin-right: 0;
    position: relative
}

#mainnav {
    position: fixed;
    z-index: 999;
    padding: 10px 0;
    background: #fff;
    border: none;
    border-radius: 0;
    height: 100px;
    width: 100%;
    margin: 0;
    transition: margin ease .5s;
    box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.2)
}

@media (min-width: 992px) {
    #mainnav {
        margin-left: 0 !important
    }
}

#mainnav #menu {
    height: 100%
}

#mainnav #menu .logo {
    height: 70px;
    margin: 5px 0;
    background-position: center center;
    background-size: cover;
    float: left
}

#mainnav #menu .logo img {
    height: 100%
}

#mainnav #menu .mainmenu {
    float: right;
    height: 100%
}

#mainnav #menu .mainmenu .menu-header-container {
    height: 100%
}

#mainnav #menu .mainmenu .menu-header-container ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    height: 100%;
    padding: 0
}

#mainnav #menu .mainmenu .menu-header-container ul li {
    height: 100%;
    list-style-type: none;
    text-align: center;
    transition: all ease .2s
}

#mainnav #menu .mainmenu .menu-header-container ul li ul {
    display: none
}

#mainnav #menu .mainmenu .menu-header-container ul li a {
    display: block;
    padding: 30px;
    color: #ec6e29 !important
}

#mainnav #menu .mainmenu .menu-header-container ul li:hover {
    background: #024f98
}

#mainnav #menu .mainmenu .menu-header-container ul li:hover a {
    color: #fff !important
}

@media (max-width: 992px) {
    #mainnav {
        position: static
    }
}

@media (max-width: 1240px) {
    #mainnav #menu .mainmenu .menu-header-container ul li a {
        padding: 30px 10px
    }
}

.mobile-menu {
    position: sticky;
    z-index: 999;
    height: 90px;
    width: 100%;
    padding: 10px;
    background-color: #024f98;
    transition: margin ease .5s
}

.mobile-menu .mobile-logo {
    display: none;
    height: 70px;
    max-width: 70%;
    margin: 5px 0;
    background-position: center center;
    background-size: cover;
    float: left
}

.mobile-menu .mobile-logo img {
    height: auto;
    max-height: 100%;
    width: auto;
    max-width: 100%
}

.mobile-menu .mobile-menu-selector {
    height: 70px;
    width: 70px;
    padding: 19px 18px;
    border-radius: 100%;
    background: #ec6e29;
    float: right
}

.mobile-menu .mobile-menu-selector .hamburger {
    content: '';
    width: 35px;
    height: 6px;
    background: #024f98;
    float: right;
    margin: 12px 0;
    position: relative;
    transition: all ease .5s
}

.menu-is-open .mobile-menu .mobile-menu-selector .hamburger {
    transform: rotate(-180deg);
    background: #ec6e29
}

.mobile-menu .mobile-menu-selector .hamburger:before {
    position: absolute;
    bottom: 12px;
    content: '';
    width: 100%;
    height: 6px;
    background: inherit;
    transition: all ease .5s
}

.menu-is-open .mobile-menu .mobile-menu-selector .hamburger:before {
    transform: rotate(45deg);
    width: 110%;
    margin-bottom: -10px;
    margin-left: -2px;
    background: #024f98
}

.mobile-menu .mobile-menu-selector .hamburger:after {
    position: absolute;
    top: 12px;
    content: '';
    width: 100%;
    height: 6px;
    background: inherit;
    transition: all ease .5s
}

.menu-is-open .mobile-menu .mobile-menu-selector .hamburger:after {
    transform: rotate(-45deg);
    width: 110%;
    margin-top: -14px;
    margin-left: -3px;
    background: #024f98
}

.mobile-nav {
    height: 100vh;
    position: fixed;
    left: -100%;
    padding: 40px 30px 40px 10px;
    overflow-x: hidden;
    overflow-y: auto;
    background: #02427f;
    z-index: 999;
    min-width: 200px;
    max-width: 70%;
    transition: left ease .5s
}

.mobile-nav ul {
    padding-left: 0
}

.mobile-nav ul li {
    list-style-type: none
}

.mobile-nav ul li a {
    width: 100%;
    padding: 15px;
    display: block;
    color: #ffffff !important
}

.mobile-nav ul li a:hover {
    background: #024f98;
    color: #fff !important
}

.mobile-nav ul li ul {
    margin-left: 30px
}

.mobile-nav ul li.current-menu-item > a {
    background: #024f98;
    color: #fff !important
}

.mobile-nav ul li .sub-menu {
    overflow: hidden;
    display: none
}

.mobile-nav ul li.menu-item-has-children .show-sub-menu {
    display: flex
}

.mobile-nav ul li.menu-item-has-children .show-sub-menu i {
    width: 50px;
    text-align: center;
    margin: auto;
    color: #fff;
    font-size: 25px;
    transition: transform ease .5s
}

.mobile-nav ul li.active .show-sub-menu i {
    transform: rotate(180deg)
}

.menu-is-open .mobile-nav {
    left: 0
}

.header {
    height: 600px;
    width: 100%;
    background-position: center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
    padding: 30px 40px 0
}

.header:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(225,225,225,0.7);
    height: 30%;
    width: 100%
}

.header .call {
    height: 70%;
    z-index: 1
}

.header .call .call-us-text {
    text-transform: uppercase;
    color: #ffffff;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    height: intrinsic;
    height: -moz-max-content;
    height: -webkit-max-content;
    height: max-content
}

.header .call .call-us-text p {
    font-weight: bolder;
    font-size: 1.4em;
    padding: 5px
}

.header .call .call-us-text i {
    border-radius: 100%;
    border: 2px solid #fff;
    padding: 7px;
    transform: rotate(90deg);
    margin-right: 5px;
    font-size: 0.7em;
    letter-spacing: normal
}

.header .call .call-us-text > * {
    background: #ec6e29;
    margin-bottom: 4px;
    display: table;
    transform: rotate(-4deg)
}

.header .call .call-us-text > *:first-child {
    margin-left: -40px;
    padding: 0 30px
}

.header .call .call-us-text > *:last-child {
    font-size: 1.8em;
    letter-spacing: 4px
}

.header .short-form {
    height: 70%;
    background-color: #ec6e29;
    border-radius: 15px;
    color: #024f98;
    position: relative;
    z-index: 1
}

.header .short-form .form-caption {
    text-align: right;
    font-weight: bolder;
    padding-top: 20px
}

.header .short-form .nav-tabs {
    border-bottom: 1px solid #024f98
}

.header .short-form .nav-tabs li a {
    background-color: none;
    color: #024f98 !important;
    border: none;
    margin-right: 10px
}

.header .short-form .nav-tabs li a:focus,.header .short-form .nav-tabs li a:hover {
    border: none
}

.header .short-form .nav-tabs li.active a {
    background-color: #024f98;
    color: #ffffff !important
}

.header .short-form .nav-tabs li:hover a {
    background-color: #024f98;
    color: #ffffff !important
}

.header .short-form:after {
    content: '';
    width: 20px;
    height: 20px;
    transform: rotate(45deg);
    position: absolute;
    bottom: -10px;
    left: 12%;
    background: #ec6e29
}

.header .short-form form {
    padding: 20px 10px
}

.header .short-form form .btn {
    margin-top: 20px;
    padding: 10px 0
}

.header .services {
    height: 30%;
    z-index: 1
}

.header .services > * {
    height: 50%;
    position: relative
}

.header .services > * p {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    font-weight: bolder;
    color: #024f98;
    height: intrinsic;
    height: -moz-max-content;
    height: -webkit-max-content;
    height: max-content
}

.header .services i {
    border-radius: 100%;
    background: #ec6e29;
    color: #024f98;
    padding: 7px;
    margin-right: 5px;
    letter-spacing: normal
}

.header .quick-steps {
    height: 30%;
    z-index: 1;
    position: relative
}

.header .quick-steps img {
    width: 90%;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    max-width: 700px
}

@media (max-width: 992px) {
    .header {
        height: 400px;
        padding: 0;
        margin-top: 0 !important
    }

    .header:after {
        display: none
    }

    .header .call {
        display: none
    }

    .header .short-form {
        height: 90% !important;
        margin: 2.5%
    }

    .header .short-form:after {
        display: none
    }

    .header .services {
        display: none
    }

    .header .quick-steps {
        display: none
    }
}

@media (max-width: 768px) {
    .header {
        height: 700px
    }

    .header .short-form {
        margin: 5%
    }
}

#footer {
    background: #fff;
    color: #333;
    padding: 30px 0 0;
    position: relative;
    display: table;
    width: 100%;
    overflow: hidden
}

#footer .footer-img {
    position: absolute;
    left: -15px;
    bottom: 0;
    z-index: 2
}

#footer .contact-data {
    padding: 0 50px 30px
}

#footer .contact-data a {
    color: #333 !important
}

#footer .contact-data a:hover {
    color: #ec6e29 !important
}

#footer .contact-data .footer-logo {
    margin-bottom: 30px
}

#footer .contact-data .footer-logo img {
    max-width: 100%
}

#footer .contact-data .data {
    margin-bottom: 40px
}

#footer .contact-data .data .row {
    margin: 0
}

#footer .contact-data .data .row .adress {
    margin-bottom: 30px
}

#footer .contact-data .footer-menu {
    margin-bottom: 30px;
    padding: 0
}

#footer .contact-data .footer-menu ul {
    padding: 0;
    margin: 0
}

#footer .contact-data .footer-menu ul li {
    list-style-type: none;
    text-align: right
}

#footer .footer-mini-logos {
    padding-left: 50%;
    position: absolute;
    bottom: -10px;
    z-index: 999;
    display: block
}

#footer .footer-mini-logos img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    background: #dae7f7;
    padding: 20px;
    width: 100%
}

@media screen and (min-width: 1200px) {
    #footer .footer-mini-logos img {
        height: 100px;
        width: auto;
        float: right;
        margin: auto;
        margin-right: 15px
    }
}

#footer .footer--blue-bar {
    height: 40px;
    background: #024f98
}

@media (max-width: 768px) {
    #footer .contact-data .footer-menu ul li {
        text-align: left;
        padding-left: 15px
    }

    #footer .footer-mini-logos {
        padding-left: 0
    }
}
