.adaptive_image.invalid .adaptive_image_loader { display: none }
.adaptive_image.invalid { 
    background-image: url(../img/watermark.png); 
    background-size: auto !important;
    background-position: center;
    background-repeat: no-repeat;
}

.adaptive_image .adaptive_image_loader > div {
    border: 4px solid #EA0009;
    border-left: 4px solid black;
}
        
        
iframe[name=google_conversion_frame] { display: none }

.fb_iframe_widget {
    display: block !important;
    overflow: hidden;
}
.page_loader {
    position: fixed;
    top: 50%;
    left: 50%;         
    transform: translate(-50%, -50%);
}
.page_loader > div {
    width: 90px;
    height: 90px;
    border-radius: 50%;
}
.page_loader > div:after {
    content: "";
    position: absolute;
    display: block;
    width: 78px;
    height: 78px;
    border: 4px solid #EA0009;
    border-left: 4px solid black;
    border-radius: 50%;
    top: 2px;
    left: 2px;
    animation: rotate 1.1s infinite linear;  
}

@keyframes rotate {
  0% { transform: rotate(0deg)  }
  100% { transform: rotate(360deg) }
}

.max_width {
    max-width: 1300px;
    margin: auto;
    padding-left: 10px;   
    padding-right: 10px;
}

.caption {
    font-size: 22px;
    font-weight: 400;
    margin: 0;
    color: white;
    text-transform: uppercase;
    margin-bottom: 40px;
    position: relative;  
    height: 50px; 
    margin-right: 20px;
    background-color: #d4171b; 
    margin-left: -20px;
    margin-right: -20px;
}
.caption:after {
    content: "";
    position: absolute;
    left: 100%;
    border-top: 50px solid #d4171b; 
    border-right: 20px solid transparent;
}

.caption > span { 
    position: relative;
    display: inline-block;
    background-color: black;
    line-height: 50px;
    padding: 0 50px;
    color: white;
}
.caption > span:after {
    content: "";
    position: absolute;
    left: 100%;
    border-top: 50px solid black; 
    border-right: 20px solid transparent;
}
.caption > span:before {
    content: "";
    position: absolute;
    left: -20px;
    top: 0;
    border-bottom: 50px solid black; 
    border-left: 20px solid transparent;
    z-index: 3;
}
.page_banner {
    padding-top: 20%;  
    position: relative;    
    background-position: center;
    background-size: cover;
    margin-bottom: 10px;
}
.page_banner > div {
    left: 0;
    right: 0;
    bottom: 0;    
}
.page_banner > div > * {
    max-width: 1300px;    
    margin: auto;
}
.logo_banner {
    position: relative;
    padding-top: 32px;
    border-bottom: 1px solid silver;
    margin-bottom: 40px;    
}
.logo_banner .thumbnail {
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, -50%);    
    border: 1px solid silver;
    background-color: white;
}



.message {
    margin: 10px 0;
    padding: 10px 5px;
    font-size: 16px;
    text-align: center;
}
.message:empty {
    display: none;    
}

.message.info {
    background-color: rgb(240, 240, 240);
    border: 1px solid silver;
}

.message.error {
    background-color: rgba(139, 0, 0, 0.2);
    border: 1px solid rgba(139, 0, 0, 0.4);
    color: darkred;    
}

.required {
	display: inline-block;
	color: darkred;
	padding-right: 2px;
}

.button, .overlay_button, .cart_button {
    -webkit-appearance: none;
    font: inherit;
    font-size: inherit;
	background-color: #d4171b;
    background-image: url(../img/button-back.jpg);
    background-position: center;
    border: 0;
	color: white;
	display: inline-block;
	height: 40px;
    line-height: 40px;
	cursor: pointer;
	padding: 2px 20px;
	text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
	outine: 0;
    transition: background-position 400ms;
}
.button:not(.no_hover):hover, .overlay_button:hover, .cart_button:hover {
    background-position: left center;
}
button.button, input.button, button.overlay_button, input.overlay_button {  
    line-height: 25px;
    border: 0;
}

.button.small { 
    line-height: 20px;
    padding: 2px 10px;
    height: 20px;
    font-size: 0.8em;
}
button.button.small { 
    line-height: 16px;    
}


.acontrol {
    height: 30px;
    padding: 0 10px;
}
.ac_border {
	background: white;
	border: 1px solid silver;
	border-radius: 2px;	
}
.acs_button { width: 30px }
.ac_items { font-size: 12px; margin-left: 0; box-shadow: none }
.acs_main *, .ac_item * { display: inline-block; vertical-align: middle }

