/* Configuration Parameters */
@keyframes fade-opacity-in {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.navplin {
    max-height: 0;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
}

ul {
    list-style-type: none;
    padding: 0px;
    margin: 0;
}

#hamburger-checkbox {
    display: none;
}

.hamburger-icon {
    position: fixed;
    top: 20px;
    right: 20px;
    display: block;
    cursor: pointer;
    height: 42px;
    width: 42px;
    background: rgba(15, 152, 213, .9);
    padding: 15px 13px 10px 13px;
    border-radius: 50%;
    z-index: 1;
}

.hamburger-icon span {
    display: block;
    top: 4px;
    width: 16px;
    height: 3px;
    background-color: #FFF;
    position: relative;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    -ms-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}

.hamburger-icon span:after, .hamburger-icon span:before {
    display: block;
    content: '';
    position: absolute;
    width: 16px;
    height: 3px;
    background-color: #FFF;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    -ms-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}

.hamburger-icon span:before {
    margin-top: -6px;
}

.hamburger-icon span:after {
    margin-top: 6px;
}

#hamburger-checkbox:checked ~ .navplin {
    width: 100%;
    height: 100vh;
    max-height: 99999px;
    background: rgba(0, 0, 0, 0.9);
    -webkit-transition: max-height 2s;
}

#hamburger-checkbox:checked ~ .hamburger-icon span {
    background-color: transparent;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    -ms-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    transition-duration: 0.2s;
}

#hamburger-checkbox:checked ~ .hamburger-icon {
    background: red;
}

#hamburger-checkbox:checked ~ .hamburger-icon span:before, #hamburger-checkbox:checked ~ .hamburger-icon span:after {
    margin-top: 0px;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    -ms-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    transition-duration: 0.2s;
}

#hamburger-checkbox:checked ~ .hamburger-icon span:before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

#hamburger-checkbox:checked ~ .hamburger-icon span:after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.navplin a, .navplin label {
    display: block;
    padding: 6px 18px 7px 18px;
    color: #FFFFFF;
    box-shadow: inset 0 -1px rgba(255, 255, 255, .1);
    -webkit-transition: all .2s ease-in;
    transition: all .2s ease-in;
    margin: 0;
    font-size: 1.8rem;
}

.navplin a:focus, .navplin a:hover, .navplin label:focus, .navplin label:hover {
    color: #0095DA;
    background: rgba(255, 255, 255, .9);
}

.navplin label {
    cursor: pointer;
}

/**
 * Styling first level lists items
 */
.group-list a, .group-list label {
    padding-left: 18px;
    color: #000000;
    background: #FFFFFF;
    box-shadow: inset 0 -1px rgba(0, 0, 0, .15);
    /*text-transform: uppercase;*/
}

.group-list a:focus, .group-list a:hover, .group-list label:focus, .group-list label:hover {
    background: #FFFFFF;
    color: #0095DA;
}

/**
 * Styling second level list items
*/
.sub-group-list a, .sub-group-list label {
    padding-left: 4.75rem;
    background: #353535;
    box-shadow: inset 0 -1px #474747;
}

.sub-group-list a:focus, .sub-group-list a:hover, .sub-group-list label:focus, .sub-group-list label:hover {
    background: #232323;
}

/**
 * Styling third level list items

.sub-sub-group-list a, .sub-sub-group-list label {
	padding-left: 6.75rem;
	background: #454545;
	box-shadow: inset 0 -1px #575757;
}
.sub-sub-group-list a:focus, .sub-sub-group-list a:hover, .sub-sub-group-list label:focus, .sub-sub-group-list label:hover {
	background: #333333;
}
/**
 * Hide nested lists
 */
.group-list, .sub-group-list, .sub-sub-group-list {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .2s ease-in-out;
}

.nav__list {
    margin: 110px 0 0 0;
}

.nav__list:before {
    position: absolute;
    display: block;
    content: '';
    background: #1099D6;
    height: 2px;
    width: 9.5rem;
    top: 88px;
}

.nav__list input[type=checkbox]:checked + label + ul {
    /* reset the height when checkbox is checked */
    max-height: 1000px;
}

label > span {
    margin: 0 0 0 0;
    float: right;
    -webkit-transition: -webkit-transform .2s;
    transition: transform .2s;
}

label > div > #active {
    margin: 3px 0 0 0;
    float: right;
    -webkit-transition: -webkit-transform .2s;
    transition: transform .2s;
}

.nav__list input[type=checkbox]:checked + label > span, .nav__list input[type=checkbox]:checked + label > div > #active {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.fa {
    margin: .3rem 0 0 0;
}
