.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;
}

.overlay_header {
    font-size: 18px;
    font-weight: 400;
    margin: 0;
    color: white;
    text-transform: uppercase;
    padding: 5px 10px;
    background-color: #d4171b;     
    height: 26px;
}
.overlay_popup {
    background-color: white;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3); 
}        
        
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-weight: 400;
    margin: 0;
    color: white;
    text-transform: uppercase;
    margin-bottom: 20px;
    position: relative;  
    padding: 5px 10px;
    background-color: #d4171b; 
}

.page_banner {
    padding-top: 10%;  
    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;
}

.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: 35px;
    line-height: 35px;
	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 > * { display: inline-block; vertical-align: middle }

.button.small { 
    line-height: 20px;
    padding: 2px 10px;
    height: 20px;
    font-size: 0.8em;
}
button.button.small { 
    line-height: 16px;    
}
.button.gray {
    background-color: #9E9E9E;
    background-image: none;    
}
.button.red { 
    background-color: #d4171b;
    background-image: none;    
}
.button.green { 
    background-color: #6AB30A;
    background-image: none;    
}
.button.block { 
    display: block;
    margin-bottom: 10px;
}


.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;
    height: 30px;
    min-width: 30px;
    background-repeat: no-repeat;
    background-position: center;
    text-decoration: none !important;
}
.paginator_page { background-color: white }
.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 li > a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    cursor: pointer;    
}

.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;    
}
   
                    
.list table {
    width: 100%;
    border-spacing: 0 10px;
}
.list_item {
    margin-bottom: 10px;
    position: relative;
    background-color: white;
    overflow: hidden;
}
.list_item_code { padding: 0 5px }
.list_item_title { padding: 0 5px }
.list_item_title a {
    display: block;
    padding-left: 10px;
    text-decoration: none;
    line-height: 39px;    
    color: black;    
}
.list_item_title > a:hover { text-decoration: underline }
.list_item_menu {
    text-align: right;
}
.list_item_menu .button + .button {
    margin-left: 5px;    
}

.product_slider .product_item { 
    max-width: 135px;
    margin: auto;
}
    
    


.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 }



.upload_button {
    vertical-align: middle;
    overflow: hidden;
    position: relative; 
    padding: 0;
}

.upload_button > span {
    display: inline-block;
    padding: 0 20px;
}

.upload_button.disabled {
    background-color: silver;    
}

.upload_button.disabled input {
    display: none;    
}

.upload_button input {
    cursor: pointer;
    font-size: 200px;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.upload_list {
    list-style: none outside none;
    margin: 0;
    padding: 0;  
    overflow: auto;  
}

.upload_list li {
    width: 150px;
    height: 150px;
    background-color: white;
    float: left;
    margin: 10px 5px;
    position: relative;   
    background-position: center center;
    background-repeat: no-repeat; 
}
.upload_list .upload_name {
    position: absolute;
    bottom: 0px;
    font-size: 10px;
    left: 0px;
    right: 0px;
    padding: 5px;
    background-color: rgba(255,255,255,0.5);
    width: auto;
    word-wrap: break-word;
    overflow: hidden;
    
}
.upload_list li.uploading {}
.upload_list li:first-child { margin-left: 0 }


.upload_progress {
    position: absolute;
    border: 1px solid silver;
    bottom: 5px;
    left: 5px;
    right: 5px;
    height: 10px;
}

.upload_cancel, .upload_remove {
    display: block;
    cursor: pointer;
    position: absolute;
    opacity: 0.5;
    top: 5px;
    right: 5px;
    width: 16px;
    height: 16px;
    background-image: url(../img/cart-delete.png);
}

.upload_cancel:hover, .upload_remove:hover { opacity: 1 }

.upload_progress > div {
    background-color: darkgreen;
    width: 0px;
    height: 10px;    
}
.upload_error {
    position: absolute;
    top: 70px;
    left: 5px;
    right: 5px;
    color: darkred;    
    transform: translate(0, -50%);
}

#upload_list li.uploading .upload_remove { display: none }
#upload_list li.finished .upload_progress { display: none }
#upload_list li.finished .upload_cancel { display: none }

#upload_list li.cancelled .upload_remove { display: none }
#upload_list li.cancelled .upload_cancel { display: none }
#upload_list li.cancelled .upload_progress > div { background-color: gray }

#upload_list li.cancelled .upload_cancel { display: none }
#upload_list li.failed .upload_progress > div { background-color: darkred }

.file_list {
    list-style: none outside none;  
    margin: 0;
    padding: 0; 
    padding-left: 3px; 
}
.file_list li {
    overflow: hidden; 
    margin-bottom: 10px;   
}
.file_list a {
    display: inline-block;
    text-decoration: none !important;
}
.file_list a > * {
    display: inline-block;
    vertical-align: middle;    
}
.file_list_icon {
    width: 40px;
    height: 40px;
    background: transparent url(../img/file.png) no-repeat center;    
    position: relative;
}
.file_list_icon > span {
    background-color: #017cb4;
    color: white;
    font-size: 8px;
    left: 1px;
    padding: 0 5px;
    position: absolute;
    text-transform: uppercase;
    top: 6px;
}
.file_list_icon.pdf > span {
    background-color: #E30000;
}
.file_list_title {
    color: black;
}
.file_list a:hover > .file_list_title {
    text-decoration: underline;    
}


@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 }
}
