/*
Theme Name: Jarvis
Author: Yaroslav Riabukha
Author URI: https://riabukha.com/
*/

/* Normalize.css
---------------------------------------------------------------------------------------------------------------------- */

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

body, html {
    height: 100%;
    min-height: 100%;
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

small {
    font-size: 75%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0;
    -ms-interpolation-mode: bicubic;
    max-width: 100%
}

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

button, input {
    line-height: normal
}

button, html input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

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

textarea {
    overflow: auto;
    vertical-align: top
}

ul {
    margin: 0;
    padding: 0
}

/* CF7
###################################### */
span.wpcf7-form-control-wrap {
    display: block;
}

span[role=alert] {
    position: absolute;
    white-space: nowrap;
    width: auto;
    bottom: 0;
    right: 0;
    width: auto;
    display: inline-block;
    text-align: right;
    font-size: 13px;
    line-height: 13px;
}

.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors {
    color: #D8000C;
    background-color: #FFBABA;
    border: 0;
    padding: 10px;
}

.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok {
    color: #4F8A10;
    background-color: #DFF2BF;
    border: 0;
    padding: 10px;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0;
}

div.wpcf7-mail-sent-ok:before, div.wpcf7-validation-errors:before {
    margin-right: 8px;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-position: 0;
    display: inline-block;
    background-repeat: no-repeat;
    content: "";
}

div.wpcf7-mail-sent-ok:before {
    background-image: url("data:image/svg+xml,%3Csvg width='46' height='35' viewBox='0 0 46 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40.5781 0.355469C40.7734 0.160156 40.9688 0.0625 41.3594 0.0625C41.6523 0.0625 41.9453 0.160156 42.2383 0.355469L44.9727 3.1875C45.168 3.38281 45.3633 3.67578 45.3633 3.96875C45.3633 4.35938 45.168 4.65234 44.9727 4.84766L15.6758 34.1445C15.4805 34.3398 15.1875 34.4375 14.8945 34.4375C14.5039 34.4375 14.2109 34.3398 14.0156 34.1445L1.02734 21.0586C0.734375 20.8633 0.636719 20.668 0.636719 20.2773C0.636719 19.9844 0.734375 19.6914 1.02734 19.3984L3.76172 16.6641C3.95703 16.4688 4.25 16.2734 4.64062 16.2734C4.93359 16.2734 5.22656 16.4688 5.42188 16.6641L14.8945 26.1367L40.5781 0.355469Z' fill='%234F8A10'/%3E%3C/svg%3E%0A");
}

div.wpcf7-validation-errors:before {
    background-image: url("data:image/svg+xml,%3Csvg width='38' height='36' viewBox='0 0 38 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M31.4724 0L19 14.4986L6.64417 0H0.815951L16.2025 17.5562L0 36H5.82822L19 20.7123L32.1718 36H38L21.7975 17.6548L37.3006 0H31.4724Z' fill='%23FE0000'/%3E%3C/svg%3E%0A");
}

div.wpcf7-response-output {
    margin: var(--margin-bottom) 0 0;
}

/* SCROLLBAR
###################################### */
body::-webkit-scrollbar {
    width: 15px;
}

body::-webkit-scrollbar-track {
    background: #545859;
}

body::-webkit-scrollbar-thumb {
    background: #fff;
}

/* my css
---------------------------------------------------------------------------------------------------------------------------- */
:root {
    --padding: 2.2vw;
    --mBot: 2vh;

    --blue: #0047BB;
    --orange: #d76b00;
    --gray: #C6C8C6;
    --dGray: #545859;

    --fs36: 1.88vw;
    --fs18: 0.95vw;
    --fs14: 0.8vw;
    --fs12: 0.7vw;

    --pad12: 0.6vw;
    --pad116: 5.5vw;
    --bigPad: calc(var(--padding) + var(--pad116));

    --uneven: 28.6vw;
}

body {
    font-size: 18px;
    font-size: var(--fs18);
}

@font-face {
    font-family: reg;
    src: url(inc/fonts/GerstnerProgrammFSLWeb-Regular.woff);
    font-weight: normal;
}

@font-face {
    font-family: myBold;
    src: url(inc/fonts/GerstnerProgrammFSLWeb-Bold.woff);
    font-weight: 700;
}

.gray {
    color: #C6C8C6;
}

a#logo {
    position: relative;
    z-index: 4;
    display: block;
    margin: 0;
    padding: 0;
    align-self: center;
}

.fs18 {
    font-size: 18px;
    font-size: var(--fs18);
}

.fs14 {
    font-size: 14px;
    font-size: var(--fs14);
}

.fs12 {
    font-size: 12px;
    font-size: var(--fs12);
}

body {
    margin: 0;
    overflow-x: hidden;
    font-family: reg, Roboto, Arial, Helvetica, sans-serif
}

h1, h2, h3, h4, h5, h6, p {
    margin-top: 0;
    margin-bottom: var(--mBot);
}

h1 {
    font-size: 72px;
    font-family: 'reg';
    font-weight: normal;
    font-size: 3.8vw;
    line-height: 1.1;
}

h2 {
    font-size: 36px;
    font-size: var(--fs36);
    font-weight: normal;
    line-height: 1.2;
}

picture img {
    width: 100%;
    height: auto;
}

strong, b {
    font-family: myBold;
}

a {
    text-decoration: none;
    transition: all 200ms ease-out;
    color: inherit;
}

a:hover, li.openedTab, .hovered > a, div#category:hover a#catOpn, div#category:hover a#catOpn span, ul.sub2 > li:hover a {
    color: var(--blue);
}

div#category:hover a#catOpn:after {
    background: var(--blue);
}

.textOrange, div#category li > a:hover {
    color: var(--orange);
}

div#container {
    padding: 4vw var(--padding) 0;
    position: relative;
}

section#home1 {
    min-height: calc(100vh - 4vw);
    position: relative;
    margin-bottom: var(--padding);

}


