/*
Theme Name: Мой район
Theme URI: 
Description:
Version: 1.0
Author:  
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&display=swap');

/* Normalize*/
html{overscroll-behavior-у:none;font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:600}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}


html {width: 100%; height: 100vh;}
body {
    font-family: 'Montserrat', sans-serif;
    line-height: 140%;
    padding: 0;
    margin: 0;
    font-size: 16px;
    width: 100%;
    min-height: 330px;
}

a:link, a:active, a:visited {
    color: #000;
    text-decoration: underline;
}
a:hover {
    color: #666;
    text-decoration: none;
}
header {
    display:flex;
    justify-content: space-between;
    max-width: 800px;
    margin: 80px auto 49px auto;
    width: 70%;
    position: relative;
    z-index: 2;
}

.overlay {
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    position: fixed;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 14%, rgb(255, 255, 255) 66%);
    height: 13vw;
}
.overlay.black {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 14%, rgb(0, 0, 0, 0.3) 66%);
    height: 20vw;
}

.menuicon {
    height: 22px;
    padding: 18px;
    cursor: pointer;
    border-radius: 5px;
    position: relative;
    z-index: 2;
    transition: all 300ms;
}


.menuicon path:nth-child(n + 2) {
    display:none;
}
.menuicon.active path, .callicon.active path {
    fill: #fff;
}
.menuicon.active path:nth-child(n + 2) {
    display:inherit;
    fill: #fff;
}
.menuicon.active path:nth-child(1) {
    display:none;
}
.menuicon:active, .callicon:active {
    background-color: #000;
}
.menuicon:active path, .callicon:active path {
    fill: #fff;
}
.menuicon.active:active, .callicon.active:active {
    background-color: #fff;
}
.menuicon.active:active path:nth-child(n + 2), .callicon.active:active path {
    fill: #000;
}

