html {
    max-width: 100%;
}

body {
    font-family: Roboto, sans-serif;
    // font-family: helvetica;
    color: #000000;
    font-size: 20px;
    margin: 0;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
}

/*a, a:active, a:visited {
    color: #88ECA7;
}*/

h2 {
    font-size: 135%;
    line-height: 1.3em;
    text-transform: uppercase;
    // letter-spacing: 1px;
}

article {
    // display: flex;
    // flex: 1 1 auto;
}


'img {
'    display: flex;
'    min-height: 25px;
'    min-width: 25px;
'    margin: 3%;
'    // width: 100%;
'}
'
'img.hover {
'    cursor: pointer;
'}
'
'.padded {
'    margin: 5%;
'}

header, .header-container {
    position: fixed;
    height: 100px;
    width: 100%;
    margin: 0 auto;
    z-index: 90;
    font-size: 120%;
}

.header-container {
    display: flex;
    flex-flow: row nowrap;
    background-color: #EFEFEF;
    box-shadow: 0px 3px 10px #A6A6A6;
    justify-content: space-between;
    z-index: 99;
    color: gray;
}

.menu-container, .logo-container, .langbar-container {
    display: flex;
    flex: 1 1 33%;
    padding: 5px 3%;
    box-sizing: border-box;
    align-content: center;
    align-items: center;
}

.logo-container {
    justify-content: center;
    // padding: 5px 3% 5px 8%;
}

.logo-container img {
    margin: 0;
}

.menu-container {
    justify-content: flex-start;
    padding: 5px 0;
}

.menu-container i {
    padding: 0 4% 0 8%;
    cursor: pointer;
}

.langbar-container {
    justify-content: flex-end;
    cursor: pointer;
}

.menu-container, .langbar-container {
    opacity: 0;
}

.menu-container i, .langbar-container i {
    font-size: 150%;
}

.body-container {
    position: absolute;
    left: 0;
    top: 100px;
    right: 0;
    bottom: 0;
    // height: 100%;
    // width: 100%;
    display: flex;
    flex: 1 1 100%;
    background-color: #01579B;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: stretch;
    overflow: hidden;
}

.side {
    display: flex;
    box-sizing: border-box; 
}
.cell-side {
    display: flex;
    flex: 1 1 100%;
    flex-flow: column nowrap;
    box-sizing: border-box; 
}
.content-cell {
    display: flex;
    flex: 1 1 auto;
    flex-flow: column nowrap;
    // padding: 5%;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box; 
    overflow: hidden;
    overflow-y: auto;
    cursor: pointer;
    background-color: #000;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    opacity: .0;
    height: 100%;
    width: 100%;
    background-color: #000;
    transition: opacity .5s;
    display: flex;
 }

.overlay-text {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: auto;
    // background-color: #000099;
    color: #fff;
    // background-color: #fff;
    // color: #000;
}

.content-cell:hover .overlay{
  opacity: .65;
  transition: opacity .5s;
}

.content-cell:hover {
  opacity: .9;
  transition: opacity .5s;
}

.image .active {
    display: block;
    opacity: 1;
}

// .image .hover {
//     display: none;
//     opacity: 1;
// }

// .image:hover .active{
//   display: none;
// }

// .image:hover .hover{
//   display: block;
//   opacity: 1;
//   transition: opacity .5s;
// }

.text, .image {
    width: 100%;
    // margin: 3%;
}
.text {
    // padding-right: 5%;
}
.wider {
    flex-basis: 60%;
    width: 60%;
}
.narowwer {
    flex-basis: 40%;
    width: 40%;
}
#vizuelni {
    background-color: #4FC3F7;
    background-color: #D6D5D5;
    background-color: #C5C5C5;
    color: #011F36;
    color: #666666;
    color: #FFFFFF;
}

#jednostavni {
    flex-flow: row nowrap;
    background-color: #01579B;
    /*background-color: #9C9C9C;*/
    color: #E1F5FE;
    /*color: #F9F9F9;*/
}

