@font-face {
    font-family: "Unit Rounded";
    src: url('../fonts/Unit_Fonts/UnitRoundedPro.otf'); /* IE9 Compat Modes */
    src: url('../fonts/Unit_Fonts/UnitRoundedPro.otf') format('opentype'),
    url('../fonts/UnitRoundedPro.eot');
}

html {
    font-family: "Unit Rounded", UnitRoundedWebPro-Regular, sans-serif !important;
    width: 100%;
    max-width: 650px;
    min-width: 320px;
    overflow: hidden;
}

body {
    width: 100%;
    position: relative;
}

#content {
    padding: 2%;
    background-color: #e4eef3;
    position: relative;
}

/* EXPLANATION BOX */

#explanation {
    -webkit-transition: all ease;
    -moz-transition: all ease;
    -o-transition: all ease;
    -ms-transition: all ease;
    transition: all ease;
    position: absolute;
    z-index: 3;
    background-color: white;
    border: 2px solid #e4eef3;
    border-radius: 10px;
    color: #4277af;
    height: auto;
    padding: 10px;
    width: auto!important;
    max-width: 85%;
    opacity: 0;
    min-width: 125px!important;
}

#explanation>span{
    width: 100%;
    height: 100%;
}

#bubble-arrow-top {
    position: absolute;
    left: calc(50% - 10px);
    margin-top: -30px;
    opacity: 0;
}

#bubble-arrow-inner-top {
    position: absolute;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-bottom: 10px solid white;
}

#bubble-arrow-outer-top {
    position: absolute;
    width: 0;
    height: 0;
    top: -2px;
    left: -1px;
    border: 11px solid transparent;
    border-bottom: 11px solid #e4eef3;
}

#bubble-arrow-bottom {
    position: absolute;
    left: calc(50% - 10px);
    margin-top: 10px;
    opacity: 0;
}

#bubble-arrow-inner-bottom {
    position: absolute;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-top: 10px solid white;
}

#bubble-arrow-outer-bottom {
    position: absolute;
    width: 0;
    height: 0;
    top: 1px;
    left: -1px;
    border: 11px solid transparent;
    border-top: 11px solid #e4eef3;
}

#bubble-arrow-left {
    position: absolute;
    left: -20px;
    top: calc(50% - 10px);
    opacity: 0;
}

#bubble-arrow-inner-left {
    position: absolute;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-right: 10px solid white;
}

#bubble-arrow-outer-left {
    position: absolute;
    width: 0;
    height: 0;
    top: -1px;
    left: -2px;
    border: 11px solid transparent;
    border-right: 11px solid #e4eef3;
}

#bubble-arrow-right {
    position: absolute;
    left: 100%;
    top: calc(50% - 10px);
    opacity: 0;
}

#bubble-arrow-inner-right {
    position: absolute;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-left: 10px solid white;
}

#bubble-arrow-outer-right {
    position: absolute;
    width: 0;
    height: 0;
    top: -1px;
    /*left: -1px;*/
    border: 11px solid transparent;
    border-left: 11px solid #e4eef3;
}

/* CATEGORIES */

#infograph {
    width: 95%;
    padding: 3% 5%;
    margin: auto;
}

.main-category {
    position: relative;
    height: 220px;
    background-color: #5babd5;
    width: 48%;
    border-radius: 7px;
    opacity: 0;
    padding: 0 2%;
}

.main-category img {
    cursor: pointer;
}

.main-category-title {
    font-size: 1.2rem;
    color: white;
    font-weight: bold;
    cursor: pointer;
}

#top-left-box {
    margin: 0 2% 2% 0;
}

#top-right-box {
    margin: 0 0 2% 2%;
}

#bottom-left-box {
    margin: 2% 2% 0 0;
}

#bottom-right-box {
    margin: 2% 0 0 2%;
}

#top-left-box, #top-right-box, #bottom-left-box, #bottom-right-box {
    padding: 0.75rem 0;
}

.main-category .row, .main-category .row .col {
    height: 100%;
}


#icon-start {
    width: 12rem;
}

#start-view {
    width: 12rem;
    position: absolute;
    left: calc(50% - 6rem);
    top: calc(50% - 6rem);
    z-index: 5;
}