header {
    height: 72px;
    display: flex;
    justify-content: space-between;
    align-content: center;
    padding: 0 var(--bigPad);
    align-items: center;
    height: 4vw;
    position: fixed;
    transition: top 300ms ease;
    z-index: 999;
    width: 100%;
    box-sizing: border-box;
    background: white;
}

nav ul {
    list-style: none;
}

footer#footer {
    display: grid;
    margin: var(--bigPad) var(--bigPad) var(--pad116);
    border-top: 1px solid rgb(0 0 0 / 56%);
    /* padding-top: 0.5vw; */
    padding-top: 3px;
    grid-template-columns: 1fr 28.6vw;
    grid-column-gap: var(--pad116);
}

div#newsletter {
    margin-left: auto;
    margin-right: 0;
    width: var(--uneven);
}

input#mce-EMAIL {
    background: #F1F1F1;
    width: 100%;
    margin: 1.5vh 0 var(--mBot) 0;
}

button.but {
    background: transparent;
    margin-bottom: var(--mBot);
    border-radius: 0;
    outline: none !important;
}

button.but:before {
    content: '';
    width: 1px;
    height: 42px;
    background: #f1f1f1;
    position: absolute;
    left: 0px;
    z-index: 22;
    transition: 0ms 500ms ease;
}

button.but:hover:before {
    background: transparent;
    transition-delay: 0ms;
}

div#footerMenuHolder ul {
    list-style: none;
}

div#footerMenuHolder {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 1vw;
    line-height: 1.5;
    /* width: 75%; */
}

div#subfooter {
    margin: 0 var(--bigPad);
    border-top: 1px solid rgb(0 0 0 / 50%);
    display: flex;
    justify-content: space-between;
    padding: 3px 0 2vw;
}

p.copyright {
    margin: 0;
}

div#homeFloat {
    position: absolute;
    bottom: 116px;
    left: 116px;
    max-width: 20vw;
    left: var(--pad116);
    bottom: var(--pad116);
}

.sectionBG {
    background-size: cover;
}

/* popup image and video */
.overlay-popup_image_video {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9998;
    background: rgba(0, 0, 0, 0.7);
}

.modal-popup_image_video {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: calc(100% - 11vw);
    transform: translate3d(-50%, -50%, 0);
    height: calc(100vh - var(--pad116));
    z-index: 9999;
    box-sizing: border-box;
}

.content-popup_image_video {
    background: #fff;
    box-sizing: border-box;
    width: 100%;
    padding: 1.8vw;
    overflow: auto;
    display: flex;
    flex-flow: column;
    justify-items: center;
    align-items: flex-start;
    justify-content: center;
}

.content-popup_image_video img,
.content-popup_image_video video {
    display: block;
    max-width: 100%;
    height: auto;
    max-height: 50vh;
    margin: 0 auto;
}

.content-popup_image_video .params {
    display: flex;
    flex-wrap: wrap;
}

.content-popup_image_video .params p {
    margin-bottom: 0;
    font-size: var(--fs18);
}

.content-popup_image_video .params p + p {
    margin-left: 20px;
}

.close-popup_image_video {
    position: absolute;
    right: 1.5vw;
    top: 1.5vw;
    height: 19px;
    font-size: 1.5vw;
    background: transparent;
    padding: 0;
    line-height: 1;
    margin: 0;
    border: 0;
    outline: none !important;
}

.close-popup_image_video:hover {
    color: var(--orange);
}

/* buttons */

.but {
    position: relative;
    font-size: 18px;
    display: inline-block;
    /* margin-right: 0; */
    /* margin-left: auto; */
    overflow: hidden;
    font-size: var(--fs18);
    border: 1px solid var(--blue);
    color: var(--blue);
    padding: 0;
    /* outline: 1px solid blue; */
}

.but:hover .mask-name,
.but:hover .mask-name > span {
    transform: translateX(0%);
    transition: all ease-in-out 500ms;
}

.mask-name {
    position: absolute;
    overflow: hidden;
    width: 100%;
    height: 100%;
    transform: translateX(-100%);
    transition: all ease-in-out 500ms;
    margin-left: 0px;
    text-align: left;
}

.mask-name > span {
    position: absolute;
    color: #fff;
    transform: translateX(100%);
    transition: all ease-in-out 500ms;
    background: var(--blue);
}

.an,
.mask-name > span {
    padding: 9px 3vw 9px 1.3vw;
    white-space: nowrap;
    text-align: left;
    min-width: 6vw;
    font-weight: 400;
    /* height: 100%; */
    /* box-sizing: border-box; */
}

.but:after {
    content: '';
    height: 0.3vw;
    width: 0.3vw;
    position: absolute;
    left: 0.7vw;
    background: var(--blue);
    top: 50%;
    transform: translateY(-50%);
    transition: all 100ms 300ms ease-in;
    background: var(--blue);
}

.but:hover:after {
    transition: all 200ms ease-out;
    background: white;
}

a.but.outline_white {
    color: white;
    border-color: white;
}

a.but.outline_white .mask-name > span, a.but.outline_white:after {
    background: white;
}

a.but.outline_white:hover:after {
    background: black;
}

a.but.outline_white .mask-name > span {
    color: black;
}

/* orange */
a.but.outline_orange {
    color: var(--orange);
    border-color: var(--orange);
}

a.but.outline_orange .mask-name > span, a.but.outline_orange:after {
    background: var(--orange);
}

a.but.outline_orange:hover:after {
    background: white;
}

a.but.outline_orange .mask-name > span {
    color: white;
}

.gridUneven {
    display: grid;
    margin: 0 var(--pad116) var(--pad116);
    /* grid-template-columns: 1fr 550px; */
    grid-template-columns: 1fr 28.6vw;
    grid-column-gap: var(--pad116);
}

.fullWidthImg {
    margin-bottom: var(--pad116);
}

nav#secondary {
    margin-bottom: 155px;
    position: sticky;
    top: -1px;
    background: white;
    transition: top 300ms ease;
    padding: 0 var(--pad116);
    z-index: 9;
    margin-bottom: 8vw;
}

