/*
 INTEGRA defaults CSS
 Requires: colorbox, internals, font awesome
*/

/*!
 * Integra internals
 */
div.message {
	margin:25px auto;
	text-align:center;
	font-size:125%;
	max-width:640px;
	padding:10px;
	background: #fafafa;
	display:block;
	color: #808080;
	color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}
@media screen and (max-width: 576px) {
	div.message {
		max-width:100%;
		margin:10px;
	}
}
.message a {
	text-decoration: underline;
	color: #000;
}
.message a:hover {
	color: #505050;
}
.message h1 {
	color: #505050;
	font-size:200%;
}
.message p, .message h1 {
	margin:0px;
}

.message small {
	display: block;
	font-size: 75%;
}
.message.alert {
	color: #505050;
	background: #fff466;
	border: 2px solid orange;
}
.message.error {
	color: #fff;
	background: #a00000;
	border: 2px solid maroon;
}
.message.error * {
	color: #fafafa;
}
.message.error a:hover {
	color: #ffffff;
}
.lfloat {
	float:left;
	margin: 0px 10px 10px 0px;
}
.rfloat {
	float:right;
	margin: 0px 0px 10px 10px;
}
.nobr {
	white-space:nowrap;
}
.hidden, div.hidden, section.hidden, #hero.hidden {
	display:none;
}
.clear {
	clear:both;
}
.right {
	text-align:right;
}
.inline_icon {
	vertical-align:text-bottom;
	padding:0;
	margin:0;
}
.center {
	text-align:center;
}
.fullwidth {
	width:100%;
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
}
.minimal {
	width:1%;
	white-space:nowrap;
}
.centered {
	margin: 0px auto !important;
}
.integra-popup {
	padding:25px;
}
.form_input_error {
	color: #d00000;
	font-size:13px;
	background: #fff0f0;
	border-bottom:2px solid #f08080;
	border-top:2px solid #f08080;
	padding-bottom:10px;
}
.form_input_error {
	color: #d00000;
	font-size:13px;
	background: #fff0f0;
	border-bottom:2px solid #f08080;
	border-top:2px solid #f08080;
	padding-bottom:10px;
}
.form_input_error small {
	display:block;
	padding:0px 10px;
}
.document .media {
	display:inline-block;
	box-sizing:border-box;
	width:25%;
	padding:20px;
	overflow:hidden;
}
.download_list .media_breadcrumbs, .media_list, .media_breadcrumbs {
	max-width:100%;
	display:flex;
	flex-wrap:wrap;
	padding:20px;
}

.media_albumitem {
	width:20%;
	display:inline-block;
	overflow:hidden;
	padding:0;
	max-width:20%;
	border:10px solid white;
}
@media (max-width: 960px) {
    .media_albumitem{
        width:33%;
		max-width:33%;
    }
}
@media (max-width: 576px) {
    .media_list .media_albumitem{
        width:50%;
		max-width:50%;
		border:0px;
		padding:5px !important;
		
    }
}	
.media_albumitem .media_thumb {
	height:100%;
	
}
.media_albumitem img {
	display:block;
	max-width:100%;
	object-fit:cover;
	width:100%;
	height:100%;
}