#skip, #start, #control>a {
    line-height: 20px;
    padding: 5px 10px;
    background-color: #4277af;
    color: white;
    border-radius: 0.3em;
    cursor: pointer;
    width: 9rem;
    text-align: center;
    display: inherit;
    margin: auto;
    margin-bottom: 10px;
}

#control {
    display: none;
    position:absolute;
    bottom: calc(40% - 23px);
    right: calc(50% - 28px);
    z-index: 5;
}

#control>a {
    width: auto;
}



#skip:hover, #start:hover, #control>a:hover {
    background-color: #467D95;
}

.icon-left, .icon-right {
    max-width: 100%;
}

.icon-left {
    float: left;
}

.icon-right {
    float: right;
}

.icon-bottom {
    max-width: 100%;
    height: 100%;
}

.icon-bottom>img {
    position: relative;
    top: 100%;
    transform: translateY(-100%);
}

#info-row-top, #info-row-bottom {
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0;
}

/* AXES */

#point-container {
    margin-left: calc(50% - 3px);
    margin-top: -3px;
    /*height: 6px;*/
}

#point-center {
    opacity: 0;
    width: 6px;
    height: 6px;
}

.arrow {
    position: absolute;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    -ms-transition: all 1s ease;
    transition: all 1s ease;
    left: calc(50% - 9.5px);
    top: 50%;
    color: #4277af;
    font-size: 30px;
    line-height: 0!important;
    opacity: 0;
    /*width: 17px;
    height: 17px;
    border-left: 5px solid #4277af;
    border-bottom: 5px solid #4277af;*/
}

#arrow-left {
    /*-webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);*/
}

#arrow-right {
    /*-webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);*/
}

#arrow-top {
    /*-webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);*/
}

#arrow-bottom {
    /*-webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);*/
}

.arrow-transition {
    opacity: 1;
}

#arrow-left.arrow-transition {
    left: calc(10% - 15px);
}

#arrow-right.arrow-transition {
    left: calc(90% - 1px);
}

#arrow-top.arrow-transition {
    top: calc(10% - 5px);
}

#arrow-bottom.arrow-transition {
    top: calc(90% + 5px);
}

.point {
    position: absolute;
    width: 6px;
    height: 6px;
    background: #4277af;
    left: calc(50% - 3px);
    top: calc(50% - 3px);
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    -ms-transition: all 1s ease;
    transition: all 1s ease;
    opacity: 0;
}

.point-transition {
    opacity: 1;
}

#point-left.point-transition {
    width: calc(40% + 10px);
    left: calc(10% - 10px);
}

#point-right.point-transition {
    width: calc(40% + 10px);
}

#point-top.point-transition {
    height: calc(40% + 10px);
    top: calc(10% - 7px);
}

#point-bottom.point-transition {
    height: calc(40% + 10px);
}

.click {
    cursor: pointer;
}

.axis-text {
    font-size: 1.2rem;
    color: #4277af;
    opacity: 0;
}

.axis-text:hover {
    color: #ffcb3e;
    cursor: pointer;
}

#text-top, #text-bottom {
    text-align: center;
}

#text-left, #text-right {
    position: absolute;
    top: calc(50% - 0.6rem);
    min-width: 250px;
    text-align: center;
}

#text-left {
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg);
    left: calc(3% - 125px + 0.6rem);
}

#text-right {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    left: calc(97% - 125px - 0.6rem);
}

.subcategories {
    opacity: 0;
    margin-left: 15px;
}

.dashed.subcategories>li:before {
    content: "—";
    display: block;
    float: left;
    position: absolute;
    margin-left: -15px;
    font-weight: bold;
    /*text-indent: -5px;*/
}

.subcategories>li {
    cursor: pointer;
    color: white;
}

.subcategories>li:hover, .main-category-title:hover {
    color: #ffcb3e;
}

/* OVERLAY HELPER */

#overlay, #overlay-modal {
    z-index: 4;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    cursor: pointer;
}

#overlay-modal {
    display: none;
    background-color: black;
    opacity: .5;
    cursor: pointer;
}

#overlay-opacity {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    display: none;
    z-index: 1;
    background-color: white;
    opacity: .4;
}

