/*
Theme Name: Ludwig Pfeiffer 2021
Theme URI: http://ludwigpfeiffer.com/
Author: Martin Freitag, Sven Grün
Author URI: https://mfreitag.com, https://softig.net
Version: 1.0
License: Copyright 2021 Sven Grün
*/

/*@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,600italic,700,700italic,300,300italic,400,400italic);*/

* {
    /*border: 0;
    outline: 0;
    outline-offset: 0;
    text-decoration: none;*/
    font-family: 'Source Sans Pro', sans-serif;
}

header h1 a {
    color: #555555;
}

header h1 {
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    font-size: 1.66em;
    font-weight: 300;
    color: #555555;
}

header img {
    max-height: 4rem;
}

#map-container {
    position: relative;
    background: #555555;
    margin: 0;
    max-height: 600px;
    width: 100%;
    padding: 0;
}

#lp-map {
    position: relative;
    background: #555555;
    margin: 0;
    height: 600px;
    width: 100%;
}

nav {
    position: relative;

}

nav ul {
    list-style-type: none;

    background: #0061A7;
    color: #FFFFFF;
    /*height: 37px;*/
}
nav li {
    padding: 0;
    position: relative;
    display: inline-block;
    height: 100%;
}
nav a, nav a:link, nav a:visited {
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    display: block;
    /*    float: left;*/
    margin-right: 2rem;
    border-top: 2px solid transparent;
    height: 1.5rem;
    line-height: 1.5rem;
}
nav a:hover, nav a:focus, nav li.current_page_item a, nav li.current-menu-item a {
    border-top: 2px solid #0061A7;
}

nav ul li:hover > ul.sub-menu {
    display: block !important;
}

nav ul ul.sub-menu {
    background: #555;
    display: none;
    font-size: 0.75em;
    height: auto;
    left: 0;
    position: absolute;
    top: 2rem;
    /*top: 37px;*/
    width: 200px;
    z-index: 999999;
    padding: 10px;
}
nav > div > ul {
    height: 2rem;
}

nav ul ul.sub-menu li {
    padding: 0;
    position: relative;
    display: block;
}

nav ul ul.sub-menu li:hover a {
    padding: 0;
    position: relative;
    display: block;
    color: #FFFFFF;
}

nav ul ul.sub-menu a, nav ul ul.sub-menu a:link, nav ul ul.sub-menu a:visited {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    display: block;
    margin: 5px 0;
    padding: 0;
    border-top: none;
    width:100%;
    height: 30px;
    line-height: 30px;
}

#content, #content-full  {
    background: #F3F3F3;
}
h1.pagetitle {
    margin: 0;
}

.even {
    background:#FFF;
}

.category-overview {
    display: block;
    margin: 0 auto;
    padding: 0 0 60px;
    width:80%;
}

.category-overview ul {
    list-style:none;
}

.category-overview ul li {
    background: #fff none repeat scroll 0 0;
    border-radius: 3px;
    display: inline-block;
    height: 30px;
    line-height: 30px;
    margin: 10px 10px 0 0;
    max-width: 250px;
    padding: 0 5px;
}

.category-overview ul li a,
.category-overview ul li {
    color: #555555;
}

.category-overview ul li:hover,
.category-overview ul li.current-cat {
    background:#0061a7;
    color:#f2f2f2;
}
.category-overview ul li:hover a,
.category-overview ul li.current-cat a {
    color:#FFF;
}


/*Kontakt & Standorte###############################################*/
.standorte{

}
.standorte .row {
    margin: 0 -5px;
}
.standorte .standort{
    /*    display: inline-block;
        width: 33.333%;*/
    /*	padding: 5px;*/

}
.standorte h1 {font-size: 1.17em;}
.standorte h3 {font-size: .9em;}
.standorte .standort .box{
    margin: 5px 0;
    padding: 5px 20px;
    border:1px solid #0061a7;
    min-height: 188px;
}

.standorte .standort .box a{
    color:#0061a7;
}

