/*  HagerScale-Webfonts Bold */
@font-face {
    font-family: 'HagerScale-Webfonts';
    src: url("fonts/HagerScale-Webfonts/HagerScale-Bold.woff2") format("woff2"), url("fonts/HagerScale-Webfonts/HagerScale-Bold.woff") format("woff");
    /* Legacy iOS */
    font-weight: 700;
}

/* HagerScale-Webfonts Regular  */
@font-face {
    font-family: 'HagerScale-Webfonts';
    src: url("fonts/HagerScale-Webfonts/HagerScale-Regular.woff2") format("woff2"), url("fonts/HagerScale-Webfonts/HagerScale-Regular.woff") format("woff");
    /* Legacy iOS */
    font-weight: 400;
}


:root {
    /* Primary colours */
    --hager-blue: rgb(0, 120, 195); /* #0078c3 */
    --white: rgb(255, 255, 255); /* #ffffff */
    --deep-blue: rgb(0, 40, 65); /* #002841 */
    --mid-blue: rgb(0, 70, 115); /* #004673 */
    --sky-blue: rgb(140, 205, 250); /* #8ccdfa */
    --pale-blue: rgb(220, 240, 255); /* #dcf0ff */
    --hager-main-text-color: rgb(74, 74, 74); /* #4a4a4a */

    /* Secondary colours */
    --grey-1: rgb(40, 40, 40); /* #282828 */
    --grey-2: rgb(70, 70, 70); /* #464646 */
    --grey-3: rgb(100, 100, 100); /* #646464 */
    --grey-4: rgb(165, 165, 165); /* #a5a5a5 */
    --grey-5: rgb(230, 230, 230); /* #e6e6e6 */
    --accent-orange: rgb(253, 80, 0); /* #fd5000 */
}

html, body {
    min-width: 300px;  
}

body {
    font-family: "HagerScale-Webfonts", "Helvetica Neue", Arial, sans-serif;
    background-color: var(--grey-5);
    font-size: 14px;
    color: var(--hager-main-text-color);
    min-width: 300px;
}

h1 {
    font-size: 24px;
    font-weight: bold;
    line-height: 30px;
    color: var(--hager-blue);
}

h2 {
    font-size: 18px;
    font-weight: bold;
    line-height: 24px;
    color: var(--hager-blue);
}

h3 {
    font-size: 18px;
    font-weight: normal;
    line-height: 24px;
    color: var(--mid-blue);
}

h4 {
    font-size: 16px;
    font-weight: bold;
    line-height: 20px;
    color: var(--hager-blue);
}

sup {
    line-height: 8px;
}

#page_margins {
    width: 100%;
    background-color: #FFF;
}

#header {
    box-sizing: border-box;
    height: 129px;
    padding: 34px 34px 0;
}

#header_lang {
    display: none;
}

#logo {
    background-image: url(images/Hager_Logo_533px_sRGB_blue.png);
    width: 130px;
    height: 35px;
    margin: 0 auto 18px;
    background-size: contain;
    background-repeat: no-repeat;
}

#middle {
    margin-left: 0;
    padding: 0 34px 34px;
    overflow-wrap: break-word;
}

#footer {
    /*line-height: 63px;*/
    padding: 32px 0;
    background-color: var(--grey-2);
}

#footer_content {
    font-size: 12px;
}

#navigation_2 ul {
    list-style: none;
    overflow: auto;
    padding: 0;
    margin: 0;

    /* Änderung für mehr flexibilität im footer */
    padding: 0 10px;
}


#navigation_2 a {
    text-decoration: none;
    color: #FFF;
}

#navigation_2 a:hover {
    color: var(--grey-5);
}

#navigation_3 {
    display: block;
    text-align: center;
    font-size: 11px;
}

#navigation_3 ul {
    list-style: none;
    overflow: auto;
    padding: 0;
    margin: 0;
    display: inline-block;
}

#navigation_3 li {
    float: left;
    margin-right: 6px;

}

#navigation_3 a {
    text-decoration: none;
    color: var(--mid-blue);
    font-weight: bold;
}

