/**
 * Zvoove Vakanzen — Styles
 */

.zv-vakanzen-archive {
    width: 100%;
}
#zv-vakanzen-grid {
    display: flex;
    flex-wrap: wrap;
    margin:0 -20px;
    padding-top:48px;
}
.zv-vakanz-card {
    width:calc(33.333% - 40px);
    margin:0 20px 40px 20px;
    border:1px solid #8AB8DA;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.zv-card-title {
    position: relative;
    background: linear-gradient(135deg, rgba(37,62,128,1) 0%, rgba(50,101,166,1) 100%);
    padding:20px 24px;
}
.zv-card-title a {
    color:#fff;
    text-decoration: none;
}
#content .zv-card-title h3 {
    font-family: "GothamMedium";
    font-size: 30px;
    line-height: 38px;
    color: #fff;
    min-height: 114px;
    margin: 0;
}
span.zv-card-id {
    position:absolute;
    bottom:10px;
    right:10px;
    font-family: "GothamMedium";
    font-size: 16px;
    line-height: 20px;
    color:#fff;
}
.zv-card-text {
    padding:24px 26px;
    flex-grow:1;
}
.zv-card-branche {
    margin-bottom:24px;
}
.zv-card-branche span {
    font-family: "GothamBook";
    font-size:16px;
    line-height:24px;
    color:#707070;
    hyphens: auto;
}
.zv-card-meta .zv-card-ort, .zv-card-meta .zv-card-anstellungsart {
    font-family: "GothamMedium";
    font-size:18px;
    line-height:28px;
    color:#2c2c2c;
    margin-bottom:12px;
    padding:2px 0 0 42px;
    min-height:32px;
}
.zv-card-meta .zv-card-ort {
    background:url(../images/location.svg) no-repeat left center;
    background-size:32px 32px;
}
.zv-card-meta .zv-card-anstellungsart {
    background:url(../images/time.svg) no-repeat left center;
    background-size:32px 32px;
}
.zv-card-bottom {
    background:#ccc;
    display: flex;
}
.zv-card-recruiter {
    width:calc(100% - 120px);
    display: flex;
    align-items: center;
}
.zv-card-recruiter-img {
    width:72px;
    height:72px;
}
.zv-card-recruiter-name {
    padding:0 20px;
}
.zv-card-recruiter-name h4 {
    font-family: "GothamMedium";
    font-size: 18px;
    line-height: 28px;
    color: #2c2c2c;
}
.zv-card-link {
    width:120px;
    display: flex;
}
.zv-card-link a {
    width:100%;
    background:#3265A6;
    font-family: "GothamMedium";
    font-size:18px;
    line-height:28px;
    color:#fff;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition:all .4s ease;
}
.zv-card-link a:hover {
    background:#8AB8DA;
    transition:all .4s ease;
}
.zv-filter-bar {
    margin:0 auto;
    padding-top:48px;
    max-width:960px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.zv-filter-btn {
    margin:0 8px 16px 8px;
    font-family: "GothamBold";
    font-size:18px;
    line-height:28px;
    color:#2377BF;
    background:none;
    border:none;
    border-bottom:2px solid transparent;
    cursor: pointer;
}
.zv-filter-btn:hover, .zv-filter-btn.zv-filter-active {
    border-bottom:2px solid #2377BF;
}
.zv-isotope-item {
    transition: opacity 0.3s ease, transform 0.3s ease, max-height 0.4s ease,
                width 0.3s ease, margin 0.3s ease, padding 0.3s ease,
                border-width 0.3s ease, border-color 0.3s ease;
    opacity: 1;
    transform: scale(1);
    max-height: 600px;
    overflow: hidden;
}
.zv-isotope-item.zv-hidden {
    opacity: 0;
    transform: scale(0.95);
    max-height: 0;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-width: 0 !important;
    border-color: transparent !important;
    pointer-events: none;
    overflow: hidden;
}

.zv-detail-wrap {
    margin:0 auto;
    padding:160px 32px;
    max-width:1244px;
}
.zv-detail-title {
    padding-bottom:6px;
    border-bottom:2px solid #2377BF;
}
#content .zv-detail-title h1 {
    font-family: "GothamBold";
    font-size: 64px;
    line-height: 72px;
    margin-bottom: 0;
    hyphens: auto;
    text-align: left;
    text-transform: none;
}
.zv-detail-title span.zv-detail-vknr {
    display: block;
    font-family: "GothamBook";
    font-size: 16px;
    line-height: 24px;
    color: #2c2c2c;
    padding-top:8px;
}
.zv-detail-layout {
    display: flex;
    flex-wrap: wrap;
    margin:0 -48px;
    padding-top:48px;
}
.zv-detail-content {
    width:calc(100% - 538px);
    margin:0 48px;
}
.zv-detail-sidebar {
    width:346px;
    margin:0 48px;
}