.standorte .standort .box a:hover{
    color:#464B50;
}
.standorte .standort.empty .box {
    border-color: #F3F3F3;
}
/*
input.form-control {
    display: block;
    font-size: 1em;
    height: 50px;
    margin: 0 0 30px;
    padding: 0 2%;
    width: 88%;
}*/
nav ul li.menu-item-language ul.sub-menu {
    left: auto;
    right: 0;
}

nav > select {
    display:none;
}



#content-full #form-container {
    width: 92%;
    margin: 0 0 80px 5px;
    padding: 0;
    height: auto;
    display: block;
    clear: left;
}
#content-full #form-container .left-col {
    width:45%;
    display:inline-block;
    min-width:300px;
    margin:0 4% 0 0;
}
#content-full #form-container .right-col {
    width:45%;
    display:inline-block;
    min-width:300px;
    margin:0 0 0 4%;
}
#content-full #form-container input {
    border: 2px solid #dadada;
    border-radius: 1px;
    display: block;
    width: 96%;
    height: 40px;
    line-height: 40px;
    padding: 0 2%;
    margin:5px 0;
}
#content-full #form-container .msg {
    border: 2px solid #dadada;
    border-radius: 1px;
    display: block;
    width: 91%;
    min-height: 72px;
    max-height: 72px;
    line-height: 1;
    padding: 2%;
    margin:5px 0;
}

/*
#################################################################
MEDIA QUERIES
#################################################################
*/

#cookieChoiceInfo {background-color: #0061A7 !important;color:#fff;}
#cookieChoiceInfo div a {color:#fff; font-style:italic;}
#cookieChoiceInfo div a:before {content: "\2192\00a0";}
#cookieChoiceInfo #cookieChoiceDismissIcon {display:none;}


.template-page-jobs-all .fl-row > .fl-row-content-wrap {
    border-style: solid;
    border-width: 0;
    background-clip: border-box;
    border-color: #0061a7;
    border-top-width: 2px;
    border-right-width: 0px;
    border-bottom-width: 0px;
    border-left-width: 0px;
}

.template-page-jobs-all .fl-row > .fl-row-content-wrap {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 20px;
}

.template-page-jobs-all .fl-col {
    width: 100%;
}

.template-page-jobs-all .fl-col > .fl-col-content {
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
}