#navigation_3 a:hover {
    color: var(--hager-blue);
}

#portallogo_content_top {
    display: block;
    margin: 0 -34px 34px;
    width: calc(100% + 68px);
}

.regLabel {
    box-sizing: border-box;
    padding: 6px 12px 0 0;
    float: none;
    width: 100%;
}

label.checkbox,
label.radio {
    margin-bottom: 6px;
}

.regField {
    margin-left: 0;
    padding-left: 0;
}

.regField.type6 {
    display: inline-block;
}
.regField.type6.nopush{
    display: block;
}

#regItem_arr_flight .regRow .regField,
#regItem_dep_flight .regRow  .regField,
#regItem_arr_flight .regRow  .regLabel,
#regItem_dep_flight .regRow  .regLabel {
    padding-left: 0;
}

.regItem {
    box-sizing: border-box;
    padding-right: 12px;
}

.regItem.regColumnWidth1 {
    width: 100%;
}

.regText:not(.type1) {
    width: 100%;
    float: left;
    padding-top: 6px;
    margin-bottom: 10px;
}

.regText h2 {
    line-height: 24px;
    margin-top: 0;
}

form:not(#regFormOverview) .readOnly {
    box-sizing: border-box;
    width: 100%;
    max-width: 380px;
    height: 40px;
    padding: 13px;
    font-size: 14px;
    color: #afafaf;
    border: 1px solid #e6e6e6;
    cursor: default;
    background-color: #e6e6e6;
}

#regFormOverview .readOnly {
    border-bottom: 1px solid #eee;
    background-color: #fcfcfc;
    padding: 10px 4px;
    width: 100%;
    display: block;
}

.readOnly {
    display: inline-block;
    margin-bottom: 12px;
}



.regField.itemError,
.regMandatory,
.regLabel.itemError {
    color: #c51a1b;
}

input[type='text'],
input[type='password'],
textarea {
    box-sizing: border-box;
    width: 100%;
    /*max-width: 380px;*/
    height: 40px;
    padding: 13px;
    font-size: 14px;
    color: #4a4a4a;
    border: 1px solid #afafaf;
    margin-bottom: 12px;
    transition: all .25s ease-in-out;
}

.regColumnWidth2 input[type='text'],
.regColumnWidth2 input[type='password'],
.regColumnWidth2 textarea {
    max-width: 100%;
}

select {
    box-sizing: border-box;
    background-color: #FFF;
    width: 100%;
    /*max-width: 380px;*/
    height: 40px;
    font-size: 14px;
    color: #4a4a4a;
    border: 1px solid #afafaf;
    margin: 12px 0;
    padding: 0 8px;
    transition: all .25s ease-in-out;
}

.day,
.month,
.year {
    width: 33%;
    max-width: 124px;
}

.hour,
.minute {
    width: 50%;
    max-width: 188px;
}

input[type='text']:focus,
input[type='password']:focus,
textarea:focus,
select:focus {
    border-color: #737373;
}

input[type='text'].regElementError,
input[type='password'].regElementError,
textarea.regElementError,
select.regElementError {
    border-color: #c51a1b;
    color: #c51a1b;
}

.regError {
    border: 1px solid #c51a1b;
    color: #c51a1b;
    padding: 13px;
    margin-bottom: 13px;
}

.regError span {
    display: block;
}

input[type="radio"],
input[type="checkbox"] {
    transition: all .25s ease-in-out;
}

label input[type="radio"] {
    opacity: 0;
    height: 17px;
    width: 23px !important;
    margin: 0 6px 0 0;
    padding: 0;
}

label input[type="checkbox"] {
    opacity: 0;
    height: 30px;
    width: 30px !important;
    margin: 0 6px 0 0;
    padding: 0;
    float:left;         
}

.regField label {
    /*height: 23px;*/
    display: flex;
    line-height: 23px;
}

.regField.type6 label {
    height: 30px;
}

#regFormOverview .regField.type6 {
    display: block;
}
#regFormOverview .regField.type6 label {
    height: auto;
}

.regField {
    margin-top: 6px;
}

.radio {
    background: url(images/radio_75percent_unchecked.png) no-repeat;
}