.expander {
    cursor: pointer;
    background-color: #fcd21e;     
    font-size: 16px;
    font-weight: normal;
    padding: 7px 10px; 
    position: relative;
    text-decoration: none !important;
    margin-bottom: 10px;
    margin-left: -10px;
    margin-right: -10px;
}
.expander:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 40px;
    background-color: #d6b122;
    background-image: url(../img/arrow-bd.png);
    background-position: center;
    background-repeat: no-repeat;
    transition: background-color 200ms;
}

.expander:hover:after {
    background-color: #fcd21e; 
}
.expander.expanded:after {
    background-image: url(../img/arrow-bu.png);
}


.paginator { 
    text-align: center;
    margin-bottom: 20px;
}
.paginator > * {
    cursor: pointer;
    color: black;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    line-height: 30px;
    border-radius: 2px;
    height: 30px;
    min-width: 30px;
    background-repeat: no-repeat;
    background-position: center;
    text-decoration: none !important;
}
.paginator_page { border: 1px solid silver }
.paginator_page:hover { background-color: #f5f5f5 }
.paginator_next { background-image: url(../img/arrow-br.png) }
.paginator_prev { background-image: url(../img/arrow-bl.png) }

.site_popup .overlay_popup {                  
    background-color: rgba(255,255,255,0.2);
	border-radius: 4px;
	border-radius: 4px;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75);
	padding: 6px;
}

.site_popup .overlay_header {
	background-color: #2e2e2e;
	font-size: 18px;
	color: white;
    height: 30px;
    overflow: hidden;
	padding: 3px 10px;
}

.site_popup .overlay_main {
	border: 1px solid #c4c4c4;
	background-color: white;
	border-top: 0;
    padding: 0;
}

.site_popup .overlay_popup.overlay_noheader .overlay_main {
	border-top: 1px solid #c4c4c4;
}
.site_popup .overlay_controls {
    position: absolute;
    top: 6px;
    right: 6px;
    background-color: black; 
    height: 36px;   
}
.site_popup .overlay_buttons input + input {
    margin-left: 20px;    
}
.site_popup .overlay_control_max { display: none }
.site_popup .overlay_control_close {
	background-image: url(../img/close.png);
    background-position: center;
    background-repeat: no-repeat;
    display: block;
    width: 36px;
    height: 36px;
}
.site_popup .overlay_content {
	margin: 0;	
    padding: 10px 5px;
}





.image_list {
    position: relative;    
}
.image_list > a {
    cursor: pointer;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 20px;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.7;
    transition: background-color 200ms linear;     
}
.image_list > a.disabled { opacity: 0.4; cursor: default }
.image_list > a:not(.disabled):hover {
    background-color: #e8e8e8;
    opacity: 1;
}
.image_list_prev {
    left: 0;
    background-image: url("../img/arrow-bl.png"); 
}
.image_list_next {
    right: 0;
    background-image: url("../img/arrow-br.png"); 
}
.image_list > div {
    margin: 0 30px;    
}
.image_list li {
    cursor: pointer;  
    text-align: center;
    
}

.site_popup_image {
	background-color: white;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	top: 20px;
	bottom: 20px;
	left: 20px;
	right: 20px;
}

.slideshow_cont {
    overflow: hidden;
    position: relative;  
}
.slideshow_cont > a {
    position: absolute;
    top: 0;
    cursor: pointer;
    z-index: 300;
    bottom: 0;
    cursor: pointer;
    width: 50px;    
}
.slideshow_cont > a:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);  
}
.slideshow_prev { left: 0 }
.slideshow_prev:after { background-image: url(../img/slideshow-prev.png) }
.slideshow_next { right: 0 }
.slideshow_next:after { background-image: url(../img/slideshow-next.png) }


.slideshow_bullets {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;    
    z-index: 100;    
    text-align: center;
}
.slideshow_bullets a {
    display: inline-block;
    cursor: pointer;
    width: 18px;
    height: 18px;
    border: 3px solid #fcd21e;
    border-radius: 50%;
}
.slideshow_bullets a + a {
    margin-left: 20px;    
}
.slideshow_bullets a:hover {
    border-color: white;    
}
.slideshow_bullets a.active {
    background-color: #fcd21e;    
}