nav#secondary ul.menu {
    display: flex;
    font-size: var(--fs36);
    border-top: 1px solid #454545;
    border-bottom: 1px solid #454545;
    /* line-height: 74px; */
    line-height: 4vw;
}

nav#secondary ul.menu li {
    margin-right: var(--padding);
}

nav#secondary .current_page_item a, nav#secondary .current-page-ancestor a {
    color: var(--blue);
    cursor: default;
}

.grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 0.6vw;
    margin-bottom: var(--pad116);
}

section#service_team > div.gridUneven {
    border-top: 1px solid #666;
    padding-top: 4px;
    margin-bottom: 0;
}

section#service_team h1, dl.accordion h1 {
    line-height: 0.9;
}

#news h1 {
    margin-top: -0.44vw;
}

p {
    font-size: 18px;
    font-size: var(--fs18);
    line-height: 1.34;
}

img#heritageFullImg {
    display: block;
    margin-bottom: var(--padding);
}

.justCopy {
    margin: var(--bigPad) var(--pad116);
}

.justCopy p {
    max-width: 50%;
    font-size: var(--fs36);
    line-height: 1.2;
    /* font-size: 36px; */
}

.grid3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin-bottom: var(--pad116);
    grid-column-gap: 0.6vw;
}

.sectionGrid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: var(--padding);
    min-height: calc(100vh - var(--padding) * 2);
    margin-bottom: var(--padding);
}

.bgGray {
    background: #545859;
}

.white {
    color: white;
}

#subfooter .lang-item {
    list-style-type: none;
    display: inline-block;
}

#subfooter .lang-item a {
    padding-left: 0.65vw;
    font-size: var(--fs18);
    position: relative;
    color: var(--orange);
}

#subfooter .lang-item a:after {
    content: '';
    height: 0.3vw;
    width: 0.3vw;
    position: absolute;
    left: 0;
    background: var(--blue);
    top: 50%;
    transform: translateY(-50%);
    transition: all 100ms 300ms ease-in;
    background: var(--orange);
    transition: background 300ms ease-out;
}

div#home2Left {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    padding: 116px;
    padding: var(--pad116);
}

div#home2Right {
    padding: var(--pad116);
    background-position: left bottom;
    /* justify-content: flex-end; */
    align-items: flex-end;
    display: flex;
}

div#home2Right > div {
    max-width: 20vw;
}

section.section {
    min-height: calc(100vh - var(--padding) * 2);
    padding: var(--pad116);
    margin-bottom: var(--padding);
    box-sizing: border-box;
}

section.sectionCorner {
    display: flex;
    align-items: flex-end;
}

.cornerFloater {
    max-width: 20vw;
}

section.sectionFlex {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    padding-right: 45vw;
}

.gridUneven h1 {
    /* margin-top: -0.7vw; */
}

section#service_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 var(--pad116);
    grid-column-gap: var(--padding);
}

.myList {
    margin-bottom: var(--pad116);
}

.myList li {
    list-style: none;
    font-size: var(--fs18);
    border-top: 1px solid #666;
    padding: 0.4vw 0;
}

section#news > a.postLink {
    display: block;
    /* margin: 0 var(--pad116) 0 var(--pad116); */
}

a.misha_loadmore.but {
    margin: 0 auto;
}

a.postLink .grid2 {
    color: black;
}

section#news {
    display: flex;
    flex-flow: column;
    margin: 0 var(--pad116) 0 var(--pad116);
}

.gridUneven.bordered {
    margin: 0;
}

.bordered {
    border-top: 1px solid #666;
    padding-top: 4px;
    line-height: 1.3;
}

/* menu navigation
_____________________________________________________________________________*/


li.navCaption {
    font-size: var(--fs12);
    border-bottom: 1px solid #666;
    width: 26vw;
    margin-bottom: var(--pad12);
    line-height: 2;
    /* font-size: 12px; */
    white-space: nowrap;
}

ul#menu-secondary, ul#menu-secondary-dch, ul.menu-desc-secondary {
    position: absolute;
    left: 8vw;
    bottom: 2vw;
    display: flex;
    font-size: var(--fs18);
    z-index: 9;
}

ul#menu-secondary li, ul#menu-secondary-dch li, ul.menu-desc-secondary li {
    margin-right: 2vw;
}

ul#menu-secondary li:last-child, ul#menu-secondary-dch li:last-child, ul.menu-desc-secondary li:last-child {
    /* margin-right:0; */
}

.tabs > li {
    padding-right: 0;
    font-size: var(--fs18);
    margin-right: 2vw;
    transition: color 300ms;
    cursor: pointer;
}

.tabs > li:hover, .tabs > li.current {
    color: var(--blue);
}

a#logo svg {
    width: 9vw;
    height: auto;
    overflow: hidden;
    margin: 0;
    padding: 0;
    display: block;
}

h5 {
    font-size: var(--fs18);
    font-weight: normal;
    line-height: 1.4;
    font-family: myBold;
    margin-bottom: 0;
}

.tab {
    overflow: hidden;
}

.tabs {
    display: flex;
    position: relative;
    z-index: 99;
}

.tabs_item {
    display: none;
    /* padding: 5vw 8vw; */
    width: 35.9vw;
}

#navContent {
    display: flex;
    flex-flow: column;
    height: 0;
    transition: transform 400ms ease-in, width 600ms ease-in, height 1ms 400ms ease;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9;
    width: 0vw;
    opacity: 1;
    box-sizing: border-box;
    background: linear-gradient(90deg, rgba(241, 241, 241, 1) 33%, rgba(255, 255, 255, 0) 33%);
    transform: translateX(-33vw);
}

#navContent.opn {
    height: 100vh;
    width: 100vw;
    opacity: 1;
    transition: transform 400ms ease-out;
    transform: translateX(0);
}

div#slidy {
    width: 0;
    height: 100vh;
    position: absolute;
    z-index: -1;
    background: #f1f1f1;
    transition: width 1200ms ease-in;
}

.opn div#slidy {
    width: 37vw;
    transition: width 400ms ease-out;
}

.opn.stage1 div#slidy {
    width: 66.3vw;
}