.white, .white a {color: #fff! important;}
.white:hover, .white a:hover {color: #ccc !important;}
.white path {fill: #fff;}
@media (hover: hover) and (pointer: fine) {
    .menuicon:hover, .callicon:hover {
        background-color: #000;
    }
    .menuicon:hover path, .callicon:hover path {
        fill: #fff;
    }
    .menuicon.active:hover, .callicon.active:hover {
        background-color: #fff;
    }
    .menuicon.active:hover path:nth-child(n + 2), .callicon.active:hover path {
        fill: #000;
    }
}
.callicon {
    height: 24px;
    padding: 16px;
    cursor: pointer;
    border-radius: 5px;
    transition:all 300ms;
    position: relative;
    z-index: 2;
}
.modal {
    display: none;
}
.modal.active {
    display:block;
    z-index: 1;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: #000;
    position: fixed;
}
nav {
    display: none;
    position: relative;
    z-index: 2;
}
nav.active {
    z-index: 1;
    color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 18px;
    text-transform: none;
    margin-top: 34px;
}
nav.active a:link, nav.active a:active,nav.active a:visited {
    color: #fff;
    display: inline-block;
    padding: 19px 18px;
    border-top: 1px solid #333;
    text-transform: uppercase;
    text-decoration: none;
    width: 300px;
    font-weight: 400;
}
nav.active a:nth-child(1) {
    border-top: 0px none;
}
nav.active a:hover {
    color: #ccc;
    background-color: #333;
}
.logo {
    font-size: 42px;
    font-weight: 600;
    line-height: 120%;
    text-align: center;
    position: relative;
    z-index: 2;
    transition: all 300ms;
    padding: 0 40px;
}
.logo a {
    text-decoration: none;
    transition:all 120ms;
}
.logo.active, .logo.active a {
    color: #fff;
}
.logo small {
    font-size: 43%;
    display: block;
    text-align: center;
    line-height: 120%;
    margin-top: 10px;
}

.main_video {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    top: 4vw;
    height:calc( 100vh - 4vw );
    z-index: 0;
    width: 100%;
    object-position: top;
    object-fit: cover;
    background-size: cover;
    background-position: 50% 0%;
}

.main_video.black {top: 0; height: 100vh;}

main.home {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    right: 0;
    padding-bottom: 80px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 40vh;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 14%, rgb(0, 0, 0, 0.4) 66%);
    text-align: center;
}

main.home.black {background: none;}

main.home div {
    max-width: 900px;
}

main.home a:link, main.home a:active, main.home a:visited {
    color: #000;
    display: inline-block;
    padding: 9px 18px 10px 18px;
    background-color: #fff;
    text-decoration: none;
    border-radius: 25px;
    margin: 10px;
    transition: all 150ms;
    font-weight: 600;
}

main.home a:hover {
    background-color: #000;
    color: #fff;
}

main > ol {
    list-style-type: none;
    width: 100%;
    padding: 0;
    text-align: center;
    margin: 15px auto;
}
main > ol > li {
    display: inline-block;
    margin: 0px 5px;
    font-size: 14px;
    text-transform: uppercase;
    margin: 0 10px;
}
h1 {
    text-align: center;
    font-weight: 400;
    font-size: 29px;
    margin: 0px auto;
    line-height: 150%;
    max-width: 800px;
}
h1.article {
    margin: 30px auto 45px auto;
}
section.list {
    display: grid;
    column-gap: 50px;
    row-gap: 30px;
    width: 80%;
    margin: 70px auto;
    max-width: 1400px;
    grid-template-columns: repeat(auto-fill, 300px);
    justify-content: center;
}
.list article {
    width: 100%;
}
.list article a {
    text-decoration: none;
    opacity: .9;
}
.list article a:hover {
    opacity: 1;
}
.list article a div {
    height: 250px;
    border-radius: 5px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    padding: 20px;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #eee;
    background-position: 50%;
}
.list article a div img {
    width: 30px;
    margin-right: 10px;
    filter: drop-shadow(0px 1px 1px rgb(0 0 0 / 0.2));
}
.list article a h2 {
    font-weight: 400;
    line-height: 150%;
    font-size: 21px;
    padding: 0px 20px;
}
.pswp__custom-caption {
    font-size: 11px;
    line-height: 130%;
    font-weight: 600;
    color: #fff;
    width: calc(100% - 32px);
    max-width: 400px;
    padding: 2px 8px;
    border-radius: 4px;
    position: absolute;
    left: 50%;
    bottom: 25px;
    transform: translateX(-50%);
    text-transform: uppercase;
    text-shadow: -1px -1px 1px rgba(255,255,255,.1), 1px 1px 1px rgba(0,0,0,.5), 0px 0px 20px #FFFFFF;
    text-align: center;
    transition: all 120ms;
  }
.pswp__custom-caption a {
    color: #fff;
    text-decoration: underline;
}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after, .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    color: #fff;
}
.hidden-caption-content {
    display: none;
}
.swiper_caption {
    position: absolute;
    z-index: 9;
    left: 50%;
    bottom: 0px;
    transform: translateX(-50%);
    text-transform: uppercase;
    font-weight: 600;
    font-size: 12px;
    line-height: 100%;
    background-color: #fff;
    padding: 7px 10px;
    border-radius: 5px 5px 0px 0px;
}
address {
    font-style: normal;
    margin: 55px 0 75px 0;
    text-align: center;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 40px 70px 70px 70px;
    background-color: #eee;
    border-radius: 10px;
    box-sizing: border-box;
    align-items: stretch;
}
address h2 {
    text-align: center;
    margin: 0px 0 40px 0;
    display: block;
    padding: 0;
    font-weight: 400;
    width: 100%;
}
address ul, address ol {
    padding:0;
    margin:0;
}
address ul li, address ol li {
    list-style-type: none;
    margin: 0 0 20px 0;
    padding: 0;
}
.map {
    width: 50%;
    min-height: 400px;
    background-color: #fff;
}
.details {
    padding: 20px 0 0 50px;
    text-align: left;
    width: 44%;
}
address a.callbtn {
    padding: 15px 60px;
    text-transform: uppercase;
    border: 0px none;
    border-radius: 5px;
    background-color: #fff;
    font-size: 16px;
    text-decoration: none;
    margin: 15px 0;
    display: inline-block;
    text-decoration: none;
}
address h3 {
    margin-top: 30px;
}
address img {
    height: 30px;
    margin: 0 20px 0 0;
}
footer {
    margin-top: 10px;
    background-color: #555;
    color: #fff;
    padding: 40px;
    text-align: center;
    font-size: 14px;
}
.social {
    margin-top: 14px;
}
.social a img {
    height: 40px;
    margin: 20px;
}
.footermenu {
    max-width: 1000px;
    margin: 0px auto 20px auto;
}
.footermenu a:link, .footermenu a:active, .footermenu a:visited {
    color: #fff;
    display: inline-block;
    padding: 10px 18px;
    background-color: #666;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 5px;
    margin: 10px;
    transition: all 150ms;
}
.footermenu a:hover {
    color: #666;
    background-color: #fff;
}
.copyright {
    width: 400px;
    margin: 0 auto;
}
main > article {
    max-width: 1000px;
    margin: 30px auto;
}
.maintxt {
    line-height: 190%;
    margin: 45px auto;
    width: 80%;
}
.mainslider {
    height: 600px;
    margin-bottom: 30px;
}
.swiper-button-prev {
    margin-left: 20px; color: #fff;
}
.swiper-button-next {
    margin-right: 20px; color: #fff;
}

/*==================================
SWIPER - minimal styling
===================================*/
  ul.swiper-wrapper {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
  .mainslider > ul > li {
    overflow: hidden;
    height: 100%;
    border-radius: 5px;
  }
  .mainslider > ul > li > a {
    width: 100%;
    height: 100%;
    overflow:hidden;
    display: block;
  }
  .mainslider > ul > li > a > img {
    width: 100%;
    height: 100%;
    object-position: center;
  }
  .thumb {
    border-radius: 3px;
  }
  /* Swiper container */
  .swiper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
  }

  .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .thumbslider {
    box-sizing: border-box;
    padding: 0;
  }
  .thumbslider .swiper-wrapper {
    height: auto;
  }
  .thumbslider .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: 0.4;
  }
  .thumbslider .swiper-slide-thumb-active {
    opacity: 1;
  }
  .pswp__top-bar {
    width: 100vw !important;
  }