#dinamicki {
    background-color: #0277BD;
    background-color: #B7B7B7;
    color: #FFFFFF;
    color: #FFFFFF;
}

#download {
    background-color: #0288D1;
	background-color: #9C9C9C;
    color: #012F53;
    color: #FFFFFF;
	color: #F9F9F9;
    cursor: default;
}

@media screen and (max-width: 480px) {
    body {
        font-size: 60%;
    }
    .left  {
        min-height: 35%;
        font-size: 110%;
    }
    .right {
        min-height: 65%;
    }
}

@media screen and (min-width: 0px) {
    body {
        font-size: 55%;
    }
    .header-container {
        height: 40px;
    }
    .logo-logo {
        display: flex;
        height: 35px;
    }
    .body-container {
        top: 40px;
        flex-flow: column nowrap;
        align-content: stretch;
        align-items: stretch;
    }

    .content-cell {
        flex-flow: row nowrap;
    }
    .text {
        flex-basis: 65%;
    }
    .image {
        flex-basis: 35%;
        align-items: center;
    }
    .side {
        flex-basis: auto;
        flex-flow: column nowrap;
    }
    .fullheight, .fullwidth, .halfheight, .halfwidth {
        width: 100%;
        height: auto;
    }
    .fullwidth {
        height: 50%;
        flex-basis: 50%;
    }
    .halfwidth {
        // height: 15%;
        // flex-basis: 15%;
        font-size: 90%;
    }
    h2 {
        margin: 7%;
        margin-bottom: 4%;
    }

    article {
        margin: 0 7%;
        margin-bottom: 4%;
    }
    .overlay-text {
        height: 20px;
        font-size: 15px;
        padding: 4px 8px;
    }
}

@media screen and (min-width: 0px) and (min-height: 480px) {
    body {
        font-size: 70%;
    }
}


@media screen and (min-width: 320px) {
    body {
        font-size: 70%;
    }
    .header-container {
        height: 55px;
    }
    .logo-logo {
        height: 45px;
    }
    .body-container {
        top: 55px;
    }
}

@media screen and (min-width: 320px) and (min-height: 600px) {
    body {
        font-size: 80%;
    }
}

@media screen and (min-width: 410px) {
    body {
        font-size: 75%;
    }
}

@media screen and (min-width: 410px) and (min-height: 720px) {
    body {
        font-size: 90%;
    }
}

@media screen and (min-width: 480px) {
    body {
        font-size: 80%;
    }
    .header-container {
        height: 70px;
    }
    .logo-logo {
        height: 60px;
    }
    .body-container {
        top: 70px;
        flex-flow: row nowrap;
    }
    .text {
        flex-basis: 50%;
    }
    .image {
        flex-basis: 50%;
    }
    #vizuelni .text {
        flex-basis: 40%;
    }
    #vizuelni .image {
        flex-basis: 60%;
    }
    .content-cell {
        flex-flow: column nowrap;
    }
    .side {
        flex: 1 1 50%;
        flex-flow: row wrap;
        height: 100%;
    }
    .fullwidth {
        width: 100%;
        flex: 0 0 100%;
        font-size: 110%;
    }
    .fullwidth h2 {
        // margin-top: 5%;
    }
    .halfwidth {
        // width: 50%;
        font-size: 90%;
    }
    .fullheight {
        height: 100%;
        flex: 0 0 100%;
    }
    .halfheight {
        height: 50%;
    }
    h2 {
        margin: 5%;
        margin-bottom: 3%;      
    }

    article {
        margin: 0 5%;
        margin-bottom: 3%;
    }
    .right h2 {
        margin: 10%;
        margin-bottom: 5%;
    }

    .right article {
        margin: 0 10%;
        margin-bottom: 5%;
    }

    .narowwer h2 {
        margin: 15%;
        margin-bottom: 10%;
    }

    .narowwer article {
        margin: 0 15%;
        margin-bottom: 10%;
    }
    .overlay-text {
        height: 25px;
        font-size: 20px;
        padding: 5px 10px;
    }
}

