/*
FONTS

font-family: elza;
font-family: garamond-premier-pro-display;
*/


/* VARIABLES */

:root {
  --default-font: elza;
  --default-font-size: 27px;
  --default-line-height: 1.5;

  --default-input-font: elza;
  --default-input-font-size: 20px;
  --dim-input-height: 62px;
  
  --button-input-font: elza;
  --button-font-size: 15px;
  --button-height: 60px;

  --col-primary: #000000;
  --col-accent: #EDEDED;
  --col-burger: #425A69;
  --col-text: #000;
  --col-page-bg: #fff;
  --col-border: #CCCCCC;
  --col-input: #000;
  --col-placeholder: #000;
  --col-input-bg: #fff;
  --col-button: #fff;
  --col-button-bg: #425A69;
  --col-link: #000;
  --col-link-hover: #000000;

  --col-error: #ff6633;
  --col-attention: #ff6633;
  --col-warning: #f5b00e;
  --col-missing: #ff6633;

  --col-primary-rgb: 66,90,105;
  --col-accent-rgb: 0, 0, 0;
  --col-button-rgb: 255, 255, 255;
  --col-link-rgb: 0,0,0;
  --col-link-hover-rgb: 0, 0, 0;
  --col-error-rgb: 255, 51, 0;
  --col-attention-rgb: 255, 51, 0;
  --col-warning-rgb: 245, 176, 14;
  --col-border-rgb: 190, 190, 190;
  --col-missing-rgb: 255, 51, 0;

  --dim-site-width: 1920px;
  --dim-default-space: 100px;

  --vh: 1vh;
}

/* theme */


/*CORE HTML*/

