html,
body
{
    width: 100%;
    height: 100% !important;
}

body
{
    font-weight: 300;
    font-style: normal;

    overflow: hidden;

    color: #fff;
    background: #111;

    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    font-family: "Open sans", sans-serif;
    font-weight: normal;
    line-height: auto;

    color: #fff;
}

h1
{
    font-size: 45px;
}

h2
{
    font-size: 45px;
}

h3
{
    font-size: 30px;
}

h4
{
    font-size: 24px;
}

h5
{
    font-size: 18px;
}

h6
{
    font-size: 16px;
}

p
{
    font-family: "Open sans", sans-serif;
    font-size: 14px;
}

a,
a:hover,
a:focus
{
    cursor: pointer;
    -webkit-transition: all 300ms ease;
            transition: all 300ms ease;
    text-decoration: none;
}


#page-loader
{
    position: fixed;
    z-index: 99999;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: #111;
}

#page-loader.hide-this
{
    bottom: 100%;
    -webkit-transition: all 800ms cubic-bezier(.540, .086, .000, .980) .2s;
            transition: all 800ms cubic-bezier(.540, .086, .000, .980) .2s;
}

#page-loader .spinner-container
{
    position: absolute;
    z-index: 200;
    left: 50%;
	top: 50%;

    -webkit-transform: translate(-50%,-50%);
            transform: translate(-50%,-50%);
}

#page-loader .spinner-container .css-spinner
{
    display: block;

    width: 36px;
    height: 36px;

    -webkit-transition: all .4s cubic-bezier(.19, 1, .22, 1);
            transition: all .4s cubic-bezier(.19, 1, .22, 1);
    -webkit-animation: spinner 400ms linear infinite;
            animation: spinner 400ms linear infinite;

    opacity: 1;
    border: solid 2px transparent;
    border-top-color: #74bfea;
    border-left-color: #74bfea;
    border-radius: 100%;
}

#page-loader.hide-this .spinner-container .css-spinner
{
    opacity: 0;
}