.template-page-jobs-all .fl-rich-text a, .template-page-jobs-all .fl-rich-text a:visited {
    color: #0061a7;
}
.template-page-jobs-all .fl-col {width: 33%;}
@media (max-width: 768px) {
    .template-page-jobs-all .fl-col {width: 100%;}
    nav a, nav a:link, nav a:visited {
        height: .75rem;
        line-height: .75rem;
        font-size: 10px;
    }
    nav li {height: .75rem;}
}
.template-page-jobs-all .fl-row-bg-color:nth-child(even) {background: #fff !important;}
.btn-job-back {margin-left: 4rem; color: #fff;background: #0061A7;padding: 1em 2em;margin-top: 4rem;display: inline-block;}
.btn-job-back:hover {background: #fff; color: #0061A7;}

.wpcf7 .wpcf7-form-control.wpcf7-acceptance {padding-left: 0;}
.wpcf7-acceptance span.wpcf7-list-item {margin-left: 0; }
.wpcf7 .field>label em {color:#333;}
.wpcf7 .document-container .field {padding-bottom: 3rem;}
/*.wpcf7 .document-container .columns.one-half.offset-six {padding-top: 3rem;}*/
.wpcf7 .wpcf7-not-valid-tip {font-size: .8rem;}

.wpcf7 .wpcf7-form-control {
    min-height: 1.5rem !important;
    height: 1.5rem;
    padding-left: .5rem;
    width: 100%;
    border-radius: 3px;
    font-size: 100%;
}
.wpcf7 p.info-tip {
    margin-bottom: 5px;
    font-size: 90%;
    font-style: italic;
    color: grey;
}
.wpcf7 .wpcf7-acceptance a {
    color: #333;
    text-decoration: underline;
}

.wpcf7 .wpcf7-form-control.wpcf7-submit {
    background: #0d63a5;
    border: none;
    padding: .5rem 1rem !important;
    height: auto !important;
    width: initial !important;
    border-radius: 3px;
    font-size: 110%;
    font-weight: 700;
    color: #fff;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: red;
}

.xdsoft_datetimepicker .xdsoft_label i, .xdsoft_datetimepicker .xdsoft_prev, .xdsoft_datetimepicker .xdsoft_next, .xdsoft_datetimepicker .xdsoft_today_button {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AcQCzAoRZ4JUwAAAPxJREFUaN7tmTESxCAIRQOzrSdM6blSesIcwG2zMzu70QCC/t+lQT9PQc22QRAEQRD0oZRLTbnUaPOmWWFcv89jJwBxAiMaFFoBRiQo/NSkZgKlY0XoKWyduFEwtMaVzg17T6BGLInxrzEk/VDr5J/W4cgnIIuDA1uuroj3ghYPEv44UpnwfoqT8MkWq30VGBJ+eYNcVYRuIC0NLGLjvutL2htrw5gFyq/5S3pjy8RGhfJv3t+O8r1eX9YJPY+dPFwyNRdHyqX2xucRBkbH8rxTSZO2Zey7O8V72cTzO4CMgYIfVI6gzHoPCgdlhicbCCVr3R0MIOh1UGuvewNNJLG1kajxwAAAAABJRU5ErkJggg==) !important;
    opacity: 1 !important;
}
.xdsoft_datetimepicker.xdsoft_default .xdsoft_calendar td:hover, .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover {
    background: #0d63a5 !important;
}
.del_file, .add_file {color: #0d63a5;}
.del_file {padding-left: 15px;}

.hide_this .wpcf7-form-control-wrap {display: inline-block;}
.xdsoft_today_button {display: none !important;}

nav .menu-item-has-childrenx a, nav .menu-item-has-childrenx a:link, nav .menu-item-has-childrenx a:visited {margin-right: 0;}
nav .menu-item-has-childrenx a:hover, nav .menu-item-has-childrenx a:focus, nav li.current_page_item.menu-item-has-childrenx a, nav li.current-menu-item.menu-item-has-childrenx a {border-top-color: transparent;}
nav ul {
    background: transparent;
}

.main-nav-scrolled {
/*    width: 100%;
    background: #f3f3f3;
    position: fixed;
    z-index: 9999;*/

}
nav .sub-menu {
    transition: all 1250ms;
}
nav a, nav a:link, nav a:visited {
    color: #333;
    transition: all 250ms;
}


/*nav ul ul.sub-menu {top: 2.25rem;}*/
nav ul ul.sub-menu li {line-height: inherit; height: 1.5rem;}
/*@media screen and (max-width: 1024px) {
    .fl-col {width: 100% !important;}
}*/
.cycloneslider-template-standard .cycloneslider-pager {
    right: inherit !important;
    margin: 0 auto !important;
    width: 100% !important;
}
article {
    position: relative;
}

/* ==========================================================================
   Author's custom styles
*/



#subnavi {
    position: relative;
    padding: 0;
}

#subnavi ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
#subnavi li {
    padding: 0;
    margin: 0 0 2px 0;
    width: 66%;
}
#subnavi a, #subnavi a:link, #subnavi a:visited {
    text-decoration: none;
    display: block;
    padding: 5px 30px;
    background: #0061A8;
    color: #fff;
    height: 20px;
}
#subnavi a:hover, #subnavi a:active, #subnavi a:focus, #subnavi li.active a {
}

main {
    position: relative;
}

/* NEWS */
.news .row {
    border-bottom: 1px solid #aaa;
    padding: 10px 0;
}
.news h2 + .row {
    border-top: 1px solid #aaa;
}
.news .row .datum {
    display: block;
    float: left;
    background: #0061A8;
    color: #fff;
    width: 100px;
    text-align: center;
    margin-right: 30px;
}
.news a, .news a:link, .news a:visited {
    display: block;
    color: inherit;
    text-decoration: none;
}
.news a:hover, .news a:active, .news a:focus {
    text-decoration: underline;
}



/* ==========================================================================
   Media Queries
   ========================================================================== */
