/*
Theme Name:   Immocal AG | Immocal Partner AG
Template:     baucal
*/

#header #header-top {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:56px;
    background:#f3f3f3;
    transition: all .6s ease;
    z-index: 9999;
}
#header.scrolled #header-top {
    top:-56px;
    transition: all .6s ease;
}
#header #header-top #header-top-inner {
    margin:0 auto;
    padding:0 32px;
    max-width:1384px;
}
#header #header-top #header-top-inner #header-top-items {
    height:56px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin:0 -28px;
}
#header #header-top #header-top-inner #header-top-items .header-top-item {
    margin:0 28px;
}
#header #header-top #header-top-inner #header-top-items .header-top-item a {
    font-family: 'NotoSans-Regular';
    font-size:20px;
    line-height:30px;
    color:#000;
    text-decoration: none;
    padding-right:36px;
    background:url(images/link-arrow.svg) no-repeat right center;
    background-size:24px 24px;
}
#header #header-top #header-top-inner #header-top-items .header-top-item a:hover {
    text-decoration: underline;
}
#header #header-inner {
    padding: 96px 32px 32px 32px;
}
#header.scrolled #header-inner {
    padding: 20px 32px 16px 32px;
}
#header #header-inner #menu {
    max-width: 1080px;
}
#header.scrolled #header-inner #menu {
    max-width: 700px;
}
#header #header-inner #logo {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom:38px;
}
#header #header-inner #logo .logo-item:nth-child(2) {
    margin-left:129px;
    position: relative;
    transition: all .6s ease;
}
#header.scrolled #header-inner #logo .logo-item:nth-child(2) {
    margin-left:65px;
    transition: all .6s ease;
}
#header #header-inner #logo .logo-item:nth-child(2):before {
    position: absolute;
    top:-19px;
    left:-65px;
    content:"";
    width:1px;
    height:68px;
    background:#3f3f3f;
    transition: all .6s ease;
}
#header.scrolled #header-inner #logo .logo-item:nth-child(2):before {
    top:-8px;
    left:-33px;
    height:36px;
    transition: all .6s ease;
}
#header #header-inner #logo img.logo-ic {
    width:306px;
    height:30px;
}
#header.scrolled #header-inner #logo img.logo-ic {
    width:204px;
    height:20px;
}
#header #header-inner #logo img.logo-icp {
    width:550px;
    height:30px;
}
#header.scrolled #header-inner #logo img.logo-icp {
    width:367px;
    height:20px;
}
#header #header-inner #menu ul li a:hover, #header #header-inner #menu ul li.current-menu-item a, #header #header-inner #menu ul li.current-page-ancestor a, #header #header-inner #menu ul li a:hover:after, #header #header-inner #menu ul li.current-menu-item a:after, #header #header-inner #menu ul li.current-page-ancestor a:after, #ref-archive #ref-archive-filter button.active, #ref-archive #ref-archive-filter button:hover, #ref-archive .ref-load-more-wrap button:hover, #ref-single-nav #ref-single-nav-items .ref-single-nav-item a:hover, #content p a:hover, #content ul li a:hover, #content ol li a:hover, #mobile-menu #mmenu ul li.current-menu-item a, #mobile-menu #mmenu ul li.current-menu-item span.mm-text:after {
    color:#8e8e8e;
}
#header #header-inner #menu ul li a:hover, #header #header-inner #menu ul li.current-menu-item a, #header #header-inner #menu ul li.current-page-ancestor a {
    border-bottom:1px solid #8e8e8e;
}
.plyr__control, .plyr__volume, .plyr__progress {
    --plyr-color-main: #8e8e8e;
}
.plyr__control.plyr__control--overlaid svg, .plyr__control.plyr__control--overlaid:hover svg {
    fill: #8e8e8e !important;
}
*::-webkit-media-controls-panel {
    background-color: #8e8e8e !important;
}
#footer #footer-inner #footer-items .footer-item p a:hover, #flinks-items .flinks-item a:hover, #footer #footer-inner #footer-items .footer-item #fmenu ul li a:hover, #footer #footer-inner #footer-items .footer-item #fmenu ul li.current-menu-item a {
    color:#fff;
}

.sbi-buttons .sbi-buttons-items .sbi-buttons-item {
    margin-bottom:0;
    border-bottom:1px solid #3f3f3f;
}
.sbi-buttons .sbi-buttons-items .sbi-buttons-item:nth-child(1) {
    border-top:1px solid #3f3f3f;
}
.sbi-buttons .sbi-buttons-items .sbi-buttons-item a {
    font-family: 'NotoSans-Regular';
    font-size: 36px;
    line-height: 48px;
    color: #3f3f3f;
    padding:16px 72px 16px 0;
    background:url(images/link-arrow.svg) no-repeat right center;
    background-size:26px 26px;
    width:100%;
}
.sbi-buttons .sbi-buttons-items .sbi-buttons-item a:hover {
    padding:16px 72px 16px 16px;
    background:url(images/link-arrow.svg) no-repeat right center;
    background-size:26px 26px;
}

