@font-face {
    font-family: 'Noto Sans';
    font-display: auto;
    src: local('Noto Sans'), url(/fonts/Noto_Sans/NotoSans-Regular.ttf), url(/fonts/Noto_Sans/NotoSans-Bold.ttf);
   }
@font-face {
    font-family: 'PT Serif';
    font-display: auto;
    src: local('PT Serif'),
    url(/fonts/PT_Serif/PTSerif-Regular.ttf), url(/fonts/PT_Serif/PTSerif-Bold.ttf),
    url(/fonts/PT_Serif/PTSerif-Italic.ttf), url(/fonts/PT_Serif/PTSerif-BoldItalic.ttf);
   }

/*---------------------- reset.css -------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
u, i, center,
dl, dt, dd,  li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
figure, figcaption {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-weight: normal;
    vertical-align: baseline;
    background: transparent;
}
ul  {   list-style-type: none; }
sub {
    vertical-align: sub;
    font-size: 0.6em;
}
sup {
    vertical-align: super;
    font-size: 0.6em;
}
/*------------ /reset.css ----------*/
/*------------ basic styles ----------*/
html {
    overflow-y: scroll;
    scroll-behavior: smooth;
}

label, input[type="button"], input[type="submit"], button {
    cursor: pointer;
}



/*------------ /basic styles ----------*/