@media print,
(-o-min-device-pixel-ratio: 5/4),
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 120dpi) {

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

.responsive {
    display: block;
    max-width: 100%;
    height: auto;
}

.float_left {
    float: left;
}
.float_right {
    float: right;
}

.img_left, .img_right {
    display: block;
    float: left;
    width: 47%;
}
.img_left {
    margin-right: 6%;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}


/* softig.net 2017-01-31 */
nav select option {color: #fff;}

/* news-grid */
.fl-builder-content .fl-post-feed-tags a.fl-button, .fl-builder-content .fl-post-feed-tags a.fl-button:visited {
    background: #fafafa;
    border: 1px solid #0061a7;
    padding: 8px 8px 9px 8px;
    margin: 0 .5rem .5rem 0;
}

.sftg-post-grid a, .sftg-post-grid a:visited {
    color: #0061a7;
}
.sftg-post-grid .fl-post-feed-tags {
    margin-top: 1rem;
}
.sftg-post-grid {
    background: radial-gradient(at left bottom, #ffffff 0%, rgba(209,209,209,0.5) 100%);
}

/* slider */
div#n2-ss-1 .n2-ss-slider-1 {
    position: relative;
}
div#n2-ss-1 .n2-ss-control-bullet {
    visibility: visible !important;
}
/*
.n2-ss-widget.n2-flex.n2-ss-control-bullet.n2-ss-control-bullet-horizontal:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    border-top: 1px solid blue;
    background: red;
    width: 100%;
    transform: translateY(-50%);
    z-index: 99999;
}*/
/**
 @ see https://stackoverflow.com/questions/39993244/line-drawing-animation-with-pure-css
 */
.n2-ss-control-bullet > div > div {
    position: relative;
}
.n2-ss-control-bullet > div > div:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 34px;
    border-top: 1px solid #ccc;
    width: 40px;
    transform: translateY(-50%);
    display: block !important;
}
.n2-ss-control-bullet > div > div:last-child:before {
    width: 0;
}
.n2-ss-control-bullet .n2-bullet {
    margin: 4px 20px !important;
}
.n2-ss-control-bullet .n2-bullet:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 34px;
    border-top: 2px solid #0061A7;
    width: 0;
    transform: translateY(-50%);
    display: block !important;
    /*transition:  width 8000ms ease-in;*/

}
.n2-ss-control-bullet .n2-bullet.act {
    border-color: white !important;
}

.n2-ss-control-bullet .n2-bullet.fck:before {
    transition: none !important;
    width: 40px;
    border-color: white;
}

.n2-ss-control-bullet .n2-bullet.act:before {
    transition: width 8000ms linear;
    width: 40px;
}
.n2-ss-control-bullet .n2-bullet.actr:before {
    transition: width 8000ms linear;
    width: 0;
}
nav a.scs , nav a.scs :link, nav a.scs :visited {
    margin: 0;
    border: 0;
}

a .icon {
    width: .825rem;
    vertical-align: initial;
}

nav ul li.menu-item.current-page-ancestor > a {
    border-top: 2px solid #0061A7;
}
/*nav ul ul.sub-menu li {line-height: 2.5rem; height: 2.5rem;}*/
nav ul ul.sub-menu a, nav ul ul.sub-menu a:link, nav ul ul.sub-menu a:visited {height: auto; line-height:1;}


nav ul li.menu-item-language ul.sub-menu li {float:none;}
nav ul li.menu-item-language a {margin-right: 0;}
nav ul li.menu-item-language ul.sub-menu {width: auto;}
nav .sub-menu {
    transition: all 500ms ;
}
/*
nav .scsxc {
    display: none;
    position: absolute;
    right: 1rem;
    top: 1rem;
}
nav.main-nav-scrolled .scsxc {
    display: block;
}*/

nav ul {
    padding: 0;
}
nav ul li:hover > ul.sub-menu {
    display: block !important;
    /*top: 2.5rem;*/
}
#breadcrumbs {
    padding: 0;
    margin: 0;
}
#breadcrumbs, #breadcrumbs a {
    color: #aaa;
}

