
.conference-nav {
    z-index:1000;
}
.conference-banner {
    min-height:60vh;
    background-size:cover;
    position:relative;
    display:flex;
    flex-direction: column;
}
    .ConferencePageChild .conference-banner:not(.banner-large) {
        min-height:30vh
    }
.conference-banner > .container {
    flex-grow:1;
}
.conference-banner > .banner-overlay {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-image:radial-gradient(currentColor, transparent);
    background-size:150% 200%;
    background-position:center;
    opacity:0.6
}
.conference-banner > * {
    position:relative;
    display:flex;
    align-items:center
}

.banner-logo {
    max-width:100%;
    height:auto;
}



.sponsorselement .sponsor {
    max-width: 250px;
    margin:1.5rem;
}
.sponsorselement .pos-1 .sponsor {
    max-width:400px;
}

.sponsorselement .sponsor .logo {
    height:150px;
    display:flex;
    align-items: center;
}
.sponsorselement .sponsor .logo {
    height:200px;
}





/*SETTINGS*/
.setup-form-container {
    max-width:800px;
    position:relative;
}
/*progressbar*/
.form-steps-indicator {
    margin-bottom: 30px;
    overflow: hidden;
    text-align: center;
    /*CSS counters to number the steps*/
    counter-reset: step;
    display:flex;
}

.form-steps-indicator li {
    list-style-type: none;
    color: var(--gray);
    font-size: 12px;
    width: 33.33%;
    position: relative;
}

.form-steps-indicator li:before {
    content: counter(step);
    counter-increment: step;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    background: var(--gray);
    border-radius: 25px;
    margin: 0 auto 10px auto;
    position:relative;
    z-index:1;
}

/*progressbar connectors*/
.form-steps-indicator li:after {
    content: '';
    width: 100%;
    height: 2px;
    background: var(--gray);
    position: absolute;
    left: -50%;
    top: 18px;
    z-index: 0; /*put it behind the numbers*/
}

.form-steps-indicator li:first-child:after {
    /*connector not needed before the first step*/
    content: none;
}

/*marking active/completed steps green*/
/*The number of the step and the connector before it = green*/
.form-steps-indicator li.current:before, .form-steps-indicator li.current:after, .form-steps-indicator li.completed:before, .form-steps-indicator li.completed:after {
    background: var(--success);
    color: white;
}
.form-steps-indicator li.current:before {
    box-shadow: 0px 0px 0px 10px rgba(180, 180, 40, 0.2);
}

.select-sessions-form > fieldset {
    display:flex;
    flex-wrap:wrap;
}
.session-checkbox-holder {
    width:100%;
    margin:1.25rem;
}
.session-checkbox-holder.unselectable .session-checkbox {
    background-color: #c9c9c9;
}
.session-checkbox-holder.unselectable .session-time {
    background-color: #c9c9c9!important;
}

/* checkbox label */
.session-checkbox {
    background:#fff;
    position:relative;
    width:100%;
    padding:1.25rem 1.25rem 4.25rem 3rem;
    border:1px solid rgba(0,0,0,0.1);
    border-radius:3px;
    box-shadow:0 2px 18px -4px rgba(0,0,0,0.5);
    cursor:pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: 0.2s ease;
}
.session-checkbox.disabled-checkbox {
    opacity: 0.6;
}
.session-checkbox.disabled-checkbox:hover {
    cursor: default;
}
    .session-checkbox input {
        position:absolute;
        top:8px;
        right:8px;
        opacity:0;
    }
    .session-checkbox .checkmark {
        border: 2px solid rgba(0,0,0,0.2);
        background-color: #f0f0f0;
    }
        .session-checkbox input:checked ~ .checkmark > i {
            display:block;
        }
    .session-checkbox input ~ .checkmark {
        position:absolute;
        top:8px;
        left:8px;
        width:28px;
        height:28px;
        border-radius:2px;
        padding:0.5rem;
        display:flex;
        align-items: center;
        justify-content: center;
        color:#fff;
    }
        .session-checkbox input ~ .checkmark > i {
            display:none
        }
    .session-checkbox input:checked ~ .checkmark {
        background:var(--green)
    }
.session-checkbox .session-time {
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:3rem;
    padding:0 1.25rem 0 3rem;
}




/*todo: move to core*/
.CompositeField.composite-flex {
    display:flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}
.CompositeField.composite-flex > div {
    flex-grow: 1;
    flex-basis:200px;
    margin: 10px;
}


.person-details-form {
    position:relative;
    counter-increment:foobar;
    margin: 5px -1.25rem;
}
.person-details-form:not(.bg-grey) {
    background-color:#fff;
}

.person-details-form:not(.bg-grey)::before {
    border-right-color: #fff;
}
.person-details-form::before {
    content: counter(foobar);
    position:absolute;
    top:calc(50% - 5px);
    left: -36px;
    color:var(--gray);
    font-weight:700;
    background-color:inherit;
    border:1px solid var(--lightGrey);
    border-radius:100px 0 0 100px;
    height:32px;
    width:36px;
    line-height:20px;
    text-align: center;
    display:flex;
    justify-content: space-around;
    align-items: center;
}

/* Userforms element
 TODO: Only available on NZAC, move this to NZAC?    */
body.ConferencePage div.form-element__form {
    margin-left: 20%;
    width: 60%;
}
body.ConferencePage div.form-element__form label,
body.ConferencePage div.form-element__form .middleColumn input,
body.ConferencePage div.form-element__form .middleColumn textarea {
    width: 100%;
}
body.ConferencePage div.form-element__form .CompositeField {
    display: block;
    margin: 0;
}
body.ConferencePage div.form-element__form .CompositeField > div {
    margin: 0;
}
@media only screen and (min-width: 992px) {
    body.ConferencePage div.form-element__form {
        margin-left: 33%;
        width: 33%;
    }
}

/* Conference Content */
img.center, .captionImage.center {
    max-width: 100%;
    height: auto;
    display:block;
    margin:0 auto !important;
}
img.left {
    max-width: 100%;
    height: auto;
    float:left;
    margin: 0 12px 12px 0;
}
img.right {
    max-width: 100%;
    height: auto;
    float:right;
    margin: 0 0 12px 12px;
}
