/*CUSTOM STYLES*/

@font-face {
    font-family: RelevantLight;
    src: url(/assets/fonts/Relevant/relevant-lightweb.ttf)
}

@font-face {
    font-family: RelevantBlack;
    src: url(/assets/fonts/Relevant/relevant-blackweb.ttf)
}

@font-face {
    font-family: RelevantBoldItalic;
    src: url(/assets/fonts/Relevant/relevant-bolditalicweb.ttf)
}

@font-face {
    font-family: RelevantBold;
    src: url(/assets/fonts/Relevant/relevant-boldweb.ttf)
}

@font-face {
    font-family: RelevantItalic;
    src: url(/assets/fonts/Relevant/relevant-italicweb.ttf)
}

@font-face {
    font-family: RelevantThin;
    src: url(/assets/fonts/Relevant/relevant-thinweb.ttf)
}

@font-face {
    font-family: Walbaum;
    src: url(/assets/fonts/Walbaum/walbaum.woff2)
}

body {
    -moz-hyphens: auto;
    -o-hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

h1 {
    padding-top: 0;
    padding-bottom: 30px;
    line-height: 107%;
    letter-spacing: .3px;
}
h3 {
    line-height: 43px;
    letter-spacing: 0;
}
h5 {
    padding-top: 20px;
    line-height: 120%;
}

@media (max-width: 768px) {
    h1 {
        font-weight: 100 !important;
        font-size: 50px !important;
        line-height: 57px !important;
        letter-spacing: .3px !important;
    }
    h3 {
        font-size: 30px !important;
        line-height: 43px !important;
        font-weight: 300 !important;
        letter-spacing: 0 !important;
    }
}

p {
    line-height: 150%;
    letter-spacing: .3px;
}

.headerBreadcrumb,
.headerBreadcrumb p {
    line-height: 23.4px;
    letter-spacing: 0.3px;
}

.registration-steps li:not(.label) {
    padding-right: 3em;
}

.registration-steps li:not(.active) {
    color: #970F76;
}

.registration-steps li .label {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.3px;
    width: 100%;
    max-width: 100%;
    display: inline-block;
    margin-right: .5em;
    font-family: Walbaum, Arial, sans-serif;
    color: #970F76;
    vertical-align: middle;
    padding: 0;
}

.registration-steps li:not(.active) > span.label   {
    font-family: Walbaum, Arial, sans-serif;
    font-size: 18px;
    line-height: 18px;
    letter-spacing: 0.3px;
    border: 1px solid #F6F2F4;
    background-color: #F6F2F4;
    border-radius:50%;
    -moz-border-radius:50%;
    -webkit-border-radius:50%;
    height:30px;
    width:30px;
    color: #970F76;
    padding-top: 6px;
}

.registration-steps li:not(.active) > span.title,
.registration-steps li.active > span.title   {
    font-family: RelevantLight, sans-serif;
    font-size: 14px;
    vertical-align: middle;
}

.registration-steps li.active > span.label   {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.3px;
    border: 1px solid #970F76;
    background-color: #970F76;
    border-radius:50%;
    -moz-border-radius:50%;
    -webkit-border-radius:50%;
    height:30px;
    width:30px;
    color: white;
    padding-top: 5px;
}
#logout-countdown-timer {
    vertical-align: middle;
}
.logout-countdown-timer-pre-text, .logout-countdown-timer-post-text {
    vertical-align: middle;
}
.lbank-custom-info-tooltip {
    float: right;
    width: 24px;
    height: 24px;
    margin-left: 0.5vw;
    background: url(/assets/images/custom/info_default.png) no-repeat;
    margin-top: 5px;
    background-size: 18px;
}

.lbank-custom-info-tooltip:hover {
    background: url(/assets/images/custom/info_hover.png) no-repeat;
    background-size: 18px;
    cursor: pointer;
}

.btn {
    padding: 14px 20px 13px 20px;
}

.tooltip > .tooltip-inner {
    min-width: 300px;
    max-width: 100%;
    background-color: #FFF;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.196332);
    border-radius: 2px;
    text-align: left;
    padding: 24px 25px 26px;
    font-family: Relevant, sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 18px;
    line-height: 150%;
    letter-spacing: .3px;
    color: #333333;
}

.tooltip.in {
    opacity: 1;
}

.tooltip.top {
    padding: 10px 0;
    margin-top: -2px;
}

.tooltip.bottom {
    padding: 10px 0;
    margin-bottom: -2px;
}

.tooltip.top .tooltip-arrow {
    border-width: 15px 15px 0;
    border-top-style: solid;
    border-top-color: white;
    margin-left: -18px;
}