.sbi-form {
    margin:0 auto;
    padding:72px 32px;
    max-width:1384px;
}

.form-elements {
    padding-top:48px;
}
.form-elements .form-element, .form-elements .form-element-upload, .form-elements .form-element-submit {
    border-bottom:1px solid #3f3f3f;
}
.form-elements .form-element:nth-child(1) {
    border-top:1px solid #3f3f3f;
}
.form-elements .form-element-upload {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    background:#f2f2f2;
    padding:25px;
    min-height: 96px;
}
.form-elements .form-element-upload > label {
    font-family: 'NotoSans-SemiBold';
    font-size:20px;
    line-height:30px;
    color:#000;
}
.form-elements .form-element-small {
    padding:25px 0 80px 0;
    font-family: 'NotoSans-SemiBold';
    font-size:20px;
    line-height:30px;
    color:#000;
}
.wpcf7-text {
    width:100%;
    padding:25px 0;
    font-family: 'NotoSans-Regular';
    font-size:20px;
    line-height:30px;
    color:#000;
}
.wpcf7-textarea {
    width:100%;
    min-width:100%;
    max-width:100%;
    padding:25px 0;
    font-family: 'NotoSans-Regular';
    font-size:20px;
    line-height:30px;
    color:#000;
    min-height:200px;
}
.wpcf7-submit {
    font-family: 'NotoSans-Regular';
    font-size:20px;
    line-height:26px;
    color:#000;
    text-decoration: none;
    text-align: left;
    padding:15px 32px;
    background:#f2f2f2;
    background-size:26px 26px;
    width:50%;
    cursor: pointer;
    transition:all .4s ease;
}
.wpcf7-submit:hover {
    padding:15px 32px 15px 38px;
    transition:all .4s ease;
}
input#mfcf7_zl_add_file {
    font-size:0;
    width:71px;
    height:48px;
    border:none;
    background:url(images/upload.svg) no-repeat center center;
    background-size:71px 48px;
    cursor: pointer;
}
div#mfcf7_zl_multifilecontainer {
    margin-top: 0 !important;
}
.wpcf7-not-valid-tip {
    font-family: 'NotoSans-SemiBold';
    font-size: 12px !important;
    text-transform: uppercase;
    display: block;
    padding-bottom:4px;
}
.wpcf7 form .wpcf7-response-output {
    font-family: 'NotoSans-SemiBold';
    font-size:20px;
    line-height:30px;
    text-align: center;
	margin:24px 0 0 0 !important;
	padding: 16px 24px !important;
	border: 2px solid transparent !important;
}
.wpcf7 form.sent .wpcf7-response-output {
	border: 2px solid #46b450 !important;
    color:#46b450 !important;
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border: 2px solid #dc3232 !important;
    color:#dc3232 !important;
}

#content .sbi-form h1, #content .sbi-form h1 {
  font-family: 'NotoSans-Light';
}
#content .form-element-upload p {
    margin:0;
}
#content p a.mfcf7_zl_delete_file {
    border-bottom:none;
}