/* MODAL */

#subcategory-modal {
    position: absolute;
    margin: auto;
    width: 70%;
    height: auto;
    z-index: 5;
    top: 20%;
    left: 15%;
    background-color: white;
    color: #4277af;
    display: none;
    padding: 15px;
    border-radius: 10px;
    border: 2px solid #e4eef3;

}

.modal-close {
    line-height: 25px;
    height: 25px;
    padding: 0 10px;
    background-color: #5babd5;
    color: white;
    float: right;
    border-radius: 0.3em;
    cursor: pointer;
    font-weight: bold;
}

ul {
    margin-top: 5px!important;
}

h5 {
    font-size: 1.3rem!important;
    margin-top: 0!important;
    font-weight: bold!important;
}

#schlussbalken {
    position: relative;
    width: 100%;
    height: 10px;
    margin: 10px 0 10px 0;
    background-color: #467D95;
    border-radius: 2px;
}

.text-right {
    padding-right: 0!important;
}

.text-left {
    padding-left: 0!important;
}

#lift-container {
    padding-left: 0!important;
}

#info-row-top .hide-on-med-and-up {
    padding-bottom: 5px!important;
}

#info-row-bottom .hide-on-med-and-up {
    margin-top: auto;
}

.hide-on-med-and-up, .m7 {
    height: auto!important;
}

.main-category .hide-on-small-only img {
    height: 90px;
}

.main-category .hide-on-small-only img#lift-big {
    width: 100%;
}

.main-category .hide-on-med-and-up img {
    height: 70px;
}

.main-category .hide-on-med-and-up img#lift {
    max-height: 100%;
}

@media (max-width: 328px) {
    .main-category .hide-on-med-and-up img {
        height: 55px;
    }
}

@media (max-width: 380px) {
    .main-category-title, .axis-text {
        font-size: 0.9rem;
    }
    .subcategories>li {
        font-size: 10px;
    }
    .main-category {
        height: 205px;
    }

    #explanation {
        font-size: 12px;
    }
}

@media (min-width: 380px) and (max-width: 460px) {
    .main-category-title, .axis-text {
        font-size: 1rem;
    }
    .subcategories>li {
        font-size: 11px;
    }

    #explanation {
        font-size: 12px;
    }
}

@media (min-width: 380px) and (max-width: 600px) {

}

@media (max-width: 600px) {

    .dashed.subcategories>li:before {
        content: "";
    }

    .main-category .row {
        display: flex;
        /*justify-content: space-between;*/
        flex-direction: column;
    }
    #text-left {
        left: calc(3% - 130px + 0.5rem);
    }

    #text-right {
        left: calc(97% - 120px - 0.5rem);
    }

    #point-left.point-transition {
        width: calc(40% + 10px);
        left: calc(10% - 5px);
    }

    #point-right.point-transition {
        width: calc(40% + 10px);
    }

    #point-top.point-transition {
        height: calc(40% + 17px);
        top: calc(10% - 14px);
    }

    #point-bottom.point-transition {
        height: calc(40% + 17px);
    }

    #arrow-left.arrow-transition {
        left: calc(10% - 10px);
    }

    #arrow-right.arrow-transition {
        left: calc(90%);
    }

    #arrow-top.arrow-transition {
        top: calc(10% - 12px);
    }

    #arrow-bottom.arrow-transition {
        top: calc(90% + 12px);
    }

    .point {
        width: 4px;
        height: 4px;
        left: calc(50% - 2px);
        top: calc(50% - 2px);
    }

    #point-container {
        margin-left: calc(50% - 2px);
        margin-top: -2px;
        /*height: 6px;*/
    }

    #point-center {
        opacity: 0;
        width: 4px;
        height: 4px;
    }

    .arrow {
        left: calc(50% - 7px);
        font-size: 22px;
    }
    .text-left, .text-right {
        padding: 0 0.75em!important;
    }

    .text-left {
        text-align: right;
    }

    .text-right .subcategories {
        margin-left: 0;
    }

    #info-row-top .subcategories, #info-row-bottom .subcategories {
        margin-bottom: 0;
    }

}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .fas {
        line-height: 2px!important;
    }
}