.opn.stage1.stage2 div#slidy {
    width: 100vw;
}

#closeNav2 {
    width: 0;
    height: 100vh;
    position: absolute;
    z-index: -2;
}

.opn div#closeNav2 {
    width: 100%;
}

#closeNav {
    position: absolute;
    left: 32.2vw;
    z-index: 999;
    visibility: hidden;
    opacity: 0;
    border: 0;
    background: #f1f1f1;
    top: 1.8vw;
    display: inline-block;
    height: auto;
    font-size: 1.5vw;
    outline: none;
    transition: left 400ms ease-out;
    transform: translateY(-0.5vw);
}

ul.sub0 > li > a, ul.sub1 > li > a {
    font-size: var(--fs36);
    display: block;
    line-height: 1;
    white-space: nowrap;
    margin-bottom: var(--pad12);
}

.opn #closeNav {
    visibility: visible;
    opacity: 1;
    transition: opacity 300ms 400ms ease-out;
}

.opn.stage1 #closeNav {
    left: 61.5vw;
    transition: left 400ms ease-out;
}

.opn.stage1.stage2 #closeNav {
    left: 90.5vw;
}

.opn #closeNav:hover {
    color: var(--orange);
}

li.nav0:hover > a {
    color: var(--blue);
}

.sub2 {
    position: absolute;
    width: 0;
    left: 30.4vw;
    /* overflow: hidden; */
    opacity: 0;
    transition: 400ms ease opacity;
    /* background: #f1f1f1; */
    height: 100vh;
    top: 0;
    padding-top: 7vw;
    visibility: hidden;
    z-index: -1;
    /* transform: translateX(-10vw); */
}

.sub2 > li {
    position: relative;

}

ul.sub2 > li > a {
    font-size: var(--fs36);
    display: flex;
    flex-flow: column;
    line-height: 1.1;
    margin-bottom: 0;
    max-width: max-content;
    white-space: nowrap;
    padding-bottom: calc(2 * var(--pad12));
}

ul.sub2 > li > a > span {
    font-size: var(--fs12);
}

ul.sub1 {
    position: absolute;
    left: 35.9vw;
    top: 0;
    width: 0;
    box-sizing: border-box;
    opacity: 0;
    z-index: -21;
    transition: opacity 400ms 200ms ease-out;
    /* transform: translateX(20vw); */
    visibility: hidden;
    /* padding-left: 18vw; */
    /* background: #d8d8d8; */
    padding: 7vw calc(var(--padding) / 2) 0;
    height: 100vh;
    /* overflow: hidden; */
    /* padding-right: 2vw; */
}

li.nav0 {
    width: max-content;
}

ul.sub0 {
    position: relative;
    padding: 7vw 0 5vw var(--bigPad);
    box-sizing: border-box;
    width: 35.9vw;
}

li.nav0:hover {
    width: auto;
}

/*li.nav0:hover ul.sub1,*/
li.nav0.hovered ul.sub1 {
    opacity: 1;
    z-index: 99;
    visibility: visible;
    width: 30.4vw;
}

/*ul.sub1 > li:hover .sub2,*/
ul.sub1 > li.hovered .sub2 {
    opacity: 1;
    z-index: 99;
    visibility: visible;
    width: 35.9vw;
}

.stage1 ul.sub0 {
    width: 66.3vw;
}

.stage1.stage2 ul.sub0 {
    width: 100vw;
}

.stage2 li.nav0:hover ul.sub1, .stage2 li.nav0.hovered ul.sub1 {
    width: 64.1vw;
    /* background: red; */
}

.stage1 .tabs_item {
    width: 66.3vw;
}

.stage1.stage2 .tabs_item {
    width: 100vw;
}

/*
li.nav0 > a.maintainHover {
    display: block;
    width: max-content;
    min-width: 10vw;
}

a.maintainHover + ul.sub1 {
    transition: all 300ms 300ms ease-out;
}

*/

#loadmore {
    text-align: center;
    padding: 35px 0;
    font-size: 21px;
}

/* NEWS & SINGLE */
div#subsubsub {
    height: 4vw;
    /* border-bottom: 1px solid #666; */
    display: flex;
    align-items: center;
    position: relative;
    width: calc(100% - var(--pad116) - var(--pad116));
    margin: 0 0 0 var(--pad116);
    box-sizing: border-box;
    top: -8vw;
}

a.but2 {
    padding-left: 0.65vw;
    font-size: var(--fs18);
    position: relative;
}

a.but2:after {
    content: '';
    height: 0.3vw;
    width: 0.3vw;
    position: absolute;
    left: 0;
    background: var(--blue);
    top: 50%;
    transform: translateY(-50%);
    transition: all 100ms 300ms ease-in;
    background: black;
    transition: background 300ms ease-out;
}

a.but2:hover:after {
    background: var(--blue);
}

a.but2.outline_white {
    color: white;
}

a.but2.outline_white:after {
    background: white;
}

a.but2.outline_white:hover {
    color: var(--orange)
}

a.but2.outline_white:hover:after {
    background: var(--orange)
}

a.but2.outline_orange {
    color: var(--orange);
}

a.but2.outline_orange:after {
    background: var(--orange);
}

a.but2.outline_orange:hover {
    color: var(--blue);
}

a.but2.outline_orange:hover:after {
    background: var(--blue)
}

.post_images img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: var(--padding);
}

div#under_slidy {
    height: 100vh;
    position: fixed;
    z-index: 5;
    background: rgb(0 0 0 / 40%);
    transition: opacity 400ms ease-in, width 0ms 400ms ease-in;
    width: 0;
    opacity: 0;
    right: 0;
    top: 0;
}

.opn + div#under_slidy {
    opacity: 1;
    width: 100vw;
    transition: opacity 400ms ease-in;
}

/* news ---------------------------------------------------------------- */
#category {
    margin-right: 0;
    margin-left: auto;
    position: relative;
    line-height: 1.6;
}