.zv-fakten {
    border-bottom:2px solid #2377BF;
    padding-bottom:12px;
}
.zv-fakten-items {
    display: flex;
    flex-wrap: wrap;
    margin:0 -10px;
}
.zv-fakten-item {
    width:calc(50% - 20px);
    margin:0 10px 12px 10px;
}
#content .zv-fakten-item label {
    display: block;
    font-family: "GothamBold";
    font-size: 18px;
    line-height: 28px;
    color: #2C2C2C;
}
#content .zv-fakten-item p {
    font-family: "GothamBook";
    font-size: 18px;
    line-height: 28px;
    color: #2c2c2c;
    hyphens: auto;
    margin:0;
}
.zv-vorspann {
    padding-top:32px;
}
#content .zv-beschreibung h2, #content .zv-beschreibung h3 {  
    font-family: "GothamBold";
    font-size: 24px;
    line-height: 32px;
    color: #2377BF;
    text-transform: none;
    text-align: left;
    margin-bottom: 8px;
}

.zv-berater-img {
    margin-bottom:18px;
    position: relative;
}
.zv-berater-img img {
    display: block;
}
.zv-berater-img:before {
    content:"";
    position: absolute;
    bottom:0;
    left:0;
    width:100%;
    height:60px;
    background:rgba(35,119,191,.5);
    clip-path: polygon(0 0, 100% 60%, 100% 100%, 0% 100%);
}
.zv-berater-img:after {
    content:"";
    position: absolute;
    bottom:0;
    left:0;
    width:100%;
    height:38px;
    background:rgba(35,119,191,.5);
    clip-path: polygon(0 0, 100% 75%, 100% 100%, 0% 100%);
}
#content p.zv-berater-line {
    text-align: right;
    margin-bottom: 0;
}

.zv-form-rows {
    display: flex;
    flex-wrap: wrap;
    margin:0 -5px;
}
.zv-form-row {
    width:calc(50% - 10px);
    margin:0 5px 10px 5px;
}
.zv-form-row.full {
    width:calc(100% - 10px);
}
.zv-form-row.submit {
    padding-top:24px;
}
.zv-form-row > label {
    display: block;
    font-family: "GothamBold";
    font-size:18px;
    line-height:28px;
    color:#2c2c2c;
    margin-bottom:8px;
}
.zv-form-row input[type="text"], .zv-form-row input[type="email"], .zv-form-row input[type="tel"], .zv-form-row input[type="date"] {
    width:100%;
    background:none;
    border-bottom:2px solid #2377BF;
    font-family: "GothamBook";
    font-size:18px;
    line-height:28px;
    color:#2c2c2c;
    padding-bottom:10px;
}
.zv-form-row textarea {
    width:100%;
    min-width:100%;
    max-width:100%;
    background:none;
    border-bottom:2px solid #2377BF;
    font-family: "GothamBook";
    font-size:18px;
    line-height:28px;
    color:#2c2c2c;
    padding-bottom:10px;
}
.zv-form-row select#zv_anrede {
    width:100%;
}
.zv-form-row button.zv-bewerbung-submit {
    display: inline-block;
    font-family: "GothamBold";
    font-size:24px;
    line-height:32px;
    color:#fff;
    text-align: center;
    text-decoration: none;
    padding:14px 32px;
    background:#2377BF;
    order:2;
    cursor: pointer;
    transition:all .4s ease;
}
.zv-form-row button.zv-bewerbung-submit:hover {
    color:#fff;
    background:#8AB8DA;
    transition:all .4s ease;
}
.zv-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.zv-file-label {
    display: inline-block;
    font-family: "GothamBold";
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    padding: 8px 24px;
    background: #2377BF;
    cursor: pointer;
    transition: all .4s ease;
}
.zv-file-label:hover {
    color: #fff;
    background: #8AB8DA;
    transition: all .4s ease;
}
.zv-file-name {
    display: block;
    font-family: "GothamBook";
    font-size:18px;
    line-height:28px;
    color: #2377BF;
}
.zv-hp {
    position: absolute;
    left: -9999px;
    height: 0;
    overflow: hidden;
    opacity: 0;
}
.zv-field-error {
    border-bottom: 2px solid #c00 !important;
}
p#zv-bewerbung-error-msg {
    color:#c00 !important;
}