@media screen and (min-width: 1921px) {
    .main_video {
        top: 0;
        height:100%;
    }
    .overlay {
        opacity: .2;
    }
}
@media screen and (max-width: 1280px) {
    body {
        font-size: 18px;
    }
    header {
        display:flex;
        max-width: none;
        margin: 65px 7vw 49px 7vw;
        width: 86vw;
    }
    header svg {
        min-width: 26px;
    }
    .main_video {
        top: 6.5vw;
        height:calc( 100vh - 6.5vw );
    }
    .main_video.black {
        top:0; height:100vh;
    }

    .overlay {
        background: linear-gradient(0deg, rgba(255, 255, 255, 0) 14%, rgb(255, 255, 255) 61%);
        height: 18vw;
    }
    .overlay.black {
        background: none;
    }
    main.home {
        padding-bottom: 50px;
        position: fixed;
    }
    main.home div {
        max-width: 700px;
    }
    main.home a:link, main.home a:visited, main.home a:active, main.home a:hover {
        font-size: 14px;
        padding: 4px 14px 6px 14px;
        margin: 8px;
    }
    section.list {
        column-gap: 50px;
        row-gap: 30px;
        width: 90%;
        margin: 52px auto;
        grid-template-columns: repeat(auto-fill, 25vw);
    }
    .list article a div {
        height:25vw;
    }
    .list article a h2 {
        font-size: 16px;
        padding: 0px 10px;
        overflow-wrap: break-word;
    }
    .maintxt {
        width: 80%;
        margin-left: 10%;
    }
    address {
        box-sizing: border-box; 
        display: block;
        padding: 40px 80px 10px 80px;
    }
    .map, .details {
        width: auto;
        padding: 0;
        text-align: center;
        margin-bottom: 40px;
    }
    .details img {
        margin: 0 10px;
    }
    .footermenu a:link, .footermenu a:active, .footermenu a:visited {
        margin: 7px 5px;
        padding: 6px 14px;
        font-size: 14px;
    }
}

@media screen and (max-width: 1024px) {
    body {
        font-size: 16px;
    }
    .menuicon {
        height: 15px;
        padding: 11px;
    }
    .callicon {
        height: 17px;
        padding: 10px;
    }
    header svg {
        min-width: 17px;
    }
    header {
        width: 70vw;
        padding: 0;
        margin: 48px auto 30px auto;
    }
    .logo {
        font-size: 28px;
        width: auto;
        padding: 0 10px;
        max-width: 320px;
    }
    nav.active {
        font-size: 16px;
        margin-top: 17px;
    }
    nav.active a:link, .nav.active a:active, .nav.active a:visited {
        width: 250px;
    }
    .logo small {
        font-size: 50%;
        display: block;
        text-align: center;
        line-height: 120%;
        margin-top: 6px;
    }
    section.list {
        column-gap: 30px;
        row-gap: 15px;
        width: 95%;
        margin: 35px auto;
    }
    .list article a h2 {
        font-size: 14px;
        padding: 0px 10px;
        
    }
    .list article a div {
        padding: 10px;
    }
    .list article a div img {
        width: 25px;
    }
    main ol {
        margin: 10px auto;
    }
    main ol li {
        font-size: 12px;
    }
    h1 {
        font-size: 22px;
        width: 90%;
    }
    h1.article {
        margin: 20px auto 35px auto;
    }
    .mainslider > ul > li {
        border-radius: 0px;
    }
    .mainslider {
        height: 340px;
        margin-bottom: 20px;
    }
    .maintxt {
        line-height: 170%;
        margin: 24px auto;
    }
    address {
        box-sizing: border-box;
        display: block;
        padding: 40px 40px 10px 40px;
    }
    address a.callbtn {
        padding: 10px 40px;
        font-size: 12px;
    }
    .footermenu a:link, .footermenu a:active, .footermenu a:visited {
        font-size: 12px;
    }
    .copyright {
        width: 80%;
        font-size: 12px;
        text-transform: uppercase;
        line-height: 140%;
    }
}