#categoryList {
    position: absolute;
    right: 0;
    text-align: right;
    transition: all 300ms ease-out;
    visibility: hidden;
    opacity: 0;
    overflow: hidden;
    /* padding-top: 4px; */
}

#category:hover #categoryList {
    visibility: visible;
    opacity: 1;
}

#categoryList a {
    display: block;
    white-space: nowrap;
    /* color: var(--gray); */
}

ul#categoryList li {
    list-style: none;
    color: var(--gray);
}

ul#categoryList li.current-cat {
    color: var(--orange);
    cursor: default;
    display: none;
}

/* MEDIA -------------------- */
.grid2News {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0 var(--pad116);
    grid-column-gap: var(--padding);
    grid-row-gap: var(--padding);
}

a.pr_cont h2 {
    max-width: 70%;
}

.pr_grid {
    display: grid;
    grid-template-columns: 27% 1fr;
    grid-column-gap: var(--pad12);
    color: black;
}

h1.regTitle {
    margin: 0 106px 94px;
    margin: 0 var(--pad116) 4.6vw;
    line-height: 0.9;
}

.home section h2 {
    margin-bottom: 0.9vh;
}

a.but.standAlone {
    margin: 0 var(--pad116) var(--bigPad);
}

div#container a.standAlone:last-child {
    margin-bottom: 0;
}

section#press_release {
    margin-bottom: 4vw;
}

/* contact section */
div#contactCont {
    padding: 7vw var(--padding) 0;
}

div#contactCont h1 {
    margin-bottom: 0;
}

div#contactTab {
    overflow-y: scroll;
    z-index: 110;
    background: #f1f1f1;
    width: 100vw;
}

.textPad {
    margin: 0 var(--pad116) var(--pad116);
}

.grid4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: var(--padding);
    grid-row-gap: var(--padding);
}

.marLRB {
    margin: 0 var(--pad116) var(--pad116);
}

.marLR {
    margin: 0 var(--pad116);
}

a.iv_cont {
    display: flex;
    flex-flow: column;
}

img.ivImg {
    margin: auto;
}

p.ivDesc {
    margin-top: var(--padding);

}

#map {
    margin-bottom: var(--pad116);
}

#navContent.opn #contactCont:before {
    content: '';
    width: calc(100% - 15px);
    height: 4vw;
    background: #f1f1f1;
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
}

input[type=text], input[type=email] {
    border: none;
    background: white;
    height: auto;
    font-size: var(--fs18);
    padding: 9px 0.7vw;
    box-sizing: border-box;
    font-family: 'reg';
    border-radius: 0;
}

textarea {
    border: 0;
    width: 100%;
    font-size: var(--fs18);
    padding: 0.7vw;
    font-family: 'reg';
    box-sizing: border-box;
    font-weight: normal;
}

div#contactFomr input[type=text], div#contactFomr input[type=email] {
    width: 50%;
}

.gridUneven.moreUneven {
    grid-template-columns: 1fr 665px;
    grid-template-columns: 1fr 34.5vw;
}

form.wpcf7-form p {
    margin-bottom: var(--padding);
}

form.wpcf7-form p:last-of-type {
    margin-bottom: 0 !important;
}

span.wpcf7-list-item {
    margin: 0;
}

input[type="checkbox"] {
    width: 1.3vw;
    height: 1.3vw;
}

span.wpcf7-list-item-label {
    margin-left: 1.8vw;
    line-height: 1;
}

span.wpcf7-list-item label {
    display: flex;
    align-items: center;
    cursor: pointer;
    height: 1.4vw;
}

input.wpcf7-submit.but {
    font-size: font-size: var(--fs18);
    border: 1px solid var(--blue);
    color: var(--blue);
    padding: 9px 3vw 9px 1.3vw;
    white-space: nowrap;
    text-align: left;
    min-width: 6vw;
}

span.wpcf7-not-valid-tip {
    position: absolute;
    font-size: var(--fs12);
    line-height: 2;
    color: var(--orange);
}

.wpcf7-response-output {
    display: none;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    margin: 0 !important;
    border-color: var(--orange);
    font-size: var(--fs18);
}

input:focus, button:focus, textarea:focus {
    outline: 1px solid black;
}

/* custom checkbox styling for contact form 7 checkbox */
span.wpcf7-list-item {
    display: inline-block;
    margin: 0;
}

.wpcf7 .wpcf7-list-item {
    display: block;
    margin-bottom: 10px;
}

.mc4wp-checkbox label {
    position: relative;
    cursor: pointer;
}

.mc4wp-checkbox input[type=checkbox] {
    /*position: relative;*/
    position: absolute;
    visibility: hidden;
    width: 1.4vw;
    height: 1.4vw;
    top: 0;
    left: 0;
}

.mc4wp-checkbox input[type=checkbox] + span:before {
    display: block;
    /* position: relative; */
    content: '';
    border-radius: 0;
    height: 1.5vw;
    width: 1.5vw;
    top: 0px;
    left: 0px;
    background: white;
    transition: background 300ms ease-out;
    margin-right: var(--pad12);
    min-width: 20px;
    min-height: 20px;
}

.mc4wp-checkbox input[type=checkbox] + span:after {
    display: block;
    position: absolute;
    /* content: "\2713"; */
    height: 1.5vw;
    width: 1.5vw;
    top: 0;
    left: 0;
    visibility: hidden;
    font-size: var(--fs18);
    text-align: center;
    line-height: 1.6;
    font-weight: bold;
    color: white;
    /* font-size: 1vw; */
}

.mc4wp-checkbox input[type=checkbox]:checked + span:before {
    background: var(--blue);
}

.mc4wp-checkbox input[type=checkbox]:checked + span:after {
    visibility: visible;
}

.wpcf7-list-item-label, .mc4wp-checkbox span {
    /* padding-left: 40px; */
    display: flex;
    height: 100%;
    align-items: center;
}

.wpcf7-response-output {
    display: none !important;
}

.wpcf7 form.sent .wpcf7-response-output {
    border: none;
    padding: 2vw 0;
    color: var(--blue);
    font-size: var(--fs18);
    margin-top: -4vw;
    background: #f1f1f1;
    position: relative;
    z-index: 999;
    display: block !important;
}

