/* Boilerplate light */
/* ============================================================================================================================================================== */
* {
    /*outline: 1px solid red;*/
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

/* Layout */
/* ============================================================================================================================================================== */
#body-container {
    display: flex;
    justify-content: center;
}

#left, #right, #center {
    display: block;
    margin: 0;
    min-height: 100vh;
    float: left; /* fallback option - it doesn't break everything completely. On very old IE browsers the site will break anyways */
                 /* TODO (nevertheless): add legacy handlers to flex display continers */
}

#center {
    width: 70%;
    max-width: 1200px;
    min-width: 705px;
    display: flex;
    flex-direction: column;
}

#left, #right {
    width: 15%;
    flex-grow: 1;
}

#footer {
    flex-grow: 1;
}

/* Styles */
/* ============================================================================================================================================================== */
body {
    background: url(graphics/bg-tile.jpg) center top;
    background-attachment: fixed;
    font-family: 'Quicksand', sans-serif;
    font-size: 18px;
    background-color: #503016;
}

h1 {
    border-bottom: 5px solid #dd9933;
    background: #dd9933;
    color: white;
    padding: 20px 40px;
}

h2, h3, h4 {
    padding-bottom: 5px;
}

p {
    padding-bottom: 20px;
}

ol {
    padding-bottom: 15px;
}

li {
    padding-left: 10px;
    margin-left: 18px;
    padding-bottom: 5px;
}

a {
    color: #99cccc;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s;
}

a:hover, a:focus, a:active {
    color: #dd9933;
    transition: all 0.3s;
}

#language {
    position: absolute;
    top: 0;
    padding: 5px;
}

.language-select-icon {
    width: 30px;
    height: 20px;
    display: inline-block;
    background-size: 30px 20px;
    background-repeat: no-repeat;
    image-rendering: -webkit-optimize-contrast;
}

#de {
    background-image: url('graphics/de.png');
}
#de:hover {
    background-image: url('graphics/de-hover.png');
}
#de:active, #de:focus, .selected#de {
    background-image: url('graphics/de-selected.png');
}

#en {
    background-image: url('graphics/en.png');
}
#en:hover {
    background-image: url('graphics/en-hover.png');
}
#en:active, #en:focus, .selected#en {
    background-image: url('graphics/en-selected.png');
}

#el {
    background-image: url('graphics/el.png');
}
#el:hover {
    background-image: url('graphics/el-hover.png');
}
#el:active, #el:focus, .selected#el {
    background-image: url('graphics/el-selected.png');
}

#icono_background {
    text-align: center;
    background: #99cccc;
    min-height: 270px;
}

#icono_img {
    max-width: 705px;
    width: 100%;
}

#navmenu {
    padding: 10px;
    text-align: center;
    background: #3a2e2e;
    color: #ffffff;
    border-bottom: 5px solid #dd9933;
}

#mobile-menu {
    display: none;
}

.nav-item {
    padding: 0 10px;
}

#call-to-action {
    min-height: 76px; /*Fallback if there is no flex */
    padding: 10px 40px;
    color: #ffffff;
    font-weight: bold;
    background:  #dd9933;
    border-bottom: 5px solid #dd9933;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

#gplay-button {
    border: 2px solid #ffffff;
    border-radius: 5px;
}

#gplay-button:hover {
    background: #ffffff;
}

#gplay-logo {
    float: right; /* Fallback if there is no flex */
    width: 170px;	height: 51px;
    padding: 10px;
}

#center {
    background: #ffffff;
    color: #3a2e2e;
    box-shadow: 0 0 10px 5px rgba(0,0,0,0.5);
}

#main_body{
    padding: 30px 40px;
}

#facebook_footer {
    font-weight: bold;
    padding: 10px 40px;
    background: #5f83cd;
    text-align: center;
    color: #ffffff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.facebook-page-button {
    background: #4267b2;
    border: 1px solid #4267b2;
    color: #fff;
    cursor: pointer;
    font-family: Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    margin: 0 4px;
    white-space: nowrap;
    font-size: 13px;
    padding: 6px 6px 5px;
    border-radius: 4px;
}

.facebook-page-button:hover {
    color: #ffffff;
    background: #365899;
    border: 1px solid #365899;
}

#footer {
    padding: 20px 40px;
    font-size: 0.8em;
    text-align: center;
    background: #3a2e2e;
    color: #ffffff;
    border-top: 5px solid #dd9933;
}

/* Media Queries */
/* ============================================================================================================================================================== */
@media screen and (max-width: 720px) {
    #left, #right {
        display: none;
    }

    #center {
        width: 100%;
        min-width: 0;
    }

    #icono_background {
        min-height: 0;
    }

    .nav-item {
        display: block;
        padding: 10px;
    }

    #leaderboardtable table, th, td {
        padding: 0 !important;
        font-size: 12px;
    }

    #leaderboardtable table tr td:first-child,
    #leaderboardtable table tr th:first-child,
    #leaderboardtable table tr td:last-child,
    #leaderboardtable table tr th:last-child {
        padding: 0 !important;
    }

    #leaderboardtable table tr td:first-child img {
        width: 30px;
    }

    #mobile-menu {
        display: block;
        position: relative;
        width: 45px;
        height: 38px;
        margin: 0 auto;
        cursor: pointer;
    }

    #mobile-menu:hover .mobile-bar {
        background: #dd9933;
    }

    .mobile-bar {
        position: absolute;
        width: 45px;
        height: 8px;
        background: #99cccc;
        transition: all 0.5s;
    }

    .mobile-bar:first-child {
        top: 0;
        transform: rotate(0deg);
    }

    .mobile-bar:nth-child(2) {
        top: 15px;
        opacity: 1;
    }

    .mobile-bar:last-child {
        bottom: 0;
        transform: rotate(0deg);
    }

    #mobile-menu.open .mobile-bar:first-child {
        top: 15px;
        transform: rotate(-135deg);
    }

    #mobile-menu.open .mobile-bar:nth-child(2) {
        opacity: 0;
    }

    #mobile-menu.open .mobile-bar:last-child {
        top: 15px;
        transform: rotate(-45deg);
    }

    #navmenu #bar {
        transform: rotateX(90deg);
        transform-origin: top;
        opacity: 0;
        height: 0;
        transition: all 0.3s;
    }

    #navmenu #bar.open {
        transform: rotateX(0deg);
        opacity: 1;
        height: 216px;
        transition: all 0.3s;
    }
}