/* Структурные блоки */

header,
footer,
section,
.shell {
    position: relative;
}

section {
    overflow: hidden;;
    background-color: #fff
}

section.moreButton {
    padding: 20px 0;
    background: #d9d9d9
}

section.moreButton p.button {
    margin-top: 0
}

.shell {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 10px;    
}

.content .shell {
    padding: 20px 10px
}

/* Навигация */

header {
    position: fixed;
    top: 0; left: 0; right: 0;
    padding-top: 0;
    min-height: 80px;
    background-color: #1b1b25;
    z-index: 5000;
    transition: all .4s   
}

header.index {
    padding-top: 60px;  
    background-color: transparent;
}

header .shell {
    position: relative;
    padding: 0
}

.mainLogo {
    position: absolute;
    top: 0; right: 10px
}

.mobileLogo {
    display: none;
    position: absolute;
    top: 0; right: 10px
}

.mainLogo a, .mobileLogo a {
    border: none    
}

header h1 {
    margin-top: 15px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.75)
}

/**/

nav {
    display: inline-block;
    margin-top: 16px;
    margin-left: 10px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase
}

nav ul,
nav ul li,
header ul.reg,
header ul.reg li
{
    margin: 0;
    padding: 0;
    list-style-type: none;
}

/**/

nav#desktop {
    position: absolute;
    left: 0; top: 30px;
}

nav#desktop ul li {
    display: inline-block;
    margin-right: 16px;
}

nav#desktop a {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.5);
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.);
    transition: .4s
}

nav#desktop a:hover, nav#desktop a.active {
    color: #d2a29a;
    border-color: transparent
}

/**/

.topLine {
    position: absolute;
    top: 16px; left: 10px;    
}

.phone {
    display: inline-block;
    margin-right: 10px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background-color: #b65657;
    border-radius: 20px
}

.phone span {
    white-space: nowrap
}

.cartBlock {
    display: inline-block;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
    background-color: #b65657;
    border-radius: 20px
}

.cartBlock:hover {
    background-color: #d2a29a
}

.cartBlock a {
    color: #fff;
    border-bottom: none
}

/**/

nav#mobile {
    margin-left: 0;
    background-color: #1b1b25 !important
}

nav#mobile ul {
    margin-left: 40px;
    margin-top: 40px;
}

nav#mobile ul li {
    display: block;
    margin-top: 20px;
}

nav#mobile ul li.sub {
    font-size: 14px;
    margin-top: 7px;
    padding-left: 20px
}

nav#mobile ul li.sub2 {
    font-size: 12px;
    margin-top: 7px;
    padding-left: 40px
}

nav#mobile a {
    color: #b65657;
    border-color: rgba(213, 81, 38, 0.5)
}

nav#mobile a:hover, nav#mobile a.active {
    color: #d2a29a
}

/* secondaryMenu */

h1.mobile_h1 {
    display: none
}

menu {
    background-color: #b65657
}

menu .shell {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

menu ul, menu ul li {
    margin: 0; padding: 0;
    vertical-align: top
}

menu ul {
    text-align: center
}

menu ul li {
    display: inline-block;
    margin-right: -4px;
}

menu ul li a {
    display: block;
    border: none;
    padding: 10px 20px;
    text-align: center;
    color: #fff;
    font-size: 14px;
    font-weight: 500
}

menu ul li a:hover, menu ul li.active a {
    color: #fff;
    background-color: #d2a29a
}



/*  */

nav#mobile, #feedback, #agreement, #account {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    margin-top: 0;
    font-size: 16px;
    background: #f2f2f2;
    overflow: auto;
    z-index: 10000;    
}

#feedback, #agreement, #account {
    text-align: center
}

#feedback p {
    max-width: 700px;
    margin: 0 auto 20px auto;
    text-align: center
}

.feedbackButton {
    cursor: pointer
}

.icoMenu, .icoClose, .icoClose2 {
    position: absolute;
    width: 18px; height: 18px;
    cursor: pointer
}

.icoMenu, .icoClose2 {
    display: none;
    top: 15px; left: 10px;
}

.icoClose {
    top: 21px; right: 10px;
}

.icoClose2 {
    display: block;
}

/* Блоки */

.content {
    margin-top: 80px;
    background-color: #fff
}

#slider .shell {
    position: relative;
    padding: 0
}

/**/

.grayBlock {    
    background-color: #f2f2f2;
}

/* Каталог */

.sectionHeader {
    background-color: #d2a29a;
    background-size: cover;
    background-position: center left
}

.sectionHeader .shell {
    height: 70px;    
}