#zv-bewerbung-success {
    border: 2px solid green !important;
    padding:16px 24px;
}
#content #zv-bewerbung-success p {
    font-family: "GothamBold";
    font-size:20px;
    line-height:30px;
    color:green;
    text-align: center;
    margin:0;
}

/* RESPONSIVE */
@media only screen and (max-width:1440px) {
    #content .zv-detail-title h1 {
        font-size:48px;
        line-height:56px;
    }
    #content .zv-fakten-item label, #content .zv-fakten-item p {
        font-size:16px;
        line-height:26px;
    }
    #content .zv-card-title h3 {
        font-size:22px;
        line-height:28px;
        min-height: 56px;
        hyphens: auto;
        hyphenate-limit-chars: 12 6 6;
    }
    .zv-card-meta .zv-card-ort, .zv-card-meta .zv-card-anstellungsart, .zv-card-link a, .zv-filter-btn, .zv-card-recruiter-name h4 {
        font-size:16px;
        line-height:26px;
    }
    .zv-card-branche span {
        font-size:14px;
        line-height:22px;
    }
    #zv-vakanzen-grid {
        margin:0 -16px;
    }
    .zv-vakanz-card {
        width:calc(33.333% - 32px);
        margin:0 16px 32px 16px;
    }
    .zv-form-row button.zv-bewerbung-submit {
        padding: 8px 24px;
        font-size:20px;
        line-height:26px;
    }
    .select2-container--default .select2-selection--single .select2-selection__rendered, .select2-results__option, .zv-form-row > label, .zv-form-row input[type="text"], .zv-form-row input[type="email"], .zv-form-row input[type="tel"], .zv-form-row input[type="date"], .zv-form-row textarea {
        font-size:16px;
        line-height:26px;
    }
    .zv-file-label {
        text-align: center;
        padding:6px 12px;
    }
    .zv-file-label, .zv-file-name {
        font-size: 14px;
        line-height: 20px;
    }
}
@media only screen and (max-width:1080px) {
    #content .zv-detail-title h1 {
        font-size: 40px;
        line-height: 48px;
    }
    .zv-detail-wrap {
        padding:96px 32px 48px 32px;
    }
    .zv-detail-layout {
        margin:0 -24px;
    }
    .zv-detail-content {
        width:calc(100% - 442px);
        margin:0 24px;
    }
    .zv-detail-sidebar {
        width:346px;
        margin:0 24px;
    }
    .zv-filter-btn, .zv-filter-btn:hover {
        border-bottom:2px solid transparent;
    }
    .zv-card-link a, .zv-card-link a:hover {
        background:#3265A6;
    }
    .zv-filter-bar {
        padding-top: 12px;
    }
    #zv-vakanzen-grid {
        padding-top: 24px;
    }
    .zv-card-meta .zv-card-ort, .zv-card-meta .zv-card-anstellungsart {
        font-size: 14px;
        line-height: 22px;
        padding:2px 0 0 32px;
        min-height:24px;
    }
    .zv-card-meta .zv-card-ort {
        background:url(images/location.svg) no-repeat left center;
        background-size:24px 24px;
    }
    .zv-card-meta .zv-card-anstellungsart {
        background:url(images/time.svg) no-repeat left center;
        background-size:24px 24px;
    }
    .zv-file-label, .zv-file-label:hover {
        background:#2377BF;
    }
}
@media only screen and (max-width:1023px) {
    .zv-detail-content {
        width:calc(100% - 48px);
    }
    .zv-vorspann {
        padding-top:32px;
    }
    .zv-detail-sidebar {
        width:calc(100% - 48px);
        padding-top:48px;
        padding-bottom:48px;
    }
    .zv-berater-img {
        max-width:346px;
        margin-left:auto;
        margin-right:auto;
    }
    #content p.zv-berater-line {
        text-align: center;
    }
    .zv-vakanz-card {
        width: calc(50% - 32px);
    }
}
@media only screen and (max-width:767px) {
    .zv-vakanz-card {
        width:calc(100% - 32px);
    }
    .zv-form-row {
        width:calc(100% - 10px);
    }
}
@media only screen and (max-width:568px) {
    #content .zv-detail-title h1 {
        font-size: 32px;
        line-height: 40px;
    }
    .zv-fakten-item {
        width:calc(100% - 20px);
    }
}