@media screen and (min-width: 480px) and (min-height: 0px) {
    body {
        font-size: 65%;
    }
    .right {
        font-size: 90%;
    }
    .halfwidth .image {
        display: none;
    }
    .halfwidth .text {
        font-size: 120%;
    }
    .padded {
        display: flex;
    }
}

@media screen and (min-width: 480px) and (min-height: 400px) {
    body {
        font-size: 80%;
    }
    .halfwidth .image {
        display: flex;
    }
    .halfwidth .text {
        font-size: 80%;
    }
    .text {
        flex-basis: 50%;
    }
    .image {
        flex-basis: 50%;
    }
    #vizuelni .text {
        flex-basis: 40%;
    }
    #vizuelni .image {
        flex-basis: 60%;
    }
}

@media screen and (min-width: 480px) and (min-height: 480px) {
    body {
        font-size: 95%;
    }
}

@media screen and (min-width: 640px) and (min-height: 400px) {
    .halfwidth .text {
        font-size: 90%;
    }
    .text {
        flex-basis: 50%;
    }
    .image {
        flex-basis: 50%;
    }
    .padded {
        margin: 5% 5% 5% 0;
    }
}

@media screen and (min-width: 640px) and (min-height: 640px) {
    body {
        font-size: 110%;
    }
}


@media screen and (min-width: 720px) {
    body {
        font-size: 95%;
    }
    header {
        font-size: 80%;
    }
    .header-container {
        height: 85px;
    }
    .logo-logo {
        height: 75px;
    }
    .body-container {
        top: 85px;
    }
    .text {
        flex-basis: 60%;
    }
    .image {
        flex-basis: 40%;
    }
    #vizuelni .text {
        flex-basis: 35%;
    }
    #vizuelni .image {
        flex-basis: 65%;
    }
}

@media screen and (min-width: 720px) and (min-height: 720px) {
    body {
        font-size: 110%;
    }
}

@media screen and (min-width: 960px) {
    body {
        font-size: 100%;
    }
    header {
        font-size: 70%;
    }
    .header-container {
        height: 100px;
    }
    .logo-logo {
        display: flex;
        height: 90px;
    }
    .body-container {
        top: 100px;
    }
    // .text {
    //     flex-basis: 45%;
    // }
    // .image {
    //     flex-basis: 55%;
    // }
    .padded {
        padding: 0 10%;
    }
}

@media screen and (min-width: 720px) and (min-height: 720px) {
    body {
        font-size: 120%;
    }
}

@media screen and (min-width: 1024px) {
    body {
        font-size: 120%;
    }
    .text {
        flex-basis: 45%;
    }
    .image {
        flex-basis: 55%;
    }
    #jednostavni .text {
        flex-basis: 55%;
    }
    #jednostavni .image {
        flex-basis: 45%;
    }
    .overlay-text {
        height: 30px;
        font-size: 24px;
        padding: 8px 15px;
    }
    // h2 {
    //     margin: 7%;
    // }

    // article {
    //     margin: 0 7%;
    // }
    // .right h2 {
    //     margin: 14%;
    // }

    // .right article {
    //     margin: 0 14%;
    // }

    // .narowwer h2 {
    //     margin: 20%;
    // }

    // .narowwer article {
    //     margin: 0 20%;
    // }
}

@media screen and (min-width: 1024px) and (min-height: 1024px) {
    body {
        font-size: 140%;
    }
}

@media screen and (min-width: 1280px) {
    body {
        font-size: 140%;
    }
    .padded {
        padding: 0 15%;
    }
    // header {
    //     font-size: 80%;
    // }
}

@media screen and (min-width: 1440px) {
    body {
        font-size: 160%;
    }
    // header {
    //     font-size: 80%;
    // }
}