.sectionHeaderText {
    position: absolute;
    left: 0; right: 0;
    bottom: 20px;
    font-size: 30px;
    text-align: center;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8)
}

.sectionHeaderText span {
    display: none
}

.sectionHeaderText span:first-child {
    display: inline-block
}

.sectionHeader.picCatalog {
    background-color: #315760;
    background-image: url(../img/bgCatalog.jpg)
}

.sectionHeader.picCommon {
    background-color: #555c77;
    background-image: url(../img/bgCommon.jpg)
}

.sectionHeader.picMedia {
    background-color: #593232;
    background-image: url(../img/bgMedia.jpg)
}

.sectionHeader.picEvents {
    background-image: url(../img/bgEvents.jpg)
}

.priceList {
    margin-bottom: 20px;
    font-weight: 500
}

p.button {
    text-align: center
}

p + p.button {
    margin-top: 30px !important
}

p.button.itemID {
    margin-top: 20px;
    text-align: left
}

p.button a {
    padding: 7px 10px 8px 10px;
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    background-color: #b65657;
    border-bottom: none;
}

p.button a:hover {
    background-color: #d2a29a
}

p.button.indexButton {
    margin-top: 0;
}

.shopList {
    margin: 20px 0;
}

.shopList article {
    position: relative;
    width: 240px;
    margin-top: 30px;
    margin-bottom: 40px;
    padding: 0 20px;
    text-align: center
}

.shopList article figure {
    display: inline-block;
    position: relative;
    width: 160px; height: 160px;
    background-color: #fff;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
/*    border: 3px solid #d2a29a;*/
    transition: all .4s
}

.shopList article figure:hover {
    border-color: #b65657
}

.shopList article input.number {
    position: relative;
    top: 1px;
    max-width: 60px;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 20px 0 0 20px;
    text-align: center
}

.shopList article input[type='button'] {
    display: inline-block;
    margin-top: 10px;
    padding: 4px 15px 6px 15px;
    font-size: 14px;
    font-weight: 600;    
    color: #fff;
    background-color: #b65657;
    border-radius: 0 20px 20px 0;
    cursor: pointer
}

.shopList article input[type='button']:hover {
    background-color: #d2a29a
}

.shopList article .error {
    font-size: 12px
}

.labels {
    position: absolute;
    top: 0; left: 0
}

.shopList article h3 {
    font-size: 15px;
    color: #1b1b25;
    margin-top: 15px
}

.shopList article figure a {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-bottom: none
}

.itemsList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: flex-start;
    align-items: flex-start
}

.orderButton {
    margin-top: 5px;
    text-align: center
}

.clausesList .orderButton {
    margin-top: 20px
}

.clauses_text h2 {
    margin-top: 30px
}

.clauses_text h3 {
    margin-top: 30px;
    text-align: center
}

.orderButton a {
    display: inline-block;
    padding: 1px 15px;
    font-size: 14px;
    font-weight: 600;    
    color: #fff;
    background-color: #b65657;
    border-radius: 20px;
}

.orderButton a:hover {
    background-color: #d2a29a
}

.bigButton {
    margin-top: 30px;
    padding: 20px 0;
    background-color: #f2f2f2;
    text-align: center
}

.bigButton {
    margin-top: 30px;
    padding: 20px 0;
    background-color: #f2f2f2;
    text-align: center
}

.bigButton.shopCart {
    background-color: transparent
}

.bigButton a {
    display: inline-block;
    padding: 4px 25px;
    font-size: 16px;
    font-weight: 600;    
    color: #fff;
    background-color: #b65657;
    border-radius: 20px;
}

.bigButton a:hover {
    background-color: #d2a29a
}

.bigButtonIndex {
    margin-top: 30px !important;
    text-align: center
}

.bigButtonIndex a {
    display: inline-block;
    padding: 4px 25px;   
    color: #fff;
    font-size: 18px;
    background-color: #b65657;
    border-radius: 40px;
}

.bigButtonIndex a:hover {
    background-color: #d2a29a
}

.clauses_id .orderButton {
    margin-top: 30px
}

/**/

.itemAnons {
    font-size: 12px
}

.itemAnons p {
    margin-top: 15px;
}

.price {
    margin-top: 0;
    font-size: 24px !important
}

.priceOld {
    font-size: 14px;
    font-weight: 500;
    color: #c40000;
    text-decoration: line-through
}

.bottomText {
    margin-top: 40px;
    padding: 4px 20px 15px 20px;
    background-color: #f2f2f2;
}

