/* ---------------------------------------------------------------------- */
/*  Settings -> Variables
/* ---------------------------------------------------------------------- */


:root {

    /* Colors */

    --main-bg-color: #FFF;
    --secondary-bg-color: rgba(250, 250, 250, .87);

    --main-font-color: #000;
    --secondary-font-color: rgba(5, 5, 1, .66);

    --error-color: #bf1a1a;


    /* Typography */

    --main-font-family: 'DTL', sans-serif;
    --secondary-font: 'Futura', serif;

    --base-font-size: 17px;
    --smaller-font-size: 11px; 
    --small-font-size: 14px; 
    --big-font-size: 30px; 
    --bigger-font-size: 80px; 


    /* Box Model */

    --spacer: 36px;
    --spacer-2x: 72px;
    --spacer-2x-neg: -72px;
    --spacer-3x: 108px;
    --spacer-half: 18px;

    --logo-width: 180px;
    --site-margin: 10vw;

}



@media all and (max-width: 800px) {

    :root {
        --bigger-font-size: 34px;
        --big-font-size: 26px; 
        --spacer: 20px;
        --spacer-2x: 50px;
        --spacer-half: 10px;
        --logo-width: 150px;

        --site-margin: 0;
    }

}





/* ---------------------------------------------------------------------- */
/*  Generic –> Box Sizing
/* ---------------------------------------------------------------------- */

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


/* ---------------------------------------------------------------------- */
/*  Generic –> Shared
/* ---------------------------------------------------------------------- */

html, body {font-family: var(--main-font-family); font-size: var(--base-font-size); font-weight: 400; color: var(--main-font-color); line-height: 1.7; letter-spacing: 1px;}
body {margin-top: var(--main-height);}