.media_list .media_albumitem {
	/* flex-grow:1; */
	/* padding:20px; */
}
.media_dir {
	width:20%;
	display:inline-block;
	margin:25px;
}
.media_dir img {
	max-width:100%;
	max-height:100%;
	display: block;
}
.media_more {
	margin:0px auto;
	display:block;
	max-width:200px;
	margin-bottom:25px;
	text-align:center;
	
}
@media screen and (max-width: 576px) {
	.media_dir {
		width:35%;
	}
}
.download_list .download_item {
	width:10%;
	display:inline-block;
	margin:25px;
}
.download_list .download_dir {
	width:20%;
	display:inline-block;
}
.download_list .media_thumb img {
	max-width: 100%;
}
.download_list .info small {
	font-size:60%;
	display:block;
}
/* BLOG */
#blog-listing {
	display: flex;
	flex-wrap: wrap;
}
#blog-listing article {
	width:33%;
	padding:20px;
}
#blog-listing article a.image {
	max-width: 100%;
	display: block;
	overflow: hidden;
	height: 200px;
}
#blog-listing article h2 {
	margin-top:15px;
}
#blog-listing article a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#blog_pagination {
	width: 100%;
}
#blog_pagination .pages {
	padding:5px 10px;
	margin:5px;
	background:#f0f0f0;
	display:inline-block;
}
#blog_pagination .pages.selectedpage {
	background: #e0e0e0;
	border:1px solid #c0c0c0;
}
#blog_pagination .pages:hover {
	background: #c0c0c0;
}
/* Quick search */
#search-items {
	

}
.search-results-group {
	width:100%;
	padding:20px;
	float: left;
}
.search-results-group a.search-results {
	display:block;
	padding:5px;
	text-decoration: underline;
	color: #202020;
}
/* Search results */
.integra-search-results {
	max-width: 1150px;
	margin:20px auto;
	display: flex;
	flex-wrap: wrap;
}
.integra-search-results h2 {
	width: 100%;
}
.integra-search-results article {
	width:33%;
	padding:15px;
}
.integra-search-results article a, .integra-search-results article img {
	display: block;
	max-width: 100%;
}
h2.spanall, h1.spanall {
	width: 100%;
}
/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000;}
#colorbox{outline:0;}
    #cboxContent{margin-top:20px;background:#000;}
        .cboxIframe{background:#fff;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{border:5px solid #000; background:#fff;}
        #cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
        #cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
        #cboxLoadingGraphic{background:url(../images/colorbox/loading.gif) no-repeat center center;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }

        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

        #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
        #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(../images/colorbox/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
        #cboxPrevious:hover{background-position:bottom left;}
        #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(../images/colorbox/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
        #cboxNext:hover{background-position:bottom right;}
        #cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(../images/colorbox/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
        #cboxClose:hover{background-position:bottom center;}


/* PUBLICITY */
#publicity_filter {

}
#publicity_filter a {
	display:inline-block;
	margin:2px;
	color: #eaeaea;
	background: #cacaca;
}
#publicity_filter a.selected, #publicity_filter a.selected:hover {
	background: #a0a0a0;
}

.publicity_year, .publicity_cat {
	display: inline-block;
	padding:5px 10px;
}
#publicity_category_filter li {
	display: inline-block;
	padding:5px 10px;
}
a.publicity_cat.selected {
	font-weight:bold;
	color: #303030;
}
.publicity_list tr {
	padding:5px 0px;
	border-bottom:1px dotted silver;
}
.publicity_list td,.publicity_list th {
	padding:5px 10px;
}
.publicity_list th {
	background-color: #e0e0e0;

}
/* .product {
	width:25%;
	box-sizing:border-box;
	border:1px solid #e0e0e0;
} */
.product-details {
 margin:50px;
}
.product-price {
	font-size:2rem;
	text-align: center;
	font-weight: bold;
}
.product_details {
	width:20%;
}


/* 
  PROFILE 
  */
#profile_menu {
	background: #e0e0e0;
	color: #808080;
}
#profile_menu a {
	display:inline-block;
	background:#808080;
	color: #fff;
	padding:5px 15px;
}
#profile_menu a:hover {
	background:#505050;
	color: #fff;
}
.form_std {
	margin:1em auto;
	max-width:600px;
	width:100%;
	padding:2em;
	border:1px solid #e0e0e0;
}
.form_std input, .form_std select, .form_std textarea {
	width:100%;
	/* background: #fff; */
	padding:.75em;
}
/*
	COOKIE POPUP WINDOWS
*/
#cookie-cover {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5000px;
	background-color: black;
	opacity: 0.6;
	z-index: 90;
}
#cookie-popup {
	display: none;
	box-sizing: border-box;
	position: fixed;
	top: 100px;
	left: 10%;
	right: 10%;
	z-index: 99;
	min-width: 300px;
	max-width: 560px;
	height: auto;
	background-color: white;
	text-align: center;
	margin: auto;
	padding: 30px;
	border: solid 1px #a0e0e0;
	border-radius: 2px;
}
.cookie-button {
	display: block;
	margin: 0 auto;
	vertical-align: middle;
	padding: 10px 25px;
	margin-bottom: 10px;
	border: solid 0px black;
	box-shadow: 0px 0px 15px  #bbb;
	background-color: #505050;
	color: #e0e0e0;
	border-radius: 2px;
	line-height: 30px;
	cursor:pointer;
}
.cookie-button:hover,
.cookie-button:focus {
	background-color: #333;
	transition: 0.3s;
	color: white;
}
.cookie-heading {
	color: #505050;
	font-size: 1.3em;
	margin-bottom: 1em;
}
.popup-img {
	margin: 15px 0;
}
.cookie-button {

}
.popup-small-text {
	text-align: center;
	margin: auto;
	font-size: 12px;
	vertical-align: middle;
	color: black;
	padding-top: 15px;
}