@-webkit-keyframes spinner
{
    0%
    {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@keyframes spinner
{
    0%
    {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}





#main
{
    position: fixed;

    width: 100%;
    height: 100%;
}

#main-container
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    overflow: hidden;

    -webkit-transition: all 200ms linear;
            transition: all 200ms linear;
}

.container-mid
{
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 0;

    display: block;

    width: 100%;
    height: auto;
    max-height: 100%;

    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: center;
}

.container-mid span, .container-mid a span {
    color: #9d8d67;
    text-transform: uppercase;
    display: inline-block;
    margin-top: 12px;
    font-weight: 600;

}


#overlay
{
    position: absolute;
    z-index: 100;
    top: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;

    -webkit-transition: all 800ms ease;
            transition: all 800ms ease;
    pointer-events: none;

    background: rgba(10, 10, 10, .86);
}

#overlay.open
{
    pointer-events: auto;
}

#overlay.fade-In
{
    opacity: 0;
}

#overlay.open.fade-In
{
    opacity: 0.8;
}

#overlay.slide-from-top
{
    bottom: 100%;
}

#overlay.open.slide-from-top
{
    bottom: 0;
}

#overlay.slide-from-bottom
{
    top: 100%;
}

#overlay.open.slide-from-bottom
{
    top: 0;
}

#overlay.slide-from-left
{
    right: 100%;
}

#overlay.open.slide-from-left
{
    right: 0;
}

#overlay.slide-from-right
{
    left: 100%;
}

#overlay.open.slide-from-right
{
    left: 0;
}


.overlay
{
    position: absolute;
    z-index: 1;

    overflow: auto;

    width: 100%;
    height: 100%;

    -webkit-transition: all 800ms ease;
            transition: all 800ms ease;
    pointer-events: none;
}

.overlay.active
{
    pointer-events: auto;
}

.overlay.fade-In
{
    opacity: 0;
}

.overlay.slide-from-top
{
    bottom: 100%;
}

.overlay.slide-from-bottom
{
    top: 100%;
}

.overlay.slide-from-left
{
    right: 100%;
}

.overlay.slide-from-right
{
    left: 100%;
}

#overlay.open .overlay.active.fade-In
{
    opacity: 1;
}

#overlay.open .overlay.active.slide-from-top
{
    bottom: 0;
}

#overlay.open .overlay.active.slide-from-bottom
{
    top: 0;
}

#overlay.open .overlay.active.slide-from-left
{
    right: 0;
}


#overlay.open .overlay.active.slide-from-right
{
    left: 0;
}

.up-button
{
    position: absolute;
    z-index: 120;
    top: 0;
    left: 50%;

    overflow: hidden;

    width: 70px;
    height: 0;

    cursor: pointer;
    -webkit-transition: all 400ms ease;
            transition: all 400ms ease;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);

    background: #9d8d67;
}

.up-button.active
{
    height: 70px;
}

.up-button i
{
    font-size: 16px;
    font-weight: normal;
    line-height: 70px;

    position: absolute;

    width: inherit;
    height: inherit;

    -webkit-transition: none;
            transition: none;
    text-align: center;

    color: #000;
}

.up-button:hover i
{
    -webkit-transition: all 200ms cubic-bezier(1, 0, 0, 1);
            transition: all 200ms cubic-bezier(1, 0, 0, 1);
}

.up-button i:first-child
{
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
}

.up-button:hover i:first-child
{
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
}

.up-button i:last-child
{
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
}

.up-button:hover i:last-child
{
    -webkit-transform: translateY(-200%);
            transform: translateY(-200%);
}

.grcs_bullet_nav, .flag
{
    position: fixed;
    right: -200px;
    top: 50%;
    z-index: 150;
    -webkit-transition: all 1s ease;
            transition: all 1s ease;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

.flag {
    top: 40px;
    right: -200px;
}

.grcs_bullet_nav.init
{
    right: 34px;
}

.flag.init
{
    right: 20px;
}

.flag a {
    display: block;
    position: relative;
    border-radius: 50%;
    border: 2px solid #9d8d67;
    overflow: hidden;
    cursor: pointer;
    width: 36px;
    height: 36px;
}

.flag img {
    width: 32px;
    height: 32px;
}

.grcs_bullet_nav .nav_dots
{
    width: 18px;
    height: 18px;
    border: 2px solid #fff;
    display: block;
    cursor: pointer;
    margin: 16px 0;
    border-radius: 100%;
    position: relative;
}

.grcs_bullet_nav .nav_dots.active:before 
{
    content: "";
    background: #fff;
    width: 50%;
    height: 50%;
    position: absolute;
    left: 50%;
    margin: 0;
    padding: 0;
    top: 50%;
    border-radius: 100%;
     -webkit-transform: translate(-50%,-50%);
             transform: translate(-50%,-50%);
}

@media screen and (max-width: 740px)
{
    .grcs_bullet_nav.init
    {
        right: 14px;
    }
}

@media screen and (max-width: 540px)
{
    
    .grcs_bullet_nav
    {
        display: none;
    }
    
}


#about h2
{
    font-family: "Open sans", sans-serif;
    font-size: 41px;
    font-weight: 600;

    margin-top: 0;
    margin-bottom: 30px;

    letter-spacing: 1px;
    text-transform: uppercase;

    color: #fff;
}

#about p
{
    font-size: 14px;
    max-width: 756px;
    line-height: 1.5em;
    letter-spacing: 0.01em;
    margin: 0 auto 38px auto;
    color: #eee;
    text-transform: uppercase;
    text-align: center;
    font-weight: 600;
}


#contact h2
{
    font-family: "Open sans", sans-serif;
    font-size: 23px;
    font-weight: 600;

    text-align: left;
    letter-spacing: 1px;
    text-transform: uppercase;
margin-bottom: 2px;
}

#contact p
{
    font-size: 15px;
    text-align: left;

    line-height: 1.3em;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 0;
}

#contact p, #contact p a {
    color: #eee;
}




@media screen and (max-width: 1400px), screen and (max-height: 720px)
{

    .up-button
    {
        width: 60px;
    }

    .up-button.active
    {
        height: 60px;
    }

    .up-button i
    {
        font-size: 14px;
        line-height: 60px;
    }

    #overlay .container-mid .container
    {
        padding: 40px 40px 40px 15px;
    }

    #about h2
    {
        font-size: 31px;

        margin-bottom: 20px;

        letter-spacing: 1px;
    }

    #about p
    {
        font-size: 14px;
        max-width: 756px;
        margin: 0 auto 28px auto;
    }

    #contact p
    {
        font-size: 14px;
    }
}




@media screen and (max-width: 420px), screen and (max-height: 720px)
{
    .spinner
    {
        width: 100px;
    }

    #overlay .container-mid .container
    {
        padding: 40px 40px 20px 30px;
    }

    .up-button
    {
        width: 50px;
    }

    .up-button.active
    {
        height: 50px;
    }

    .up-button i
    {
        font-size: 11px;
        line-height: 50px;
    }

}


@media screen and (min-width: 3000px)
{

    .spinner
    {
        width: 240px;
    }

    .up-button
    {
        width: 100px;
    }

    .up-button.active
    {
        height: 100px;
    }

    .up-button i
    {
        font-size: 20px;
        line-height: 100px;
    }

    #overlay .container-mid .container
    {
        padding: 120px 40px 120px 30px;
    }

    #about h2
    {
        font-size: 51px;

        margin-bottom: 40px;

        letter-spacing: 3px;
    }

    #about p
    {
        font-size: 17px;

        max-width: 790px;
        margin: 0 auto 50px auto;
    }

    #contact h2
    {
        font-size: 51px;

        margin-bottom: 38px;
    }

    #contact p
    {
        font-size: 17px;

        max-width: 450px;
        margin-bottom: 0;
        padding: 0 20px;
    }

}


@media (min-width: 768px){
    #contact   .container {
        width: 720px;
    }
}

@media (min-width: 992px) {
    #contact   .container {
        width: 750px;
    }
}


@media (min-width: 1200px) {
    #contact .container {
        width: 750px;
    }
}

@media screen and (max-width: 767px) {
    #overlay .container-mid .container {
        padding-right: 50px;
    }

    #contact h2 {
        font-size: 19px;
    }
}

@media screen and (max-width: 640px) {
    #about h2, #contact h2 {
        font-size: 16px;
    }

    #about p, #contact p {
        font-size: 12px;
    }

    .container-mid span, .container-mid a span {
        font-size: 12px;
    }

}

@media screen and (max-width: 480px) {
    #about h2, #contact h2 {
        font-size: 14px;
    }

    #about p, #contact p {
        font-size: 12px;
    }
}