.tooltip.bottom .tooltip-arrow {
    border-width: 0 15px 15px;
    border-bottom-style: solid;
    border-bottom-color: white;
    margin-left: -18px;
}

.page-header {
    border-bottom: 0;
}

.lbank-lion-svg {
    position: absolute;
    width: 40px;
    top: 3px;
}

.modal-title {
    font-family: RelevantLight, sans-serif;
    font-size: 27px;
    margin-top: 10%;
}

@media (min-width: 768px) {
    .modal-content {
        -webkit-box-shadow: 0 0 0 rgb(0 0 0 / 50%);
        box-shadow: 0 0 0 rgb(0 0 0 / 50%);
        border-radius: 0;
    }
}

.modal-content {
    -webkit-box-shadow: 0 0 0 rgb(0 0 0 / 50%);
    box-shadow: 0 0 0 rgb(0 0 0 / 50%);
    border-radius: 0;
}

.modal-header {
    border-bottom: 0;
}

.modal-footer {
    border-top: 0;
}

.modal-header .close {
    color: black;
    opacity: 1;
    font-size: 45px;
    font-weight: 100;
    margin-top: -10px;
}

.page-topline {
    font-family: Walbaum, sans-serif;
    font-weight: 400;
    font-size: 17px;
}

.margin-bottom-15 {
    margin-bottom: 15%;
}

.form-group {
    margin-bottom: 30px;
}

.form-group label {
    font-weight: 700;
    font-size: 14px;
    line-height: 20.02px;
    letter-spacing: .3px;

}

input[type="text"]::placeholder {
    font-family: RelevantLight, sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 25.02px;
    letter-spacing: .3px;
}

.input-sm {
    height: 50px;
    padding: 5px 0;
    font-size: 18px;
    line-height: 1.5;
    border-radius: 0;
    border: 0;
}
select.input-sm {
    height: 50px;
    line-height: 50px;
    /*font-weight: bold;*/
}

.form-control {
    border-bottom: 1px solid #ececec;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.form-control:focus {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border-color: #970F76;
    animation: border_animation .1s linear forwards;
}

@keyframes border_animation {
    0%{
        width: 0;
    }
    100%{
        width: 100%;
    }
}

.mandatory-fields-row {
    color:#757575;
}

.lbank-custom-td {
    border-radius: 5px !important;
    border-color: lightgrey !important;
}

.no-border-left {
    border-left: 0 !important;
}

.no-border-right {
    border-right: 0 !important;
}

.workshops-groups-headline {
    margin-top: 2%;
    margin-bottom: 2%;
}

.lbank-custom-square {
    float: left;
    margin-right: 15px;
    padding-top: 2px;
}

.lbank-custom-well {
    background-color: transparent;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.b-contain *,
.b-contain *::before,
.b-contain *::after {
    box-sizing: content-box !important;
}

.b-contain input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.b-contain span {
    line-height: 1.5;
    font-size: 1rem;
    font-family: inherit;
}

.b-contain {
    display: table;
    position: relative;
    padding-left: 2rem;
    cursor: pointer;
    margin-bottom: 0.4rem;
    font-weight: 100;
}

.b-contain input[type="checkbox"] ~ .b-input {
    position: absolute;
    top: 0;
    left: 0;
    height: 1.25rem;
    width: 1.25rem;
    background: #ffffff;
    transition: background 250ms;
    border: 1px solid #757575;
    border-radius: 0.16rem;
}

.b-contain input[type="radio"] ~ .b-input {
    position: absolute;
    top: 0;
    left: 0;
    height: 1.25rem;
    width: 1.25rem;
    background: #ffffff;
    transition: background 250ms;
    border: 1px solid #757575;
    border-radius: 3rem;
}

.b-contain input[type="checkbox"] ~ .b-input::after {
    content: "";
    position: absolute;
    display: none;
    left: 7px;
    top: 3px;
    width: 0.3rem;
    height: 0.6rem;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transition: background 250ms;
    transform: rotate(45deg);
}

.b-contain input[type="radio"] ~ .b-input::after {
    content: "";
    position: absolute;
    display: none;
    left: 4px;
    top: 4px;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 3rem;
    background: #ffffff;
    transition: background 250ms;
}

.b-contain input[type="checkbox"]:disabled ~ .b-input::after {
    border-color: #757575;
}

.b-contain input:checked ~ .b-input::after {
    display: block;
}

.b-contain:hover input[type="checkbox"]:not([disabled]) ~ .b-input,
.b-contain input[type="checkbox"]:focus ~ .b-input {
    background: #ffffff;
    border-color: #970F76;
}

.b-contain:hover input[type="radio"]:not([disabled]) ~ .b-input,
.b-contain input[type="radio"]:focus ~ .b-input {
    background: #e2e8f0;
    border-color: #64748b;
}

.b-contain input:focus ~ .b-input {
    box-shadow: none;
}

.b-contain input[type="checkbox"]:checked ~ .b-input {
    background: #970F76;
    border-color: #970F76;
}

.b-contain input[type="radio"]:checked ~ .b-input {
    background: #970F76;
    border-color: #970F76;
}

.b-contain input[type="checkbox"]:disabled ~ .b-input,
.b-contain input[type="radio"]:disabled ~ .b-input {
    opacity: 0.5;
    cursor: not-allowed;
}

.b-contain input[type="radio"]:disabled ~ .b-input::after {
    background: #ffffff;
}

.b-contain:hover input[type="checkbox"]:not([disabled]):checked ~ .b-input,
.b-contain input[type="checkbox"]:checked:focus ~ .b-input {
    background: #970F76;
    border-color: #970F76;
}

.b-contain:hover input[type="radio"]:not([disabled]):checked ~ .b-input,
.b-contain input[type="radio"]:checked:focus ~ .b-input {
    background: #970F76;
    border-color: #970F76;
}

.lbank-custom-navigation-button-back {
    background-color: transparent !important;
    border: 0 !important;
    color: #970F76 !important;
    padding-left: 0;
}
.lbank-custom-navigation-button-back .fa-arrow-left:before {
    content: ' ';
    background-image: url('/assets/images/custom/arrow.svg');
    background-repeat: no-repeat;
    width: 18px;
    height: 15px;
    display: inline-block;
    background-position-y: center;
    background-size: cover;
}


@media screen and (max-width: 768px)  {
    .teaserStripeRight {
        text-align: right;
    }
}

.footerNavigation a.footer_links {
    line-height: 22px;
    letter-spacing: 0.3px;
}

@media (max-width: 768px) {
    .footerNavigation .list-inline>li {
        display: inherit;
        margin-bottom: 20px;
    }

}

.infoFooter {
    padding-top: 95px;
    padding-bottom: 100px;
}

@media (min-width: 1200px) {
    #registration_form .container .row .col-lg-5:nth-of-type(even) {
        margin-left: 8.33333333%;
    }
}