table.cart {
	width: 100%;
}

#cart_overview, #form_order {
	padding:30px;
	background: #fafafa;
	border:#f0f0f0;
	overflow: hidden;
}
#cart_overview h1, #form_order h1 {
	color: #505050;
}
#cart_overview a, #form_order a {
	text-decoration: underline;
	/* color: #4975fb; */
}
#cart_overview a.button-default, #form_order a.button-default {
	text-decoration: none;
	color: #fff;
}
#form_order table,#form_order table * {
	border:0;
	border-collapse: collapse;
}
#form_order input, #form_order textarea, #form_order select {
	background: #fff;
	border:1px solid #f0f0f0;
	padding:1em;
	width: 100%;
}
#form_order input[type="checkbox"] {
	background:none;
	border:none;
	width:auto;
}
@media screen and (max-width: 576px) {
	#cart_overview, #form_order {
	width:auto;
		margin:-30px;
}
}
.popup {
	padding:50px;
}

ul#shop-breadcrumbs {
	display: block;
	list-style-type: none;
	padding:10px;
	
}
ul#shop-breadcrumbs li {
	display:inline-block;
	overflow: hidden;
	border: 1px solid #e0e0e0;
	border-top-right-radius: 25px;
	border-bottom-right-radius: 25px;
	margin-right:5px;
}
ul#shop-breadcrumbs li a {
	padding:5px 10px;
	display: block;

}
	ul#shop-breadcrumbs li a:hover {
	background: #f0f0f0;
}


#form_order #orderbutton, a#orderbutton, .shop-button, .shop-mini-button {
	display: inline-block;
    margin:25px 0px;
    padding:15px 25px;
    background: #000;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
	cursor:pointer;
	border:1px solid var(--red);
	height: fit-content;
	
}
.shop-mini-button {
	padding:5px 10px;
	margin:0px;
	display:inline-block;
}
/*
#company-infocontents {
	display: flex;
	flex-wrap: wrap;
}
*/
#form_order #orderbutton, a#orderbutton {
	background: #00d96c;
	width:auto;
	color: #303030;
	display:inline-block;
	font-size:150%;
	border: 1px solid #00c060;	
	width: max-content;
}
	
#form_order #orderbutton:hover, a#orderbutton:hover, .shop-button:hover, .shop-mini-button:hover {
    transition: all .5s;
	color: var(--red);
	text-decoration:none;
    background: transparent;
	color: inherit;
}

.coupon-info {
	color: green;
}
	
#cart_overview #cart_coupon_button, #cart_coupon_button, #shop_coupon input[type="submit"] {
	background: #1f9f52;
	color: #fff;
	border: 1px solid #00c060;	
}
#cart_overview #cart_coupon_button:hover, 
#cart_coupon_button:hover, 
#shop_coupon input[type="submit"]:hover {
	background: transparent;
	color:inherit;
}
#cart_summary {
	margin-top:25px;
	background: #fafafa;
	padding:10px;
}
#cart_summary big {
	font-size:200%;
	font-weight:bold;
}
table.cart {
	margin:25px 0px;
	border:1px solid #ebebeb;
	width: 100%;
}
table.cart td, table.cart th {
	padding:10px;
}
table.cart th {
	background: #f0f0f0;
}

table.cart tr:nth-of-type(odd) {
  background-color:#f8f8f8;
}
table.cart .cart-thumb img {
	width:50px;
}
th#cart_product_picture {
	width:80px;
}
th#cart_price {
	text-align:right;
	width:1%;
	
}
.flex-row {
	display:flex;
	flex-wrap:wrap;
}
#form_order label {
	width:140px;
	padding:15px;
}
#orderprice {
	margin:25px auto;
	background: #fff;
	padding:25px;
	text-align: center;
	border: 1px solid #ebebeb;
	font-size:125%;
}
.document {
	padding:25px;
}
ul.product-pagination {
	text-align:center;
	list-style-type: none;
	flex:none;
	display:block;
	margin-bottom:25px;
}
.product-pagination li {
	border:1px solid #a0a0a0;
	margin:0px 3px;
	display:inline-block;
}
.product-pagination li:hover {
	background: #e0e0e0;
	border-color:#808080;
}
.product-pagination li a {
	padding:10px 15px;
	display:block;
}
.product-variants {
	margin:25px 0px;
	padding:5px;
}
.product-detail-parameters {
	border:1px solid #f0f0f0;
}
.product-detail-parameters td {
	padding:5px 10px;
	border-bottom:1px dotted #e0e0e0;
}
.product-detail-parameters tr > td:first-of-type {
	background: #f0f0f0;
	font-weight: bold;
}
.product-parameter-choices {
	padding:10px;
	display:block;
	background: #fafafa;
	border:1px solid #e0e0e0;
}
.product-parameter-choices a {
	display:inline-block;
	padding:5px 12px;
	border:1px solid #e0e0e0;
	margin:2px;
	background: #fff;
}
.product-parameter-choices a:hover {
	background: #a0a0a0;
}
.product-parameter-choices a.selected {
	border-color: #808080;
	background: #eaeaea;
}