.product_item {
    text-align: center;
    margin-bottom: 40px;
    position: relative;
}
.product_item_image {
    padding-top: 66%;
    margin-bottom: 10px;
}
.product_item > a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;    
}
.product_item h2 {
    margin: 0;
    font-size: 20px;
    color: black;  
    height: 28px;
    overflow: hidden;  
    text-overflow: ellipsis;
}
.product_item_desc  {
    font-size: 14px;
}
.product_item_tag {
    position: absolute;
    top: 5px;
    right: 0px;    
    width: 113px;
    height: 108px;
    background-image: url(../img/product-tag.png);
    color: black;
    z-index: 10;
}
.product_item_tag > span {
    color: black;
    font-size: 25px;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);    
}




.product_list ul {
    margin: 0;
    padding: 0;
    list-style: none outside none;
    display: block;
    overflow: auto;
}
.product_list ul > li {
    float: left;
    width: 20%;    
}


.list ul {
    margin: 0;
    padding: 0;
    list-style: none outside none;
    display: block;
    overflow: auto;
}
.list ul > li {
    float: left;
    width: 20%;    
    height: 320px;
    overflow: hidden;
}

.list_item {
    margin-bottom: 40px;
    position: relative;
}
.list_item_logo {
    position: relative;
    padding-top: 32px;
    border-bottom: 1px solid silver;
    margin-bottom: 40px;    
}
.list_item_logo .thumbnail {
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translate(-50%, -50%);    
    border: 1px solid silver;
    background-color: white;
}
.list_item_image {
    padding: 10px;
    margin-bottom: 10px;    
}
.list_item_image .adaptive_image {
    padding-top: 66%;
}
.list_item > a {
    display: block;
}

.list_item h3 {
    margin: 0;
    font-size: 18px;
    color: white;  
    height: 40px;
    line-height: 40px;
    overflow: hidden; 
    text-align: center; 
    text-overflow: ellipsis;
    background-color: #fd5900;
    margin-bottom: 10px;
}
.list_item h3 a {
    text-decoration: none;
    color: white;    
}
.list_item_desc  {
    font-size: 14px;
}
.list.with_logos h3 { display: none }


.product_slider .product_item { 
    max-width: 135px;
    margin: auto;
}
    
    
.catalog_list_options {
    font-size: 12px;    
    color: black;
    padding-bottom: 5px;
    line-height: 23px;
    margin-bottom: 25px;
    overflow: hidden;
}
.catalog_list_options_left { float: left }
.catalog_list_options_right { float: right }
.catalog_list_options_stat { 
    line-height: 32px;
}
.catalog_list_options fieldset { 
    border: 0;
    margin: 0;
    padding: 0;  
    display: inline-block;  
    vertical-align: middle;    
}
.catalog_list_options fieldset > * {
    display: inline-block;
    vertical-align: middle;    
}
.catalog_list_options fieldset + fieldset { margin-left: 10px }
.catalog_list_options fieldset > label { margin-right: 5px }
.catalog_list_footer { text-align: center }


