/* ========================================
			#generic-classes
======================================== */
img {
    border: none;
    vertical-align: middle;
}

h1, h2, h3, h4 {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}


.h1:first-child, .h2:first-child, .h3:first-child,
.text-block h1:first-child, .text-block h2:first-child, .text-block h3:first-child {
    margin-top: 0 !important;
}

.text-block h1,
.h1 {
    font: 700 62px/1.14 'GaramondC';
    margin: 1em 0;
    text-align: center;
}

.text-block h2,
.h2 {
    font: italic 300 38px/1 'GaramondC';
    margin: .7em 0;
    text-align: center;
}


.text-block h3,
.h3 {
    font: 400 32px/1.2 'GaramondC';
    color: #515151;
    margin: 1.2em 0;
    text-align: center;
}

.header-link{
    color: #fff;
    text-decoration: none;
    font: 32px/1.57 'HelveticaNeue';
    font-weight: 400;
}

b {
    font-weight: 700;
}

p {
    margin: 1.2em 0;
    max-height: 10000px;
}

p:first-child {
    margin-top: 0 !important;
}

p:last-child {
    margin-bottom: 0 !important;
}

sup {
    font-size: .5em;
}


.clr-fix:after {
    content: '';
    clear: both;
    display: table;
}

.va-fix:before {
    height: 100%;
    content: '';
    display: inline-block;
    width: 0;
    vertical-align: middle;
}

.center {
    text-align: center;
}

.size-font{
    font-size: 14px;
}

/* ========================================
			    colors
======================================== */
.brown {
    color: #361e1a;
    color: rgba(54, 30, 26, 1);
}

.blue {
    color: #35b1ff;
    color: rgba(52, 177, 255, 1);
}

.dark-red {
    color: #a82d17;
}

.marine {
    color: #25435a;
    color: rgba(37, 67, 90, 1);
}
/* ========================================
			    buttons
======================================== */
.button,
.text-block a.button {
    display: inline-block;
    font: italic 18px/26px 'GaramondC';
    padding: 14px 40px;
    background-color: #361e1a;
    background-image: none;
    color: #fff;
    border-radius: 10px;
    text-decoration: none;
    outline: none;
    border: none;
    white-space: nowrap;
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    top:2px;
}

.btn-wrap-lines {
    text-align: center;
    background-image: linear-gradient(90deg, #ebe9e7 0, #ebe9e7 100%);
    background-size: 10px 1px;
    background-position: center;
    background-repeat: repeat-x;
}

.btn-wrap-lines .button {
    box-shadow: 20px 0 0 #fdfdfd, -20px 0 0 #fdfdfd;
}

.button.link {
    background-color: #efefef;
    border-radius: 24px;
    padding: 8px 24px 7px;
    color: currentColor;
}
.button.link span {
    background-image: linear-gradient(90deg, rgba(37, 67, 90, .3), rgba(37, 67, 90, .3) 50%, transparent 50%);
    background-size: 2px 1px;
    background-repeat: repeat-x;
    background-position: 0 1.05em;
}

/* ========================================
			    links
======================================== */
.text-block a,
.link {
    text-decoration: none;
    color: rgba(52, 177, 255, 1);
    transition: color .1s linear;
    background-repeat: repeat-x;
    background-position: 0 1.05em;
    position: relative;
    outline: none;

    background-image: linear-gradient(90deg, rgba(52, 177, 255, .3), rgba(52, 177, 255, .3) 100%);
    background-size: 10px 1px;
}

.text-block a:hover,
.link:hover {
    opacity: .8;
}

.colored-bg a,
.link.white {
    color: #fff;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .3), rgba(255, 255, 255, .3) 100%);
}

.link.dotted {
    background-size: 2px 1px;
    background-image: linear-gradient(90deg, rgba(52, 177, 255, 1), rgba(52, 177, 255, 1) 50%, transparent 50%);
}

.link.noborder {
    background-image: none;
}

.link.brown {
    color: #361e1a;
}

/* ========================================
                icons
======================================== */
.i {
    position: relative;
}

.i > svg {
    position: absolute;
    fill: currentColor;
    top: 50%;
    transform: translateY(-50%);
}

.i-arrow-after svg {
    width: 8px;
    height: 14px;
    stroke-width: 2px;
    stroke: currentColor;
    margin-left: 15px;
    top: 54%;
}

.i-jl-logo svg {
    width: 30px;
    height: 30px;
    left: 0;
    margin-left: -40px;
}

.i-arrow svg {
    width: 24px;
    height: 24px;
}


.i {
    position: relative;
}

.i::before {
    content: '';
    position: absolute;
}

/* ========================================
    			#text-block
======================================== */
.text-block .lead {
    font: italic 30px/1.2 'GaramondC';
    margin: 0;
}

.text-block .text-with-image {
    display: flex;
    align-items: center;
    height: 260px;
    overflow: hidden;
}



.text-block .text-with-image .text {
    width: 50%;

}

.text-block .text-with-image .image {
    max-width: 38.75%;
}

.text-block .text-with-image.left {
    justify-content: space-between;
}

.text-block .text-with-image.left .text {
    margin-left: 10%;
    margin-right: 5%;
}

.text-block .text-with-image.right .text {
    margin-left: 5%;
    margin-right: 5%;
}
.text-block .text-with-image.right .image {
    margin-left: 5%;
}

/* ========================================
    		   #datepicker
======================================== */
.ui-datepicker {
    background: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, .1);
    padding: .8em 1.2em .6em .2em;
}