.radioChecked {
    background: url(images/radio_75percent_checked.png) no-repeat;
}

.radio[disabled='disabled'] {
    background: url(images/radio_75percent_disabled.png) no-repeat;
}

.radioCheckedDisabled {
    background: url(images/radio_75percent_checkeddisabled.gif) no-repeat;
}

.checkbox {
    background: url(images/checkbox.gif) no-repeat;
}

.checkboxChecked {
    background-position: 0 -30px;
}

.itemError .checkbox {
    background-position: 0 -60px;
}

.itemError .checkboxChecked {
    background-position: 0 -30px;
}

.checkbox[disabled='disabled'] {
    background-position: 0 -90px;
}

.checkboxCheckedDisabled {
    background-position: 0 -120px;
}


.introText {
    width: 85%;
    padding-top: 3px;
}

.regButtons {
    overflow: visible;
}

.button, .registerLink {
    background-color: #fff;
    padding-left: 10px;
    padding-right: 10px;
    font-weight: bold;
    font-size: 14px;
    height: 40px;
    color: var(--accent-orange);
    border: 2px solid var(--accent-orange);
    min-width: 140px;
    display: table !important;
    line-height: 34px;
    width: auto;
    text-decoration: none;
    text-align: center;
    -webkit-appearance: none;
    transition: all .25s ease-in-out;
    cursor: pointer;
}

.button:hover,
.registerLink:hover {
    color: white;
    background-color: var(--accent-orange);
}

.regError br,
.regItem.type5 br,
.regDelimiter,
#portallogo_header,
#left {
    display: none;
}

.questionnaireForm table {
    width: 100%;
}

.qst_radioblock_th_fieldLabel {
    text-align: left;

}

.qst_radioblock_th {
    width: 20%;
    text-align: left;
}

.qst_radioblock_th:first-child {
    width: 40%;
    text-align: left;
}
.qst_radioblock_th:first-child + td,
.qst_radioblock_th:first-child + td + td,
.qst_radioblock_th:first-child + td + td + td,
.qst_radioblock_th:first-child + td + td + td + td
{
    width: 15%;
    text-align: left;
}
.questionnaireForm .qst_input_textarea {
    width: 576px;
    height: 80px;
    margin-left: 25px;
}

.qstItem {
    margin: 1em 0;
}

.qst_td .qst_td_fieldLabel,
.qst_textarea_td_fieldLabel {
    width: 35%;
}

.questionnaireForm tr {
    margin: 5px 0;
}

.qst_textarea_td_fieldLabel {
    font-weight: bold;
}

#regItem_attr_1425 {
    height: 190px !important;
    margin-bottom: 20px;
}

.smiley label{
    display: inline-block;
    height: 67px;
    width: 67px;
    overflow: hidden;
    text-indent: -999px;
}

.smiley .radio{
    background-image: none;
}

.smiley input, .smiley br{
    display: none;
}

.smiley .smiley-cont{
    display: block;
    width: 67px;
    height: 67px;
    margin: 0;
    padding: 0;


    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;

    -webkit-transition: all 100ms ease-in;
    -moz-transition: all 100ms ease-in;
    transition: all 100ms ease-in;
     opacity: 0.5;
    -webkit-filter: brightness(1.8) grayscale(.5);
    -moz-filter: brightness(1.8) grayscale(.5);
    filter: brightness(1.8) grayscale(.5);
}

.smiley .smiley-cont:hover{
    opacity: 0.8;
    -webkit-filter: brightness(1.2) grayscale(.2);
    -moz-filter: brightness(1.2) grayscale(.2);
    filter: brightness(1.2) grayscale(.2);
}

.smiley .radioChecked .smiley-cont{
    opacity: 1;
    -webkit-filter: none;
    -moz-filter: none;
    filter: none;
}

.smiley .smiley-01{
    background-image: url('images/Smileys-01.png');
}
.smiley .smiley-02{
    background-image: url('images/Smileys-02.png');
}
.smiley .smiley-03{
    background-image: url('images/Smileys-03.png');
}