.catalog_filter_imagelist li.acl_item {
    border: 1px solid #afafaf;
    display: inline-block;
    margin-right: 5px;
    overflow: hidden;
    vertical-align: top;
    padding: 0;  
    margin-bottom: 5px;
}
.catalog_filter_imagelist .ac_bullet { display: none }
.catalog_filter_imagelist li.ac_disabled { opacity: 0.3 }
.catalog_filter_imagelist li.ac_checked { border-color: #3337A2 }

.catalog_filter_colorlist li.acl_item {
    border: 1px solid #afafaf;
    display: inline-block;
    margin-right: 5px;
    overflow: hidden;
    vertical-align: top;
    padding: 0;  
    margin-bottom: 5px;
}
.catalog_filter_colorlist li.acl_item > div { width: 25px; height: 25px }
.catalog_filter_colorlist .ac_bullet { display: none }
.catalog_filter_colorlist li.ac_disabled { opacity: 0.3 }
.catalog_filter_colorlist li.ac_checked { border-color: #3337A2 }

.product_property_imagelist {
    list-style: none outside none;
    overflow: hidden;
    margin: 0;
    padding: 0;    
}
.product_property_imagelist li {
    overflow: hidden;
    position: relative;  
    float: left;
    margin-bottom: 10px;
    cursor: pointer;
}
.product_property_imagelist li div.adaptive_image {
    padding-top: 80%;
    border: 2px solid #ddd;
}

.product_property_imagelist li label {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    font-size: 10px;
    background-color: rgba(255,255,255,0.5);
    padding: 5px;
    color: black;
    z-index: 20;
    font-size: 13px;
    text-align: center;
}

.product_property_imagelist li.selected div.adaptive_image { 
    border-color: #fcd21e;
}
.product_property_imagelist li.selected label {
    background-color: rgba(252, 210, 30, 0.5);
} 

.slider {
    position: relative;
    margin-bottom: 20px;
}
.slider > div {
    margin: 0 40px;    
}
.slider > a {
    position: absolute;    
    cursor: pointer;
    top: 0;
    bottom: 0;
    width: 40px;
    background-repeat: no-repeat;
    background-position: center center;
}
.slider > a:hover {
    filter: brightness(0%);
}
.slider_next {
    right: 0;
    background-image: url(../img/arrow-br.png);
}
.slider_prev {
    left: 0;
    background-image: url(../img/arrow-bl.png);  
}
.slider .carousel_item > .product_item {
    width: 90%;
    margin: auto;    
}


.product_table .overlay_content {
    margin: 0;
}              

.product_table table {
    width: 100%;
    border-spacing: 2px;
    table-layout: fixed;
}

.button_list {
    margin-left: -10px;
    margin-right: -10px;    
}
.button_list .button {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
}

.side_menu, .side_menu ul {
    list-style: none outside none;
    margin: 0;
    padding: 0;
}
.side_menu {
    margin-bottom: 20px;
}
.side_menu li { position: relative }
.side_menu a, side_menu span {
    text-decoration: none;
    color: #666;    
    transition: color 300ms;
}
.side_menu a:hover {
    color: black;    
    text-decoration: none;
}
.side_menu li.active > a, .side_menu li.active > span {
    color: black; 
    font-weight: bold;
}
.side_menu ul > li.active:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -20px;
    bottom: 0;
    width: 20px;
    background-image: url(../img/arrow-bsr.jpg);
    background-repeat: no-repeat;
    background-position: center;     
}
.side_menu > li > a, 
.side_menu > li > span { 
    display: block;
    font-size: 18px;
    margin: 0 -20px;
    padding: 5px 20px;
    border-bottom: 1px solid silver;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: normal !important;
}

.google_map {
    position: relative; 
    border: 1px solid #ccc;
    margin-bottom: 5px; 
}
.google_map:before {
    content: "";    
    display: block;
    padding-top: 60%;
}

.google_map_canvas {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.google_map_popup {
    position: absolute; 
    background-color: white; 
    z-index: 1000; 
    top: 0;
    display: none;
    border: 1px solid #ccc; 
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75);
    font-size: 12px;
    padding: 5px;
}

.google_map_title {
    color: #2B2D62;
    font-weight: bold;
    padding-bottom: 2px;
}

.property_list {
    list-style: none outside none;
    margin: 0;
    padding: 0 10px;    
}
.property_list li {
    margin-bottom: 10px;
    overflow: auto;    
}
.property_list li .thumbnail {
    float: left;
    margin-right: 10px;
}

.property_list li p,
.property_list li h3 {
    margin-left: 70px;    
}




.search_form {
}
.search_form fieldset {
    border: 0;
    padding: 0;
    background: 0;
    margin: 0;
    margin-right: 75px;    
}
.search_form button { float: right }

.search_form input {
    height: 30px;
    border: 1px solid silver;
    border-radius: 2px;
    padding: 0 10px; 
    box-sizing: border-box;
    width: 100%;
}

.gallery_image {
    margin-bottom: 20px;    
}
.gallery_image > span {
    display: block;
}
.gallery_image .magnifier {
    border: 1px solid silver;
    background-color: white;    
}
.gallery .image_list li > a {
    display: inline-block;
    border: 1px solid silver;
    border-radius: 2px;
    padding: 2px;
}
.gallery .image_list li > a:hover {
    border-color: #2e2e2e;
}

.size_select .acl_item {
    padding: 0;
    display: inline-block;    
    background-image: none !important;
    width: 36px;
    height: 36px;
    text-align: center;
    margin-right: 4px;
    margin-bottom: 6px;
    font-family: "Calibri";
    font-size: 14px;
    border: 1px solid #afafaf;
    border-radius: 50%;
    color: black;
    position: relative;
}
.size_select .acl_item > span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);    
}
.size_select .acl_item .ac_bullet { display: none }
.size_select .acl_item.ac_checked { color: black; background-color: #eee }
.size_select .acl_item.ac_disabled { cursor: auto; opacity: 0.5 }
.size_select .acl_item:not(.ac_disabled):hover { background-color: #edf4fd }


@media(max-width: 550px) {
    .catalog_list_options_left, .catalog_list_options_right { float: none }
    .catalog_list_options_right fieldset:nth-child(2) { float: right }
    .catalog_list_options fieldset > * { display: block }
    .catalog_list_options_left { margin-bottom: 10px }
    .catalog_list_options_left fieldset { display: block }
    .catalog_list_options_left .acontrol { width: auto !important }
}