.ui-datepicker th {
    font-weight: 500;
    text-align: right;
}

.ui-datepicker td span {
    color: rgba(59, 44, 23, .5);
}

.ui-datepicker td a {
    color: rgba(52, 177, 255, 1);
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PHN0eWxlPi5ze2ZpbGw6bm9uZTtzdHJva2U6IzM2MUUxQTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTB9PC9zdHlsZT48cGF0aCBjbGFzcz0icyIgZD0iTTUgMTIuNWgxNyIvPjxwYXRoIGNsYXNzPSJzIiBkPSJNMTEuNSAxOUw1IDEyLjUgMTEuNSA2Ii8+PC9zdmc+);
    cursor: pointer !important;
    top: 0 !important;
}

.ui-datepicker .ui-datepicker-prev {
    left: 14px;
    transform-origin: 50% 50%;
    background-position: left center;
}

.ui-datepicker .ui-datepicker-next {
    transform: rotate(180deg);
    right: 0;
    background-position: right center;
}
/* ========================================
    			#inputs
======================================== */
.pw input[type=text],
.pw textarea {
    background-color: #fff;
    font: 18px/1.22 'HelveticaNeue';
    outline: none;
    box-sizing: border-box;
    color: #515151;
    border: 1px solid #ececec;
    padding: 12px 10px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .1);
}

.pw textarea {
    resize: none;
}

.pw input[type=text]:focus,
.pw textarea:focus {
    border-color: #a82d17;
}

::-webkit-input-placeholder { color: rgba(59,44,23,.5); }
::-moz-placeholder          { color: rgba(59,44,23,.5); }
:-ms-input-placeholder      { color: rgba(59,44,23,.5); }

.pw input[type=text] {
    /*line-height:*/
}
.expanding-area {
    position: relative;
    max-height: 30rem;
}

.expanding-area pre {
    min-height: 69px;
}

textarea {
    padding: 10px 20px;
    min-height: 100px;
    display: block;
}

.expanding-area textarea,
.expanding-area pre {
    white-space: pre-wrap;
    word-wrap: break-word;
    width: 100%;
    padding: 15px;
}

.expanding-area.active textarea {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    resize: none;
}

.expanding-area.active textarea:focus,
.expanding-area.active textarea.not-empty {
    text-align: left;
}