@media screen and (max-width: 479px) {
    body {
        font-size: 15px;
    }
    header {
        width: 87vw;
        padding: 0;
        margin: 30px auto 30px auto;
    }
    .logo {
        font-size: 26px;
        padding: 0 5px;
    }
    .menuicon {
        height: 13px;
        padding: 11px;
    }
    .callicon {
        height: 15px;
        padding: 10px
    }
    nav.active {
        margin-top: 14px;
        font-size: 14px;
    }
    nav.active a:link, .nav.active a:active, .nav.active a:visited {
        width: 80%;
        padding: 12px 14px;
    }
    .main_video {
        background-position: 50% 50%;
    }
    .main_video {
        top: 2vw;
        height:calc( 100vh - 2vw );
    }
    .main_video.black {top: 0; height: 100vh;}
    .overlay {
        background: linear-gradient(0deg, rgba(255, 255, 255, 0) 14%, rgb(255, 255, 255) 61%);
        height: 18vw;
    }
    .overlay.black {
        background: none;
    }
    main.home {
        text-align: left;
        padding-left: 7vw;
        padding-bottom: calc( 7vw - 7px );

    }
    main.home div {
        max-width:none;
    }
    main.home a:link, main.home a:visited, main.home a:active, main.home a:hover {
        font-size: 4vw;
        padding: 2vw 5vw 2.1vw 5vw;
        margin: 0px 4.2vw 5vw 0px;
    }
    section.list {
        column-gap: 5vw;
        row-gap: 10px;
        width: 100vw;
        margin: 8vw auto;
        grid-template-columns: repeat(auto-fill, 42vw);
    }
    .list article a div {
        height:40vw;
    }
    .list article a h2 {
        font-size: 14px;
        padding: 0px 10px;
    }
    .mainslider {
        height: 240px;
    }
    address {
        padding: 30px;
        margin-top: 40px;
    }
    address h2 {
        text-align: center;
        margin: 0px 0 30px 0;
    }
    .map {
        height: 500px;
    }
    .copyright {
        text-transform: uppercase;
        font-size: 12px;
        line-height: 150%;
    }
    footer {
        padding: 20px 10px;
    }
    .social a img {
        margin: 10px;
    }
}

@media screen and (max-width: 280px) {

    header {
        margin: 19px auto 11px auto;
    }
    .logo {
        font-size: 17px;
        padding: 0;
    }
    .menuicon {
        height: 9px;
        padding: 7px;
    }
    .callicon {
        height: 11px;
        padding: 6px;
    }
    nav.active {
        font-size: 12px;
    }
    main ol {
        margin: 0px auto;
    }
    main ol li {
        font-size: 9px;
        margin: 0 4px;
    }
    h1 {
        font-size: 18px;
    }
    section.list {
        margin: 5vw auto;
    }
    .list article a div {
        padding: 5px;
    }
    .list article a div img {
        margin-right: 5px;
    }
    .list article a h2 {
        font-size: 11px;
        padding: 1px;
        margin: 4px 0;
    }
    .mainslider {
        height: 200px;
    }
    address {
        padding: 20px;
        margin-top: 30px;
        margin-bottom: 0px;
    }
    address h2 {
        margin: 0px 0 20px 0;
    }
    .map, .details {
        margin-bottom: 20px;
    }
    address ul li, address ol li {
        margin: 0 0 10px 0;
    }
    address h3 {
        margin-top: 20px;
    }
    footer {padding: 20px;}
    .social a img {
        height: 40px;
        margin: 10px;
    }
    .footermenu a:link, .footermenu a:active, .footermenu a:visited {
        margin: 5px 3px;
        padding: 4px 10px;
    }
}