#kino th {
    font-weight: bold !important;
    font-size: 12px;
    color: #4A4A4A;
    text-align: left;
}

#kino th, #kino td {
    padding: 8px 4px;
    border-bottom: 1px solid #ccc;
    vertical-align: middle;
}

#kino th:nth-child(2), #kino td:nth-child(2) {
    display: none;
}

#kino td {
    font-size: 11px;    
}

#kino a {
    background-color: var(--accent-orange);
    padding-left: 10px;
    padding-right: 10px;
    font-weight: bold;
    font-size: 11px;
    height: 30px;
    color: #FFF;
    border: 0 none transparent;
    display: table;
    line-height: 30px;
    width: auto;
    text-decoration: none;
    text-align: center;
}


/* begin step wizzard */
#stepWizard .step {
    padding: 0 10px;
}

#stepWizardDiv a {
    border-color: transparent;
    text-transform: uppercase;
    text-decoration: none;
}


#stepWizardDiv table {
    margin: 0;
    border-collapse: separate;
    margin-bottom: 20px; }
#stepWizardDiv table td {
    padding: 0;
    background-image: none;
    vertical-align: middle;
    text-transform: uppercase;}
#stepWizardDiv table td.activeStep {
    background: var(--accent-orange);
    color: var(--grey-5); }
#stepWizardDiv table td.activeStep a {
    color: #ffffff; }
#stepWizardDiv table td.nextStep {
    background: var(--grey-5);
    color: #000000; }
#stepWizardDiv table td.nextStep a {
    color: #cccccc; }
#stepWizardDiv table td.prevStep {
    background: var(--grey-4);
    color: #ffffff; }
#stepWizardDiv table td.prevStep a {
    color: #ffffff;
    border: none;
}
#stepWizardDiv table td.arrow {
    border-top: 18px solid var(--grey-5);
    border-right: 0px solid var(--grey-5);
    border-bottom: 18px solid var(--grey-5);
    border-left: 18px solid var(--grey-5);
    position: relative; }
#stepWizardDiv table td.arrow.activeNext {
    border-left: 18px solid var(--accent-orange); }
#stepWizardDiv table td.arrow.prevActive {
    border-left-color: var(--grey-4);
    border-top-color: var(--accent-orange);
    border-right-color: var(--accent-orange);
    border-bottom-color: var(--accent-orange); }
#stepWizardDiv table td.arrow.prevPrev {
    border-left-color:  var(--grey-4);
    border-top-color:  var(--grey-4);
    border-right-color:  var(--grey-4);
    border-bottom-color:  var(--grey-4);
}
#stepWizardDiv table td.arrow::after, #stepWizardDiv table td.arrow::before {
    content: " ";
    display: block;
    width: 28px;
    height: 2px;
    position: absolute;
    top: -11px;
    left: -24px;
    background: transparent;
    transform: rotate(45deg);
    box-sizing: border-box; }
#stepWizardDiv table td.arrow::before {
    border-top: 2px solid white; }
#stepWizardDiv table td.arrow::after {
    border-right: 2px solid white;
    width: 2px;
    height: 28px;
    left: -11px;
    top: -5px; }
#stepWizardDiv table td br {
    display: none; }

#stepWizardDiv.double td.arrow {
    border-top-width: 36px;
    border-bottom-width: 36px; }
#stepWizardDiv.double td.arrow.activeNext::before {
    border-top: 2px solid white;
    transform: rotate(63.5deg);
    width: 42px;
    top: -20px;
    left: -31px; }
#stepWizardDiv.double td.arrow.activeNext::after {
    height: 42px;
    transform: rotate(26.5deg);
    left: -11px;
    top: -3px; }
#stepWizardDiv.double td.arrow::before {
    border-top: 2px solid white;
    transform: rotate(63.5deg);
    width: 42px;
    top: -20px;
    left: -31px; }
#stepWizardDiv.double td.arrow::after {
    height: 42px;
    transform: rotate(26.5deg);
    left: -11px;
    top: -3px; }

#stepWizardDiv.triple td.arrow {
    border-top-width: 54px;
    border-bottom-width: 54px; }