.expanding-area pre {
    display: none;
}

.expanding-area.active pre {
    display: block;
    visibility: hidden;
}

textarea:focus::-webkit-input-placeholder {
    color: transparent;
}

/* ========================================
                  #form
======================================== */
.form .field-wrap {
    margin-bottom: 20px;
}

.form .field-wrap2:after {
    content: '';
    display: table;
    clear: both;
}

.form .field-wrap2 .field:first-child {
    margin-left: 0;
}

.form .field-wrap2 .field {
    float: left;
    width: 47%;
    margin-left: 6%;
}

.form .input-text,
.form .input-textarea {
    width: 100%;
}

.form .button {
    width: 100%;
}

.form .action-wrap {
    margin-top: 50px;
}

.form .btn-wrap {
    margin-top: 26px;
}

.form .checkbox-wrap {
    position: relative;
}

.form .checkbox-wrap .error-message {
    position: absolute;
    max-width: 100%;
    top: 100%;
    margin-top: 15px;
    opacity: 0;
    visibility: hidden;
}

.form .checkbox-wrap.js-error .error-message {
    opacity: 1;
    visibility: visible;
}

/* ========================================
			    #popup
======================================== */
.popup-back {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1000;

    visibility: hidden;
}

.popup-back.show {
    background-color: rgba(255, 255, 255, .8);
    visibility: visible;
}

.popup {
    width: 550px;

    top: 20%;
    left: 50%;
    position: fixed;
    z-index: 1000;

    box-shadow: 0 0 3px 0 rgba(0, 0, 0, .12);

    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;

    -webkit-perspective: 1300px;
    perspective: 1300px;

    -webkit-font-smoothing: subpixel-antialiased;
    visibility: hidden;

}

.popup .content {
    opacity: 0;
    padding: 40px 50px;
    box-sizing: border-box;

    background-color: rgba(255, 255, 255, 1);

    -webkit-transition: all .3s, visibility .3s linear .3s;
    transition: all .3s, visibility .3s linear .3s;
}

.popup.flip .content {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform: translateZ(-150px) translateY(100%) rotateX(-90deg);
    transform: translateZ(-150px) translateY(100%) rotateX(-90deg);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
}

.popup.show {
    visibility: visible;
}

.popup.flip.show .content {
    -webkit-transform: translateZ(0px) translateX(0%) rotateY(0deg);
    transform: translateZ(0px) translateX(0%) rotateY(0deg);
}

.popup.show .content {
    opacity: 1;
    -webkit-transition: all .3s, visibility .3s linear;
    transition: all .3s, visibility .3s linear;
}

.popup .message-wrap {
    -webkit-transition: .1s linear height;
    transition: .1s linear height;
}

.popup .title {
    margin-top: 0;
}

.popup .i.close {
    position: absolute;
    z-index: 10;
    outline: none;
    top: 0;
    right: 0;
}

.popup .text {
    font-size: 18px;
    margin: 30px 0;
}

.popup .text p {
    margin: .7em 0;
}

.popup .btn-wrap {
    text-align: right;
}

.popup .button {

}

.popup .info {
    margin: 5px 0;
}

.popup .location {
    text-transform: uppercase;
}

.popup .head {
    margin-bottom: 32px;
}
/* ========================================
			    #preloader
======================================== */
.preloader {
    background: rgba(255, 255, 255, .8) center no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    display: none;
}

.popup .preloader {
    border-radius: 4px 4px 0 0;
}

.upload-progress {
    position: absolute;
    z-index: 10;
    height: 2px;
    top: 0;
    width: 0;
    background-color: #361e1a;
    box-shadow: 0 0 10px #361e1a;
    left: 0;
    display: none;
}