p { margin-bottom: 40px; font-weight: 300}
p a:hover { color: #aaa;}
a.underline { text-decoration: underline}

h1 {  font-size: 16px; margin: 0 auto; text-align: center; color: var(--col-primary); line-height: 1; text-transform: uppercase; font-family: elza; margin-bottom: 50px; font-weight: 700}
h2 {  font-size: 40px; margin: 0 auto; text-align: center; color: var(--col-primary); line-height: 1; font-family: garamond-premier-pro-display; margin-bottom: 10px; font-weight: 300; font-style: italic;}
h2.garamond {font-style: normal; font-weight: 400; }
h2 em {  display: block; font-style: italic; font-weight: 300; margin-top: 20px}
h3 {  font-size: 16px; margin: 0 auto; text-align: center; color: var(--col-primary); line-height: 1; font-family: elza; margin-bottom: 20px; font-weight: 600; text-transform: uppercase; }
h4 {  font-size: 16px; margin: 0 auto; text-align: center; color: var(--col-primary); line-height: 1.4; font-family: elza; margin-bottom: 10px; font-weight: 300; text-transform: uppercase; }

p.larger { font-size: 30px; line-height: 1.33}
p.shorter { max-width: 868; margin-left: auto; margin-right: auto}
p.shortest { max-width: 540px; margin-bottom: 20px}
p.short { max-width: 540px; margin-left: auto; margin-right: auto}

p.strong {font-size: 35px;font-family: garamond-premier-pro-display; font-weight: 400;}
p.light { font-size: 16px; font-family: elza; font-weight: 300; line-height: 1.9 }
p.medium { font-size: 20px; font-weight: 300;}

/*CONTAINERS*/

article { padding-top: 0px; }

/*BUTTONS*/

a.btn { text-transform: uppercase; color: #fff; background: var(--col-primary); line-height: 60px; font-size: 20px; font-family: AvenirHeavy; display: table; margin: 20px auto 0 0; padding: 0 20px; letter-spacing: 1px;}

/*HEADER AND NAV*/

header { max-width: 1920px; position: relative; top: 0; left: 0%;  z-index: 5; transition: all .3s cubic-bezier(0.250, 0.460, 0.450, 0.940) ; padding-top: 0px; border-bottom: 1px solid #000; margin: 0 auto;}
header > div { margin: 0 auto; position: relative; display: flex; gap: 0px; justify-content: space-between; align-items: center;}
header div.logo { width: 500px; padding: 0; position: absolute; top: 35px; left: 50%; transform: translateX(-50%);}
header div.logo img { width: 100%; display: block}
header nav { display: flex; justify-content: space-between; align-items: center;padding: 0 40px; width: 100%; }

header nav > div { display: flex; gap: 70px; align-items: center;}
header nav > div a { font-size: 25px; font-weight: 400; color: #000; padding-top: 54px; padding-bottom: 36px; font-family: elza; }
header nav > div.links-left { justify-content: flex-start;}
header nav > div.links-right { justify-content: flex-end;}
header .menu-relative{position: relative; /*margin-top: 12px;*/ display: block;}
header .menu-relative:hover a{
  background: #F5F5F5;
  /* border-bottom: 1px solid #CCC; */
  /* z-index: 2; */
}
header .menu-relative a.parent-menu{
padding-left:20px;
padding-right:20px;
display: block;
}
header .submenu{
    position: absolute;
    width: 250px;
    background: #F5F5F5;
    padding: 5px;
    padding: 5px 20px;
    margin-top: 1px;
    display: none;
}
header .submenu.active{
  display: block;
}

header .submenu a{    display: block;
  padding: 18px 3px;
  border-bottom: 1px solid #5f5f5f;
  font-family: garamond-premier-pro-display;
  font-size: 20px;
}

  header .submenu a.nob{
    border:none;
  }

footer { padding: 40px 20px; border-top: 1px solid #000; max-width: 1920px; margin: 0 auto}
footer > div { display: flex; justify-content: space-between; max-width: 1640px; margin: 0 auto}
footer div.all-logos { display: flex; gap: 30px; justify-content: flex-start; flex-direction: column; }
footer div.logos img { display: block; margin-bottom: 7px}
footer div.address { display: flex; gap: 120px; justify-content: flex-end;}
footer div.address p { font-size: 16px; font-family: elza; }
footer div.address b { font-size: 16px; font-weight: 700; text-transform: uppercase; display: block; margin-bottom: 16px; font-family: elza; }
footer div.disclaimer {text-align: left; margin: 0 auto; padding-top: 7px;}
footer div.disclaimer-container {max-width: 40%;}
@media (max-width: 1180) {
  footer div.disclaimer-container {max-width: 100%;}
}
footer div.disclaimer p {font-size: 16px; font-family: elza; }
footer div.disclaimer.legal-copy p {font-size: 14px; font-family: elza; }


footer div.horizontal-line{width: calc(100%+40px); border-top: solid 1px #000; margin: 15px -20px 15px -20px ; max-width: 100vw;}
footer div p.legal-copy{font-size: 16px;font-family: elza;}


/*ELEMENTS*/
.c-primary { color: var(--col-primary) !important}
.c-black { color: #000 !important}
.b-primary { background-color: var(--col-primary) !important}
.b-black { background-color: #000 !important}

/*CONTENT*/

section { max-width: 1920px; }
div.content { max-width: 980px; text-align: center; padding: 140px 20px}
div.content2 { max-width: 1200px; text-align: center; padding: 60px 20px 120px; }



div.grid-1 { display: flex; justify-content: space-between; border-top: 1px solid #000; border-bottom: 1px solid #000}
div.grid-1.grid-top { border-top: 0px solid #000; }
div.grid-1.grid-bottom { border-bottom: 0px solid #000; }
div.grid-1 > div { width: calc(50% - 560px);}
div.grid-1 > div:nth-child(2) { width: 1120px; border-left: 1px solid #000; border-right: 1px solid #000; padding: 100px 20px;}
div.grid-1 > div:nth-child(2) > div { max-width: 840px; text-align: center; margin: 0 auto}

div.grid-max-height { min-height: calc(100 * var(--vh) - 201px)}

div.content2 p { margin-bottom: 60px; }
div.content2 h2 { font-style: normal; font-weight: 400}
div.content2 img {width: 450px; max-width: 50%; margin: 0 auto 50px; display: block}

div.grid-1 > div:nth-child(2) > div.team { max-width: 920px; }
div.grid-1 div.team img { display: block; max-width: 300px; margin: 30px auto}

div.q-and-a { margin: 60px auto 0 }
div.team-member { border-bottom: 1px solid #000; margin-bottom: 80px; padding-bottom: 80px}
div.team-member:last-child { border-bottom: 0px solid #000; margin-bottom: 0px; padding-bottom: 0}

/*div.team */
div.contacts { display: flex; justify-content: center; gap: 90px; }
div.contacts div.name { font-family: garamond-premier-pro-display; font-size: 30px; font-weight: 400; margin-bottom: 5px}
div.contacts div.title { font-family: garamond-premier-pro-display; font-size: 30px; font-weight: 300; margin-bottom: 15px; font-style: italic; }
div.contacts p { font-family: elza; font-size: 20px; font-weight: 400; }

div.quote { padding: 120px 20px; max-width: 1600px; margin: 0 auto; text-align: center;}
div.quote em { font-size: 75px; font-weight: 300; font-family: garamond-premier-pro-display;}

h2.subh2{
    font-style: normal;
    font-weight: 400;
    font-size: 45px;
    margin: 0 auto;
    text-align: center;
    color: var(--col-primary);
    line-height: 1;
    font-family: garamond-premier-pro-display;
    margin-bottom: 50px;
    margin-top: 75px;
}

/*FORMS*/
form { max-width: 820px; }
form#frmContact { margin: 0 auto 30px}
form#frmLogin { width: 300px; }
input[type="text"], input[type="search"], input[type="tel"], input[type="number"], input[type="email"], input[type="password"], textarea { font-weight: 300; padding-left: 0px; border-top: 0; border-left: 0; border-right: 0}
div.field.form-footer { display: flex; justify-content: space-between; gap: 30px; align-items: center; margin-top: 0px}
form button[type="submit"], form button[type="button"] { border-radius: 0px; padding: 0px; font-size: 40px; line-height: 1; width: 100%; background: transparent; color: #000; font-weight: 400; font-family: garamond-premier-pro-display; border-bottom: 1px solid #000; display: table; width: auto; margin: 60px auto 0}
form button[type="submit"]:hover, form button[type="button"]:hover { background: #fff; color: var(--col-primary); border: 1px solid var(--col-primary)}
div.checkbox label:before { width: 30px; height: 30px; border-radius: 0px; background: #fff;}
div.checkbox label { padding-left: 50px;font-size: 15px; padding-top: 10px}
*::-webkit-input-placeholder {  text-transform: uppercase; text-align: left; font-weight: 300;}
*::-moz-placeholder {  text-transform: uppercase; text-align: left; font-weight: 300;}
*:-ms-input-placeholder {  text-transform: uppercase; text-align: left; font-weight: 300;}
input[type="text"]:focus, input[type="search"], input[type="tel"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="password"]:focus { box-shadow:none; background: #fafafa;}

footer *::-webkit-input-placeholder {  font-size: 15px}
footer *::-moz-placeholder {  font-size: 15px}
footer *:-ms-input-placeholder {  font-size: 15px}
footer input[type="text"], footer input[type="email"], footer input[type="password"]{ font-size: 15px; line-height: 30px; min-height: 30px}
footer form button[type="submit"] { font-size: 20px; margin: 10px auto 0 0}

fieldset { margin-bottom: 0}

div.reveal-response p { text-align: center; font-size: 24px; line-height: 1.5; padding-bottom: 100px}

.select2-results__option { margin-bottom: 0; line-height: 40px; padding-left: 10px; font-size: 18px;}
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--col-primary); color: #fff; }

div.image img {width: 100%; display: block;}


/*ANIMATIONS*/

.slide-in-bottom { transform: translateY(300px); opacity: 0;}
.slide-in-top { transform: translateY(-300px); opacity: 0;}
.in-better-view.slide-in-bottom {opacity: 1;	animation: slide-in-bottom 0.9s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;}
.in-better-view .slide-in-bottom {	opacity: 1; animation: slide-in-bottom 0.9s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;}
.in-better-view .slide-in-top {	opacity: 1;animation: slide-in-top 0.9s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;}
@keyframes slide-in-top {
  0% { transform: translateY(-300px); opacity: 0;}
  100% {transform: translateY(0);opacity: 1;}
}

@keyframes slide-in-bottom {
  0% {transform: translateY(300px);opacity: 0;  }
  100% { transform: translateY(0);opacity: 1;
  }


}



@media only screen and (min-width: 1921px) {
section  {max-width: 100%;}
header {max-width: 100%;}
footer {max-width: 100%;}
}

@media only screen and (max-width: 1780px) {

header nav > div { gap: 20px; }
header nav > div a { padding-top: 40px; padding-bottom: 25px;}
header div.logo { width: 420px; top: 30px; }

}

@media only screen and (max-width: 1580px) {
header nav { padding: 0 20px;}
header nav > div { gap: 15px; }
header nav > div a { padding-top: 30px; padding-bottom: 20px; font-size: 18px}
header div.logo { width: 280px; top: 20px; }

/*	footer div.all-logos { gap: 60px; }*/
	footer div.address { gap: 60px; }
  header .submenu{  margin-top: 1px;}

}

@media only screen and (max-width: 1480px) {
  /* header .menu-relative{ margin-top: 6px;} */
}
@media only screen and (max-width: 1380px) {
header nav { padding: 0 20px; justify-content: flex-end; gap: 30px}
header nav > div { justify-content: flex-end !important}
header div.logo { left: 20px; transform: none;}
footer div.all-logos {flex-direction: column; padding-bottom: 50px}
form#frmLogin { max-width: 240px; }


@media only screen and (max-width: 1180px) {
h1 {  font-size: 15px; margin-bottom: 40px; }
h2 {  font-size: 32px; }
h2 em {  margin-top: 15px}
h3 {  font-size: 15px; margin-bottom: 15px; }
h4 {  font-size: 15px; }
p.strong {font-size: 32px;}
p.light { font-size: 15px; }
p.medium { font-size: 18px; }
div.content { padding: 80px 20px}
div.content2 { padding: 50px 20px 60px; }
div.content2 img { margin: 0 auto 40px; }
div.grid-1 > div { width: 10vw}
div.grid-1 > div:nth-child(2) { width: 80vw; padding: 80px 20px;}

/*div.grid-max-height { min-height: calc(100 * var(--vh) - 201px)}*/

div.content2 p { margin-bottom: 50px; }

div.grid-1 div.team img { max-width: 340px; margin: 20px auto}

div.q-and-a { margin: 50px auto 0 }
div.team-member { margin-bottom: 50px; padding-bottom: 50px}
div.team-member:last-child { border-bottom: 0px solid #000; margin-bottom: 0px; padding-bottom: 0}

/*div.team */
div.contacts { gap: 50px; }
div.contacts div.name { font-size: 24px; }
div.contacts div.title { font-size: 24px; }
div.contacts p { font-size: 18px; }

:root {  
	--default-input-font-size: 18px;
	  --dim-input-height: 48px;
}

form button[type="submit"], form button[type="button"] { font-size: 28px; }

footer { padding: 20px;}
footer div.disclaimer p { font-size: 14px;}
footer > div { flex-direction: column;}
footer div.address { justify-content: flex-start; gap: 30px}

div.quote { padding: 80px 20px; }
div.quote em { font-size: 64px; }
h2.subh2{
  font-size: 38px;
  margin-bottom: 40px;
  margin-top: 55px;
}
}


@media only screen and (max-width: 980px) {
header nav { padding: 0 20px; gap: 15px}
header nav > div { gap: 15px; }
header nav > div a { padding-top: 25px; padding-bottom: 15px; font-size: 14px;}
header div.logo { width: 220px; top: 17px; }

footer > div { flex-direction: column}
/*footer div.address { justify-content: flex-start; }*/
footer div.disclaimer { padding-top: 50px }
header .submenu {
  margin-top: 12px;
}
}

@media only screen and (max-width: 760px) {
header { position: fixed; top: 0; left: 0; height: 60px; background: #fff;}
header div.burger { display: block; left: auto; right: 0; top: 0; }
header nav { width: 100vw; position: fixed; top: 0; right: 300vw; opacity: 0; height: calc(100 * var(--vh)); flex-direction: column; background: #fff; justify-content: center;}
header nav > div { flex-direction: column; justify-content: center;}
header nav > div a { font-size: 24px;}
header.active nav { width: 100vw; position: absolute; top: 0; right: 0vw; opacity: 1}
header div.logo { max-width: calc(100vw - 100px)}
article { padding-top: 60px}

header .menu-relative{
  text-align: center;
}
header .submenu{
  /* display: block; */
  background: none;
  position: relative;
  width: auto;
}
header .submenu a {
  border: none;
  font-size: 20px;
  text-align: left;
}

header .menu-relative:hover a{
  background: none;
}



h1 {  font-size: 14px; margin-bottom: 30px; }
h2 {  font-size: 24px; }
h2 em {  margin-top: 10px}
h3 {  font-size: 14px; margin-bottom: 15px; }
h4 {  font-size: 14px; }
p.strong {font-size: 24px;}
p.light { font-size: 15px; }
p.medium { font-size: 18px; }
div.content { padding: 100px 20px}
div.content2 { padding: 100px 20px 100px; }
div.content2 img { margin: 0 auto 40px; }
div.grid-1 > div { width: 10vw}


div.grid-max-height { min-height: calc(100 * var(--vh) - 120px)}

div.content2 p { margin-bottom: 50px; }

div.grid-1 > div { display: none !important;}
div.grid-1 > div:nth-child(2) { display: block !important; width: 100% !important; border: 0; padding: 100px 20px}
div.grid-1 div.team img { max-width: 340px; margin: 20px auto}

div.q-and-a { margin: 80px auto 0 }
div.team-member { margin-bottom: 80px; padding-bottom: 80px}
div.team-member:last-child { border-bottom: 0px solid #000; margin-bottom: 0px; padding-bottom: 0}

/*div.team */
div.contacts { gap: 50px; flex-direction: column}
div.contacts div.name { font-size: 24px; }
div.contacts div.title { font-size: 24px; }
div.contacts p { font-size: 14px; }

:root {  
	--default-input-font-size: 16px;
	  --dim-input-height: 40px;
}

form { margin-bottom: 0px}
form button[type="submit"], form button[type="button"] { font-size: 20px; }
form#frmLogin { max-width: 100%; width: 100% }

footer { padding: 20px;}
footer div.disclaimer p { font-size: 10px;}
footer div.disclaimer.legal-copy p { font-size: 10px;}

div.reveal-response p { font-size: 18px; padding-bottom: 50px}

div.quote { padding: 80px 20px; }
div.quote em { font-size: 36px; }
	footer div.address { flex-direction: column; gap: 30px}

}
}

@media only screen and (max-width: 540px) {
	footer {padding-top: 40px}

	form div.form-row { flex-direction: column;}
	form button[type="submit"], form button[type="button"] { margin-top: 30px}
}


.disclaimer-page p{
  font-size: 20px;
}
.disclaimer-page ul{
  text-align: left;
  font-size: 20px;
  margin: 25px 0;
  font-weight: 300;
  padding-left: 40px;
}


.footer-links{
  list-style: none;
  padding:0;
  margin:0; 
}
.footer-links li{
  display: inline-block;
  text-decoration: underline;
  font-weight: 300;
  font-size: 13px;
}

.footer-links li a{
  padding:0 5px;
}

.linkk{
  display: block;
  text-align: center;
  text-transform: uppercase;
  padding: 20px 0 0;
  text-decoration: underline;
}


.row{
  display: flex;
  flex-wrap: wrap;
  text-align: left;
  margin: 40px 0;
  text-transform: uppercase;
  font-weight: 300;
}

.row .col-6{
  flex: 0 0 auto;
    width: 50%;
    line-height: 1.25;
}



.row .col-6 label{
  display: block;
  margin-bottom: 13px;
    line-height: 1.4;
}

.row .col-6 label.missing{
  border: 1px solid var(--col-missing);;
}
.row .col-6 input[type="radio"]{
  border-radius: 50%;
  width: 2em;
  height: 2em;
  border: 1px solid #212121;
  float: left;
  margin-right: 10px;
}


.row .col-6 input[type="radio"]:checked, .consent  input[type="checkbox"]:checked{
  background-color: #FFF;
  border-color: #212121;
  position: relative;
}


.row .col-6 input[type="radio"]:checked::after, .consent  input[type="checkbox"]:checked::after{
  content: "";
  position: absolute;
  background: #000;
  height: 1.4em;
  width: 1.4em;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.consent{
  font-weight: 400;
  font-size: 13px;
  text-align: left;
  display: block;
  line-height: 2.1;
}

.consent  input[type="checkbox"]:checked::after{
  border-radius: 0;
}

.consent input[type="checkbox"]{
  width: 2em;
  height: 2em;
  border: 1px solid #212121;
  float: left;
  margin-right: 10px;
}

.fieldoptions{
  display: none;
  line-height: 1.4;
}

.fieldoptions.active{
  display: block;
}


.fieldoptions.row.active{
  display: flex;
}
div.grid-1.nob-mobile{
  border-bottom: none;
}
@media only screen and (max-width: 540px) {
  .row .col-6{
      width: 100%;
      margin: 0 0 15px;
  }
  .consent {
    margin-top: 25px;
    
    font-size: 11px;
    text-align: left;
    display: block;
    line-height: 1.1;

  }

  .footer-links li a{
    font-size: 11px;
  }
  .disclaimer-page p{
    font-size: 16px;
  }

  .linkk {
    font-size: 17px;
  }

}