#gallerybox {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(150, 150, 255, 0.9);
    z-index: 1000;
}
.page {
    min-width: 320px;
    max-width: 1200px;
    margin:0 auto;
    padding:0;
    background: #fff;
    color: #000;
    text-align: left;
    font: 100%/1.6 'Noto Sans', Arial, sans-serif;

}
.war {
  margin-bottom: 1em;
  padding: 0.4em;
  background-color: black;
  color: whitesmoke;
}
span {
    font-weight: inherit;
}
h1, h2, h3 {
    margin: 1.4em 0 0.5em 0;
    font-weight: bold;
    line-height: 1.3;
    font-family: 'PT Serif', 'Noto Serif', Verdana, Georgia, serif;
}
h1 {
    margin: 0 0 1em;
    font-size: 2em;
}
h2 {
    clear: left;
    font-size: 1.6em;
}
h3 {
    clear: left;
    font-size: 1.2em;
    font-weight: bold;

}
a { color: #0000FF; }
a:visited  {    color: #660099; }
a:hover { color: #cc0000; }
a:focus  { color: #cc0000; }
a[href^="#"]{
    text-decoration: none;
    border-bottom: 1px dashed #ccc;
}
figure {
    margin: 1em 0 3em;
    max-width: 800px;
}
figure img {
    width: 100%;
    max-width: 100%;
}
figcaption {
    margin: 0 auto;
    padding: 1em 0;
    max-width: 480px;
    font-size: .85em;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    color: #333;
}
.video {
  overflow:hidden;
  position:relative;
  padding-bottom:56.25%;
  height:0;
}
.video__frame {
  position:absolute;
  width:100%;
  height:100%;
  left:0;
  top:0;
}
/*------------ header ------------*/
.header {
    position: relative;
    padding: 1rem;
    height: 4rem;
}
.header__sitename {
    position: absolute;
    top: 1.6rem;
    left: 1rem;
    height: 56px;
    width: 220px;
}
.header__logo {
    height: 24px;
}
.header__name {
    margin-top: 5px;
    height: 23px;
    font-size: 16px;
    font-family: 'Noto Serif', Verdana, Georgia, serif;

}
.header__link{
    display: inline-block;
    height: 100%;
}
.header__link,
.header__link:visited {
    color:  #333;
    text-decoration: none;
}
.header__link:hover {
    text-decoration: none;
}
.header__menu-link {
    position: absolute;
    top: 1.6rem;
    right: 1rem;
}
.header__phone {
    margin: 0 auto;
    padding-top: 72px;
    text-align: center;
}

.menu-button {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    height: 56px;
    width: 56px;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: 0;
    border-bottom: 1px solid #333;
    cursor: pointer;
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    background-color: #999;
    z-index: 98;
}
.menu-button:hover {
    background-color: #666;
    box-shadow: 0px 6px 6px rgba(0,0,0,0.2);
}
.menu-button__line {
    display: block;
    position: absolute;
    top: 26px;
    left: 16px;
    right: 16px;
    height: 4px;
    background-color: white;
}
.menu-button__line::before,
.menu-button__line::after{
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: white;
    content: "";
}
.menu-button__line::before {
    top: -10px;
}
.menu-button__line::after {
    bottom: -10px;
}

.phone {
    display: inline;
    padding-right: 16px;
    font-size: 1em;
    font-weight: bold;
    font-style: italic;
    color: #333;
    text-decoration: none;
}


/*----- content --------*/
.content {
    max-width: 1200px;
    padding: 0 1rem;
    background: #fff;
    quotes: "\00ab" "\00bb";
 }


.content p {
    max-width: 720px;
    margin-bottom: 1em;
    text-indent: 0;
}

.content p.math {
    text-align: center;
    font-size: 1.4em;
    font-weight: bold;
    font-style: italic;
    text-indent: 0;
}

.content li {
    max-width: 720px;
    margin-top: 1.2em;

}
/*--------- presentation --------*/
.presentation {
    margin: 32px auto;
    padding: 0;
    width: 304px;
    background-color: #fff;
    font-size: 1em;
}
.presentation__item {
    display: inline-block;
    padding: 8px;
    width: 288px;
    margin-top: 64px;
    background-color: #fff;
    font-size: 0.8em;
    vertical-align: top;
    text-align: center;
}
.presentation__item-header {
    display: block;
    margin: 0 8px;
    padding: 8px 0;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.4em;
    text-align: center;
    text-transform: uppercase;
}
.presentation__image {
    display: block;
    margin: 0 auto;
    width: 192px;
    height: 192px;
    background-color: transparent;

}

.section-link,
.section-link:visited {
    display: inline-block;
    color: grey;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .3s;
}
.section-link:hover { color: #cc0000; }

.contacts {
    margin: 1em 0 1.2em 0;
    min-height: 200px;
}

.contacts-image {
    display: block;
    margin: 0 auto;
    border-radius: 50%;
}

.contacts p {
    text-align: center;
}

.contacts-button {
    display: block;
    margin: 16px auto;
    max-width: 400px;
    padding: 1em;
    background-color: #999;
    font-size: 1.2em;
    text-align: center;

}
.contacts-button:hover {
    background-color: #666;
    box-shadow: 2px 2px 6px rgba(0,0,0,0.2);

}
a.contacts-button,
a.contacts-button:hover,
a.contacts-button:visited {
    color: #fff;
    text-decoration: none;
}
/*------ /content --------*/
/*------ figure ------*/
.figure {
    position: relative;
    width: 100%;
    /*max-height: 600px;*/
    text-align: center;


}
.figure img {
    display: block;
    margin: 16px auto;
    max-width: 100%;

}

.figure a, .figure a:visited  { /* nav gallery */
    display: inline-block;
    margin: 2% 5%;
    padding: 0.5% 2%;
    background-color: #ccf;
    text-decoration: none;
    color: #0000FF;
    border: 2px solid;
    border-top-color: transparent;
    border-right-color: #36c;
    border-bottom-color: #36c;
    border-left-color: transparent;
}
.hideclass { visibility: hidden; }
.figure a:hover { color: #cc0000; }
.figure a:focus {
    background-color: #ccf;
    border-top-color: #36c;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: #36c;
}
/*------ figure ------*/
.headimg {
    max-height: 800px;
    overflow: hidden;
    margin-bottom: 1rem;
}
.headimg img {
    width: 100%;
}
/*------- mapimg ----------*/
.box-mapimg {
    position: relative;
    margin: 16px auto;
    width: 100%;
    max-width: 600px;
    text-align: center;
}
.box-mapimg img {
    display: block;
    margin: 0 auto;
    max-width: 100%;

}
.mapimg {
    position: absolute;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    margin-left: -11px;

}
.content li.mapimg {
    margin-top: 0px;
}

.mapimg a{
    display: block;
    position: relative;
    z-index: 100;
    height: 100%;
    cursor: pointer;
    text-decoration: none;
    line-height: 1.4em;
    text-align: center;
    font-weight: bold;
    color: #fff;
    background-color: rgba(90, 90, 255, 0.6);
    border-bottom: 0px dashed #ccc;
    border: 1px transparent;
    border-radius: 11px;
}

.mapimg a:hover {
    color: red;
}
.mapimg ul{
    visibility: hidden;
    position: absolute;
    width: 100px;
    left:  -48px;
    bottom: 42px;
    z-index: 200;
    background-color: rgba(150, 150, 255, 0.9);
    border: 1px solid rgb(150, 150, 255);
    box-shadow:  3px 3px 10px rgba(0,0,0,0.5);
}
.mapimg ul:after {
    content: " ";
    position: absolute;
    top: 100%;
    left: 41%;
    width: 0;
    height: 0;
    z-index: 200;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid rgba(150, 150, 255, 0.8);
}
.mapimg:hover ul {
    visibility: visible;
}
/*-------- /mapimg ----------*/

/*------ listitem ------*/
.listitem div {
    float: left;
    position: relative;
    width: 40%;
    height: 216px;
    margin: 2% 0 2% 6%;

}
.listitem a {
    display: block;
    text-align: center;
    font-size: 0.9em;
}
.listitem img {
    display: block;
    margin: 1em auto;
    max-width: 100%;
    box-shadow:  2px 2px 5px #666;
}
/*------ /listitem ------*/
/*------listimg --------*/
.listimg {
    width: 90%;
    clear: both;
    margin-top: 20px;
    padding-left: 2%;

}
.listimg li {
    display: inline;
}
.listimg img, .listimg img:hover {
    height: 100px;
    width: 100px;
    border: 2px solid #cc0000;
}
.listimg  a img {
    border: 2px solid #fff;
}
.listimg a img:hover {
    border-top: 2px solid #ccc;
    border-left: 2px solid #ccc;
    border-bottom: 2px solid #333;
    border-right: 2px solid #333;
}
.listimg a img:active {
    border-top: 2px solid #333;
    border-left: 2px solid #333;
    border-bottom: 2px solid #ccc;
    border-right: 2px solid #ccc;
}
/*------end listimg ----*/
/*------ item ----------*/
.item {
    margin-bottom: 3rem;
    min-height: 150px;
    max-width: 720px;
    padding-top: 1px;
    padding-bottom: 2rem;
    clear: both;
    border: 1px solid whitesmoke;
    box-shadow:  1px 1px 4px rgba(0,0,0,.3);
}

.item h2 {
    margin: 1rem;

}

.item p {
    text-indent: 0px;
    margin: 0px;
    padding-left: 140px;
    max-width: 600px;
}
.item a:hover {
    color: #cc0000;
}
.item img {
    margin: 0 1rem;
    height: 100px;
    width: 100px;
    float: left;
    border: 1px solid #ccc;
}
.item img:hover {
    box-shadow:  1px 1px 4px rgba(0,0,255,1);
}
.item img:focus {
    border-color: #cc0000;
    }
/*----- /item ----*/

.preview {
    margin: 64px auto;

}
.preview__link-image {
    display: block;
}
.preview__image {
    display: block;
    width: 270px;
    height: 180px;
    background-color: #ddd;

}
.preview__header {
    margin-top: 8px;
    font-size: 1.2em;

}
.preview__announce {

}


/*-------TOC(Table of contents)---------*/
#toc {
    position: relative;
    margin: 10px;
    padding: 0;
    padding-bottom: 1.6em;
    max-width: 320px;
    border: 1px solid #ccc;

    }


#toc  li a {
    color: #0000cc;
    font-size: 0.9em;
}
#toc li a:hover {
    color: #333;
}
#toc-head  {
    padding: 0.6em;
    background-color: #ddd;
    height: 20px;
    color: #666;
    cursor: pointer;
    }
#toc-head.headshow:after,
#toc-head.headhide:after {
    content: "";
    position: absolute;
    z-index: 500;
    right: 10px;
    top: 10px;
    border-top: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #999;
}
#toc-head.headhide:after {
    border-top: 8px solid #999;
    border-bottom: 0;
}
#toc .show{
    display: block;
    margin: 0px;
    }
