.message {
    margin: 10px 0;
    padding: 10px 5px;
    font-size: 16px;
    text-align: center;
}
.message:empty {
    display: none;    
}

.message.info {
    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;    
}
 .button.view_more {
    position: absolute;
    bottom: 10px;
    left: 0px;    
    right: 0px;
}
.button {
    font: inherit;
    font-size: inherit;
    border: 1px solid silver;
    color: #ec1b17;   
    display: inline-block;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    padding: 2px 30px;
    text-align: center;
    text-transform: uppercase;
    outline: 0;
    transition: background-position 400ms;
	-webkit-transition: 400ms;
	transition-timing-function: ease;
}
.button a:hover {
    background-color: #e4e4e4;
    color: #000;  
	-webkit-transition: 400ms;
	transition-timing-function: ease;
}
.overlay_button, .cart_button {
    -webkit-appearance: none;
    font: inherit;
    font-size: inherit;
    border: 1px solid silver;
    background: 0;
    color: #ec1b17;   
    display: inline-block;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    padding: 2px 30px;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    outine: 0;
    transition: background-position 400ms;
}
.overlay_button:hover, .cart_button:hover {
    background-position: left center;
}
button.button, input.button, button.overlay_button, input.overlay_button {  
    line-height: 25px;
}
.button > * { display: inline-block; vertical-align: middle }

.slideshow_cont {
    overflow: hidden;
    position: relative;  
}
.slideshow_prev, .slideshow_next {
    position: absolute;
    top: 0;
    cursor: pointer;
    z-index: 300;
    bottom: 0;
    cursor: pointer;
    width: 50px;    
}
.slideshow_prev:after, .slideshow_next:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #b2b2b2;
    width: 60px;
    height: 60px;
    border-radius: 20%;
    background-repeat: no-repeat;
    background-position: center;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);  
}
.slideshow_prev { left: 1% }
.slideshow_prev:after { background-image: url(../img/ar-white-left.png) }
.slideshow_next { right: 1% }
.slideshow_next:after { background-image: url(../img/ar-white-right.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: 1px solid white;
    border-radius: 50%;
}
.slideshow_bullets a + a {
    margin-left: 20px;    
}
.slideshow_bullets a:hover {
        
}
.slideshow_bullets a.active {
    background-color: white;    
}

.slideshow_page_title {
    position: absolute;
    left: 20%;
    right: 20%;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
}
.slideshow_page_title h1 {
    color: white;
	text-shadow: 1px 1px 1px rgba(0,0,0, 0.9);
    font-size: 60px;
    font-weight: 800;
    text-transform: uppercase;
}
.slideshow_page_title > div:before {
    content: "";
    display: inline-block;
    width: 105px;
    height: 3px;
    background-color: white;    
}
.slideshow_page_title > div {
	text-shadow: 1px 1px 1px rgba(0,0,0, 0.9);
    color: white;
    font-size: 35px;
	font-weight: 600;
}

.home_slide {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    background-color: rgba(0,0,0,0.5);   
}
.home_slide_content {
    position: absolute;
    top: 50%;
    left: 50px;
    right: 30px;
    transform: translateY(-50%);    
}
.slideshow_left > div {
    position: absolute;
    top: 50%;
    left: 10%;
    right: 50px;
    transform: translateY(-50%);    
}
.home_slide_image {
    width: 27%;
    float: left;
}
.home_slide_image > img { width: 100% }
.home_slide_text {
    color: white;   
    position: absolute; 
    top: 0;
    left: 0;
}
.home_slide_text.with_image {
    left: 35%;
    top: 50%;
    transform: translateY(-50%);
}
.home_slide_link {
    display: inline-block;
    background-color: black;
    padding: 10px 20px;
    color: white;
    text-decoration: none;    
}
.slideshow_content h2 {
    font-size: 35px;
}
.slideshow_content h3 {
    font-size: 25px;
}
.list ul {
    margin: 0;
    padding: 0;
    list-style: none outside none;
    display: block;
    overflow: auto;
}
.list ul > li {
    float: left;
    width: 20%;    
}
.list_item {
    position: relative;
    padding-top: 100%;
    background-repeat: no-repeat;
    background-size: cover;   
    margin-bottom: 20px; 
}
.list_item:after {
    content: "";
    display: block;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0.2;
    transition: opacity 1000ms;
}
.list_item:hover:after {
    opacity: 0.5;
	-webkit-transition: 600ms; /* Safari */
} 
.list_item > div {
    position: absolute;
    top: 50%;
    left: 10%;
    right: 10%;
    transform: translateY(-50%);    
    color: white;
    font-size: 14px;
    z-index: 5;
}
.list_item h3 {
    color: white;
    font-size: 28px;
    font-weight: bold;
    text-transform: uppercase;
	-webkit-transition: 600ms;
}
.list_item:hover h3 {
    color: white;
    font-size: 28px;
    font-weight: bold;
	padding-left: 10px;
    text-transform: uppercase;
	-webkit-transition: 600ms;
	transition-timing-function: ease;
}
.list_item_link {
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.gallery_image {   
    overflow: hidden;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    position: absolute;    
}
.gallery_image > a {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50px;
    z-index: 1000; 
    padding: 0;   
    transition: opacity 200ms linear;
}
.gallery_image.with_menu > a {
    bottom: 56px;    
}
.gallery_image > a.gallery_prev { 
    left: 0;
    background: rgba(0,0,0,0.3) url("../img/arrow-lb.png") no-repeat center;
}
.gallery_image > a.gallery_next { 
    right: 0;
    background: rgba(0,0,0,0.3) url("../img/arrow-rb.png") no-repeat center;
}
.gallery_image_desc {
    position: absolute;
    left: 30px;
    right: 30px;
    top: 0;
    background-color: rgba(255,255,255,0.3);
    color: black;
    text-align: center;
    z-index: 600;
    padding: 5px;
    transition: opacity 200ms linear;     
    font-size: 13px;
}
.gallery_menu {
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;   
    padding: 5px; 
    transition: opacity 200ms linear;
    background-color: rgba(255,255,255,0.3);    
    z-index: 1000;
}
.gallery_menu > .image_list {
    height: 46px;
    text-align: center;  
}
#gallery { 
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}
#gallery:hover .gallery_menu { opacity: 1 }
#gallery:hover .gallery_image_desc { opacity: 1 }
#gallery:hover .gallery_image > a { opacity: 1 }

.gallery_menu li > div {
    display: inline-block;
    border: 1px solid silver;
    background-color: white;
    padding: 2px;    
}
.gallery_menu li.selected,
.gallery_menu li:hover {
    opacity: 1;    
}
.gallery_menu li.selected > div { border: 1px solid #0c4da2 }
.gallery_menu .image_list > a:not(.disabled):hover {
    background-color: white;
}
.overlay_glass { 
    background-color: black;    
}
.overlay_loader {
    background-image: url(../img/loader.gif);    
}
.overlay_popup {
    background-color: white; 
    box-shadow: 0px 0px 11px 0px rgba(0,0,0,0.75);    
}
.overlay_header { 
    background-color: #e5e5e5;
    padding: 5px 10px;
    font-size: 18px;
    color: block;    
    line-height: 20px;
    text-transform: uppercase;
    height: 20px;
    border-bottom: 0;
}
.ovrerlay_main {
    border: 1px solid silver;    
}
.overlay_control_close {
    background-image: url(../img/tag-delete.png);
    background-repeat: no-repeat;
    background-position: center;
    width: 30px;
    height: 30px;    
}

.rl_class_image_popup .adaptive_image { 
    cursor: pointer;    
}
    