/* Setting border-box box-sizing + ie fallback
----------------------------------------------- */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    position: relative;
    min-height: 100%; /* fixes focus scrolling in Safari (OS X) */
    margin: 0;
    padding: 0;

    -webkit-tap-highlight-color: rgba(0,0,0,0); /* disable webkit tap highlight */
    color: #313131;
    font-family: 'Lato', sans-serif;
}


/* =Cosmetic CSS for demo purpose
----------------------------------------------- */

header {
    overflow: hidden;
}

.logo {
    text-align: center;
    padding: 10px;
}

/* Container */
#container {
    position: relative;
    padding: 0px 0px;
    text-align: justify;
}

/* Offside instances */
.offside {
    padding: 0px 0 15px 20px;
    width: 400px;
    background-color: #fff;
}

/* Lists */
ul {
    clear: both;
    margin: 0;
    padding: 0 20px;
}

li {
    list-style: none;
}

li > a{
    text-decoration: none;
    color: #000;
    display: block;
}

/* Offside buttons */
.offside-button {
    width: 100%;
    max-width: 350px;
    padding: 10px;
    margin: 0 auto 10px auto;
    background: #FFE200;
    color: #000;
    text-align: center;
    cursor: pointer;
}

.offside-button:hover {
    background: #FFD900;
}

.site-overlay {
    z-index: 97;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #FFF;
    visibility: hidden;
    opacity: 0;
    /*cursor: pointer;*/

    -webkit-transition: visibility 0s ease, opacity .2s ease;
    -moz-transition: visibility 0s ease, opacity .2s ease;
    -o-transition: visibility 0s ease, opacity .2s ease;
    transition: visibility 0s ease, opacity .2s ease;
}

/* Abstract icon class*/
.icon {
    display: block;
    position: relative;
    padding: 28px 15px;
    background-color: transparent;
    background-image: none;
    border: 1px solid transparent;
}

.icon .icon-bar {
    display: block;
    width: 30px;
    height: 2px;
    border-radius: 1px;
    background-color: #fff;
    margin: auto;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    -ms-transition: all .3s ease;
    transition: all .3s ease;
}

.icon:hover .icon-bar {
    background-color: #fff;
}

.icon:focus {
    outline: 0;
}

/* Hamburger button */
.icon--hamburger .icon-bar + .icon-bar {
    margin-top: 8px;
}
.icon--hamburger:hover .icon-bar + .icon-bar {
    width: 22px;
}
.icon--hamburger:hover .icon-bar + .icon-bar + .icon-bar {
    width: 30px;
}

/* Close button */
.icon--cross {
    padding: 20px;
}

.icon--cross > .icon-bar + .icon-bar {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.icon--cross > .icon-bar{
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);

    margin-top: -2px;
}



/* Helpers */
.h--left{
    float: left;
}

.h--right{
    float: right;
}

/* Demo specific: typical */

/* Just few cosmetic CSS for overlay fade in/out */
.offside-js--is-open .site-overlay {
    visibility: visible;
    opacity: .01;
    -webkit-transition-delay: delay 0s;
    -o-transition-delay: delay 0s;
    transition-delay: delay 0s;
}

@media (max-width: 991px) {
    .offside {
        width: 100%;
        height: calc(100% - 60px);
        margin-top: 60px;
        padding: 10px 15px 15px 20px;
    }
    .icon {
        padding: 22px 15px;
    }
    .icon .icon-bar {
        width: 20px;
    }
    .icon--hamburger .icon-bar + .icon-bar {
        margin-top: 4px;
    }
    .icon--hamburger:hover .icon-bar + .icon-bar {
        width: 18px;
    }
    .icon--hamburger:hover .icon-bar + .icon-bar + .icon-bar {
        width: 20px;
    }
}

@media (max-width: 320px) {
    .offside {
        height: calc(100% - 48px);
        margin-top: 48px;
    }
    .icon {
        padding: 16px 11px;
    }
}