/* ========================================
			    #animations
======================================== */
@-webkit-keyframes rotating /* Safari and Chrome */
{
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotating {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.js-loading {
    position: relative;
}
.js-loading::before {
    content: '';
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(255, 255, 255, .5);
}

.preloader::after,
.js-loading::after {
    content: '';
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xmlns%3Aa%3D%22http%3A%2F%2Fns.adobe.com%2FAdobeSVGViewerExtensions%2F3.0%2F%22%20%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%220%200%2024%2024%22%20enable-background%3D%22new%200%200%2024%2024%22%20xml%3Aspace%3D%22preserve%22%3E%3Cdefs%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22%23a82d17%22%20d%3D%22M20.1%2C16c-1.5%2C3-4.7%2C5.1-8.3%2C5C7%2C20.9%2C3.1%2C17%2C3%2C12.3C2.9%2C7.2%2C6.9%2C3%2C12%2C3c2.1%2C0%2C4.1%2C0.7%2C5.6%2C2l-3%2C3H20h2.5%20V6.3V0l-2.8%2C2.8c-2.2-1.9-5.2-3-8.4-2.8C5.2%2C0.4%2C0.2%2C5.4%2C0%2C11.5C-0.3%2C18.4%2C5.2%2C24%2C12%2C24c4.9%2C0%2C9-2.9%2C10.9-7.1%20c0.4-0.9-0.2-1.9-1.2-1.9h0C21%2C15%2C20.4%2C15.4%2C20.1%2C16z%22%2F%3E%3C%2Fsvg%3E');
    width: 24px;
    height: 24px;
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -10px;

    -webkit-animation: rotating .8s linear infinite;
    animation: rotating .8s linear infinite;
}

.js-loading.blue::after {
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20version%3D%221.1%22%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xmlns%3Aa%3D%22http%3A%2F%2Fns.adobe.com%2FAdobeSVGViewerExtensions%2F3.0%2F%22%20%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%220%200%2024%2024%22%20enable-background%3D%22new%200%200%2024%2024%22%20xml%3Aspace%3D%22preserve%22%3E%3Cdefs%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22%2335b1ff%22%20d%3D%22M20.1%2C16c-1.5%2C3-4.7%2C5.1-8.3%2C5C7%2C20.9%2C3.1%2C17%2C3%2C12.3C2.9%2C7.2%2C6.9%2C3%2C12%2C3c2.1%2C0%2C4.1%2C0.7%2C5.6%2C2l-3%2C3H20h2.5%20V6.3V0l-2.8%2C2.8c-2.2-1.9-5.2-3-8.4-2.8C5.2%2C0.4%2C0.2%2C5.4%2C0%2C11.5C-0.3%2C18.4%2C5.2%2C24%2C12%2C24c4.9%2C0%2C9-2.9%2C10.9-7.1%20c0.4-0.9-0.2-1.9-1.2-1.9h0C21%2C15%2C20.4%2C15.4%2C20.1%2C16z%22%2F%3E%3C%2Fsvg%3E');
}

/*error highlighting*/
div:not([style*="display: none"]) .js-error {
    -webkit-animation-duration: 5s;
    animation-duration: 5s;
    -webkit-animation-name: inputError;
    animation-name: inputError;
}

@-webkit-keyframes inputError {
    from {
        border-color: rgba(237, 66, 36, .5);
    }
    to {
        border-color: inherit !important;
    }
}

@keyframes inputError {
    from {
        border-color: rgba(237, 66, 36, .5);
    }
    to {
        border-color: inherit !important;
    }
}

/*end error highlighting */
/* ========================================
			Custom fonts
======================================== */
@font-face {
    font-family: 'HelveticaNeue';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/helveticaneuecyr-roman-webfont.woff2') format('woff2'),
    url('fonts/helveticaneuecyr-roman-webfont.woff') format('woff'),
    url('fonts/helveticaneuecyr-roman-webfont.ttf') format('ttf'),
    url('fonts/helveticaneuecyr-roman-webfont.eot') format('eot');
}

@font-face {
    font-family: 'HelveticaNeue';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/helveticaneuecyr-medium-webfont.woff2') format('woff2'),
    url('fonts/helveticaneuecyr-medium-webfont.woff') format('woff'),
    url('fonts/helveticaneuecyr-medium-webfont.ttf') format('ttf'),
    url('fonts/helveticaneuecyr-medium-webfont.eot') format('eot');
}

@font-face {
    font-family: 'GaramondC';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/garamondc-webfont.woff2') format('woff2'),
    url('fonts/garamondc-webfont.woff') format('woff'),
    url('fonts/garamondc-webfont.ttf') format('ttf'),
    url('fonts/garamondc-webfont.eot') format('eot');
}

@font-face {
    font-family: 'GaramondC';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/garamondc-italic-webfont.woff2') format('woff2'),
    url('fonts/garamondc-italic-webfont.woff') format('woff'),
    url('fonts/garamondc-italic-webfont.ttf') format('ttf'),
    url('fonts/garamondc-italic-webfont.eot') format('eot');
}

@font-face {
    font-family: 'GaramondC';
    font-style: italic;
    font-weight: 700;
    src: url('fonts/garamondc-bolditalic-webfont.woff2') format('woff2'),
    url('fonts/garamondc-bolditalic-webfont.woff') format('woff'),
    url('fonts/garamondc-bolditalic-webfont.ttf') format('ttf'),
    url('fonts/garamondc-bolditalic-webfont.eot') format('eot');
}

@font-face {
    font-family: 'GaramondC';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/garamondc-bold-webfont.woff2') format('woff2'),
    url('fonts/garamondc-bold-webfont.woff') format('woff'),
    url('fonts/garamondc-bold-webfont.ttf') format('ttf'),
    url('fonts/garamondc-bold-webfont.eot') format('eot');
}

@font-face {
    font-family: 'ALSRubl-Verdana';
    src: url('fonts/rub/alsrubl-verdana-regular.eot');
    src: url('fonts/rub/alsrubl-verdana-regular.eot?#iefix') format('embedded-opentype'),url('fonts/rub/alsrubl-verdana-regular.woff') format('woff'), url('fonts/rub/alsrubl-verdana-regular.ttf') format('truetype'), url('fonts/rub/alsrubl-verdana-regular.svg#ALSRublRegular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'ALSRubl-Verdana';
    src: url('fonts/rub/alsrubl-verdana-italic.eot');
    src: url('fonts/rub/alsrubl-verdana-italic.eot?#iefix') format('embedded-opentype'), url('fonts/rub/alsrubl-verdana-italic.woff') format('woff'), url('fonts/rub/alsrubl-verdana-italic.ttf') format('truetype'), url('fonts/rub/alsrubl-verdana-italic.svg#ALSRublItalic') format('svg');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'ALSRubl-Verdana';
    src: url('fonts/rub/alsrubl-verdana-bold.eot');
    src: url('fonts/rub/alsrubl-verdana-bold.eot?#iefix') format('embedded-opentype'), url('fonts/rub/alsrubl-verdana-bold.woff') format('woff'), url('fonts/rub/alsrubl-verdana-bold.ttf') format('truetype'), url('fonts/rub/alsrubl-verdana-bold.svg#ALSRublBold') format('svg');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'ALSRubl-Verdana';
    src: url('fonts/rub/alsrubl-verdana-bolditalic.eot');
    src: url('fonts/rub/alsrubl-verdana-bolditalic.eot?#iefix') format('embedded-opentype'), url('fonts/rub/alsrubl-verdana-bolditalic.woff') format('woff'), url('fonts/rub/alsrubl-verdana-bolditalic.ttf') format('truetype'), url('fonts/rub/alsrubl-verdana-bolditalic.svg#ALSRublBoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
}

.ruble {
    font-family: 'ALSRubl-Verdana', Verdana, sans-serif;
    line-height: normal;
    font-size: .8em;
    display: inline-block;
}