/* Структурные блоки */

header,
footer,
section,
.shell {
    position: relative;
}

.shell, .content {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 10px
}

.content {
    padding-top: 120px;
}

.content.index {
    max-width: none;
    text-align: center;
    background-image: url(../img/bg.png);
    background-repeat: no-repeat;
    background-position: center 15px;
}

.content.index p {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px
}

/*
.content.index  figure {
    margin-left: 150px
}
*/

.mainPic {
    position: relative;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    max-width: 1400px;
    margin-top: 20px
}

.mainPic_left {
    
}

.mainPic_middle {
    background-image: url(../img/mainPic_bg.jpg);
    background-repeat: repeat-x    
}

.mainPic_right {
    margin-right: -100px    
}

/* Шапка */

header {
    position: fixed;
    top: 0; left: 0; right: 0;
    padding-top: 0;
    min-height: 85px;
    z-index: 3000;
    background: #fff;
    -webkit-transition: .5s;
    transition: .5s
}

.mainLogo a, .mobileLogo a, .mainPhone a {
    border-bottom: none
}

.mainLogo, .mobileLogo {
    position: absolute;
    top: 30px; left: 10px
}

.mobileLogo {
    display: none
}

.mainPhone {
    position: absolute;
    top: 34px; right: 10px;
    font-size: 18px;
    font-weight: 700;
}

.mainPhone a {
    color: #535153    
}

.mainPhone span {
    padding: 1px 10px;
    color: #fff;
    background-color: #8094a0;
    border-radius: 20px;
    background: linear-gradient(to left, #bb3795, #2f2d77)
}

/* Иконка меню */

.icoMenu {
    position: absolute;
    display: none;
    right: 10px;
    top: 18px;
    width: 36px;
    height: 24px;
    background: linear-gradient(to left, #bb3795, #2f2d77);
    border-radius: 20px;
    cursor: pointer;
    -webkit-transition: all .3s;
    transition: all .3s
}

.icoMenu span,
.icoMenu span:before,
.icoMenu span:after {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 2px;
    background: #fff;
    opacity: 1;
    visibility: visible;
}

.icoMenu span {
    top: 11px;
    left: 8px;
}

.icoMenu span:before {
    top: -6px;
    -webkit-transition: all .3s;
    transition: all .3s
}

.icoMenu span:after {
    top: 6px;
    -webkit-transition: all .3s;
    transition: all .3s
}

.icoMenu.opened span {
    opacity: 0 !impotant;
    visibility: hidden
}

.icoMenu.opened span:before, .icoMenu.opened span:after {
    visibility: visible !impotant;
    opacity: 1 !impotant;
    height: 2px;
}

.icoMenu.opened span:before {
    top: 0; left: 0;
    width: 20px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.icoMenu.opened span:after {
    top: 0; left: 0;
    width: 20px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

/* Основное меню, десктоп */

nav#desktop {
    position: absolute;
    top: 32px; left: 180px; right: 180px;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    transition: .3s
}

nav#desktop ul, nav#desktop li {
    margin: 0; padding: 0;
    list-style-type: none;
    vertical-align: top
}

nav#desktop ul {
    width: 100%;
}

nav#desktop li {
    display: inline-block;
    vertical-align: top;
    margin: 0 10px
}

nav#desktop ul li a {
    display: block;
    color: #31322f;
    border-bottom-color: rgba(49, 50, 47, 0.4)
}

nav#desktop ul li a.active, nav#desktop ul li a:hover {
    color: #bb3795;
    border-bottom-color: rgba(49, 50, 47, 0)
}

/* Подменю */

menu.sub {
    margin: 10px 0 30px 0;
    text-align: center;
    font-size: 14px    
}

menu.sub ul, menu.sub ul li {
    display: inline-block;
    margin: 0; padding: 0;
}

menu.sub ul li {
    
}

menu.sub ul li a {
    margin: 2px 15px 3px 15px
}

menu.sub ul li.active a {
    margin: 0;
    padding: 2px 15px 3px 15px;
    color: #fff;
    background-color: #7f728e;
    border-radius: 20px;
    border-bottom: none
}

/* Основное меню, мобайл */

nav#mobile {
    position: fixed;
    display: none;
    top: 60px; left: 0; right: 0; bottom: 0;
    padding-bottom: 30px;
    background-color: #fff;
    overflow: auto;
    z-index: 10000
}

nav#mobile ul {
    margin: 0 auto;
    padding: 0;
    width: 280px;
    font-weight: 500 
}

nav#mobile li {
    text-align: center;
    list-style-type: none;
}

nav#mobile>ul>li>a {
    display: inline-block;
    margin: 3px 0 4px 0;
}

nav#mobile>ul>li>a:hover, nav#mobile>ul>li>a.active {
    margin: 2px 0;
    padding: 1px 15px 2px 15px;
    background-color: #7f728e;
    color: #fff;
    border-radius: 20px
}

nav#mobile .level1 {
    margin-top: 30px;
    margin-bottom: 3px;
    font-size: 16px;
}

nav#mobile li:first-child {
    margin-top: 10px
}

nav#mobile .level2 {
    font-size: 13px
}

/**/

.advSection {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.advSection article {
    width: calc(50% - 10px);
    margin-top: 20px;
    padding: 25px 0;
    background-color: #e9e6eb;
    border-radius: 6px
}

.advSection article p {
    margin-top: 5px;
    font-size: 13px
}

/* Фотогалерея */

.flexPhotos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #e9e6eb;
    border-radius: 3px;
    margin: 30px auto;
    padding-bottom: 30px;
    max-width: 1400px
}

.flexPhotos.index {
    margin: 0 auto;
    padding-bottom: 0; 
    background-color: transparent;   
}

.photoItem {
    max-width: 250px;
    text-align: center;
    vertical-align: top;
}

.photoItem figure {
    display: inline-block;
    position: relative;
    margin: 30px 0 0 0;
    width: 250px;
    height: 250px;
    background-position: center center;
    background-size: cover;
    border-radius: 3px;
    -webkit-transition: .4s;
    transition: .4s
}

.photoItem figure:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05) translateY(-5px)
}

.photoItem figure a {
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    border: none
}

/* Формы */

.formLayout {
    margin-top: 30px;
    text-align: center
}

.formLayout input, .formLayout select, .formLayout textarea {
    display: block;
    margin: 10px auto 0 auto
}

.formLayout input[type='submit'] {
    margin-top: 20px;
}

.formLayout .infofield {
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 13px
}

.privacyField {
    margin-top: 20px;
    font-size: 13px
}

.resultComment {
    display: none !important
}

.errors {
    color: inherit
}

.error, .error_message {
    position: static;
    top: 0 !important; left: 0 !important;
    margin: 0; padding: 0;
    -webkit-box-shadow: 0 0 0 rgba(0,0,0,0);
    box-shadow: 0 0 0 rgba(0,0,0,0);
    background-color: transparent;
}

/* Подвал */

footer {
    margin: 30px auto 0 auto;
    padding: 30px 10px 24px 10px;
    max-width: 1000px;
    font-size: 12px;
    line-height: 1.6em;
    text-align: center;
    border-top: 1px dashed #999
}

footer p {
    margin-top: 3px
}

footer p:last-child {
    margin-top: 12px
}