header.main-nav-scrolled .site-branding,
header.main-nav-scrolled #languageswitch {
    display: none;

}
html, body {
    margin: 0;
}
footer {
    background-color: #F0F4F8;
    background-image: url(../../uploads/Roehre-1.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: scroll;
    background-size: cover;
    /*min-height: 50vh;*/
    color: rgba(255,255,255,0.9);
    position: relative;
    z-index: 1;
    font-size:16px;
    /*line-height: 1.5 !important;*/
}
footer:after {
    background-image: linear-gradient(90deg, rgba(0,55,97,0.95) 23%, rgba(0,97,167,0.75) 94%);
    border-radius: inherit;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
}
footer > .row {z-index: 2;position: relative;}
footer hr {z-index:2;position: relative; border-color:#fff;}
.footer-widget/*, .social-icons*/ {margin:20px;}
.footer-widget h3 {font-size:22px;}
.footer-widget ul {list-style: none;margin:0;padding:0;}
.footer-widget ul li {}
footer a {color: rgba(255,255,255,0.9); text-decoration: none;}
footer .wpml-ls-legacy-list-horizontal {padding:0; border: none;}
footer .wpml-ls-legacy-list-horizontal a {padding:0;}
footer .social-icon {font-size: 30px; margin: 0 15px 0 0;}
li.wpml-ls-item:nth-child(2) a:before, li.wpml-ls-item:nth-child(3) a:before {
    content: "|";
    padding: 0 .5rem;
}
li.wpml-ls-first-item.wpml-ls-last-item a:before {
    content: "";
    padding: 0;
}

.search-form .search-field {
    font-size: 16px;
    width: 8rem;
    border: 0;
    margin: 0;
}
.xcol {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

}
.text-right {
    text-align: right;
}
.ml-auto {
    margin-left: auto;
}
/* search */
.astm-search-menu {
    vertical-align: bottom;
}
.astm-search-menu a {
    line-height: 1rem;
    border:0;
}
.astm-search-menu a:hover {
    border-top-color: transparent;
}
.is-search-form {
    left: 0;
    right: inherit;
}
.is-menu.full-width-menu form, .is-menu.sliding form {
    top: 0 !important;
    border-top: 2px solid transparent;
}
.is-form-style input.is-search-input {
    border: none;
    border-top: 2px solid #0061A7;
}
.is-form-style input.is-search-input,
.is-form-style button.is-search-submit {
    height: 1.5rem;
}
.is-form-style input.is-search-submit, .is-search-icon {
    height: 1.5rem;
    width: 1.5rem;
    padding-top: 0 !important;
}
.search-close {
    right: -70px;
}
p {
    line-height: 1.5;
}

.is-menu path.search-icon-path {
    fill: #aaa !important;
}
.is-search-forn .is-search-icon {
    display: none !important;
}

#mainnavi .is-search-input {
    background-color: #f3f3f3;
    border: none !important;
}
#mainnavi .is-form-style input.is-search-submit, #mainnavi .is-search-icon {
    border: none;
    background: none;
}
/* locations map */
.wpsl-search, #wpsl-result-list {
    display: none;
}
#wpsl-gmap {
    float: none;
    width: 100%;
    height: 700px !important;
}

.page-template-page-jobs-all .site-main {
    background: rgba(0,0,0,.03);
}
.page-template-page-jobs-all .site-main .fl-col-content {
    background: none;
}
.btn_intranet.menu-item {
    margin-top: 1em;
    margin-bottom: 1em;
}
.btn_intranet.menu-item a {
    border-style: solid;
    border-width: 0;
    background-clip: border-box;
    border-color: #ffffff;
    border-top-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    box-shadow: 5px 5px 20px 0px rgba(0,0,0,0.2);

    padding: 15px 30px;

    color: #fff;
    /*border: 1px solid rgba(243,0,0,0);*/
    background-color: rgba(255,0,0,0);
}
.btn_intranet.menu-item a:hover {
    background: #fff;
    border: 1px solid #f3f3f3;
    color: #0061A7;
}