a#catOpn {
    text-transform: capitalize;
}

.noSecondary {
    margin-top: 8vw;
}

p.underTitle {
    max-width: var(--uneven);
    /* margin-top: calc(var(--mBot) - var(--mBot) - var(--mBot)); */
}

button#closeNav svg {
    height: 1.2vw;
    width: auto;
}


button#closeNav:hover svg {
    fill: var(--orange);
    color: var(--orange);
}


ul#aboutNav, ul#serviceNav, ul#productsNav {
    transform: translateX(-40%);
    opacity: 0;
    transition: all 300ms ease-out !important;
}

.actv ul#aboutNav, .actv ul#serviceNav, .actv ul#productsNav {
    transform: translateX(0);
    opacity: 1;
}

.grecaptcha-badge {
    visibility: hidden;
}

#language {
    display: none;
}

#mc_embed_signup div.mce_inline_error, #mc_embed_signup div.mce_inline_error {
    color: var(--orange) !important;
    font-family: 'reg';
    background: transparent !important;
    padding: 0 !important;
    font-size: var(--fs14);
    font-weight: normal !important;
}

#mc_embed_signup div.mce_inline_error {
    margin-top: calc(var(--mBot) - var(--mBot) - var(--mBot) + 0.2vw) !important;
}

div#mce-success-response {
    background: white;
    position: absolute;
    padding: 0.5vw 1px 1vw;
    display: block;
    width: 100%;
    z-index: 99;
    left: -1px;
    box-sizing: border-box;
}

div#mce-responses {
    position: relative;
}

/* mobile
---------------------------------------------------------------------------------------------------------------------------- */
.hide-on-desktop {
    display: none;
}

@media (min-width: 768px) {
    .product-page-content-wrapper section.first-section .standard-multimedia-wrapper,
    .product-page-content-wrapper section.ninth-section .small-container:nth-of-type(7) .simple-text,
    .product-page-content-wrapper section.seventh-section .left-text.big-col,
    .product-page-content-wrapper section.ninth-section .simple-text {
        margin-bottom: 5vw !important;
    }

    .page-template-tech-specs .tech-specs-section .list-wrapper:last-of-type {
        margin-bottom: 22vw;
    }

    .product-page-content-wrapper section.third-section,
    .product-page-content-wrapper section.tenth-section .standard-multimedia-wrapper,
    .product-page-content-wrapper section.third-section .section-title,
    .product-page-content-wrapper section.ninth-section .standard-multimedia-wrapper {
        margin-top: 5vw !important;
    }

    .product-page-content-wrapper section.third-section .single-col-wrapper .small-col .num,
    .product-page-content-wrapper section.third-section .grid3 .grid-item .num {
        line-height: 0.9 !important;
    }

    .product-page-content-wrapper section.eighth-section,
    .product-page-content-wrapper section.ninth-section .simple-text,
    .product-page-content-wrapper section.ninth-section .big-text,
    .product-page-content-wrapper section.tenth-section .simple-text {
        margin-top: 13.5vw !important;
    }

    .product-page-content-wrapper section.ninth-section .grid-title, .product-page-content-wrapper section.ninth-section .grid2 .info-block:first-of-type, .product-page-content-wrapper .info-block {
        border-top-width: 1px !important;
    }

    .product-page-content-wrapper section.tenth-section .small-container:first-child .small-col {
        margin-bottom: 5vw !important;
        margin-top: 13.5vw !important;
    }


}

@media screen and (max-width: 767px ) {
    .hide-on-desktop {
        display: block;
    }

    .hide-on-mobile {
        display: none;
    }

    .an, .mask-name > span {
        padding-left: 4vw;
        padding-right: 12vw;
    }

    .but:after {
        height: 1vw;
        width: 1vw;
        left: 1.7vw;
    }

    .home section .cornerFloater h2 {
        margin-top: 2vw;
        margin-bottom: 0 !important;
    }

    /*
        nav ul.tabs li, li.navCaption, ul.sub0 > li {
            margin-bottom: 2vw;
        }

     */
    div#home2Left, .home section#home4 {
        padding: 5.333vw !important;
        margin-bottom: 5.333vw !important;
    }


    div#home2Left p.white.fs18, section#home4 p.white.fs18, .home section#home3 p.fs18 {
        margin-bottom: 2vw !important;
    }


    .home section .mob-bg {
        height: 100vw !important;
    }

    .sectionGrid2 {
        min-height: unset;
    }

    .home section {
        margin-bottom: 5.333vw !important;
    }

    .home section#home3, section#home4 h2 {
        margin-bottom: 12vw !important;
    }

    section#careers {
        /*margin-top: 35vw;*/
    }


}

button#closeNav {
    background: url(img/play.svg) no-repeat -9999px -9999px;
}

@media (max-width: 767px) {

    .gmnoprint a {
        font-size: 10px !important;
    }

    button.but, a.but {
        min-width: 50%;
        font-size: 4.267vw;
    }

    .but .an, .but span {
        padding: 2.66vw 8vw 2.66vw 5.22vw !important;
    }

    .but:after {
        left: 2.666vw;
    }

    :root {
        --mBot: 2.666vw;
        --pad116: 8vw;
    }

    p.fs18, p {
        line-height: 1.2;
    }

    div#home2Left p.white.fs18, section#home4 p.white.fs18, .home section#home3 p.fs18 {
        margin-bottom: var(--mBot) !important;
    }

    .but2:not(#category a.but2, #subsubsub a.but2) {
        font-family: myBold;
    }

    section h2 {
        line-height: 1;
    }

    footer#footer {
        margin-top: 30px;
        margin-top: 8vw !important;
    }

    footer#footer #footerMenuHolder ul, footer#footer #newsletter p, .home section#home1 {
        margin-bottom: 30px;
        margin-bottom: 12vw !important;
    }

    h1 {
        -moz-hyphens: none;
        -ms-hyphens: none;
        -webkit-hyphens: none;
        hyphens: none !important;
        line-height: 1;
    }

    a.but2:after, .archive.post-type-archive #subsubsub a.but2:after, .archive.tax-pr_category #subsubsub a.but2:after {
        height: 0.7vw !important;
        width: 0.7vw !important;
    }

    nav#secondary:not(body.page-template-products-templatesJLR-900-php nav#secondary),
    nav#secondary:not(body.page-template-products-templates nav#secondary) {
        margin-bottom: 14vw !important;
    }

    section#service_list .left .myList:last-child {
        margin-bottom: 0 !important;
    }

    section#service_list h1 {
        margin-bottom: var(--mBot) !important;
    }

    .blog #subsubsub a, a#catOpn {
        padding-left: 1.867vw;
    }

    .archive.post-type-archive #subsubsub, .archive.tax-pr_category #subsubsub {
        margin-top: 14vw !important;
    }

    .page-template-JLR-900 div#container {
        padding-top: 0;
        margin-top: 0;
    }

}