#toc .hide {
    margin: 0;
    padding: 0;
    display: none;
}

/*------- /TOC (Table of contents)---------*/

 /*------- menu ----------*/
.menu {
    display: flex;
    flex-direction: column;
    min-width: 280px;
    padding: 0 16px 0 16px;
  background: whitesmoke;
}
.menu-head {
    flex-direction: column;
    min-width: 280px;
    max-width: 480px;
    height: 100%;
    min-height: 100%;
    position: fixed;
    top: 0;
    right: -500px;
    background: #fff;
    box-shadow: -2px 0 4px 1px rgba(0, 0, 0, 0.4);
    overflow-y: scroll;
    z-index: 0;
    transition: right .4s ease-in-out;
}
.menu-head_active {
    right: 0;
    z-index: 100;
}
.menu__close {
    position: absolute;
    width: 48px;
    height: 48px;
    top: 0px;
    right: 0px;
    border: none;
    background: transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy43MjMwMiA3TDE3LjcyMyAxN00xNy43MjMgN0w3LjcyMzAyIDE3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiLz48L3N2Zz4=) 50% 50% no-repeat;
    outline: none;
    cursor: pointer;
}
.menu__close:hover {
    background-color: rgba(255, 0, 0, .3);
}
.menu__header {
    padding: 2em 1rem 0 0;
    margin: 0 auto;
    font-weight: normal;
    font-size: 1.1em;
}