.deliveryPrice {
    margin-top: 5px;
    margin-bottom: 20px;
    font-size: 22px
}


.itemSwitch {
    margin-top: 5px;
    text-align: center;
    font-size: 12px
}

.itemSwitch p {
    display: inline-block;
    margin: 0; padding: 0;
    margin: 0 10px;
    color: #277baa
}

.itemSwitch span {
    margin-left: 6px
}

.itemSwitch span.back {
    margin-left: 0;
    margin-right: 6px;    
}

/**/

.clausesList article, .newsList article {
    position: relative;
    margin: 20px 0 40px 0;
    padding: 20px; 40px;
    border-radius: 4px;
    background: #f2f2f2;
    overflow: hidden
}

.clausesList article.expo {
    min-height: 300px;
    background: #000
}

.clausesList article.expo figure, .clausesList article.expo figure a {
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
}

.clausesList article.expo figure {
    background-size: cover;
    background-position: center center;
    transition: .4s
}

.clausesList article.expo figure:hover {
    opacity: .5
}

.clausesList article.expo h2 {
    position: absolute;
    top: 20px; left: 20px; width: 90%;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
    pointer-events: none
}

.clausesList article.expo .expoAnounce {
    position: absolute;
    bottom: 20px; left: 20px; width: 90%;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
    pointer-events: none 
}

.clausesList article.expo figure::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
}

/**/

.photoBlock {
    margin-top: 40px
}

.photo_cat_anons {
    margin-bottom: 40px
}

.photoList article {
    position: relative;
    margin: 20px 0 40px 0;
    padding: 20px 40px;
    border-radius: 4px;
}

.flexPhotos {
    display: flex;
    justify-content: space-around;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap
}

.photoItem {
    max-width: 250px;
    margin-top: 35px;
    margin-bottom: 15px;
    text-align: center;
    vertical-align: top;
    width: 33.33%;
}

.photoItem figure, .imagesList figure {
    display: inline-block;
    position: relative;
    width: 250px;
    height: 250px;
    background-position: center center;
    background-size: cover;
    border: 5px solid #b65657;
    transition: .4s
}

.imagesList figure {
    background-size: contain !important;
    background-repeat: no-repeat;
    border: none
}

.photoItem figure:hover {
    border-color: #d2a29a;
    transform: scale(1.05)
}

.photoItem figure a {
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    border: none
}


/**/

.imagesList {
    display: inline-block;
    margin: 20px 0 10px 0;
    padding: 10px;
}

.imagesList figure {
    display: inline-block;
    position: relative;
    width: 300px;
    height: 300px;
    margin: 10px;
    background-position: center center;
    background-size: cover;
    transition: .4s
}

.imagesList figure {
    display: none
}

.imagesList figure:nth-child(1), .imagesList figure:nth-child(2), .imagesList figure:nth-child(3) {
    display: inline-block
}

.imagesList figure a {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    border-bottom: none
}

.imagesList figure:hover {
    transform: scale(1.05)
}

/**/

.error {
    position: static;
    box-shadow: 0 0 0 rgba(0,0,0,0);
}

.registration_form .error_message, .feedback_form .error_message {
    display: none !important;
    position: static;
    top: -7px !important; left: 0 !important;
    margin: 0; padding: 0;
    font-size: 13px;
    box-shadow: 0 0 0 rgba(0,0,0,0);
    background-color: transparent;
}

.error_input {
    background-color: #f5ece9;
    border-color: #d60000
}

.error.reminding_result, .errors.registration_message {
    font-size: 16px;
    font-weight: 500;
    background-color: #f2f2f2;
}

.errors.registration_message {
    background-color: transparent
}

.reminding_form {
    margin-top: 20px
}

.infofield {
    margin-bottom: 3px
}

/*  */

.map {
    margin-top: 20px;
    border: 10px solid #d9d9d9
}

.agreement {
    font-size: 12px;
    margin-bottom: 10px
}

date {
    display: block;
    margin: 10px 0;
    padding: 5px 10px;
    font-size: 13px;
    color: #666;
    text-align: center
}

/*  */

.loginForm {
    text-transform: none;
    font-weight: 400
}

.loginForm input[type='checkbox'] {
    width: auto !important;
    min-width: auto !important
}

.loginForm a {
    color: #b65657 !important;
    border-bottom-color: #b65657 !important
}

/**/

.feedback_form {
    padding: 0 10px
}

.feedback_form h2 {
    margin-top: 12px
}

/**/

.breadcrumb {
    margin-bottom: 5px;
    line-height: 1.6em;
    text-align: center
}

