.ui-dialog {
	z-index: 99999991 !important;
}
.modal-open {
	overflow:hidden;
	height:100%;
	width:100%;
	position:fixed;
}
.zoomContainer {
	z-index:9999999999;
}
#zoomBox {
	position: absolute;
	overflow: hidden;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	border:	4px solid #FFF;
}
#container {
	background:#FFF;
}
#slidemodal {
	position: fixed;
	background:#FFF;
	background-attachment: fixed;
	background-size:cover;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	overflow:hidden;
	display:block;
	z-index:-1;
}
#slidemodalx {
	color:#333;
	position: fixed;
	top: 20px;
	right: 33px;
	cursor: pointer;
	font-size: 19px;
	z-index:1001;
	font-family: 'Open sans';
	font-weight: 700;
}
#slidemodalx:hover {
	color:#000;
}
#slidemodal #cycle-1 {
	height: 100%;
	width: 100%;
	/* width:auto; */
}
#slidemodal .cycle2-container {
	display: table;
	text-align: center;
	/*padding:20px;*/
	padding:0;
	margin: 0px auto;
	position: relative;
	height: 100%;
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
#slidemodal .cycle2-vertical {
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}
#slidemodal .cycle2-vertical img {
	height: auto;
	max-width: 9999%;
	width: auto;
	max-height: 9999%;
	cursor: zoom-in;
	/*cursor: crosshair;*/
	position:relative;
}
#slidemodal .cycle2-vertical .cycle-slideshow {
	cursor: zoom-in;
}
#slidemodal.zoomed .cycle2-vertical .cycle-slideshow {
	cursor: zoom-out;
}
#slidemodal .cycle2-vertical .zoomImg {
	height: 100%;
	width: auto;
	max-width:1000%;
	max-height:1000%;
	cursor:zoom-out;
}
#slidemodal #cycle-1 .cycle-slide {
	bottom:0;
	width: 100%;
	height: 100%;
	display: flex !important;
	align-items: center;
	justify-content: center;
}
#slidemodal .footer {
	background: #FFF;
	box-shadow: 0 1px 4px 0 rgb(33 33 33 / 0.67);
	font-size: 19px;
	height: 150px;
	max-height: 15.48vh;
	min-height: 15.48vh;
	margin-top: 0;
	padding: 0;
	z-index: 1001;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	top: initial;
	text-align: center;
	display: flex;
	overflow: hidden;
	flex-direction: row;
	align-items: center;
	flex: 0 1 150px;
}
#slidemodal .footer #product-name {
	overflow: hidden;
	flex: 1 0 25%;
}
#slidemodal .footer #slideshow-2 {
	overflow: visible;	
	flex: 0 0 50%;
}
#slidemodal .footer #contact-area {
	overflow: hidden;
	flex: 0 0 25%;
}
#slidemodal .footer #product-name > span {
	display: inline-flex;
	max-width: 360px;
}
#slidemodal .footer #slideshow-2,
#slidemodal .footer #contact-area,
#slidemodal .footer #product-name {
	max-height:100%;
}
#slidemodal #cycle-2 {
	margin-left:auto;
	margin-right:auto;
}
#slidemodal #cycle-2 .cycle2-image {
	width: auto;
	height: 105px;
	max-height: 100%;
	margin: 0 0.625rem;
	border: 2px solid #e8e8e8;
	padding: 5px;
	cursor: pointer;
}
#slidemodal .cycle-carousel-wrap,
#slidemodal .thumbpager {
	height: 150px;
	max-height: 17vh;
  padding: 1% 0; 
}
#slidemodal .thumbpager {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
#slidemodal #cycle-2 .cycle2-image:hover,
#slidemodal #cycle-2 .cycle-slide-active img.cycle2-image {
	border: 2px solid #ffa000;
}
#slidemodal #contact-area .button {
	margin:0;
}
#leftarrow, #rightarrow {
	fill:#000;
	opacity:0.85;
	transition-property: opacity;
  transition-duration: 400ms;
  -webkit-transition-property: opacity;
  -webkit-transition-duration: 400ms;
  -moz-transition-property: opacity;
  -moz-transition-duration: 400ms;
}
.cycle2-container {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;   
	-ms-user-select: none;
	user-select: none;  
}
.slide-prev, .slide-next {
	position: absolute;
	z-index: 1001;
	top: 45%;
	font-size: 30px;
	color:rgb(204,204,204);
	padding: 0;
	width: 64px;
	height: 64px;
}
.left-half {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
	right: 90%;
	z-index:1000;
}
.right-half {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 90%;
	right: 20px;
	z-index:1000;
}
.slide-prev:hover #leftarrow,
.slide-next:hover #rightarrow {
	opacity:1;
}
.slide-prev:hover, .slide-prev:focus, .slide-prev:active
.slide-next:hover, .slide-next:focus, .slide-next:active {
	color:#000;
}
.slide-prev {
	left:80px;
}
.slide-next {
	right:80px;
}
#cycle-1 .slideimg.cycle-slide {
	width:100%;
}
.cycle2-container .dashicons {
	width: 60px;
	height: 60px;
	font-size: 60px;
}
/*** Zoom Feature ***/
#slidemodal.zoomed {
	overflow-x:hidden;
	overflow-y:auto;
}
/*
#slidemodal.zoomed .footer {
	position:fixed;
	min-height:0;
	height:0;
	padding:0;
	display:block;
}
*/
/*
#slidemodal.zoomed .cycle2-container {
	height:100%;
}
*/
/*
#slidemodal.zoomed #cycle-1,
#slidemodal #cycle-1 .cycle-slide-active {
	overflow:visible !important;
}
#slidemodal:not(.zoomed) #cycle-1 .cycle-slide-active {
	overflow-y:auto	!important;
}
*/
#slidemodal.zoomed #cycle-1 {
	width:100%;
}
#slidemodal.zoomed #cycle-1 .slideimg {
	width:auto;
	height:auto;
	min-width:100%;
}
#slidemodal.zoomed #cycle-1 .slideimg img {
	height: auto;
	max-width: 400%;
	width: auto;
	max-height: 400%;
	cursor: zoom-out;
}
@media screen and (max-width:768px) {
	#slidemodal .cycle-carousel-wrap, 
	#slidemodal .thumbpager {
    max-height: 20vh;
	}
	#slidemodal #cycle-2 .cycle2-image {
    margin: 0 0.325rem;
    border: 2px solid #e8e8e8;
    padding: 2px;
	}
}
@media screen and (max-width:1024px) {
	.ui-dialog {
    max-width: 80vw;
    max-height: 90vh;
		overflow-x: hidden;
    overflow-y: auto;
	}
	article.product .entry-content img {
		max-height: 100%;
    margin: 20px auto;	
	}
	.modal-open #slidemodal {
		display: flex !important;
	}
	#slidemodal {
		display:none;
    width: 100%;
    height: 100%;
		flex: 1;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
	}
	#slidemodal .left-half, 
	#slidemodal .right-half {
		position:absolute;
	}	
	#slidemodal .cycle2-container {
		padding: 5px;
		height: auto;
    max-height: 100%;
    min-height: 0;
		display: flex;
		flex: 0 1 100%;
		flex-direction: column;
		align-items: center;
	}
	#slidemodal .footer {
    height: auto;
    max-height: 100%;
    min-height: 0;
    padding: 10px 0;
    position: static;
    width: 100%;
    display: flex;
		flex: 1 0 auto;
		flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-items: center;
	}
	#slidemodal .footer #slideshow-2,
	#slidemodal .footer #contact-area,
	#slidemodal .footer #product-name {
		padding-bottom:7px;
		display: flex;
    flex: 1 0 auto;
    align-items: center;
	}
	#slidemodal .footer #contact-area {
		padding-bottom:0;
	}
	#slidemodal .button {
		padding: 0.5rem 2rem 0.5625rem;
	}
}
@media screen and (min-width:1025px) {
	.product-template-default .product-gallery {
		display:block;
		overflow:hidden;
		margin:10px auto;
		text-align:center;
	}
	.product-template-default .gallery-image {
		display: inline-block;
		width: 75px;
    margin: 0 5px;
    border: 1px solid rgb(138 138 138);
	}
	.modal-open #slidemodal {
		display:block !important;
	}
	#slidemodal .footer {
		position:relative;
		height:15.48vh;
	}
	#slidemodal .cycle2-container {
		position: relative;
		height: 84.52vh;
	}
	#slidemodal .footer #slideshow-2, 
	#slidemodal .footer #contact-area, 
	#slidemodal .footer #product-name {
		display:flex;
		align-content:center;
		justify-content:center;
	}
	#slidemodal .cycle-carousel-wrap,
	#slidemodal .thumbpager {
		height: auto;
		max-height: 17vh;
		padding:0;
	}
	#slidemodal .thumbpager {
		display: inline-block !important;
	}
}
@media screen and (min-width:1025px) and (max-width:1280px) {
	#slidemodal .thumbpager {
		padding:0;
	}
	#slidemodal #cycle-2 .cycle2-image {
    height: 75px;
    padding: 1px;
		margin:0 0.325rem;
	}	
}
/* These are hidden on smartphone, only applies when zooming */
@media screen and (max-width:639px) {
	#slidemodal .footer {
		padding:3px 0;
		max-height:20vh;
		flex: 1 0 20vh;
		flex-direction:row;
	}
	#slidemodal .footer #slideshow-2 {
		display:none !important;
	}		
	#slidemodal .footer #contact-area, 
	#slidemodal .footer #product-name {
		padding-bottom: 3px;
    flex: 0 1 50%;
		justify-content:center;
	}
	#slidemodalx,
	#slidemodal .button,
	#slidemodal .footer #product-name > span {
		font-size:4vh;
	}
	#slidemodal .slide-prev,
	#slidemodal .slide-next {
		width:32px;
		height:32px;	
	}
	#slidemodal .slide-prev {
		left:0;
	}
	#slidemodal .slide-next {
		right:0;
	}
	#slide-modal .left-half,
	#slide-modal .right-half {
		width:20px;
	}
	#slide-modal .left-half {
		left:0;
		right:initial;
	}
	#slide-modal .right-half {
		left:initial;
		right:0;
	}
}
@media screen and (min-width:640px) and (max-width:1024px) {
	#slidemodalx,
	#slidemodal .button,
	#slidemodal .footer #product-name > span {
		font-size:3vh;
	}
	#slidemodal #cycle-2 .cycle2-image {
    height: 15vh;
    max-height: 100%;
    margin: 0 1vh;
    padding: 0.5vh;
	}
	#slidemodal .slide-prev {
		left:0;
	}
	#slidemodal .slide-next {
		right:0;
	}
	#slide-modal .left-half,
	#slide-modal .right-half {
		width:5vh;
	}
	#slide-modal .left-half {
		left:0;
		right:initial;
	}
	#slide-modal .right-half {
		left:initial;
		right:0;
	}
	#slidemodal .slide-prev,
	#slidemodal .slide-next {
		width:10vh;
		height:10vh;	
	}
	#slidemodal .footer #product-name > span {
		max-width:100%;
	}
}
#slidemodal .cycle2-vertical {
	padding:5px;
}
#slidemodal #cycle-1 {
	padding:5px;
}
#slidemodal .test-container {
	transition:box-shadow 200ms;
}
#slidemodal.zoomed .cycle2-vertical,
#slidemodal.zoomed #cycle-1 {
	padding:0;
}
.slide-prev {
	left:40px;
}
.slide-next {
	right:40px;
}
.left-half {
	left: 0;
	right: 100%;
	width: 64px;
	border-right: 2px solid grey;
	background:#FFF;
}
.right-half {
	left: 100%;
	right: 0;
	width:64px;
	margin-left:-64px;
	border-left: 2px solid grey;
	background:#FFF;
}