/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */

html
{
    font-family: sans-serif; /* 1 */

        -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body
{
    margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary
{
    display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video
{
    display: inline-block; /* 1 */

    vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls])
{
    display: none;

    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */

[hidden],
template
{
    display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a
{
    background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */

a:active,
a:hover
{
    outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title]
{
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong
{
    font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn
{
    font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1
{
    font-size: 2em;

    margin: .67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark
{
    color: #000;
    background: #ff0;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small
{
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sup
{
    top: -.5em;
}

sub
{
    bottom: -.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img
{
    border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root)
{
    overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure
{
    margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr
{
    box-sizing: content-box;
    height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre
{
    overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp
{
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea
{
    font: inherit; /* 2 */

    margin: 0; /* 3 */

    color: inherit; /* 1 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button
{
    overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select
{
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type='button'],
input[type='reset'],
input[type='submit']
{
    cursor: pointer; /* 3 */

    -webkit-appearance: button; /* 2 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled]
{
    cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner
{
    padding: 0;

    border: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input
{
    line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type='checkbox'],
input[type='radio']
{
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button
{
    height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */

input[type='search']
{
    box-sizing: content-box; /* 2 */

    -webkit-appearance: textfield; /* 1 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration
{
    -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset
{
    margin: 0 2px;
    padding: .35em .625em .75em;

    border: 1px solid #c0c0c0;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend
{
    padding: 0; /* 2 */

    border: 0; /* 1 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea
{
    overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup
{
    font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

td,
th
{
    padding: 0;
}

.clearfix:after,
.container:after
{
    display: block;
    clear: both;

    content: '';
}

.ellipsis
{
    overflow: hidden;

    white-space: nowrap; /* 1 */
    text-overflow: ellipsis; /* 2 */
}

html
{
    box-sizing: border-box;
}

*,
*:before,
*:after
{
    box-sizing: inherit;
}

*
{
    max-height: 1000000px;
}

body
{
    font: 25px/1.16 'prohibition', Arial, 'Helvetica Neue', 'Helvetica', sans-serif;

    min-width: 320px;

    color: #000;
    background: #fff;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img
{
    max-width: 100%;
    height: auto;
}

.gm-style img
{
    max-width: none;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h
{
    font-family: inherit;
    font-weight: bold;

    margin: 0 0 .5em;

    color: inherit;
}

h1,
.h1
{
    font-size: 30px;
}

h2,
.h2
{
    font-size: 27px;
}

h3,
.h3
{
    font-size: 24px;
}

h4,
.h4
{
    font-size: 21px;
}

h5,
.h5
{
    font-size: 17px;
}

h6,
.h6
{
    font-size: 15px;
}

p
{
    margin: 0 0 1em;
}

a
{
    color: #39f;
}

a:hover,
a:focus
{
    text-decoration: none;
}

form,
fieldset
{
    margin: 0;
    padding: 0;

    border-style: none;
}

input[type='text'],
input[type='tel'],
input[type='email'],
input[type='search'],
input[type='password'],
textarea
{
    font-size: 14px;

    display: block;

    box-sizing: border-box;
    width: 100%;
    height: 50px;
    padding: 9px 14px 10px;

    letter-spacing: 2.16px;
    text-transform: capitalize;

    border: 1px solid #fff;
    border: 2px solid #fff;
    border-width: 2px 0 0;
    -webkit-border-radius: 0;
    background: transparent;

    -webkit-appearance: none;
}

input[type='text']:focus,
input[type='tel']:focus,
input[type='email']:focus,
input[type='search']:focus,
input[type='password']:focus,
textarea:focus
{
    outline: 0;
}

input[type='text']::-webkit-input-placeholder,
input[type='tel']::-webkit-input-placeholder,
input[type='email']::-webkit-input-placeholder,
input[type='search']::-webkit-input-placeholder,
input[type='password']::-webkit-input-placeholder,
textarea::-webkit-input-placeholder
{
    color: #fff;
}

input[type='text']::-moz-placeholder,
input[type='tel']::-moz-placeholder,
input[type='email']::-moz-placeholder,
input[type='search']::-moz-placeholder,
input[type='password']::-moz-placeholder,
textarea::-moz-placeholder
{
    opacity: 1;
    color: #fff;
}

input[type='text']:-moz-placeholder,
input[type='tel']:-moz-placeholder,
input[type='email']:-moz-placeholder,
input[type='search']:-moz-placeholder,
input[type='password']:-moz-placeholder,
textarea:-moz-placeholder
{
    color: #fff;
}

input[type='text']:-ms-input-placeholder,
input[type='tel']:-ms-input-placeholder,
input[type='email']:-ms-input-placeholder,
input[type='search']:-ms-input-placeholder,
input[type='password']:-ms-input-placeholder,
textarea:-ms-input-placeholder
{
    color: #fff;
}

input[type='text'].placeholder,
input[type='tel'].placeholder,
input[type='email'].placeholder,
input[type='search'].placeholder,
input[type='password'].placeholder,
textarea.placeholder
{
    color: #fff;
}

select
{
    -webkit-border-radius: 0;
}

textarea
{
    overflow: auto;

    height: 21.654vh;
    padding-top: 15px;

    resize: vertical;
    resize: none;
    vertical-align: top;
}

button,
input[type='button'],
input[type='reset'],
input[type='file'],
input[type='submit']
{
    cursor: pointer;

    -webkit-border-radius: 0;

    -webkit-appearance: none;
}

.container
{
    width: 100%;
    max-width: 938px;
    margin: 0 auto;
    padding-right: 15px;
    padding-left: 15px;
}

.bg-stretch
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    background-position: 50% 50%;
    background-size: cover;
}

.contact-block
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.contact-block:after
{
    display: inline-block;

    height: 100%;

    content: '';
    vertical-align: top;
}

.contact-block .container
{
    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.contact-form
{
    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    padding-top: 42.9vh;

    -webkit-animation: fadeIN 1s ease 7.8s forwards;
            animation: fadeIN 1s ease 7.8s forwards;
    text-align: center;
    letter-spacing: .5px;
    text-transform: uppercase;

    color: #fff;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.contact-form fieldset
{
    visibility: hidden;

    width: 100%;

    -webkit-animation: fadeIN-3 1s ease 7.8s forwards;
            animation: fadeIN-3 1s ease 7.8s forwards;
}

.contact-form .text-holder
{
    max-height: 200px;
    padding: 0 7px 62px;

    -webkit-transition: opacity .4s ease, max-height .6s, padding .4s;
            transition: opacity .4s ease, max-height .6s, padding .4s;
}

.contact-form p
{
    margin-bottom: 3.64vh;
}

.contact-form p:last-child
{
    margin-bottom: 0;
}

.contact-form .btn-holder
{
    padding-top: 0;
}

.contact-form .slide
{
    padding: 0 15px;

    background: rgba(0, 0, 0, .4);
}

.contact-form .holder
{
    margin: 0 -15px;
}

.contact-form.form-sended
{
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.contact-form.form-sended .text-holder
{
    display: none;
}

.contact-form.form-sended .holder
{
    -webkit-animation: hide 0s ease 0s forwards, fadeIN 1s ease 3.5s forwards;
            animation: hide 0s ease 0s forwards, fadeIN 1s ease 3.5s forwards;
}

.contact-form.form-sended .success-message
{
    display: block;

    -webkit-animation: hide 3s ease 0s forwards;
            animation: hide 3s ease 0s forwards;
}

.contact-form .btn-holder,
.contact-form .form-group
{
    margin-right: -15px;
    margin-left: -15px;
}

.contact-form input[type='text'],
.contact-form input[type='tel'],
.contact-form input[type='email'],
.contact-form input[type='search'],
.contact-form input[type='password'],
.contact-form textarea
{
    text-transform: uppercase;
}

.contact-form input[type='text']::-webkit-input-placeholder,
.contact-form input[type='tel']::-webkit-input-placeholder,
.contact-form input[type='email']::-webkit-input-placeholder,
.contact-form input[type='search']::-webkit-input-placeholder,
.contact-form input[type='password']::-webkit-input-placeholder,
.contact-form textarea::-webkit-input-placeholder
{
    text-transform: uppercase;
}

.contact-form input[type='text']::-moz-placeholder,
.contact-form input[type='tel']::-moz-placeholder,
.contact-form input[type='email']::-moz-placeholder,
.contact-form input[type='search']::-moz-placeholder,
.contact-form input[type='password']::-moz-placeholder,
.contact-form textarea::-moz-placeholder
{
    text-transform: uppercase;

    opacity: 1;
}

.contact-form input[type='text']:-moz-placeholder,
.contact-form input[type='tel']:-moz-placeholder,
.contact-form input[type='email']:-moz-placeholder,
.contact-form input[type='search']:-moz-placeholder,
.contact-form input[type='password']:-moz-placeholder,
.contact-form textarea:-moz-placeholder
{
    text-transform: uppercase;
}

.contact-form input[type='text']:-ms-input-placeholder,
.contact-form input[type='tel']:-ms-input-placeholder,
.contact-form input[type='email']:-ms-input-placeholder,
.contact-form input[type='search']:-ms-input-placeholder,
.contact-form input[type='password']:-ms-input-placeholder,
.contact-form textarea:-ms-input-placeholder
{
    text-transform: uppercase;
}

.contact-form input[type='text'].placeholder,
.contact-form input[type='tel'].placeholder,
.contact-form input[type='email'].placeholder,
.contact-form input[type='search'].placeholder,
.contact-form input[type='password'].placeholder,
.contact-form textarea.placeholder
{
    text-transform: uppercase;
}

.form-opener
{
    position: relative;
    position: relative;

    display: block;

    padding: 10px;

    text-decoration: none;

    color: #fff;
    background: rgba(0, 0, 0, .4);
}

.form-opener:hover
{
    opacity: .7;
}

.input-error textarea,
.input-error input
{
    color: #f00;
    border-color: #f00;
}

.input-error textarea::-webkit-input-placeholder,
.input-error input::-webkit-input-placeholder
{
    color: #f00;
}

.input-error textarea::-moz-placeholder,
.input-error input::-moz-placeholder
{
    opacity: 1;
    color: #f00;
}

.input-error textarea:-moz-placeholder,
.input-error input:-moz-placeholder
{
    color: #f00;
}

.input-error textarea:-ms-input-placeholder,
.input-error input:-ms-input-placeholder
{
    color: #f00;
}

.input-error textarea.placeholder,
.input-error input.placeholder
{
    color: #f00;
}

input[type='submit']
{
    font-size: 20px;
    line-height: 1;

    width: 100%;
    min-height: 48px;
    padding: 10px 15px;

    white-space: normal;
    letter-spacing: 2.16px;
    text-transform: uppercase;

    color: rgba(0, 0, 0, .6);
    border: none;
    background: #fff;
}

input[type='submit']:hover
{
    color: #000;
}

.success-message
{
    font-size: 30px;
    line-height: 1.1;

    position: absolute;
    z-index: 0;
    bottom: 19vh;
    left: 0;

    width: 100%;
    padding: 0 44px;
    padding-top: 0;

    cursor: default;
    text-align: left;
    text-align: center;
    pointer-events: none;

    opacity: 0;
}

.success-message p
{
    margin-bottom: 0;
}

#wrapper
{
    position: relative;

    overflow: hidden;

    width: 100%;

    background: #000;
}

.main-bg
{
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    background: #fff;
}

.page-loaded .main-bg
{
    -webkit-animation: mainBG 7s linear forwards;
            animation: mainBG 7s linear forwards;
}

.js-class-IE9 .main-bg
{
    opacity: 1;
}

.layer-holder
{
    position: absolute;
    top: 20%;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    max-width: 40vh;
    height: 55vh;
    margin: 0 auto;
}

.page-loaded .layer-holder
{
    -webkit-animation: layer-holder .3s linear 2.2s forwards, layer-holder-shift .7s linear 4s forwards;
            animation: layer-holder .3s linear 2.2s forwards, layer-holder-shift .7s linear 4s forwards;
}

.resize .layer-holder
{
    -webkit-animation-duration: 0s;
            animation-duration: 0s;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
}

.layer-holder:after,
.layer-holder:before
{
    position: absolute;
    top: -9999px;
    right: 94%;
    bottom: -9999px;
    left: -9999px;

    content: '';

    background: #000;
}

.page-loaded .layer-holder:after,
.page-loaded .layer-holder:before
{
    -webkit-animation: hide 1s linear 3s forwards;
            animation: hide 1s linear 3s forwards;
}

.resize .layer-holder:after,
.resize .layer-holder:before
{
    -webkit-animation-duration: 0s;
            animation-duration: 0s;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
}

.layer-holder:before
{
    right: -9999px;
    left: 94%;
}

.top-overlay,
.bottom-overlay
{
    position: absolute;
    top: -9999px;
    right: 0;
    bottom: 100%;
    left: 0;

    background: #000;
}

.page-loaded .top-overlay,
.page-loaded
  .bottom-overlay
{
    -webkit-animation: hide 1s linear 3s forwards;
            animation: hide 1s linear 3s forwards;
}

.bottom-overlay
{
    top: 100%;
    bottom: -9999px;
}

.js-class-IE9 .layer-holder
{
    top: 0;
    left: -20%;

    width: 40vh;
    height: 50vh;
}

.layer-1
{
    position: absolute;
    top: 0;
    bottom: 25%;
    left: 6%;

    overflow: hidden;

    width: 40%;

    background: #000;
}

.page-loaded .layer-1
{
    -webkit-animation: layer1 2.5s linear forwards;
            animation: layer1 2.5s linear forwards;
}

.resize .layer-1
{
    -webkit-animation-duration: 0s;
            animation-duration: 0s;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
}

.mask
{
    position: absolute;
}

.page-loaded .mask
{
    -webkit-animation: hide 1s linear 3s forwards;
            animation: hide 1s linear 3s forwards;
}

.mask-1
{
    top: 74.9%;
    bottom: 0;
    left: 6%;

    width: 49%;

    background: #000;
}

.mask-2
{
    top: 0;
    bottom: 52%;
    left: 46%;

    width: 9.1%;

    background: #000;
}

.mask-3
{
    top: 0;
    bottom: 75%;
    left: 55%;

    width: 40%;

    background: #000;
}

.mask-4
{
    top: 45%;
    right: 0;
    bottom: 25%;
    left: 85%;

    background: #000;
}

.page-loaded .mask-4
{
    -webkit-animation: mask4 .5s linear 1.1s forwards;
            animation: mask4 .5s linear 1.1s forwards;
}

.mask-5
{
    top: 74.9%;
    right: 0;
    bottom: 0;
    left: 46%;

    background: #000;
}

.page-loaded .mask-5
{
    -webkit-animation: mask5 .5s linear 1.2s forwards;
            animation: mask5 .5s linear 1.2s forwards;
}

.layer-2
{
    position: absolute;
    top: 47%;
    right: 15%;
    left: 46%;

    height: 28%;

    background: #000;
}

.page-loaded .layer-2
{
    -webkit-animation: layer2 1.5s linear .7s forwards, hide 1s linear 4s forwards;
            animation: layer2 1.5s linear .7s forwards, hide 1s linear 4s forwards;
}

.resize .layer-2
{
    -webkit-animation-duration: 0s;
            animation-duration: 0s;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
}

.safari.page-loaded .layer-2
{
    -webkit-animation: layer-mac 1s linear .7s forwards, hide 1s linear 4s forwards;
            animation: layer-mac 1s linear .7s forwards, hide 1s linear 4s forwards;
}

.layer-3
{
    position: absolute;
    top: 25%;
    bottom: 52%;
    left: 55%;

    overflow: hidden;

    width: 40%;

    background: #000;
}

.page-loaded .layer-3
{
    -webkit-animation: layer3 .5s linear 1s forwards;
            animation: layer3 .5s linear 1s forwards;
}

.resize .layer-3
{
    -webkit-animation-duration: 0s;
            animation-duration: 0s;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
}

.letters
{
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    cursor: default;
    pointer-events: none;

    opacity: 0;
    background: url(../images/img-white.jpg) repeat;
    background-attachment: fixed;
    background-size: cover;

    -webkit-mask: url(../images/mask-black2.svg) no-repeat 50% 50%;
            mask: url(../images/mask-black2.svg) no-repeat 50% 50%;
    -webkit-mask-size: auto 100%;
            mask-size: auto 100%;
}

.page-loaded .letters
{
    -webkit-animation: letters2 2.5s linear 2.6s forwards;
            animation: letters2 2.5s linear 2.6s forwards;
}

.js-class-IE .letters
{
    background: url(../images/transparent-text.png) no-repeat 50% 50%;
    background-size: auto 100%;

    -webkit-mask: none;
            mask: none;
}

.js-class-IE .letters:after
{
    position: absolute;
    z-index: -22;
    top: -999999px;
    right: -99999px;
    bottom: -999999px;
    left: -99999px;

    content: '';

    background: #fff;
}

.js-class-IE .letters:before
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: '';

    background: url(../images/img-1.jpg) no-repeat 50% 50%;
    background-attachment: fixed;
}

.js-class-IE .letters span
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    background: url(../images/transparent-text.png) no-repeat 50% 50%;
    background-size: auto 100%;
}

.js-class-IE .letters span:after
{
    position: absolute;
    top: 0;
    right: 90%;
    bottom: 0;
    left: 0;

    content: '';

    background-color: #fff;
}

.js-class-IE .letters span:before
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 90%;

    content: '';

    background-color: #fff;
}

.js-class-IE9 .letters
{
    opacity: 0;
}

.letters-white
{
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    opacity: 0;
    background: #000;

    -webkit-mask: url(../images/mask-letters.svg) no-repeat 50% 50%;
            mask: url(../images/mask-letters.svg) no-repeat 50% 50%;
    -webkit-mask-size: auto 100%;
            mask-size: auto 100%;
}

.page-loaded .letters-white
{
    -webkit-animation: letters 2s linear 4.5s forwards;
            animation: letters 2s linear 4.5s forwards;
}

.js-class-IE .letters-white
{
    background: url(../images/LayerFour-logo-white.png) 50% 50% no-repeat;
    background-size: auto 100%;

    -webkit-mask: none;
            mask: none;
}

.js-class-IE9 .letters-white
{
    width: 600px;
    height: 983px;

    opacity: 1;
    background: url(../images/LayerFour-logo-white.png) 50% 50% no-repeat;
    background-size: auto 100%;
}

@media (min-width: 768px)
{
    input[type='text'],
    input[type='tel'],
    input[type='email'],
    input[type='search'],
    input[type='password'],
    textarea
    {
        font-size: 18px;

        height: 51px;
        padding: 1vh 14px;

        text-transform: none;

        border-width: 2px;
        background-color: rgba(255, 255, 255, .29);
    }

    textarea
    {
        height: 14.65vh;
        padding-top: 12px;
    }

    .form-group
    {
        margin-bottom: 11px;
    }

    .contact-block .container
    {
        display: block;
    }

    .contact-form
    {
        display: block;
        float: right;
        overflow: visible;

        width: 50%;
        height: auto;
        margin: 0;
        padding: 50px 0 15px 0;

        text-align: left;
        letter-spacing: 2px;
    }

    .contact-form .text-holder
    {
        display: block;

        max-height: none;
        padding: 0 0 5vh;
    }

    .contact-form p
    {
        margin-bottom: 2.83vh;
    }

    .contact-form .btn-holder
    {
        padding-top: .78vh;
    }

    .contact-form .slide
    {
        position: static;

        padding: 0;

        background: transparent;
    }

    .contact-form .slide.js-slide-hidden
    {
        position: static !important;
    }

    .contact-form .holder
    {
        margin: 0;
    }

    .contact-form.form-sended .text-holder
    {
        display: block;
    }

    .contact-form .btn-holder,
    .contact-form .form-group
    {
        margin-right: 0;
        margin-left: 0;
    }

    .form-opener
    {
        margin-bottom: 31px;
        padding: 0;

        cursor: pointer;
        -webkit-animation: none;
                animation: none;
        pointer-events: none;

        background-color: transparent;
    }

    .form-opener:hover
    {
        opacity: 1;
    }

    input[type='submit']
    {
        font-size: 18px;

        min-height: 40px;
        padding: 10px 15px;

        text-align: left;
        text-transform: none;
    }

    .success-message
    {
        font-size: 30px;

        padding: 0;

        text-align: left;
    }

    .layer-holder
    {
        top: 0;

        max-width: 70vh;
        height: 100vh;
    }

    .page-loaded .layer-holder
    {
        -webkit-animation: layer-holder1 .3s linear 2.2s forwards, layer-holder-shift1 .7s linear 4s forwards;
                animation: layer-holder1 .3s linear 2.2s forwards, layer-holder-shift1 .7s linear 4s forwards;
    }
}

@media (min-width: 1024px)
{
    input[type='text'],
    input[type='tel'],
    input[type='email'],
    input[type='search'],
    input[type='password'],
    textarea
    {
        height: 40px;
        padding: 7px 14px;
    }

    .success-message
    {
        font-size: 2.43vw;

        bottom: 27vh;
    }
}

@media (min-width: 1025px)
{
    textarea
    {
        height: 14.65vh;
    }
}

@media (min-width: 1200px)
{
    .contact-form
    {
        padding: 16.7vh 86px 2vh 0;
    }
}

@media (max-width: 767px)
{
    .contact-form.active .text-holder
    {
        overflow: hidden;

        max-height: 0;
        padding: 0;

        opacity: 0;
    }

    body
    {
        font-size: 20px;
        line-height: 1.25;
    }
}

@-webkit-keyframes fadeIN
{
    0%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
    }
}

@keyframes fadeIN
{
    0%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
    }
}

@-webkit-keyframes fadeIN-3
{
    0%
    {
        visibility: hidden;
    }

    100%
    {
        visibility: visible;
    }
}

@keyframes fadeIN-3
{
    0%
    {
        visibility: hidden;
    }

    100%
    {
        visibility: visible;
    }
}

@-webkit-keyframes back
{
    0%
    {
        height: 0;
    }

    100%
    {
        height: auto;
    }
}

@keyframes back
{
    0%
    {
        height: 0;
    }

    100%
    {
        height: auto;
    }
}

@-webkit-keyframes fadeIN-2
{
    0%
    {
        opacity: 0;
    }

    90%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
    }
}

@keyframes fadeIN-2
{
    0%
    {
        opacity: 0;
    }

    90%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
    }
}

@-webkit-keyframes hide
{
    0%
    {
        opacity: 1;
    }

    99%
    {
        opacity: 1;
    }

    100%
    {
        opacity: 0;
    }
}

@keyframes hide
{
    0%
    {
        opacity: 1;
    }

    99%
    {
        opacity: 1;
    }

    100%
    {
        opacity: 0;
    }
}

@-webkit-keyframes fadeOut-2
{
    0%
    {
        opacity: 0;
    }

    99%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
    }
}

@keyframes fadeOut-2
{
    0%
    {
        opacity: 0;
    }

    99%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
    }
}

@-webkit-keyframes top-animation
{
    0%
    {
        bottom: -45px;
    }

    99%
    {
        bottom: -45px;
    }

    100%
    {
        bottom: 0;
    }
}

@keyframes top-animation
{
    0%
    {
        bottom: -45px;
    }

    99%
    {
        bottom: -45px;
    }

    100%
    {
        bottom: 0;
    }
}

@-webkit-keyframes layer1
{
    0%
    {
        top: 0;
    }

    21%
    {
        top: 75%;
    }

    97%
    {
        top: 75%;

        opacity: 1;
    }

    100%
    {
        top: 75%;

        opacity: 0;
    }
}

@keyframes layer1
{
    0%
    {
        top: 0;
    }

    21%
    {
        top: 75%;
    }

    97%
    {
        top: 75%;

        opacity: 1;
    }

    100%
    {
        top: 75%;

        opacity: 0;
    }
}

@-webkit-keyframes layer3
{
    0%
    {
        top: 25%;
    }

    22%
    {
        top: 55%;
    }

    97%
    {
        opacity: 1;
    }

    100%
    {
        top: 55%;

        opacity: 0;
    }
}

@keyframes layer3
{
    0%
    {
        top: 25%;
    }

    22%
    {
        top: 55%;
    }

    97%
    {
        opacity: 1;
    }

    100%
    {
        top: 55%;

        opacity: 0;
    }
}

@-webkit-keyframes layer-holder
{
    0%
    {
        top: 20%;

        width: 40vh;
        height: 55vh;

        background: transparent;
    }

    100%
    {
        top: 20%;

        width: 30vh;
        height: 35.2vh;

        background: #000;
    }
}

@keyframes layer-holder
{
    0%
    {
        top: 20%;

        width: 40vh;
        height: 55vh;

        background: transparent;
    }

    100%
    {
        top: 20%;

        width: 30vh;
        height: 35.2vh;

        background: #000;
    }
}

@-webkit-keyframes layer-holder1
{
    0%
    {
        top: 0;

        width: 70vh;
        height: 100vh;

        background: transparent;
    }

    100%
    {
        top: 20%;

        width: 40vh;
        height: 47.5vh;

        background: #000;
    }
}

@keyframes layer-holder1
{
    0%
    {
        top: 0;

        width: 70vh;
        height: 100vh;

        background: transparent;
    }

    100%
    {
        top: 20%;

        width: 40vh;
        height: 47.5vh;

        background: #000;
    }
}

@-webkit-keyframes layer-holder-shift
{
    0%
    {
        top: 20%;
        left: 0;

        background: #000;
    }

    60%
    {
        top: 0;
        left: -37%;
    }

    99%
    {
        background: #000;
    }

    100%
    {
        top: 0;
        left: -37%;

        background: transparent;
    }
}

@keyframes layer-holder-shift
{
    0%
    {
        top: 20%;
        left: 0;

        background: #000;
    }

    60%
    {
        top: 0;
        left: -37%;
    }

    99%
    {
        background: #000;
    }

    100%
    {
        top: 0;
        left: -37%;

        background: transparent;
    }
}

@-webkit-keyframes layer-holder-shift1
{
    0%
    {
        top: 20%;
        left: 0;

        background: #000;
    }

    60%
    {
        top: 0;
        left: -44.3vw;
    }

    80%
    {
        background: #000;
    }

    100%
    {
        top: 0;
        left: -44.3vw;

        background: transparent;
    }
}

@keyframes layer-holder-shift1
{
    0%
    {
        top: 20%;
        left: 0;

        background: #000;
    }

    60%
    {
        top: 0;
        left: -44.3vw;
    }

    80%
    {
        background: #000;
    }

    100%
    {
        top: 0;
        left: -44.3vw;

        background: transparent;
    }
}

@-webkit-keyframes letters2
{
    0%
    {
        opacity: 0;
    }

    50%
    {
        opacity: 1;
    }

    70%
    {
        opacity: 1;
    }

    100%
    {
        opacity: 0;
    }
}

@keyframes letters2
{
    0%
    {
        opacity: 0;
    }

    50%
    {
        opacity: 1;
    }

    70%
    {
        opacity: 1;
    }

    100%
    {
        opacity: 0;
    }
}

@-webkit-keyframes letters
{
    0%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
        background: #fff;
    }
}

@keyframes letters
{
    0%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 1;
        background: #fff;
    }
}

@-webkit-keyframes lettersBG
{
    0%
    {
        background-color: #000;
        background-image: url(../images/img-1.jpg);
    }

    100%
    {
        background: #fff;
    }
}

@keyframes lettersBG
{
    0%
    {
        background-color: #000;
        background-image: url(../images/img-1.jpg);
    }

    100%
    {
        background: #fff;
    }
}

@-webkit-keyframes mainBG
{
    0%
    {
        opacity: 1;
    }

    40%
    {
        opacity: 1;
    }

    42%
    {
        opacity: 0;
    }

    80%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 0;
    }
}

@keyframes mainBG
{
    0%
    {
        opacity: 1;
    }

    40%
    {
        opacity: 1;
    }

    42%
    {
        opacity: 0;
    }

    80%
    {
        opacity: 0;
    }

    100%
    {
        opacity: 0;
    }
}

@-webkit-keyframes fadeOut
{
    0%
    {
        visibility: visible;

        opacity: 1;
    }

    100%
    {
        visibility: hidden;

        opacity: 0;
    }
}

@keyframes fadeOut
{
    0%
    {
        visibility: visible;

        opacity: 1;
    }

    100%
    {
        visibility: hidden;

        opacity: 0;
    }
}

@-webkit-keyframes layer2
{
    0%
    {
        right: 15%;
        left: 46%;

        opacity: 1;
    }

    21%
    {
        right: 15%;
        left: 85%;

        opacity: 1;
    }

    22%
    {
        right: 46%;
        left: 54%;

        opacity: 1;
    }

    80%
    {
        right: 46%;
        left: 54%;

        opacity: 1;
    }

    99%
    {
        right: 46%;
        left: 54%;

        opacity: 1;
    }

    100%
    {
        right: 44.9%;
        left: 46%;

        opacity: 1;
    }
}

@keyframes layer2
{
    0%
    {
        right: 15%;
        left: 46%;

        opacity: 1;
    }

    21%
    {
        right: 15%;
        left: 85%;

        opacity: 1;
    }

    22%
    {
        right: 46%;
        left: 54%;

        opacity: 1;
    }

    80%
    {
        right: 46%;
        left: 54%;

        opacity: 1;
    }

    99%
    {
        right: 46%;
        left: 54%;

        opacity: 1;
    }

    100%
    {
        right: 44.9%;
        left: 46%;

        opacity: 1;
    }
}

@-webkit-keyframes layer-mac
{
    0%
    {
        right: 15%;
        left: 46%;

        opacity: 1;
    }

    21%
    {
        right: 15%;
        left: 85%;

        opacity: 1;
    }

    22%
    {
        right: 45%;
        left: 55%;

        opacity: 1;
    }

    80%
    {
        right: 45%;
        left: 55%;

        opacity: 1;
    }

    99%
    {
        right: 45%;
        left: 55%;

        opacity: 1;
    }

    100%
    {
        right: 45%;
        left: 46%;

        opacity: 1;
    }
}

@keyframes layer-mac
{
    0%
    {
        right: 15%;
        left: 46%;

        opacity: 1;
    }

    21%
    {
        right: 15%;
        left: 85%;

        opacity: 1;
    }

    22%
    {
        right: 45%;
        left: 55%;

        opacity: 1;
    }

    80%
    {
        right: 45%;
        left: 55%;

        opacity: 1;
    }

    99%
    {
        right: 45%;
        left: 55%;

        opacity: 1;
    }

    100%
    {
        right: 45%;
        left: 46%;

        opacity: 1;
    }
}

@-webkit-keyframes mask4
{
    0%
    {
        top: 45%;
    }

    22%
    {
        top: 75%;
    }

    97%
    {
        opacity: 1;
    }

    100%
    {
        top: 75%;

        opacity: 0;
    }
}

@keyframes mask4
{
    0%
    {
        top: 45%;
    }

    22%
    {
        top: 75%;
    }

    97%
    {
        opacity: 1;
    }

    100%
    {
        top: 75%;

        opacity: 0;
    }
}

@-webkit-keyframes mask5
{
    0%
    {
        top: 75%;
    }

    22%
    {
        top: 100%;
    }

    97%
    {
        opacity: 1;
    }

    100%
    {
        top: 100%;

        opacity: 0;
    }
}

@keyframes mask5
{
    0%
    {
        top: 75%;
    }

    22%
    {
        top: 100%;
    }

    97%
    {
        opacity: 1;
    }

    100%
    {
        top: 100%;

        opacity: 0;
    }
}