@media only screen and (max-width:1440px) {
    #header #header-top {
        height:42px;
    }
    #header.scrolled #header-top {
        top:-42px;
    }
    #header #header-top #header-top-inner #header-top-items {
        height:42px;
        margin:0 -16px;
    }
    #header #header-top #header-top-inner #header-top-items .header-top-item {
        margin:0 16px;
    }
    #header #header-top #header-top-inner #header-top-items .header-top-item a {
        font-size:16px;
        line-height:21px;
        padding-right:30px;
        background:url(images/link-arrow.svg) no-repeat right center;
        background-size:20px 20px;
    }
    #header #header-inner {
        padding: 82px 32px 32px 32px;
    }
}
@media only screen and (max-width:1180px) {
    #header #header-top #header-top-inner #header-top-items .header-top-item a:hover {
        text-decoration: none;
    }
    #header #header-inner {
        padding: 64px 32px 16px 32px;
    }
    #header #header-inner #logo {
        margin-bottom: 16px;
    }
    #header #header-inner #logo .logo-item:nth-child(2) {
        margin-left:65px;
    }
    #header.scrolled #header-inner #logo .logo-item:nth-child(2) {
        margin-left:65px;
    }
    #header #header-inner #logo .logo-item:nth-child(2):before {
        top:-9px;
        left:-33px;
        width:1px;
        height:48px;
    }
    #header.scrolled #header-inner #logo .logo-item:nth-child(2):before {
        top:-8px;
        left:-33px;
        height:36px;
    }
    #container, #container.scrolled {
        padding-top: 164px;
    }
    #ref-archive #ref-archive-filter button.active:hover {
        color:#8e8e8e;
    }
    .sbi-buttons .sbi-buttons-items .sbi-buttons-item a {
        font-size:22px;
        line-height:32px;
    }
    .sbi-buttons .sbi-buttons-items .sbi-buttons-item a, .sbi-buttons .sbi-buttons-items .sbi-buttons-item a:hover {
        padding:14px 56px 14px 0;
    }
    .sbi-form {
        padding:56px 32px;
    }
    .form-elements {
        padding-top:32px;
    }
    .form-elements .form-element-upload > label, .form-elements .form-element-small, .wpcf7-text, .wpcf7-textarea, .wpcf7-submit, .wpcf7 form .wpcf7-response-output {
        font-size: 16px;
        line-height: 21px;
    }
    .form-elements .form-element-small {
        padding:16px 0 56px 0;
    }
    .form-elements .form-element-upload {
        padding:16px;
        min-height: 72px;
    }
    .wpcf7-text {
        padding:16px 0;
    }
    .wpcf7-textarea {
        padding:16px 0;
        min-height:120px;
    }
    input#mfcf7_zl_add_file {
        width:47px;
        height:32px;
        background:url(images/upload.svg) no-repeat center center;
        background-size:47px 32px;
    }
    .wpcf7 form .wpcf7-response-output {
        margin:16px 0 0 0 !important;
    }
}
@media only screen and (max-width: 767px) {
    #header #header-inner #logo .logo-item:nth-child(2) {
        margin-left:48px;
    }
    #header.scrolled #header-inner #logo .logo-item:nth-child(2) {
        margin-left:48px;
    }
    #header #header-inner #logo .logo-item:nth-child(2):before {
        display: none;
    }
    #header #header-inner {
        padding: 56px 32px 16px 32px;
    }
    #header #header-inner #logo {
        margin-bottom: 8px;
    }
    #container, #container.scrolled {
        padding-top: 176px;
    }

@media only screen and (max-width: 568px) {
    #header #header-top {
        height:32px;
    }
    #header.scrolled #header-top {
        top:0;
    }
    #header #header-top #header-top-inner {
        padding: 0 16px;
    }
    #header #header-top #header-top-inner #header-top-items {
        height:32px;
        margin:0 -12px;
    }
    #header #header-top #header-top-inner #header-top-items .header-top-item {
        margin:0 12px;
    }
    #header #header-top #header-top-inner #header-top-items .header-top-item a {
        font-size:14px;
        line-height:18px;
        padding-right:26px;
        background:url(images/link-arrow.svg) no-repeat right center;
        background-size:16px 16px;
    }
    #header #header-inner, #header.scrolled #header-inner {
        padding:40px 16px 18px 16px;
    }
    #header #header-inner #logo {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin-bottom:0;
    }
    #header #header-inner #logo .logo-item {
        padding:2px 0;
    }
    #header #header-inner #logo .logo-item:nth-child(2), #header.scrolled #header-inner #logo .logo-item:nth-child(2) {
        margin-left:0;
    }
    #header #header-inner #logo .logo-item:nth-child(2):before {
        display: none;
    }
    #header #header-inner #logo img.logo-ic, #header.scrolled #header-inner #logo img.logo-ic {
        width:161px;
        height:20px;
    }
    #header #header-inner #logo img.logo-icp, #header.scrolled #header-inner #logo img.logo-icp {
        width:289px;
        height:16px;
    }
    #menu-trigger {
        top: 52px;
        margin-top:0;
    }
    #mobile-menu #mmenu {
        padding: 120px 16px 50px 16px;
    }
    #container, #container.scrolled {
        padding-top: 102px;
    }
    .sbi-buttons .sbi-buttons-items .sbi-buttons-item a {
        font-size:18px;
        line-height:24px;
    }
    .sbi-buttons .sbi-buttons-items .sbi-buttons-item a, .sbi-buttons .sbi-buttons-items .sbi-buttons-item a:hover {
        padding:10px 56px 10px 0;
        background: url(images/link-arrow.svg) no-repeat right center;
        background-size: 20px 20px;
    }
    .sbi-form {
        padding:44px 16px;
    }
    .form-elements .form-element-small {
        padding: 16px 0 32px 0;
    }
    .form-elements .form-element-upload {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    input#mfcf7_zl_add_file {
        margin-top:16px;
    }
    .wpcf7-submit {
        width:100%;
        padding:13px 16px;
    }
    .wpcf7-submit:hover {
        padding:13px 16px;
    }
    .form-elements .form-element-upload > label, .form-elements .form-element-small, .wpcf7-text, .wpcf7-textarea, .wpcf7-submit, .wpcf7 form .wpcf7-response-output {
        font-size: 14px;
        line-height: 18px;
    }
}
@media only screen and (max-width: 423px) {
    #header #header-top #header-top-inner #header-top-items .header-top-item a {
        font-size:12px;
        line-height:16px;
        padding-right:20px;
        background:url(images/link-arrow.svg) no-repeat right center;
        background-size:12px 12px;
    }
}