.menu ul {
    display: block;
    margin: 0;
    padding: 1em 1rem 0 0;

    list-style: none;
}

.menu li {
    display: block;
    padding: 0 1em 1em 0;
    vertical-align: top;
    color: #999;
    font-weight: bold;
}
.menu-head li {
  display: block;
}
.menu li a {
    display: block;
    height: 100%;
}
.menu a:hover,
.menu a:focus{
    background-color: whitesmoke;
    color: #cc0000;

}
.overlay {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 5%;
    height: 5%;
    background-color: rgba(0, 0, 0, 0);
    z-index: 98;
    transition: all .3s ease-in-out;
}
.overlay_active {
    display: block;
    background-color: rgba(0, 0, 0, .6);
    width: 100%;
    height: 100%;
}
/*------- /menu ----------*/
/*------- social-buttons ------*/

.social-net-buttons form{
    float: left;
    margin-top: 20px;
    margin-left:  3%;
 }
.social-net-buttons input{
    width: 48px;
    height: 48px;
}
/*-----message-------*/
.message-form {
    margin: 1em auto;
    width: 90%;
    max-width: 600px;
}
.message-form label {
    display: block;
    margin-top: 1em;
}
.firstname,
.email,
.message {
    display: block;
    width: 100%;
    max-width: 320px;

}
.lastname {
    display: none;
}
.message-form button {
    margin-top: 1em;
    width: 100px;
    height: 2em;
    /*background-color: #115095;*/
    color: #115095;

}

