/* ---- ---- ---- ---- ---- ---- ---- ---- */
html, body { background: #f1f5f8; font-size: 15px; color: #2f353c; width: 100%; height: 100%; }
dl, li, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, body, html, blockquote, input, textarea, select, button, a { margin: 0; padding: 0; outline: none; font-family: 'Source Sans Pro', sans-serif; }
img { border: 0; vertical-align: top; } a { color: #2b4c8f; text-decoration: none; } a:hover { text-decoration: underline; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.reset { margin: 0; padding: 0; list-style: none; }
select:not(.ignore-nice-select) { display: none; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.button { display: inline-block; cursor: pointer; border: none; transition: all .3s; font-weight: 500; border-radius: 4px; font-size: 15px; }
.button:hover { text-decoration: none; }
.button.buttonBlock { padding: 0; text-align: center; display: block; width: 100%; box-sizing: border-box; }
.button.buttonSmall { height: 32px; line-height: 32px; padding: 0 15px; }
.button.buttonMedium { height: 44px; line-height: 44px; padding: 0 20px; }
.button.buttonLarge { height: 50px; line-height: 50px; padding: 0 25px; }
.button.buttonGreen { background: #00aa95; color: #fff; }
.button.buttonGreen:hover { background: #019d8a; }
.button.buttonRed { background: #0bac96; color: #fff; }
.button.buttonRed:hover { background: #333; }
.button.buttonGrey { background: #333; color: #fff; }
.button.buttonGrey:hover { background: #222; }
.buttonPodbor { padding: 20px; font-size: 15px; border: 2px dashed #0bac96; color: #0bac96; font-weight: 500; display: block; transition: all .3s; margin-bottom: 30px; }
.buttonPodbor:hover { color: #fff; background: #0bac96; border: 2px solid #0bac96; text-decoration: none; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.containerProfile { padding: 20px 100px; display: inline-block; width: 100%; box-sizing: border-box; }
.containerProfile label { width: 100%; float: left; margin-bottom: 15px; }
.containerProfile .form--single label { width: 100%; float: left; }
.containerProfile .form--double label { width: 49%; float: left; }
.containerProfile .form--double label:last-child { float: right; }
.containerProfile .form--input { width: 100%; height: 44px; border: 1px solid rgba(39,86,134,0.2); border-radius: 3px; box-sizing: border-box; padding: 0 12px; line-height: 44px; font-size: 14px; }
.containerProfile .form--textarea { width: 100%; height: 130px; border: 1px solid rgba(39,86,134,0.2); border-radius: 3px; box-sizing: border-box; padding: 12px; font-size: 14px; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.containerArticle--container { width: calc(100% + 30px); left: -15px; position: relative; display: inline-block; padding-top: 10px; }
.containerArticle { float: left; width: 33.3333%; padding: 0 15px; margin-bottom: 15px; box-sizing: border-box; }
.containerArticle .containerArticle--content { position: relative; padding: 20px; border: 1px solid #ddd; border-radius: 4px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.containerArticle .containerArticle--image { width: 100%; height: 180px; background-size: cover !important; display: block; }
.containerArticle .containerArticle--present { padding-top: 20px; }
.containerArticle .containerArticle--present .present--title { padding: 0 0 10px 0; font-size: 18px; font-weight: 500; min-height: 46px; }
.containerArticle .containerArticle--present .present--date { color: #6d7681; padding-bottom: 10px; }
.containerArticle .containerArticle--present .present--intro { color: #666; line-height: 18px; }
.containerArticle .containerArticle--present .present--more { padding-top: 10px; }

@media screen and (max-width: 900px){
    .containerArticle { width: 50%; }
}

@media screen and (max-width: 600px){
    .containerArticle { width: 100%; }
}

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.containerPost { position: relative; padding: 10px 0; }
.containerPost .containerPost--image { width: 100%; display: inline-block; position: relative; margin-bottom: 10px; }
.containerPost .containerPost--image img { max-width: 100%; }
.containerPost .containerPost--content { position: relative; font-size: 14px; }
.containerPost .containerPost--information { padding-top: 15px; margin-top: 15px; border-top: 2px solid #eff2f7; overflow: hidden; }
.containerPost .containerPost--information .information--date { float: left; margin-right: 30px; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.containerCookies { position: fixed; left: 0; bottom: 0; width: 100%; background: rgba(0,0,0,0.9); color: rgba(255,255,255,0.8); z-index: 500; padding: 25px 0; display: none; }
.containerCookies .containerCookies--button { float: right; width: 160px; }
.containerCookies .containerCookies--button a { border: 2px solid rgba(255,255,255,0.8); border-radius: 4px; height: 38px; line-height: 38px; color: #fff; text-decoration: none; font-weight: 400; font-size: 14px; display: block; text-align: center; width: 100%; transition: all .2s; }
.containerCookies .containerCookies--button a:hover { background: rgba(255,255,255,0.2); }
.containerCookies .containerCookies--present { margin-right: 160px; padding-right: 40px; line-height: 21px; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.containerCategories { position: relative; margin-bottom: 25px; background: #f1f5f8; }
.containerCategories:last-child { margin-bottom: 0; }
.containerCategories .containerCategories--title { font-size: 15px; font-weight: 500; padding: 15px 20px; border-bottom: 2px solid #eff2f7; color: #000; }
.containerCategories .containerCategories--content { position: relative; }
.containerCategories .containerCategories--content.padding { padding: 20px; }
.containerCategories .containerCategories--content a { display: block; padding: 14px 20px; border-bottom: 1px solid #eff2f7; color: #6d7681; text-decoration: none; font-weight: 500; position: relative; transition: all .2s; }
.containerCategories .containerCategories--content a:last-child { border-bottom: none; }
.containerCategories .containerCategories--content a:hover { background: rgba(0,0,0,0.02); }
.containerCategories .containerCategories--content a.active { background: rgba(0,0,0,0.02); }
.containerCategories .containerCategories--content ul li.active a{ background: rgba(0,0,0,0.02); }
.containerCategories .containerCategories--content ul li ul li a { padding: 11px 20px; font-weight: 400; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.containerPagination { text-align: center; padding-top: 20px; width: 100%; display: inline-block; }
.containerPagination .containerPagination--element { height: 32px; padding: 0 15px; border: 1px solid #ddd; border-radius: 2px; line-height: 32px; margin: 0 2px 4px 2px; display: inline-block; color: #666; text-decoration: none; transition: all .2s; cursor: pointer; }
.containerPagination .containerPagination--element.current { background: #0bac96; border-color: #0bac96; color: #fff; }
.containerPagination .containerPagination--element.current:hover { background: #0bac96; }
.containerPagination .containerPagination--element:hover { background: #f9f9f9; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.containerSorting { padding: 15px 25px; background: #f1f5f8; }
.containerSorting .containerSorting--title { display: inline-block; margin-right: 10px; color: #000; font-weight: 500; }
.containerSorting a { display: inline-block; margin-right: 10px; padding-right: 10px; border-right: 1px solid #ddd; color: #666; }
.containerSorting a.active { color: #c94242; }
.containerSorting a:last-child { margin-right: 0; padding-right: 0; border-right: none; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.filters--block .filters--block--title { padding: 15px 20px; color: #000; font-weight: 600; position: relative; background: #f1f5f8; cursor: pointer; font-size: 15px; }
.filters--block .filters--block--title i { position: absolute; top: 20px; right: 20px; transition: all .2s; border: solid black; border-width: 0 2px 2px 0; display: inline-block; padding: 2px; transform: rotate(45deg); }
.filters--block .filters--block--title.rotate i { transform: rotate(223deg); }
.filters--block .filters--block--content { padding: 15px 20px 15px 20px; border-bottom: 1px solid #eee; display: block; position: relative; }
.filters--block .filters--block--content .filters--block--content--slider { margin: 5px 0 15px 0; position: relative; }
.filters--block .filters--block--content .filters--block--content--slider .filters--block--slider { height: 5px; background: rgba(0,0,0,0.1); border-radius: 40px; }
.filters--block .filters--block--content.slider { display: block; }
.filters--block .filters--block--content .ui-slider-range { position: absolute; height: 5px; background: #0bac96; }
.filters--block .filters--block--content .ui-slider-handle { cursor: pointer; width: 13px; height: 13px; background: #fff; border: 2px solid #0bac96; border-radius: 3px; box-sizing: border-box; position: absolute; outline: none; top: -4px; margin-left: -1px; }
.filters--block .filters--block--content .ui-slider-handle:last-child { margin-left: -12px; }
.filters--block .filters--block--content .filters--price { float: left; width: 48%; }
.filters--block .filters--block--content .filters--price input { width: 100%; text-align: center; height: 36px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; font-size: 13px; }
.filters--block .filters--block--content .filters--price.right { float: right; }
.filters--block .filters--block--content .filters--button { padding-top: 10px; width: 100%; display: inline-block; }
.filters--block .filters--block--content label input[type="checkbox"] { margin: 0; padding: 0; }
.filters--block .filters--block--content label { width: 100%; display: inline-block; margin-bottom: 5px; cursor: pointer; }
.filters--block .filters--block--content label:last-child { margin-bottom: 0; }
.filters--block .filters--block--content label .title { padding-left: 10px; position: relative; height: 18px; line-height: 18px; }
.filters--block .filters--block--content label .count { float: right; position: relative; height: 18px; line-height: 18px; }
.filters--block .filters--block--content label input { display: none; }
.filters--block .filters--block--content label input:checked + .checkbox { border-color: #000; }
.filters--block .filters--block--content label input:checked + .checkbox::after { display: block; }
.filters--block .filters--block--content label .checkbox { width: 18px; height: 18px; position: relative; border-radius: 2px; background: #fff; border: 1px solid #ccc; box-sizing: border-box; display: inline-block; vertical-align: top; }
.filters--block .filters--block--content label .checkbox::after { display: none; content: ''; position: absolute; width: 8px; height: 8px; background: #000; top: 4px; left: 4px; }
.filters--submit { padding: 15px 20px; }

/* ---- ---- ---- ---- ---- ---- ---- ---- */
.windowGenerated { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 900; display: none; }
.windowGenerated .windowGenerated--container { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 3px; box-sizing: border-box; width: 380px; margin: auto; height: auto; }
.windowGenerated .windowGenerated--container .windowGenerated--close { position: absolute; top: 5px; right: 15px; font-size: 30px; cursor: pointer; }
.windowGenerated .windowGenerated--container .windowGenerated--title { font-size: 16px; font-weight: 500; color: #000; padding: 30px 40px 20px 40px; }
.windowGenerated .windowGenerated--container .windowGenerated--content--button { padding: 10px 40px; }
.windowGenerated .windowGenerated--container .windowGenerated--label { width: 100%; display: inline-block; padding: 10px 40px; box-sizing: border-box; border-bottom: 1px solid #eee; position: relative; }
.windowGenerated .windowGenerated--container .windowGenerated--label.policy { padding: 20px 40px 10px 40px; border-bottom: none; }
.windowGenerated .windowGenerated--container .windowGenerated--label .title { position: absolute; top: 7px; left: 35px; padding: 2px 7px; background: #fff; }
.windowGenerated .windowGenerated--container .windowGenerated--label .windowGenerated--text { width: 100%; height: 40px; border: 1px solid #ddd; border-radius: 2px; line-height: 40px; box-sizing: border-box; padding: 0 12px; font-size: 13px; }
.windowGenerated .windowGenerated--container .windowGenerated--label .windowGenerated--area { width: 100%; height: 76px; border: 1px solid #ddd; border-radius: 2px; box-sizing: border-box; padding: 12px; font-size: 13px; }
.windowGenerated .windowGenerated--container .windowGenerated--label .windowGenerated--checkbox { width: 16px; height: 16px; }
.windowGenerated .windowGenerated--container .windowGenerated--label .checkbox_title { line-height: 18px; position: relative; top: -1px; padding-left: 2px; }
.windowGenerated .windowGenerated--container .windowGenerated--message { padding: 20px; text-align: center; }
.windowGenerated .windowGenerated--container .windowGenerated--content { position: relative; }
.windowGenerated .windowGenerated--container .windowGenerated--loader { position: absolute; width: 100%; height: 100%; background: rgba(255,255,255,0.8); z-index: 100; display: none; }
.windowGenerated .windowGenerated--container .windowGenerated--loader img { width: 43px; height: 11px; position: absolute; top: 0; right: 0; left: 0; bottom: 0; margin: auto; }

.frame { position: absolute; top: 50%; left: 50%; width: 400px; height: 400px; margin-top: -200px; margin-left: -200px; border-radius: 2px; display: none; }
.center { position: absolute; width: 220px; height: 220px; top: 90px; left: 90px; }
.dot-1 { position: absolute; z-index: 3; width: 30px; height: 30px; top: 95px; left: 95px; background: #fff; border-radius: 50%; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation: jump-jump-1 2s cubic-bezier(0.21, 0.98, 0.6, 0.99) infinite alternate; animation: jump-jump-1 2s cubic-bezier(0.21, 0.98, 0.6, 0.99) infinite alternate; }
.dot-2 { position: absolute; z-index: 2; width: 60px; height: 60px; top: 80px; left: 80px; background: #fff; border-radius: 50%; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation: jump-jump-2 2s cubic-bezier(0.21, 0.98, 0.6, 0.99) infinite alternate; animation: jump-jump-2 2s cubic-bezier(0.21, 0.98, 0.6, 0.99) infinite alternate; }
.dot-3 { position: absolute; z-index: 1; width: 90px; height: 90px; top: 65px; left: 65px; background: #fff; border-radius: 50%; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation: jump-jump-3 2s cubic-bezier(0.21, 0.98, 0.6, 0.99) infinite alternate; animation: jump-jump-3 2s cubic-bezier(0.21, 0.98, 0.6, 0.99) infinite alternate; }

@-webkit-keyframes jump-jump-1 {
    0%, 70% { box-shadow: 2px 2px 3px 2px rgba(0, 0, 0, 0.2); -webkit-transform: scale(0); transform: scale(0); }
    100% { box-shadow: 10px 10px 15px 0 rgba(0, 0, 0, 0.3); -webkit-transform: scale(1); transform: scale(1); }
}

@keyframes jump-jump-1 {
    0%, 70% { box-shadow: 2px 2px 3px 2px rgba(0, 0, 0, 0.2); -webkit-transform: scale(0); transform: scale(0); }
    100% { box-shadow: 10px 10px 15px 0 rgba(0, 0, 0, 0.3); -webkit-transform: scale(1); transform: scale(1); }
}
@-webkit-keyframes jump-jump-2 {
    0%, 40% { box-shadow: 2px 2px 3px 2px rgba(0, 0, 0, 0.2); -webkit-transform: scale(0); transform: scale(0); }
    100% { box-shadow: 10px 10px 15px 0 rgba(0, 0, 0, 0.3); -webkit-transform: scale(1); transform: scale(1); }
}
@keyframes jump-jump-2 {
    0%, 40% { box-shadow: 2px 2px 3px 2px rgba(0, 0, 0, 0.2); -webkit-transform: scale(0); transform: scale(0); }
    100% { box-shadow: 10px 10px 15px 0 rgba(0, 0, 0, 0.3); -webkit-transform: scale(1); transform: scale(1); }
}
@-webkit-keyframes jump-jump-3 {
    0%, 10% { box-shadow: 2px 2px 3px 2px rgba(0, 0, 0, 0.2); -webkit-transform: scale(0); transform: scale(0); }
    100% { box-shadow: 10px 10px 15px 0 rgba(0, 0, 0, 0.3); -webkit-transform: scale(1); transform: scale(1); }
}
@keyframes jump-jump-3 {
    0%, 10% { box-shadow: 2px 2px 3px 2px rgba(0, 0, 0, 0.2); -webkit-transform: scale(0); transform: scale(0); }
    100% { box-shadow: 10px 10px 15px 0 rgba(0, 0, 0, 0.3); -webkit-transform: scale(1); transform: scale(1); }
}

.orderDelivery--blocks { display: flex; flex-wrap: wrap; margin: 20px 0; }
.orderDelivery--blocks .orderDelivery--info { display: flex; flex-direction: column; width: 33.33%; align-items: center; padding: 20px; box-sizing: border-box; border-right: 1px solid #ededed; }
.orderDelivery--blocks .orderDelivery--info.wdth25 { width: 25%; }
.orderDelivery--blocks .orderDelivery--info:last-child { border-right: none; }
.orderDelivery--blocks .orderDelivery--info .orderDelivery--img img { width: 64px; height: 64px; }
.orderDelivery--blocks .orderDelivery--info .orderDelivery--text { text-align: center; margin-top: 20px; }
.orderDelivery--blocks .orderDelivery--info .orderDelivery--text a { text-decoration: none; color: inherit; }
.orderDelivery--blocks .orderDelivery--info .orderDelivery--text .topText { text-transform: uppercase; font-weight: bold; margin-bottom: 5px; }
.orderDelivery--blocks .orderDelivery--info .orderDelivery--text .bottomText {  line-height: 21px; }

.pagePhotos.wide ul li { width: 390px; }
.pagePhotos { direction: ltr; position: relative; text-align: center; width: 100%; overflow: hidden; }
.pagePhotos ul li { display: inline-block; vertical-align: top; width: 250px; padding: 10px; border: 1px solid #f1f1f1; box-sizing: border-box; margin: 10px; position: relative; }
.pagePhotos ul li img { max-width: 100%; }
.pagePhotos ul li:hover { border-color: #1276b3; }
.pagePhotos ul li h3 { font-size: 13px; font-weight: 600; padding-top: 10px !important; }
.pagePhotos ul li a { text-decoration: none; }
.pagePhotos ul li e { display: block; padding-top: 10px; color: #666; }

.pageNachHover { opacity: 0; visibility: hidden; transition: all .6s; -webkit-transform: scale(0); transform: scale(0); position: absolute; top: 10px; left: 10px; right: 10px; bottom: 38px; background: rgba(109,70,139,0.8); text-align: center; font-size: 14px; font-weight: 300; color: #fff; padding: 100px 40px 40px 40px; box-sizing: border-box; }
.pageNach ul li:hover > .pageNachHover { opacity: 1; visibility: visible; -webkit-transform: scale(1); transform: scale(1);  }