/* RADIO BOXES */
#cartform input[type="radio"] {
	display:none;
}
#cartform .cartradiobutton label, #cartform select {
	display:block;
	padding:10px;
	border:1px dotted #a0a0a0;
	cursor:pointer;
}
#cartform .cartradiobutton label:hover {
	background: #f0f0f0;
}
#cartform .cartradiobutton {
	display:inline-block;
}
input[type="radio"]:checked+label {
	border:1px solid #808080;
	background: #e0e0e0;
}


.qnt {
	margin:0px auto 25px auto;
	width:150px;
}
.qnt .qty_inc, .qnt .qty_dec {
	display:inline-block;
	padding:10px 15px;
	background: #f0f0f0;
	/*border:1px dotted #e0e0e0;*/
	
}
.qnt input {
	text-align:center;
	width:50px;
	padding:8px;
}

#product_submit {
	background:#379337;
	color: #fff;
	display:block;
	padding:10px;
	width:150px;
	text-align: center;
	margin:0px auto;
}
#product_submit:hover {
	background:#0fbb0f;
}
.integra-step {
	border:10px dashed #f0f0f0;
	padding:20px;
	width:25%;
	box-sizing:border-box;
	display:inline-block;
	
}
.integra-step h2 big {
	font-size:200%;
	-webkit-text-stroke: 1px #a0a0a0;
	color: #ffffff;
}
.integra-flex-row {
	display:flex;
	flex-wrap: wrap;
}
.integra-backtrace {
	padding:10px;
	white-space: pre;
	font-family: monospace;
	font-size:.75rem !important;
	border:2px solid #f86666 !important;
	background: #ffc5c5 !important;
	color: #200000 !important;
	line-height: 1;
	text-align: left;
}

.product-indicator {
	display:inline-block;
	padding:5px 10px;
	background: #00000010;
	color: #303030;
	border-bottom:2px solid #00000020;
	margin:2px;
}
#admin_listing  {
	border-collapse: collapse;

}
#admin_listing th, #admin_listing td {
	padding:5px;
	border-bottom:1px dotted #a0a0a0;
	white-space: nowrap;
}
#admin_listing  th {
	background: #f0f0f0;
}

#order-approvals ul {
	display: flex;
	flex-wrap: wrap;
	margin:0px;
	padding:0px;
}
#order-approvals li {
	display: block;
	padding:10px 20px;
	background: #ffcdcd;
	font-size:133%;
	border:2px solid maroon;
	width: calc(50% - 20px);
	margin-right:20px;
}
#order-approvals li input[type="checkbox"] {
	transform: scale(2);
	margin-right: 10px;
}
@media screen and (max-width: 576px) {
	#order-approvals li {
		width:100%;
		margin:10px 0px;
	}
}
.covid-facility-info {
	width:100%;
}
#debug-console {
	font-family:Consolas, Courier; 
	background: rgba(200,0,0,.8); 
	color: #fff; 
	border:3px solid #b00000; 
	padding:10px;
	position:fixed; left:0; bottom:0; width:100%;z-index:999999; 
	transition: all .5s;
	max-width:43px;
	max-height:43px;
	overflow:hidden;
	white-space:nowrap;
	display:flex;
}
#debug-console:hover {
	max-width:100%;
}
#debug-console .fa-bug {
	margin-right:15px;
}
.debug-panel-float {
	display:none; font-family:Consolas, Courier;white-space: pre-wrap; max-height:85%; overflow:auto;  background: #505050; color: #fff !important; border:3px solid #b00000; padding:10px;position:fixed; top:5%; left:50%; width:800px; margin-left:-400px;z-index:9999999;
}
#debug-console a, .debug-panel-float a {
	color: gold;
}
.debug-button {
	margin:0px 10px;
	
}
#form-register .form-floating label {
	transform: scale(.85) translateY(-.5rem) translateX(.15rem);

}