@media (min-width: 768px) and (max-width: 1080px) {
    :root {
        --mBot: 2.4vw !important;;
        --pad12: 1.2vw !important;
        --padding: 3vw !important;
        --bigPad: 8vw !important;
    }

    h1 {
        font-size: 6.8vw;
    }

    .gridUneven {
        margin: 0;
        grid-column-gap: var(--padding);
        grid-template-columns: 60% 1fr;
    }

    h1.regTitle {
        margin: 0;
    }

    .disclaimer.marLR {
        margin: 0;
    }

    div#subsubsub {
        top: -7vw;
    }

    .content-popup_image_video br {
        display: none;
    }

    button.close-popup_image_video {
        height: 30px;
        width: 30px;
        font-size: 30px;
    }


    .home section h2:not(.white) {
        margin-top: var(--pad12);
        margin-bottom: 0;
    }

    div#mce-success-response {
        top: -9px;
        padding: 1.5vw 1px 1vw;
    }

    .but {
        min-width: 30vw;
    }

    .home p.white.fs18 {
        margin-bottom: var(--pad12);
    }

    .an, .mask-name > span {
        padding: 9px 3vw;
    }

    .but:after, a.but2.outline_white:after {
        height: 5px;
        width: 5px;
        left: 1.3vw;
    }

    a.but2.outline_white {
        padding-left: 3vw;
        font-family: myBold;
        margin-left: -1.5vw;
    }

    section#home1, .home section#home3 {
        margin-bottom: var(--bigPad) !important;
    }

    .home section#home2 .bgGray {
        margin-bottom: var(--padding) !important;
    }

    .home section#home2 #home2Right {
        min-height: unset;
        height: auto;
    }

    section#home2 {
        min-height: unset;
    }

    .home section#home3 p {
        margin-bottom: var(--mBot) !important;
    }

    section h2 {
        line-height: 1.1;
    }

    section#home4 h2 {
        margin-bottom: var(--bigPad);
    }

    section#home4 {
        padding: var(--padding) !important;
        margin-bottom: var(--padding) !important
    }


    .tabs > li {
        margin-right: 4vw;
    }


    button#closeNav svg {
        /*height: 4vw;*/
        height: 2.870vw;
        opacity: 0.6;

    }

    #header nav .opn #closeNav {
        top: 14vw !important;
        right: var(--padding) !important;
        left: unset !important;
    }

    ul#productsNav li.navCaption {
        width: 100%
    }

    ul.sub2.active li.navCaption {
        /*width: 75% !important;*/
    }


    form.wpcf7-form p:last-of-type {
        margin-bottom: 13vw !important;
    }

    header#header {
        height: 7.6vw;
    }

    div#container:not(.page-template-products-templates div#container) {
        padding-top: 7.8vw;
    }

    #header nav .tab_content #contactTab #contactCont {
        margin-top: 20vw;
    }

    #navContent.opn #contactCont:before {
        height: 7.8vw;
    }


    /* lm  */
    nav#secondary ul.menu li {
        margin-right: calc(var(--padding) * 2);
    }


}


.sub2 .menu-item .description {
    display: block;
    /* margin-top: calc(-1 * (var(--pad12) + var(--mBot))); */
    font-size: var(--fs12);
    /* margin-bottom: calc(0.5 * var(--mBot)); */
    position: absolute;
    /*top: var(--fs36);
    bottom: -1.7vw;*/
    bottom: 0.3vw;
    z-index: -1;
}


@media (max-width: 767px) {

    .sub2 .menu-item .description {
        font-size: 3.200vw;
    }
	
	ul.sub1 > li ul.sub2 > li {
		padding-left: 1px;
	}

    .tabs_item.actv {
        /* height: calc(100% - 30vw);
        overflow-y: auto; */
        /* height: calc(100vh - 6rem);
        overflow-y: auto;
        overflow-x: visible; */
    }

    /* .open-menu #navContent ul.sub1.nav-active { */
        /* max-height: calc(100vh - 7rem) !important; */
        /* padding-bottom: 2rem; */
        /* overflow-y: auto;
        overflow-x: hidden;
        max-width: 100%; */
    /* } */

    /*

    #header nav .opn ul.sub2 {
        /* opacity: 0; */ /*
        display: none;
    }

    #header nav .opn ul.sub2.nav-active {
        /* opacity: 1;
        z-index: 3 !important; */ /*
        display: block; 
    }

    #header nav .tab_content {
        height: 100vh;
        overflow-y: scroll;
    } */

    /* #header nav li {
        position: relative;
    } */

    .tabs_item.actv {
        height: calc(100% - 10rem) !important;
        overflow-y: auto;
        overflow-x: hidden;
    }

    #header nav .opn ul.sub1, #header nav .opn ul.sub2 {
        display: none;
    }

    #header nav .opn ul.sub1.nav-active, #header nav .opn ul.sub2.nav-active {
        display: block;
    }

    /* .open-menu #navContent ul.sub1.nav-active {
        height: calc((var(--vh, 1vh) * 100) - 37vw) !important;
        overflow-y: scroll;
        overflow-x: visible;
    }

    .open-menu #navContent ul.sub1.nav-active > li {
        position: relative;
        overflow: visible;
    }

    #header nav .opn ul.sub2 {
        display: none;
        opacity: 0;
    }

    #header nav .opn ul.sub2.nav-active {
        display: block;
        opacity: 1 !important;
        z-index: 9 !important;
        position: fixed;
        left: 190vw !important;
    } */

    /* #header nav .opn ul.sub2.nav-active li {
        z-index: 9;
    }

    ul.sub1 > li .sub2:after {
        opacity: 0;
    } */

    #header.mob-nav-active::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        height: 14vw;
        width: 100%;
        background: #f1f1f1;
        z-index: 2;
        transition: .3s ease .3s;
    }

    /* .sub2.nav-active::before {
        content: '';
        position: fixed !important;
        left: 0vw !important;
        z-index: 1 !important;
        top: 0;
        height: 30px;
        width: 100%;
        background: #f1f1f1 !important;
    } */

    .navCaption {
        background: #f1f1f1 !important;
    }

    /* .open-menu #navContent ul.sub2.nav-active {
        height: au;
    } */

    .open-menu #navContent ul.sub1.nav-active, .open-menu #navContent ul.sub2.nav-active, .open-menu #navContent ul.sub3.nav-active {
        /* height: 100% !important; */
        height: calc(100vh - 13rem) !important;
    }
}