hr {display: block; height: 1px; margin: 1em 0; padding: 0; border: 0; border-top: 1px solid #ccc;}

h1 {margin: 0;  font-size: var(--bigger-font-size); font-weight: 300; line-height: 1; color:#000; text-align: center;}
h2 {margin: 0; font-weight: normal; font-size: var(--big-font-size); line-height: 1.3}
h3 {margin:var(--spacer) 0 9px 0; font-family: var(--serif-font); font-size: 22px; font-weight: 300; line-height: 1;}

a {color: var(--main-font-color); text-decoration: none; transition: .6s;}
a:hover {opacity: .8; text-decoration: none;}

p a {text-decoration: underline;}
p:first-child {margin-top: 0;}
p:last-child {margin-bottom: 0;}

img {display: block; max-width: 100%;}

nav ul {margin: 0; padding: 0; list-style: none;}

.wrapper {max-width: 65vw; margin: 0px auto;}

@media all and (max-width: 767px) {

    .margin-top {margin-top: 0!important}
    .wrapper {max-width: 100%!important;}
    h2 {line-height: 1.2}

}

@media all and (min-width: 768px) and (max-width: 1023px) {
    .wrapper {max-width: 90vw!important;}
}



/* ---------------------------------------------------------------------- */
/*  Elements –> Grid
/* ---------------------------------------------------------------------- */
.flex-grid {display: flex; margin-top: var(--spacer-3x);}
.flex-grid.padding-left {padding-left: calc(30% + var(--site-margin));}
.flex-grid.padding-right {padding-right: 30%; width: 75vw; margin: 0px auto}

.flex-grid>div:first-of-type{margin-right: var(--spacer-half);}

.flex-grid.disaligned-grid{align-items:flex-start}
.flex-grid.disaligned-grid>div {flex:50%;}
.flex-grid.disaligned-grid>div.content {background: #fff; padding: var(--spacer-2x); position: relative; top: var(--spacer-2x); left: var(--spacer-2x-neg); z-index: 5!important}
.flex-grid.disaligned-grid>div.content img {margin-bottom: var(--spacer)}
.flex-grid.push-content {padding-left: calc(var(--site-margin) + 30% + 10px); max-width: 90%;  flex-flow: column;}
.flex-grid.house{padding-left: calc(var(--site-margin) + 10px); max-width: 90%; }
.flex-grid.house>div:first-of-type{flex:0 0 36%;}

.flex-grid.full-header {padding-right: 300px; position: relative;}
.flex-grid.full-header:first-of-type {margin-top: 0}
.flex-grid.full-header h1{position: absolute; bottom: var(--spacer); right: var(--spacer-3x);}

.flex-grid.contacts-cols {padding-left: 300px}
.flex-grid.contacts-cols>div:first-of-type {padding-right: var(--spacer); flex: 0 0 60%;}
.flex-grid.contacts-cols>div:last-of-type { flex: 0 0 40%;}

@media all and (max-width: 767px) {

    .flex-grid {margin-top: var(--spacer);}
    .flex-grid.padding-left {padding: 0 var(--spacer)}
    .flex-grid.padding-right {padding: var(--spacer); width: 100%;}
    .flex-grid.push-content {padding: var(--spacer-2x); max-width: 100%}
    .flex-grid.disaligned-grid {flex-flow: column;}
    .flex-grid.disaligned-grid>div.content img {max-width: 60%}
    .flex-grid.disaligned-grid .no-padding {padding: 0; margin: 0}
    .flex-grid.disaligned-grid>div.content {top: -18px; left: 18px}
    .flex-grid.contacts-cols {flex-flow: column; padding-left: var(--spacer)}
    .flex-grid.full-header {padding-right: 20%}
    .flex-grid.contacts-cols>div:first-of-type {margin-bottom: var(--spacer)}
    .flex-grid.full-header h1 {right: var(--spacer)}
    .flex-grid.disaligned-grid>div:first-of-type{margin-right: 0;}

}

@media all and (min-width: 768px) and (max-width: 1023px){

   .flex-grid.padding-right {width: 90vw; margin-left: 5vw}
   .flex-grid.padding-left {margin-right: 5vw; padding-left: 30%;}
   .flex-grid {margin-top: var(--spacer-3x)}
}

/* ---------------------------------------------------------------------- */
/*  Elements –> Image Blocks
/* ---------------------------------------------------------------------- */

.main-photo {position: relative;}
.main-photo img {width: 100%; height: calc(80vh - 147px); object-fit: cover;}
.main-photo .overlay {width: 100%; height: 100%; display: flex; flex-flow: column; position: absolute; top: 0px; left: 0px; align-items:center; justify-content: center; padding: var(--spacer); color: #fff; background: rgba(0,0,0,0.3);}
.main-photo h1 {color: #fff; font-size: var(--bigger-font-size);}

.welcome-page .main-photo .overlay{background: none}

figure, .img-block {width: 100%; margin: 0; padding-bottom: 56.25% /* 16/9 */; position: relative;}
figure img, .img-block img {width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0;}

@media all and (max-width: 767px) {

    .main-photo img {height: 45vh}
    .main-photo .overlay{justify-content: flex-end;};


}

/* ---------------------------------------------------------------------- */
/*  Elements –> Text Blocks
/* ---------------------------------------------------------------------- */

.text-block {text-align: center; padding: var(--spacer-2x)}
.text-block h2 {margin: 0px auto ; }
.text-block h2+.summary-block{margin-top: var(--spacer)}
.cols-text h3 {line-height: 1.5; margin-top: 0}
.welcome-page .text-block h2 {margin: 0px auto ; max-width: 90%}


.summary {font-family: var(--secondary-font); font-size: var(--small-font-size); font-weight: 300}
.cols-text {column-count: 2; column-gap: var(--spacer-2x); margin-top: var(--spacer-2x); margin-bottom: var(--spacer-3x)}

@media all and (max-width: 767px) {
    .text-block {padding: 30px;}
    .cols-text {column-count: 1; padding: 0 var(--spacer); margin: var(--spacer) 0}
}

@media all and (min-width: 768px) and (max-width: 1023px) {

    .cols-text {margin-bottom: var(--spacer-2x)}
}

/* ---------------------------------------------------------------------- */
/*  Elements –> Header
/* ---------------------------------------------------------------------- */

.header-main {padding: var(--spacer); width: 90vw}
.site-logo {width: var(--logo-width); margin: 0 auto;}
.site-logo svg {max-width: 100%;}

.langs {font-family: var(--secondary-font); font-size: var(--smaller-font-size); position: absolute; left: var(--spacer); top: var(--spacer)}

@media all and (max-width: 767px) {

    .header-main {padding: var(--spacer); width: 100%; position: relative; top: 0; left: 0; z-index: 5}
    body.welcome-page .header-main, body.produtores-page.is-show-page .header-main{position: absolute;}
    body.welcome-page .header-main .site-logo svg, body.produtores-page.is-show-page .header-main .site-logo svg {fill:#fff;}
    .langs {display: none;}
}


@media all and (min-width: 768px) and (max-width: 1023px) {
    .header-main {width: 100%;}
    .langs {right: var(--spacer); top: var(--spacer-2x); left: unset;}
}



/* ---------------------------------------------------------------------- */
/*  Elements –> Navigation
/* ---------------------------------------------------------------------- */

/*.nav-main {width: 50px; position: fixed; bottom: var(--spacer); right: calc(var(--site-margin) / 4); transform: translateX(-50%); z-index: 2;}
*/

.nav-main {width: var(--site-margin); position: fixed; right: 0; z-index: 2; height: calc(100vh - 163px); top: 163px; display: flex;  align-items: center; flex-flow: column; font-family: var(--secondary-font); font-size: var(--smaller-font-size);}

.nav-main ul {display: flex; flex-direction: row; margin: 0 auto; writing-mode: vertical-lr; transform: rotate(0deg);}
.nav-main li {padding-bottom: 20px;  text-transform: uppercase; letter-spacing: 3px;}
.nav-main li:last-of-type {padding-bottom: 0px;}

.nav-main a {position: relative;}
.nav-main a:hover {opacity: 1;}
body:not(.nav-is-open) .nav-main li a:after {content: ""; position: absolute; width: 1px; height: 0%; background: #979796ba; left: -3px; bottom: 0; transition: height 0.3s ease;}
body:not(.nav-is-open) .nav-main li a:hover:after {height: 100%;}

body.nav-is-open .nav-main li a:after {content: ""; position: absolute; width: 0%; height: 1px; background: #979796ba; left: 0px; bottom: -3px; transition: width 0.3s ease;}
body.nav-is-open .nav-main li a:hover:after {width: 100%;}

.nav-main img {width: 40px; margin: var(--spacer) auto 0 auto;}

.hamburger {display: none; width: 40px; height: 40px; padding: 10px; background: var(--main-bg-color); border-radius: 100%; position: fixed; top: 62px; left: calc(var(--site-margin) / 2 - 20px); z-index: 3;}
.hamburger:focus {outline: 0;}
.hamburger-box {width: 20px; height: 16px;}
.hamburger-inner {margin-top: -1px;}
.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {width: 20px; height: 1px; background-color: var(--main-font-color);}
.hamburger-inner::before {top: -5px;}
.hamburger-inner::after {bottom: -5px;}
.nav-main li.mobile {display: none;}

.nav-is-open .nav-main li.mobile {display: block; margin-top: 20px;}

@media all and (min-height: 780px) {

    .nav-main .hamburger {top: -20px; right: 0; left: unset; position: relative; display: block; background: none; cursor: default;}


}




@media all and (max-height: 650px) {

    .nav-main {height: 100vh; justify-content: center; display: flex; flex-direction: column; align-items: center; width: 100%; background: var(--main-bg-color); top: 0; bottom: 0; left: 0; transform: initial; opacity: 0; z-index: -100; transition: opacity .6s;}
    .nav-is-open .nav-main {opacity: 1; z-index: 2;}
    .nav-main ul {display: block; justify-content: center; margin-bottom: 20px; writing-mode: initial; transform: initial; text-align: center;}

    .hamburger {display: block;}

}

@media all and (max-width: 1023px) {

    .nav-main {height: 100vh; display: none; flex-direction: column; align-items: center;  width: 100%; background: var(--main-bg-color); top: 0; bottom: 0; left: 0; transform: initial; opacity: 0; z-index: -100; transition: opacity .6s; justify-content: center;}
    .nav-is-open .nav-main {opacity: 1; z-index: 2; display: flex;}
    .nav-main ul {display: block; justify-content: center; margin-bottom: 10px; writing-mode: initial; transform: initial; text-align: center;}

    .hamburger {display: block; position: absolute; top: 28px; left: var(--spacer);}
    .nav-main .hamburger {display: none;}

}



@media all and (min-height: 500px) and (max-height: 900px) {
    .nav-main {font-size: 10px!important;}
    .nav-main li {padding-bottom: 12px!important;}
}



/* ---------------------------------------------------------------------- */
/*  Elements –> Main
/* ---------------------------------------------------------------------- */

main {width: 100%; padding-right: var(--site-margin);}





.table {font-size: 13px; width: 80%; margin: 72px auto 0 auto; border-collapse: collapse;}
.table td {border-bottom: 1px solid #ddd; padding: 15px 0; text-align: center;}
.table td:first-of-type {width: auto; text-align: left;}
.table td {width: calc((100% - 200px)/12)}
.table td i {color: green}
.table td:nth-child(2), .table td:nth-child(3),  .table td:nth-child(4),
.table td:nth-child(8), .table td:nth-child(9),  .table td:nth-child(10) {
    background: #eaeaea66;
}
.table tr:first-of-type td {
    background: #fff!important;
}

.calendar_nav {display: flex; list-style: none; padding: 0; margin: 0; justify-content: center;}
.calendar_nav li {margin-right: 15px;}
.calendar_nav li.active {text-decoration: underline;}
.calendar_nav_cont {width: 80%; margin: 72px auto 0 auto}

.calendar_caption {text-align: center; font-family: var(--secondary-font); margin-top: 36px; font-size: 14px; line-height: 2}
.calendar_caption + .table {margin-top: 36px;}
.calendar_caption .ion-record {color: #2d3134}
.calendar_caption .ion-record:last-of-type {color: #9bc5e9}

.table.sea td:nth-child(2), .table.sea td:nth-child(3),  .table.sea td:nth-child(4),
.table.sea td:nth-child(8), .table.sea td:nth-child(9),  .table.sea td:nth-child(10) {
    background: #fff;
}

.sea td.lb {
    background: #9bc5e9!important;
}

.sea td.db {
    background: #718ba1!important; color: #fff;
}
@media all and (max-width: 767px) {

    main {padding-right: 0px;}
    .calendar_container{max-width: 100%; overflow-x: scroll; padding: 20px; cursor: move;}
    .table td {padding:5px;}

}

td.lb .ion-record {color: #9bc5e9}
td.db .ion-record {color: #2d3134}

/* ---------------------------------------------------------------------- */
/*  Elements –> Footer
/* ---------------------------------------------------------------------- */

footer {width: 80vw;  margin:var(--spacer-2x) 8vw; padding: var(--spacer) 0 0 0; border-top: 1px solid #ddd; }
footer>div {display: inline-block; margin: 0 var(--spacer) 0 0; font-size: var(--small-font-size); color: var(--secondary-font-color); vertical-align: top;}
footer a {color: var(--secondary-font-color); text-decoration: none; position: relative; display: block;}
footer a:after{content: ""; position: absolute; height: 1px; width: 0%; background: #979796ba; left: 0px; bottom: 0; transition: width 0.3s ease;}
footer a:hover:after {width: 100%;}

footer div.social a {display: inline-block; font-size: 20px; margin-right: 5px}

footer .logos {float: right; margin: 30px 0 0; display: flex; align-items: center;}
footer .logos img {     max-height: 42px;
    display: inline-block;
    max-width: 110px; }

footer .logos .altis img {max-height: 30px;}

footer .logos ul {margin:0; padding: 0;display: flex; list-style: none; align-items: center; position: relative;}
footer .logos ul span {    color: #000;
    display: block;
    align-self: flex-start;
    position: absolute;
    top: -30px;
    font-weight: bold;
    text-transform: uppercase; font-family: var(--secondary-font); font-weight: normal; font-size: 10px}
footer .logos ul li {padding-left: 30px;}

@media all and (max-width: 767px) {

    footer>div {display: block;}
    footer p {display: block; margin: 0 0 var(--spacer);}
    footer .logos {float: none; margin: 80px 0 50px 0; zoom:0.7; }
    footer .logos ul {align-items: flex-start;}
    footer .logos ul li {padding-right: 20px; padding-left: 0; position: relative;}
    footer .logos img {
    max-height: 60px;
    display: inline-block;
    margin-right: 0px; margin-left: 0px;
    max-width: 110px;
}

footer .logos ul li.unesco, footer .logos ul li:last-of-type {}
footer .logos .altis {}

}

@media all and (min-width: 769px) and (max-width: 1024px){

    footer p {margin: 0 var(--spacer) 0 0}
}

/* ---------------------------------------------------------------------- */
/*  Pages –> Home
/* ---------------------------------------------------------------------- */


.producers-grid {display: flex; flex-wrap: wrap; margin-left: 15vw; margin-right: 5vw; margin-bottom: var(--spacer-2x)}
.producers-grid>article {flex: 0 0 50%; padding: 0px var(--spacer)}
.producers-grid>article h2 {margin: 20px 0px ;}
.producers-grid  .summary {}

.producers-grid:first-of-type article:last-of-type {text-align: center;}
.producers-grid:first-of-type article:first-of-type img {max-width: 65%;}
.producers-grid:first-of-type article:last-of-type img {max-width: 45%; display: inline}

.producers-grid:last-of-type {margin-top: var(--spacer-3x)}
.producers-grid:last-of-type article:first-of-type {text-align: center;}
.producers-grid:last-of-type article:last-of-type img {max-width: 65%;}
.producers-grid:last-of-type article:first-of-type img {max-width: 45%; display: inline}
.video-container {    max-width: 100%;
    overflow: hidden;}
.video-container video {width: 100%; object-fit: cover; height: calc(100vh - 152px)}

.video-container .mute-video {position: absolute; bottom: 40px; right: 40px; background: #fff; border-radius: 50%; width: 40px; height: 40px; z-index: 1;
    background-image: url(../../images/volume_off.svg); background-size: 18px;
    background-repeat: no-repeat; background-position: center;}

.mute-video.unmute-video {
    background-image:url(../../images/volume_on.svg);
}

.about-video video {height: auto!important;}

@media all and (max-width: 767px) {

    .producers-grid {margin: 0}
    .producers-grid>article {flex: 0 0 100%; margin-bottom: var(--spacer); text-align: left;}
    .producers-grid  img {max-width: 100%!important}
    .producers-grid:last-of-type {margin-top: 0}
    .producers-grid:first-of-type article:last-of-type {text-align: left;}
    .producers-grid:last-of-type article:first-of-type {text-align: left;}

    h1.statement  {margin: 0; padding: 0 0 var(--spacer-2x) var(--spacer-2x)}
    .flex-grid.disaligned-grid{flex-flow: column;}
   .flex-grid.disaligned-grid>div:first-of-type {margin: 0}
     .flex-grid.disaligned-grid>div.content{padding: var(--spacer); left: var(--spacer); top: -110px; width: calc(100% - var(--spacer));}
    .welcome-page .flex-grid.mobiletop {margin-top: -90px}
    .disaligned-grid .content h2 {font-size: 20px;}
}
@media all and (min-width: 768px) and (max-width: 1024px) {


	.producers-grid {margin-left: 5vw}
	.producers-grid:first-of-type article:first-of-type img, .producers-grid:last-of-type article:last-of-type img {max-width: 75%}
	.producers-grid:first-of-type article:last-of-type img, .producers-grid:last-of-type article:first-of-type img {max-width: 55%}

}

/* ---------------------------------------------------------------------- */
/*  Pages –> Producers
/* ---------------------------------------------------------------------- */

.grid-3 {display: flex; flex-wrap: wrap;}
.grid-3 article {flex: 0 0 33.3%; padding: 0px var(--spacer); margin-bottom: var(--spacer-2x);}
.grid-3 article h2 {margin: 20px 0px; color: #fff; text-align: center;}
.grid-3 article a {position: relative; display: block;}
.grid-3 article .overlay {position: absolute; display: flex; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); opacity: 0; transition: all 1s; flex-flow: column;
    justify-content: center; align-items: center; padding: var(--spacer)}
.grid-3 article:hover .overlay {opacity: 1}

.producers-list .text-block {padding-top: var(--spacer)}
h2.quote {max-width: 70%; text-align: center; margin: 0px auto;}
.produtores-page .main-photo {margin-bottom: var(--spacer-2x)}
.produtores-page .wrapper {max-width: 75vw}
.produtores-page .text-block.wrapper{max-width: 65vw}

.flex-grid+.main-photo {margin-top: var(--spacer-2x)}
.contacts, .products {text-align: center;}
.contacts {font-family: var(--secondary-font); font-size:var(--small-font-size); margin-top: var(--spacer);}
.contacts a {color: #000;}
.products span:not(:last-of-type):after {content: ','}
.contacts p:last-of-type {margin-bottom: 10px;}


.form-nav {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: 75vw;
    margin: 0 auto 52px auto;
    grid-gap: 72px;
    padding: 0 36px;
}

#searchname {text-align: center; font-size: 14px;}

#searchname::-webkit-input-placeholder { /* Edge */
  font-size: 14px;
}

#searchname:-ms-input-placeholder { /* Internet Explorer 10-11 */
 font-size: 14px;
}

::placeholder {
  font-size: 14px;
  font-family: var(--main-font-family);
}


.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    visibility: visible!important;
}
.embed-container iframe, .embed-container object, .embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    visibility: visible!important;
}

.video {width: 75vw;
    padding-right: 30%;
    margin: var(--spacer-3x) auto;}

@media all and (max-width: 767px) {
    .grid-3 article .overlay {display: block; position: static; padding: 0; opacity: 1; background: none; }
    .grid-3 article .overlay h2 {text-align: left; color: #000; margin-bottom: 0; font-size: 16px;}
    .produtores-page .wrapper {width: 100%; max-width: 100%;}
    .grid-3 article {flex: 0 0 50%; padding: 5px; margin-bottom: 20px;}
    .grid-3 {padding:20px!important;}
    .flex-grid.disaligned-grid+.flex-grid.padding-right {margin-top: -60px!important}

    .video {width: 100%; padding: 0; }
    .form-nav {grid-template-columns: 1fr; grid-gap: 10px;}

    #searchname {
    border: 1px solid #ddd;
    padding: 10px; border-radius: 0; -webkit-appearance: none;}
    .form-nav {width:100vw; padding: 0 20px; margin-bottom: 20px;}
}


@media all and (min-width: 768px) and (max-width: 1024px) {


	.form-nav{    width: 100vw;
    margin: 0 auto 52px auto;
    grid-gap: 36px;
    padding: 0 7vw;}
     #searchname {
    border: 1px solid #ddd;
    padding: 10px; border-radius: 0; -webkit-appearance: none;}

   .main-photo img {
    width: 100%;
    height: calc(60vh - 147px);
    object-fit: cover;
	}

	.video {
    width: 90vw;
    padding-right: 0;
    margin: var(--spacer-2x) 5vw;
	}

	footer .logos {
    float: none;
    margin: 0;
    display: flex;
    align-items: center;
    margin-top: 30px;
}

}

/* ---------------------------------------------------------------------- */
/*  Pages –> Blog
/* ---------------------------------------------------------------------- */

.grid-2 {display: flex; flex-wrap: wrap;}
.grid-2 article {flex: 0 0 50%; padding: 0px var(--spacer); margin-bottom: var(--spacer-2x)}
.grid-2 article h2 {margin: 20px 0px}
.blog-list .text-block {padding-top: var(--spacer)}
.blog-page .main-photo {margin-bottom: var(--spacer-2x)}
.blog-page .cols-text {margin-top: var(--spacer-2x); margin-bottom: var(--spacer-3x)}
.blog-page .wrapper {max-width: 75vw}
.blog-page .text-block.wrapper {max-width: 65vw}
.blog-page .flex-grid.padding-right.margin-top {margin-top: var(--spacer-2x)} 
.flex-grid+.main-photo {margin-top: var(--spacer-2x)}
.blog-page .disaligned-grid img {    max-height: 60vh; width: 100%; object-fit: cover;}
.blog-page .text-block {padding-top: var(--spacer)}

@media all and (max-width: 767px) {
    .wrapper {max-width: 100%;}
    .blog-page .cols-text  {column-count: 1; padding: var(--spacer); margin-bottom: 0}
    .blog-page .wrapper {width: 100%; max-width: 100%;}
    .grid-2 article {flex: 0 0 100%;}

}


/* ---------------------------------------------------------------------- */
/*  Pages –> Single Page
/* ---------------------------------------------------------------------- */

.pages-page .main-grid .aside {position: relative; left: calc(var(--site-margin) / 2 * -1);}
.pages-page .aside .img-block {padding-bottom: 100%;}
.pages-page .aside.map {margin-left: calc(var(--site-margin) / 2 * -1);}
.pages-page .text-block {padding-top: var(--spacer);}

@media all and (max-width: 767px) {

    .pages-page .main-grid .aside {left: 0;}
    .pages-page .aside.map {height: 400px; margin-left: 0;}

}


/* ---------------------------------------------------------------------- */
/*  Elements –> Contacts Page
/* ---------------------------------------------------------------------- */
input[type="text"], input[type="email"], select {border-radius: 0; -webkit-appearance: none;}
label.error {display: none!important}
label.terms.error{display: block!important;}
input.error, .error {color: #cc1b1b;}

form input:focus,  form textarea:focus {outline: 0;}
form input.error {border-bottom: 1px solid red!important;}

.form-contacts {display: flex; flex-flow: column; align-items: center; max-width: 800px; margin: 0px auto;}
.form-contacts  input[type="text"], .form-contacts input[type="email"], .form-contacts textarea {
    width: 100%;
    height: 40px;
    margin: 0 0 var(--spacer-half);
    padding: 0;
    background: none;
    border: none;
    border-bottom: 1px solid #000;
    font-size: 13px;
}
.form-contacts p {font-size: 12px;}
.form-contacts button {padding: 8px 30px; border: 1px solid #ddd; background: none; margin: 6px 0}

.form-contacts .radios {display: flex; width: 100%; margin: 6px 0px 20px 0}
.form-contacts .radios .radio {margin-right: 20px;}


 form .radio {display: inline-block; margin-top: 10px;}
form .radio input {display: none;}
 form .radio label {display: block; padding: 5px 10px; border: 1px solid #000; cursor: pointer; font-size: 13px}
 form .radio label:hover {background-color: #F4F4F4;}
form .radio input:checked + label {background-color: #000; color: #fff;}


.contact-form p label {display: inline-block; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 16.949 16.949'%3E%3Cdefs%3E%3Cstyle%3E.a,.c%7Bfill:none;%7D.b%7Bclip-path:url(%23a);%7D.c%7Bstroke:%232e1300;stroke-width:0.8px;%7D%3C/style%3E%3CclipPath id='a'%3E%3Cpath class='a' d='M0,0H16.949V-16.949H0Z'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg transform='translate(0 16.949)'%3E%3Cg class='b'%3E%3Cpath class='c' d='M.283-.283H16.665V-16.665H.283Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center / 20px; position: relative; top: 5px;}
.contact-form p input[type="checkbox"] {display: none;}
.contact-form p input[type="checkbox"]:checked + label {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 16.949 16.949'%3E%3Cdefs%3E%3Cstyle%3E.a,.c%7Bfill:none;%7D.b%7Bclip-path:url(%23a);%7D.c%7Bstroke:%232e1300;stroke-width:0.8px;%7D%3C/style%3E%3CclipPath id='a'%3E%3Cpath class='a' d='M0,0H16.949V-16.949H0Z'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg transform='translate(0 16.949)'%3E%3Cg class='b'%3E%3Cpath class='c' d='M.283-.283H16.665V-16.665H.283Z'/%3E%3C/g%3E%3Cg transform='translate(12.075 -4.58)'%3E%3Cpath class='c' d='M0,0-7.2-7.789'/%3E%3C/g%3E%3Cg transform='translate(4.874 -4.58)'%3E%3Cpath class='c' d='M0,0,7.2-7.789'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}

.contacts-page h2 {margin: var(--spacer) auto}

@-webkit-keyframes fstAnimationEnter{from{opacity:0;-webkit-transform:translate3d(0, -1em, 0)}to{opacity:1;-webkit-transform:translate3d(0, 0, 0)}}@-moz-keyframes fstAnimationEnter{from{opacity:0;-moz-transform:translate3d(0, -1em, 0)}to{opacity:1;-moz-transform:translate3d(0, 0, 0)}}@keyframes fstAnimationEnter{from{opacity:0;-webkit-transform:translate3d(0, -1em, 0);-moz-transform:translate3d(0, -1em, 0);-ms-transform:translate3d(0, -1em, 0);-o-transform:translate3d(0, -1em, 0);transform:translate3d(0, -1em, 0)}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.fstElement{display:inline-block;position:relative;border:1px solid #D7D7D7;box-sizing:border-box;color:#232323;font-size:1.1em;background-color:#fff}.fstElement>select,.fstElement>input{position:absolute;left:-999em}.fstToggleBtn{font-size:1.4em;display:block;position:relative;box-sizing:border-box;padding:.71429em 1.42857em .71429em .71429em;min-width:14.28571em;cursor:pointer}.fstToggleBtn:after{position:absolute;content:"";right:.71429em;top:50%;margin-top:-.17857em;border:.35714em solid transparent;border-top-color:#cacaca}.fstQueryInput{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;outline:none;box-sizing:border-box;background:transparent;border:0}.fstResults{position:absolute;left:-1px;top:100%;right:-1px;max-height:30em;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid #D7D7D7;border-top:0;background-color:#FFF;display:none}.fstResultItem{font-size:1.4em;display:block;padding:.5em .71429em;margin:0;cursor:pointer;border-top:1px solid #fff}.fstResultItem.fstUserOption{color:#707070}.fstResultItem.fstFocused{color:#fff;background-color:#43A2F3;border-color:#73baf6}.fstResultItem.fstSelected{color:#fff;background-color:#2694f1;border-color:#73baf6}.fstGroupTitle{font-size:1.4em;display:block;padding:.5em .71429em;margin:0;font-weight:bold}.fstGroup{padding-top:1em}.fstGroup:first-child{padding-top:0}.fstNoResults{font-size:1.4em;display:block;padding:.71429em .71429em;margin:0;color:#999}.fstSingleMode .fstControls{position:absolute;left:-1px;right:-1px;top:100%;padding:0.5em;border:1px solid #D7D7D7;background-color:#fff;display:none}.fstSingleMode .fstQueryInput{font-size:1.4em;display:block;width:100%;padding:.5em .35714em;color:#999;border:1px solid #D7D7D7}.fstSingleMode.fstActive{z-index:100}.fstSingleMode.fstActive.fstElement,.fstSingleMode.fstActive .fstControls,.fstSingleMode.fstActive .fstResults{box-shadow:0 0.2em 0.2em rgba(0,0,0,0.1)}.fstSingleMode.fstActive .fstControls{display:block}.fstSingleMode.fstActive .fstResults{display:block;z-index:10;margin-top:-1px}.fstChoiceItem{display:inline-block;font-size:1.2em;position:relative;margin:0 .41667em .41667em 0;padding:.33333em .33333em .33333em 1.5em;float:left;border-radius:.25em;border:1px solid #43A2F3;cursor:auto;color:#fff;background-color:#43A2F3;-webkit-animation:fstAnimationEnter 0.2s;-moz-animation:fstAnimationEnter 0.2s;animation:fstAnimationEnter 0.2s}.fstChoiceItem.mod1{background-color:#F9F9F9;border:1px solid #D7D7D7;color:#232323}.fstChoiceItem.mod1>.fstChoiceRemove{color:#a4a4a4}.fstChoiceRemove{margin:0;padding:0;border:0;cursor:pointer;background:none;font-size:1.16667em;position:absolute;left:0;top:50%;width:1.28571em;line-height:1.28571em;margin-top:-.64286em;text-align:center;color:#fff}.fstChoiceRemove::-moz-focus-inner{padding:0;border:0}.fstMultipleMode .fstControls{box-sizing:border-box;padding:0.5em 0.5em 0em 0.5em;overflow:hidden;width:20em;cursor:text}.fstMultipleMode .fstQueryInput{font-size:1.4em;float:left;padding:.28571em 0;margin:0 0 .35714em 0;width:2em;color:#999}.fstMultipleMode .fstQueryInputExpanded{float:none;width:100%;padding:.28571em .35714em}.fstMultipleMode .fstFakeInput{font-size:1.4em}.fstMultipleMode.fstActive,.fstMultipleMode.fstActive .fstResults{box-shadow:0 0.2em 0.2em rgba(0,0,0,0.1)}.fstMultipleMode.fstActive .fstResults{display:block;z-index:10;border-top:1px solid #D7D7D7}

.js-select {opacity: 0}


.autocomplete-suggestions { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; border: 1px solid #d7d6d4; border-top: 0px; background: #FFF; cursor: default; overflow: auto; max-height: 301px!important}
.autocomplete-suggestion {padding: 11px 10px; white-space: normal; overflow: hidden; font-weight: bold; text-align: center; font-size: 14px; border-bottom: 1px solid #d7d6d4;}
.autocomplete-suggestion:last-of-type {border-bottom: 0px;}
.autocomplete-no-suggestion { padding: 11px 10px;}
.autocomplete-selected { background: #d7d6d4; color: #000;}
.autocomplete-suggestions strong { font-weight: bold; color: #000; }
.autocomplete-group { padding: 11px 10px; font-weight: bold; font-size: 14px; color: #000; display: block; border-bottom: 1px solid #000; }




.hidden-info {display: none;}

#map {min-height: calc(100vh - 200px); height: 100%;}

.popup-tip-anchor {width: 400px; height: 0; position: absolute; }
.popup-bubble-anchor {width: 100%; position: absolute; bottom: 8px; left: 0;}

.popup-bubble-content {font-size:14px; font-family: var(--main-font-family); width: 300px; background:#FFF; padding: 20px; overflow-y: auto; transform: translate(-50%, -100%); position: absolute; top: 0; left: 0; z-index: 999}
.popup-bubble-content h2 {margin: 0 0 30px 0 ; font-size: 20px;}
.popup-bubble-content .close {line-height: 1; transition: none; position: absolute; top: 20px; right:20px; cursor: pointer;}
.popup-bubble-content .close:hover {font-weight: bold;}
.popup-bubble-content .close:before {content: '\00D7'; font-size: var(--big-font-size);}
.popup-bubble-content p {margin: 0;}
.popup-bubble-content .products {text-align: left; margin-top: 30px;}

.popup-bubble-content .readmore {margin-top: 30px; text-decoration: underline; display: inline-block;}
.popup-marker {width: var(--spacer-2x); height: var(--spacer-2x); text-align: center; line-height: var(--spacer-2x); cursor: pointer; position: relative; left: calc(-1 * var(--spacer));}
.popup-marker:before {content: '●'; font-size: 30px;}




#map a[href^="https://maps.google.com/maps"]{display:none !important}
.gmnoprint a, .gmnoprint span, .gm-style-cc {display:none;}

/*! Google Map */
.map {height: calc(100vh - 200px);}

.gm-style .gm-style-iw-c {border-radius: 2px; width: 300px; text-align: left; box-shadow: 0 1px 1px 0px rgba(0,0,0,0.3); padding: 20px; box-sizing: border-box;}
.info-window-content h2 {font-family: var(--main-font-family); font-size: 22px; max-width: 96%; margin-bottom: 10px;}
.info-window-content .products {text-align: left;}
.info-window-content .products span:not(:last-of-type):after {
    content: ', ';
}

 .info-window-content .readmore{ margin-top: 20px;
    text-decoration: underline;
    display: inline-block;}

button.gm-ui-hover-effect {top: 0px!important; right: 0px!important}
#google-container {
    position: relative;
    width: 100%;
    height: 100%;
}
#cd-google-map {
    position: relative;
    height: 100%;
}
#cd-google-map address {
    position: absolute;
    bottom: 50px;
    left: 50px;
    border-radius:3px;
    padding:30px;
    background-color: rgba(255, 255, 255, 0.9);
    font-family: 'Roboto';
    font-weight:400;
    font-size: 15px;
    line-height:23px;
    letter-spacing:1px;
    color:#747474;
    text-align: left;
}

#cd-zoom-in, #cd-zoom-out {
    height: 32px;
    width: 32px;
    cursor: pointer;
    margin-left: 10px;
    background-repeat: no-repeat;
    background-size: 32px 64px;
    opacity:1;
    background-color:#000;
    -webkit-transition: all 300ms linear;
    transition: all 300ms linear;
    color: #FFF;
    font-size: 18px;
    line-height: 32px;
    text-align: center;
}


#cd-zoom-out {
  font-size: 24px;
}

.no-touch #cd-zoom-in:hover, .no-touch #cd-zoom-out:hover {
    opacity:.7;
}
#cd-zoom-in:hover, #cd-zoom-out:hover {
    opacity:.7;
}
@media only screen and (min-width: 768px) {
  #cd-zoom-in, #cd-zoom-out {
    margin-left: 50px;
  }
}
#cd-zoom-in {
    background-position: 50% 0;
    margin-top: 50px;
    margin-bottom: 1px;
}
#cd-zoom-out {
    background-position: 50% -32px;
}


/*======================================
  Selectric v1.11.0
======================================*/

.selectric-wrapper {
  position: relative;
  cursor: pointer;
}

.selectric-responsive {
  width: 100%;
}

.selectric {
  border: 1px solid #d7d6d4;
  background: none;
  position: relative;
  font-size: 14px!important;
  font-weight: bold!important;
  color: #000!important;
}

.selectric .label {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  position:relative;
  margin: 0px;
  font-size: 14px;
  line-height: 38px;
  color: #000; font-weight: bold;
  height: 38px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.selectric .label:after{
     content: "\f3d0";
    font-family: "Ionicons";
    font-size: 21px;
    font-style: normal;
    font-weight: normal;
    speak: none;
    position: absolute;
    top: 0px;
    right: 16px;
}
.selectric .button {
    display: none;

}

.selectric .button:after {
  content: " ";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-top-color: #BBB;
  border-bottom: none;
}

.selectric-focus .selectric {
}

.selectric-hover .selectric {
  /*background: #f3be38; color: #fff;*/
}

.selectric-hover .selectric .button {
  color: #a2a2a2;
}

.selectric-hover .selectric .button:after {
  border-top-color: #a2a2a2;
}

.selectric-open {
  z-index: 9999;
}

.selectric-open .selectric {
   border: 1px solid #d7d6d4;
}

.selectric-open .selectric-items {
  display: block;
}

.selectric-disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.selectric-hide-select {
  position: relative;
  overflow: hidden;
  width: 0;
  height: 0;
}

.selectric-hide-select select {
  position: absolute;
  left: -100%;
}

.selectric-hide-select.selectric-is-native {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.selectric-hide-select.selectric-is-native select {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  border: none;
  z-index: 1;
  box-sizing: border-box;
  opacity: 0;
}

.selectric-input {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  outline: none !important;
  border: none !important;
  *font: 0/0 a !important;
  background: none !important;
}

.selectric-temp-show {
  position: absolute !important;
  visibility: hidden !important;
  display: block !important;
}

/* Items box */
.selectric-items {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #d7d6d4;
  border-top: 0px none;
  z-index: -1;
  text-align: center;
  max-width: 100%;
}

.selectric-items .selectric-scroll {
  height: 100%;
  overflow: auto;
    max-height: 292px;

}

.selectric-above .selectric-items {
  top: auto;
  bottom: 100%;
}

.selectric-items ul, .selectric-items li {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px; font-weight: bold; color: #000;
  line-height: 20px;
  min-height: 20px;
 
}


.selectric-items li {
  display: block;
  padding: 10px;
  color: #000;
  cursor: pointer;
  border-top: 1px solid #d7d6d4;
}

.selectric-items li:first-of-type{border-top: 0px none;}

.selectric-items li.selected {
  background: #E0E0E0;
  color: #000;
}

.selectric-items li.highlighted {
  background: #f3f3f3;
  color: #000;
}

.selectric-items li:hover {
 /* background: #f3be38;
  color: #000;*/
}

.selectric-items .disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  cursor: default !important;
  background: none !important;
  color: #000 !important;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.selectric-items .selectric-group .selectric-group-label {
  font-weight: bold;
  padding-left: 10px;
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: none;
  color: #000;
}

.selectric-items .selectric-group.disabled li {
  filter: alpha(opacity=100);
  opacity: 1;
}

.selectric-items .selectric-group li {
  padding-left: 25px;
}