.catalog .shell {
    padding-bottom: 0
}

.catalog .breadcrumb span:last-child {
    display: none
}

.catalog h1 span {
    display: none
}

.catalog h1 span:last-child {
    display: inline-block
}

/**/

.shopItemText {
}

.shopItemText table {
    width: 100%;
    margin-top: 30px;
    text-align: left
}

.shopItemText table tr:nth-child(odd) {
    background-color: #f1f1f1
}

.shopItemText table tr:nth-child(even) {
    background-color: #e6e6e6
}

.shopItemText table td {
    padding: 10px 20px
}

.subSection {
    margin-bottom: 60px
}

.moreLinks {
    text-align: center;
    font-weight: 600
}

/**/

.shopList article .moreInfo {
    font-size: .9em;
    opacity: 0;
    transition: .4s
}

.shopList article:hover .moreInfo {
    opacity: 1
}

/* Подвал */

footer {
    min-height: 100px;
    font-size: 12px;
    font-weight: 500;
    line-height: 160%;
    color: rgba(255, 255, 255, 0.8);
    background-color: #1b1b25
}

footer .shell {
    padding-top: 20px;
    padding-bottom: 20px
}

footer p {
    margin-top: 5px
}

footer a {
    color: #d2a29a;
    border-bottom-style: dotted;
    border-bottom-color: rgba(210, 162, 154, 0.7)
}

footer a:hover {
    color: #ffcf01
}

footer article {
    display: inline-block;
    width: 50%;
    margin-right: -4px;
    vertical-align: top;
}

footer article:last-child {
    text-align: right
}

/* cardTable */

.tableContainer {
    max-width: 100%;
    overflow: auto;
}

table.cart {
    border-collapse: collapse;
    margin-top: 10px
}

table.cart a {
    border-bottom: none
}

table.cart thead, table.cart tr.cart_last_tr {
    color: rgb(255, 255, 255);
    background: #5a5e67 !important
}

table.cart th, table.cart td {
    padding: 5px 10px;
    text-align: center
}

table.cart th.cart_name,
table.cart td.cart_name,
table.cart td.cart_total {
    text-align: left
}

table.cart th {
    font-size: 12px
}

.cart_last_tr td {
    font-size: 18px;  
}

table.cart td.cart_img {
    padding: 5px 0;
    max-width: 80px
}

table.cart td.cart_count input {
    max-width: 60px
}

table.cart tr:nth-child(even) {
    background: #f3f3f3
}

.cart_order {
    text-align: center
}

.infofield {
    font-size: 12px;
    margin-top: 2px;
}

.cart_order input {
    margin-top: 5px !important;
    max-width: 400px
}

.cart_order input[type='submit'] {
    max-width: 320px    
}

.cart_order input[type='number'] {
    padding-right: 3px;
    padding-left: 3px;
    min-width: 60px;
    text-align: center
}

.cart_delivery_title, .cart_delivery_name, .cart_delivery_text {
    text-align: left !important;
    margin-left: 0;
    margin-top: 6px;
    font-size: 11px;
    font-style: normal;
}

.cart_delivery_name {
    font-size: 15px
}

.cart_delivery_text {
    margin-bottom: 6px
}

/* navCard */

.cart_block span.cardCount {
    display: inline-block;
    margin: 4px 0 0 3px;
    padding: 2px 0;
    min-width: 18px;
    height: 18px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 100%;
    text-align: center;
    vertical-align: top;
    color: #da317f;
    background: #f3f3f3;
    text-shadow: none
}

.js_cart_block_form.cart_block_form.ajax {
    display: none !important
}

a.textButton {
    display: inline-block;
    font-weight: 500;
    padding: 5px 10px 6px 10px;
    color: rgb(255, 255, 255);
    background: rgb(42, 42, 42);
    border-radius: 2px;
    text-decoration: none
}

a.textButton:hover {
    color: rgb(255, 255, 255);
    background: #da317f
}

.noBuy .buyButton {
    display: none !important
}

/**/

.idContent {
    padding-bottom: 30px;
    text-align: center
}

.idContent input.number  {
    position: relative;
    top: 1px;
    max-width: 80px;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 20px 0 0 20px;
    text-align: center
}

.idContent input[type='button'] {
    display: inline-block;
    margin-top: 10px;
    padding: 4px 15px 6px 15px;
    width: 160px;
    font-size: 14px;
    font-weight: 600;    
    color: #fff;
    background-color: #b65657;
    border-radius: 0 20px 20px 0;
    cursor: pointer
}

.idContent input[type='button']:hover {
    background-color: #d2a29a
}