/*
 * SURVEY
 */
#survey .category-name h3 {
    margin-bottom: 50px;
}
#survey .question {
    margin-bottom: 25px;
    font-family: RelevantBold, serif;
}
#survey .answers {
    margin-bottom: 51px;
}
#survey .answer label {
    margin-bottom: 0;
}
#survey .answer:not(:last-child) label {
    margin-bottom: 21px;
}
#survey .answer textarea {
    overflow: hidden;
    height: 35px;
    padding: 0;
}

#survey .answer textarea::placeholder {
    color: #8F8F8F;
}
#survey .answer:hover textarea::placeholder {
    color: #5C5C5C;
}
#survey .answer textarea:focus {
    border-bottom-width: 3px;
}


/* Customize the label (the container) */
label.contain {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-weight: 100;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

label.contain.has-error {
    font-weight: bold;
    color: rgb(255 0 0 / 68%);
}
.has-error textarea {
    background-color: rgb(255 0 0 / 68%);
}

/* Hide the browser's default checkbox */
label.contain input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
/* Create a custom radio button */
.checkmark,
.circle {
    position: absolute;
    top: 0;
    left: 0;
    height: 1.30rem;
    width: 1.30rem;
    background-color: #fff;
    transition: background 250ms;
    border: 1px solid #757575;
    border-radius: 0.16rem;
}
.circle {
    border-radius: 50%;
}

/* On mouse-over, add a grey background color */
/* On mouse-over, add a grey background color */
label.contain:hover input ~ .checkmark,
label.contain:hover input ~ .circle {
    border-color: #970F76;
}

/* When the checkbox is checked, add a blue background */
/* When the radio button is checked, add a blue background */
label.contain input:checked ~ .checkmark,
label.contain input:checked ~ .circle {
    border-color: #970F76;
    background-color: #970F76;
}
label.contain input:checked ~ .circle {
    border-width: 0;
}

/* Create the checkmark/indicator (hidden when not checked) */
/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after,
.circle:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
/* Show the indicator (dot/circle) when checked */
label.contain input:checked ~ .checkmark:after,
label.contain input:checked ~ .circle:after {
    display: block;
}

/* Style the checkmark/indicator */
label.contain .checkmark:after {
    left: 8px;
    top: 4px;
    width: 0.3rem;
    height: 0.6rem;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transition: background 250ms;
    transform: rotate(45deg);
}

/* Style the indicator (dot/circle) */
label.contain .circle:after {
    top: 3px;
    left: 3px;
    width: 17.5px;
    height: 17.5px;
    border-radius: 50%;
    background: #970F76;
    border: 4px solid white;
}