#stepWizardDiv.triple td.arrow.activeNext::before {
    border-top: 2px solid white;
    transform: rotate(71.5deg);
    width: 60px;
    top: -29px;
    left: -40px; }
#stepWizardDiv.triple td.arrow.activeNext::after {
    height: 60px;
    transform: rotate(18.5deg);
    left: -11px;
    top: -3px; }
#stepWizardDiv.triple td.arrow::before {
    border-top: 2px solid white;
    transform: rotate(71.5deg);
    width: 60px;
    top: -29px;
    left: -40px; }
#stepWizardDiv.triple td.arrow::after {
    height: 60px;
    transform: rotate(18.5deg);
    left: -11px;
    top: -3px; }

/* end step wizzard */


.regButtons > div:only-child {
    float: left;
}
.regButtons > div:only-child input {
    margin-left: 0;
}


@media (min-width : 350px) {
    #navigation_3 li {
        margin-right: 14px;
    }
}

@media (min-width : 450px) {
    #navigation_3 {
        display: block;
    }

    #logo {
        margin: 0 auto 34px;
        width: 181px;
    }
    
    #navigation_3 li {
        margin-right: 34px;
    }
    
    #stepWizardDiv {
        display: block;
    }

    #kino th {
        font-size: 14px; 
    }    
    
    #kino td, #kino a {
        font-size: 12px;
    }
    
    #kino a {
        height: 35px;
        line-height: 35px;
    }
    
    #kino th:nth-child(2), #kino td:nth-child(2) {
        display: table-cell;
    }
    
}

@media (min-width : 500px) {
    #navigation_2 ul {
        display: flex;
        justify-content: center;       
    }
    
    #navigation_2 li {
        float: left;
        margin-right: 34px;
    }
    
    #footer_content {
        margin: 0 34px;
        font-size: 13px;
    }
   
    
}

@media (min-width : 600px) {
    body {
        font-size: 14px;
    }

    h1 {
        font-size: 30px;
        line-height: 36px;
    }
        
    .regText {
        /*width: 45%;*/
        margin-bottom: 0;
    }
    
    .introText {
        position: absolute;
    }
    
    .regItem.regColumnWidth1 {
        width: 50%;
    }
    
    #navigation_3 {
        font-size: 14px;
    }
    
    #stepWizard td.arrow {
        display: table-cell;
    }
    
    #stepWizard td.step {
        font-size: 14px;
        border-right: 0;
        line-height: 36px;
    }
    
    #kino th {
        font-size: 16px;
    }
    
    #kino td, #kino a {
        font-size: 14px;        
    }
    
    #kino a {
        min-width: 140px;
    }
    
    #kino a {
        height: 40px;
        line-height: 40px;
    }
    
}

@media (min-width : 1000px) {
    
    body {
        font-size: 16px;
    }
    
    #page_margins{
        width: 960px;
    }

    #portallogo_content_top {
        width: 960px;
    }
  
    h1 {
        font-size: 36px;
        line-height: 40px;
    }

    h2 {
        font-size: 24px;
        line-height: 30px;
    }

    h3 {
        font-size: 24px;
        line-height: 30px;
    }

    h4 {
        font-size: 18px;
        line-height: 24px;
    }
  
}

@media (max-width: 768px) {

    #stepWizardDiv {
        display: none !important;
    }

    #sandwichHead {
        cursor: pointer;
        background: url(images/hamburger.png);
        height: 24px;
        width: 24px;
        position: absolute;
        right: 10px;
        top: 40px;
        display: block;
        background-size: 24px 24px;
        z-index: 20;
    }

    #sandwichHead.close {
        background: url(images/close.gif);
    }

    #navigation_3 {
        display: none;
    }

    #navigation_3.open {
        display: block;
        position: absolute;
        left: 0;
        top: 80px;
        background: #ffffff;
        width: 100%;
        padding-bottom: 10px;
    }

    #navigation_3 ul {
        display: block;
    }

    #navigation_3 li {
        width: 90%;
        text-align: left;
        margin: 10px;
        padding-bottom: 15px;
        border-bottom: 1px solid var(--grey-4);
    }
}
