html,
body {
    height: 100%;
}

body {
    font-family: 'Open Sans', sans-serif;
    text-align: center;
    color: #42a1c7;
    background: #ebf2f3;
}

.logo {
    position: fixed;
    z-index: 4;
    top: 20px;
    left: 20px;
}

.sidebar {
    position: fixed;
    z-index: 6;
    top: 0;
    right: 0;
    width: 450px;
    height: 100%;
    padding: 20px;
    transition: all .4s ease;
    background: #fff;
}

.sidebar:before {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    display: block;
    width: 500px;
    height: 100%;
    content: '';
    transition: border-left .4s ease;
    transform: skew(-17deg, 0deg);
    transform-origin: 0 0 0;
    border-left: solid 0;
    background: #fff;
}

.sidebar:hover::before {
    border-left: solid 14px;
}

.sidebar:hover .toggle-sidebar {
    left: -95px;
    opacity: 1;
}

.sidebar.content-hidden {
    right: -500px;
}

/*-- Sidebar Toggle Button --*/

.toggle-sidebar {
    position: absolute;
    top: 318px;
    left: -105px;
    width: 69px;
    height: 25px;
    cursor: pointer;
    transition: all .8s ease;
    transform: rotate(107deg);
    transform-origin: 0 0 0;
    opacity: 0;
    border-radius: 3px;
    background: #42a1c7;
    animation: toggle-sidebar 1s infinite;
}

@keyframes toggle-sidebar {
    0% {
        transform: : -95px;
    }
    50% {
        left: -98px;
    }
    100% {
        left: -95px;
    }
}

.toggle-sidebar:hover {
    animation: none;
}

.toggle-sidebar:before {
    position: absolute;
    bottom: 5px;
    left: 8px;
    width: 75%;
    height: 2px;
    content: '';
    background: #fff;
}

.toggle-sidebar:after {
    position: absolute;
    top: 5px;
    left: 8px;
    width: 75%;
    height: 2px;
    content: '';
    background: #fff;
}

.content {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 73px;
    transform: translateY(-50%);
}


.site-title {
    font-family: 'Kanit', sans-serif;
    font-weight: 600;
    font-size: 40px;
    position: relative;
    margin: 0;
    color: #ffa500;
}

.site-title > span:before {
    position: absolute;
    z-index: -1;
    bottom: 17px;
    width: 100%;
    height: 2px;
    content: '';
    background: #42a1c7;
}

.site-title > span,
.site-title > span > span {
    position: relative;
}

.site-title > span > span:before {
    position: absolute;
    z-index: -1;
    bottom: 17px;
    width: 100%;
    height: 2px;
    content: '';
    background: #fff;
}

.message {
    font-family: 'Roboto Slab', serif;
    font-size: 25px;
    margin-top: 10px;
}

.contact-button {
    position: relative;
    display: inline-block;
    width: 95px;
    margin: 0 4px 20px;
    padding: 10px 20px;
    transition: all .4s ease;
    text-decoration: none;
    color: #fff;
    border: none;
}

.contact-button i {
    font-size: 38px;
    position: absolute;
    top: -5px;
}

.contact-button i {
    right: -36px;
    color: #42a1c7;
}

.contact-button {
    background: linear-gradient(to bottom, #42a1c7 50%, #ffa500 50%);
    background-position: top;
    background-size: 100% 200%;
}

.contact-button:hover {
    background-position: bottom;
}

.page {
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    transition: left .8s ease;
    text-align: left;
}

.page:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    transform: skew(-17deg, 0deg);
    transform-origin: 0 0 0;
    background: #ebf2f3;
}

.page.in {
    left: 0;
}

.page-content {
    position: absolute;
    top: 50%;
    margin-left: 40px;
    padding: 40px;
    transform: translateY(-50%);
    border: dashed 1px;
}

.page-content h2 {
    font-family: 'Roboto Slab', serif;
    font-weight: normal;
    margin-top: 0;
}

/*-- Page Close Button--*/

.close {
    font-size: 40px;
    position: absolute;
    top: 50%;
    right: -50px;
    transition: all .4s ease;
    transform: translateY(-50%);
    color: #ffa500;
}

.close:hover {
    color: #42a1c7;
}


.contact-address i {
    font-size: 28px;
    position: absolute;
    top: -8px;
    left: 0;
}

.contact-address p {
    position: relative;
    padding-left: 32px;
    color: #7b7b7b;
}

.contact-address a {
    text-decoration: none;
    color: #7b7b7b;
}

/***---------- Media -----------***/

@media screen and (min-height: 769px) {
    .toggle-sidebar {
        left: -150px;
        top: 468px;
        animation: toggle-sidebar2 1s infinite;
    }
    @keyframes toggle-sidebar2 {
        0% {
            transform: : -140px;
        }
        50% {
            left: -150px;
        }
        100% {
            left: -140px;
        }
    }
    .sidebar:hover .toggle-sidebar {
        left: -140px;
    }

}

@media screen and (max-width: 767px) {
    .sidebar {
        position: absolute;
        top: 80%;
        width: 100%;
        height: auto;
        padding: 0;
    }

    .sidebar:hover::before {
        border: none;
    }

    .toggle-sidebar {
        display: none;
    }

    .content {
        position: relative;
        top: 0;
        right: 0;
        left: 0;
        width: 433px;
        margin: auto;
        padding: 40px 0;
        transform: translateY(0);
    }

    .logo {
        right: 0;
        left: 0;
    }

    .slides-pagination {
        bottom: 55%;
    }

    .page {
        position: fixed;
        z-index: 6;
    }

    .page:before {
        transform: skew(0deg, 0deg);
    }

    .page-content {
        position: relative;
        top: 45%;
        margin: 20px;
        padding: 30px;
    }

    .page-content h2 {
        font-size: 22px;
    }

    .close {
        top: auto;
        right: auto;
        bottom: -60px;
        left: 50%;
        transform: translateX(-50%);
    }

    #newsletter-form button {
        display: block;
    }
}


@media screen and (max-width: 497px)
{
    .site-title {
        font-size: 47px;
    }

    .site-title > span:before,
    .site-title > span > span:before {
        bottom: 13px;
    }

    .site-title:after {
        left: 138px;
        width: 34px;
    }

    .message {
        font-size: 14px;
    }

    #cntdwn h2 {
        font-size: 30px;
    }

    .content {
        width: 292px;
    }
}

@media screen and (max-width: 425px)
{
    .page-content {
        margin: 20px 10px;
        padding: 20px;
    }

    .page-content h2 {
        font-size: 18px;
    }

    .newsletter-button i,
    .contact-button i {
        display: none;
    }
}

@media screen and (max-height: 360px)
{
    .page-content {
        top: 0;
        transform: translateY(0px);
    }
}