/* MENU SCROLL OVERFLOW */
ul.sub1 > li ul.sub2 > li.navCaption {
    position: fixed;
    top: 7vw;
    z-index: 2;
}

ul.sub1 > li ul.sub2 > li:nth-child(2) {
    margin-top: calc(1.3 * var(--fs12) + 6px + 1vh);
}

ul.sub1 > li .sub2 {
    overflow-y: scroll;
    height: calc(100vh - 7vw);
    /*   padding-bottom: 7vw; */
}

ul.sub1 > li .sub2:before {
    content: '';
    position: fixed;
    background: #f1f1f1;
    width: 100%;
    height: 8.5vw;
    top: 0;
    z-index: 1;
}

ul.sub1 > li .sub2:after {
    content: '';
    position: fixed;

    top: calc(100vh - 7vw);
    width: 100%;
    height: 7vw;
    background: rgb(241, 241, 241);
    background: linear-gradient(0deg, rgba(241, 241, 241, 1) 75%, rgba(241, 241, 241, 0) 100%);
    z-index: 3;
}

ul.sub1 > li ul.sub2 > li:last-child {
    /* padding-bottom: 7vw; */
    margin-bottom: 7vw;
}

/* MENU 4th level Image appear */
.sub3 {
    /* visibility: hidden; */
    opacity: 0;
    transition: opacity 300ms ease;
    position: fixed;
    left: -66vw;
    top: 0;
    z-index: 9999;
    width: 63.1vw;
    margin: 0;
    box-sizing: border-box;
    background: #f1f1f1;
    height: 100vh;
    overflow: hidden;
    display: flex;
}

ul.sub2 > li > a:hover + div.sub3 {
    visibility: visible;
    opacity: 1;
}

ul.sub3 > li.picture, ul.sub3 > li.picture a {
    width: 100%;
}

li.picture img.menu-image {
    width: 100%;
    margin: auto;
    height: auto;
}

ul.sub2 > li:hover ul.sub3 {
    position: fixed;
    opacity: 1;
    /* visibility: visible; */
    left: 0;
}

@MEDIA (max-width: 767px) {
    li.notCon {
        margin-bottom: 2vw;
    }

    ul.sub3 {
        DISPLAY: NONE !important;
        visibility: hidden;
        opacity: 0;
    }

    ul.sub1 > li ul.sub2 > li.navCaption {
        top: 0;
        padding-left: 2px;
    }

    ul.sub1 > li ul.sub2 > li:nth-child(2) {
        margin-top: 7vw;
    }

    ul.sub2 > li > a {
        padding-bottom: 5vw;
    }

    .sub2 .menu-item .description {
        bottom: 1.6vw;
    }

    .open-menu #navContent ul.sub2.nav-active {
        /*height: calc(100vh - 37vw) !important;

         */
        /* height: calc((var(--vh, 1vh) * 100) - 37vw) !important;
         */
         height: 70vh !important;
    }

    ul.sub1 > li .sub2:after {
        height: 5vh;
     /*   top: 77vh;

      */
        top:  calc(var(--vh, 1vh) * 77);

    }

    li.navCaption {
        position: relative;
    }

    li.navCaption:before {
        content: '';
        position: absolute;
        width: 100%;
        height: 7vw;
        background: transparent; /* background: red; */
    }

    ul.sub1 > li .sub2:before {
        top: -5px;
        z-index: 2;
        height: 31px;
        /* background: transparent; */
    }

    .product-page-content-wrapper .tabs .mob-close {
        min-width: 20px;
        min-height: 20px;
    }
}

@MEDIA (min-width: 767px) and (max-height: 980px) {

    ul.sub0 > li > a, ul.sub1 > li > a, ul.sub2 > li > a {
        font-size: calc(var(--fs36) * 0.9);
        font-size: 3.3vh;
    }

    ul.sub0 > li > a, ul.sub1 > li > a {
        margin-bottom: 1vh;
    }

    li.navCaption {
        margin-bottom: 1vh;
    }

    ul.sub2 > li > a {
        padding-bottom: 2vh;
    }

    .sub2 .menu-item .description {
        font-size: 1.2vh;
        bottom: 0.6vh;
        top: unset;
    }

    .open-menu #navContent ul.sub2.nav-active {
        height: calc(100vh - 37vw);
    }


}

@media screen and (min-width: 2000px) {
    ul.sub0 > li > a, ul.sub1 > li > a {
        font-size: 1.4vw;
    }
}

.menu-item a img, img.menu-image-title-after, img.menu-image-title-before, img.menu-image-title-above, img.menu-image-title-below , .menu-image-hover-wrapper .menu-image-title-above {
    height: 100vh;
    object-fit: cover;
}