/*--- promotion --*/
.promotion {
    margin-top: 4rem;
    padding: 2em 1em;
    color: white;
    background-color: rgba(0, 0, 0, 0.2);
    background-size: cover;
    background-blend-mode: soft-light;
    font: bold 1.2rem 'Noto Serif', Verdana, Georgia, serif;
}
.promotion_sale {
    background-image:  url(/otdelka-sten/pokleit-oboy/pokleit-oboy-zaporozhie.jpg),
         linear-gradient(135deg, #dd0044 0%, #001199  100%);
}
.promotion_review {
    background-image:  url(/otdelka-sten/pokleit-oboy/oboi-obzor.jpg),
         linear-gradient(135deg, #B18B11 0%, #7C4B24 100%);
}
.promotion__header {
    font-size: 1.2em;
    margin-bottom: 1em;
}
.promotion__phone {
    display: inline-block;
    margin: 0.4em 0;
    max-width: 320px;
    font-weight: bold;
    color: white;
    text-decoration: none;
    cursor: pointer;
    border-bottom: 1px dashed transparent;
}
.promotion__phone:hover {
    color: white;
    transform: scale(1.05);
    background-color: rgba(0, 0, 0, 0.2);
}
.promotion__phone:focus {
    color: white;
    border-bottom-color: white;
 }
.promotion__button {
    display: inline-block;
    margin-top: 1em;
    padding: 0.4em 0.6em;
    font-weight: normal;
    color: white;
    text-decoration: none;
    border: 1px solid white;
    background: rgba(0,0,0,0.2)
}
.promotion__button:visited {
    color: white;

}
.promotion__button:hover {
    background-color: rgba(0, 0, 0, 0.4);
    transform: scale(1.05);
}
.promotion__button:focus {
    border: 1px dashed white;
}
.promotion__price {
    display: block;
    margin: 1em 0;
    font-size: 1.3em;
    font-weight: bold;
    color: white;
}

/*-------- google -----------*/
.reklama-google {
    margin: 48px auto;
    border: 1px solid #ddd;
}
.reklama-google__header{
    margin: 0;
    padding: 0 2% 8px 2%;
}

/*-------- footer -----------*/
.clearboth {
    clear: both;
    height: 1px;
}
.footer {
    clear: both;
    padding-top: 1em;
    padding-bottom: 1em;
    text-align: center;
    font-size: 0.8em;
    color: #999;
}
.footer p {
    clear: both;
}
.footer A,
.footer A:visited ,
.footer A:hover  {
    color: #333;
}

/* --------  media rules --- */
@media (min-width: 640px){
    .header__phone {
        padding-top: 0;
        width: 180px;
    }

    .contacts-image {
        float: left;
        margin: 0;

    }

    .contacts p {
        margin-left: 300px;
        text-align: left;
    }
    .contacts > p {
        padding-top: 36px;
    }
    .contacts p ~ p {
        padding-top: 0;
    }

    .listitem div {
        height: 250px;
    }
    .preview::after {
        visibility: hidden;
        clear: left;
        content: ".";

    }
    .preview__link-image {
        float: left;
    }
    .preview__image {
        display: inline-block;
    }
    .preview__header {
        clear: none;
        margin-left: 294px;
    }
    .preview__announce {
        margin-left: 294px;
    }

    .presentation {
        width: 608px;
    }
    .presentation__item {
        padding: 16px;
        width: 272px;
    }

}
@media (min-width: 960px){
    .menu {
        flex-direction: row;
    }
    .menu-head {
        flex-direction: column;
    }
    .presentation {
        width: 912px;
    }
    .presentation__item {
        padding: 16px;
        width: 272px;
    }
    .promotion {
        padding: 4em 3em;
        font-size: 1.5rem;
    }
}

@media (min-height: 450px){
    .figure img  {  max-height: 450px;  }
    .headimg img {  max-height: 800px; }
}
@media (min-height: 600px){
    .figure img {   max-height: 800px;
    }

}
