/***********************************************************/
/* #Blocks
/***********************************************************/
.bg_repeat_no-repeat {
	background-repeat: no-repeat;
}

.bg_position_center_bottom {
	background-position: center bottom;
}

.bg_position_center_center {
	background-position: center center;
}

.bg_position_right_center {
	background-position: right center;
}

.bg_position_left_center {
	background-position: left center;
}

.bg_position_left_bottom {
	background-position: left bottom;
}

.bg_position_right_bottom {
	background-position: right bottom;
}

.bg_position_top_left {
	background-position: top left;
}

.bg_position_top_right {
	background-position: top right;
}

.bg_position_top_center {
	background-position: top center;
}

.bg_size_auto {
	background-size: auto;
}

.bg_size_cover {
	background-size: cover;
}

.bg_size_full {
	background-size: cover;
}

.bg_position_center {
	background-position: center;
}

#full_width {
	margin-left: -15px;
	margin-right: -15px;
}

#full_width .content_block_wrapper {
	padding-top: 0;
	padding-bottom: 0;
}


.content_block_wrapper {
	padding-top: 60px;
	padding-bottom: 60px;
}

.column_block {
	flex-wrap: nowrap;
	display: flex;	
}

.column_block_item {
	flex-basis: 50%;
	flex-grow: 0;
}

.column_block_top {
	align-self: flex-start;
	max-height: 520px;
    overflow: hidden;
}

.column_block_top > img {
	width: 100%;
}

.column_block_bottom {
	align-self: center;
	-ms-grid-row-align: center;
	padding: 40px;
}

.padding-top .content_block_wrapper {
	padding-top: 0;
}

.padding-bottom .content_block_wrapper {
	padding-bottom: 0;
}

/** Parallax **/
.parallax_block {
	min-height: 60vh;
}

.parallax_block,
.parallax_block > img  {
	position: relative;
	display: block;
}

.parallax_block > img {
	opacity: 0;
}

/** Slider **/
#home_banner .content_block_wrapper {
	padding-top: 0;
	padding-bottom: 0;
}

.slider_block {
	margin-left: -15px;
	margin-right: -15px;
}

.col-full .slider_block {
	margin-left: 0;
	margin-right: 0;
}

.slider_block .slider_item > img {
	opacity: 0;
}

.slider_block .slider_item {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	min-height: 82vh;
}

.slider_block .slider_caption {
	position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0 auto;
    left: 0;
    right: 0;
	background-color: rgba(53,53,38,.45);
}

.slider_block .slider_text_wrapper {
	position: absolute;
	width: calc(100%);
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	padding: 30px;
	text-align: center;
}

.slider_block .slider_text_wrapper p {
	margin: 0;
}

/*** Image Block ***/
.image_block {
	flex-wrap: nowrap;
	display: flex;	
	background-size: auto 80%;
	background-repeat: no-repeat;
	background-position: -5% 50%;	
}

.image_block.right_image {
	-webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;		
}

.image_block.left_image {
	background-position: 105% 50%;
}

.image_block_col {
	flex-basis: 50%;
	flex-grow: 0;
}

.image_block_top {
    overflow: hidden;
}

.image_block_top > img {
	width: 100%;
}

.image_block_bottom {
	align-self: center;
	-ms-grid-row-align: center;
}

.image_block_title {
	margin-bottom: 0;
	margin-top: 30px;
}

.image_block .block_content h3 {
	margin-top: 20px;
	margin-bottom: 10px;
}

.image_block .block_content {
	max-width: 55%;
	padding: 40px;
}

.image_block.right_image .block_content {
	float: right;
}

/** Hero Banner **/
.hero_banner {
	max-height: 350px;
}

.hero_banner, .hero_banner > img {
	position: relative;
	display: block;
	overflow: hidden;
}

.hero_banner > img {
	width: 100%;
}

.hero_banner .banner_caption {
	background-color: rgba(102,44,146,.40);
	top: 0;
	width: 100%;
	height: 100%;
	position: absolute;
}

.hero_banner .banner_caption .banner_text {
	position: absolute;
	width: 100%;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);	
}

#home-banner svg, #hero_banner svg {
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

#hero_banner .parallax {
	 background-position: center center;
}

.slider_caption {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
}

.slider_text_wrapper {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    padding: 30px;
}

.slider_text_wrapper a.btn {
	margin: 0 10px;
}

.content-block-col  {
	color: inherit;
}

.next-section {
	position: absolute;
    z-index: 2;
    font-size: 30px;
    margin-top: -60px;
    width: 100%;
}

.next-section a {
	color: #ff7f27;
}

.home #section-2 {
	position: relative;
	z-index: 2;
	outline: none;
}

.content_block_wrapper {
	padding-bottom: 30px;
    padding-top: 30px;
}

.image_overlay, 
.image_overlay > img, 
._li_product ._zoom_image, 
._zoom_image > img,
.product-gallery-item {
    position: relative;
    display: block;
    overflow: hidden;
}

.single-product .woocommerce-product-gallery__wrapper .product-gallery-item {
	max-height: 200px;
    overflow: hidden;
    margin-bottom: 15px;
}

.image_overlay > img, ._zoom_image > img, .product-gallery-item img {
    max-width: 100%;
    -moz-transition: all 0.8s;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
	width: 100%;
}


.image_overlay:hover > img, ._li_product:hover ._zoom_image > img, .product-gallery-item:hover img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.overlay_caption {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.35);
}

.overlay_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #fff;
    width: 100%;
    padding: 20px;
    text-align: center;
}

.image_block {
	flex-wrap: nowrap;
	display: flex;	
}

.image_block .image_caption {
	position: absolute;
    bottom: 10px;
    left: 10px;
}

.image_block.right_image {
	-webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;		
}

.image_block_col {
	flex-basis: 50%;
	flex-grow: 0;
}

.image_block_top {
	align-self: flex-start;
    overflow: hidden;
}

.image_block_top > img {
	width: 100%;
}

.image_block_bottom {
	align-self: center;
	-ms-grid-row-align: center;
}

.col-full .image_block_bottom {
	padding-right: 15px;
}

.col-full .right_image .image_block_bottom {
	padding-left: 15px;
}

.image_block .block_content {
	padding: 30px;
}

.image_block.right_image .block_content {
	float: right;
}

/** Grid Icon **/
.grid_icon {
	margin: 20px 0 30px;
}

.grid_icon_wrapper {
	-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.3);
	box-shadow: 0 0 10px 0 rgba(0,0,0,.3);
	padding: 70px 30px 30px 20px;
	flex-wrap: wrap;
    display: flex;
	min-height: 370px;
}

.grid_icon_caption {
	align-self: flex-start;
	width: 100%;
}

.grid_icon_caption > img {
	margin-bottom: 20px;
}

.grid_icon:hover .grid_icon_caption > img {
	 -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
}

.grid_icon:hover .grid_icon_caption h4 {
	color: #ff7f27;
}

.withbg_image .content_block_wrapper {
	background-color: rgba(255,255,255,.85);
	padding-top: 60px;
	padding-bottom: 60px;
}

.testi-slider .slick-list {
	max-width: 95%;
	margin: 0 auto;
}

.testi-item {
	font-size: 20px;
	line-height: 1.6;
	font-style: italic;
	color: #000;
}

.testi-item cite {
	font-style: normal;
	font-weight: 400;
}

.slick-arrow {
	position: absolute;
	top: 40%;
	width: 22px;
	height: 42px;
	text-indent: -9999px;
	z-index: 9;
}

.slick-arrow.slick-prev {
	background: transparent url(../images/arrow-left.png) no-repeat;
	left: 30px;
}

.slick-arrow.slick-next {
	background: transparent url(../images/arrow-right.png) no-repeat;
	right: 30px;
}

.slick-dots {
	max-width: 95%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.slick-dots li {
	list-style: none;
	display: inline-block;
	margin: 5px;
}

.slick-dots li button {
	padding: 0;
    background: #555;
    line-height: .6;
    text-indent: -9999px;
    width: 10px;
    height: 10px;
    border-radius: 10px;
}

.slick-dots li.slick-active button{
	background: #fefefe;
}

/** Counter **/
.counter_box .counting {
	margin-bottom: 15px;
}

.counter_box .counter_content * {
	line-height: 1.5;
}

.counting-wrapper {
	padding: 15px;
	margin: 0 auto;
	justify-content: center;
	display: flex;
}

@media screen and (min-width: 768px) {
	.counter_content {
		max-width: 80%;
		margin: 0 auto;
	}
}

/* Color Box */

.grid_color_wrapper {
    padding: 30px 30px 15px 30px;
}

.grid_color_wrapper .grid_color_caption > h4 {
	margin-top: 0;
	color: inherit;
}

/**Flip Boxes**/
.flip_box{ 
	margin-bottom: 30px;
}

.flip_box_wrapper {
	position: relative;
    z-index: 1;
    padding: 0;
    margin: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
}

.flippanel {
    position: relative;
    -webkit-perspective: 1000px;
    perspective: 1000px;
}

.flipfront, .flipback {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    top: 0;
    right: 0;
    left: 0;
    -webkit-perspective: 1000px;
    perspective: 1000px;
    padding: 27px 20px;
    text-align: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-clip: padding-box;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.3);
    box-shadow: 0 0 10px 0 rgba(0,0,0,.3);
	min-height: 300px;
}

.flip-box-back-inner, .flip-box-front-inner {
    width: 100%;
}

.flipfront {
    bottom: 0;
    z-index: 10;
	background-color: rgba(246, 246, 246, .3);
}

.flipback {
    position: absolute;
    z-index: -1;
	background-color: rgba(0,0,0,.2);
}

.flipfront, .flipback {
    -webkit-transition: -webkit-transform .4s cubic-bezier(.2,.85,.4,1.275);
    transition: -webkit-transform .4s cubic-bezier(.2,.85,.4,1.275);
    transition: transform .4s cubic-bezier(.2,.85,.4,1.275);
    transition: transform .4s cubic-bezier(.2,.85,.4,1.275),-webkit-transform .4s cubic-bezier(.2,.85,.4,1.275);
}

.flipfront {
    -webkit-transform: rotateY(0);
    transform: rotateY(0);
}

.flip_box_wrapper:hover .flipfront {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}

.flipback {
    -webkit-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
}

.flip_box_wrapper:hover .flipback {
    -webkit-transform: rotateY(0);
    transform: rotateY(0);
}

/** video box**/
.video_box_wrapper {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	
}

.video_box_wrapper > img {
	opacity: 0;
}

.video_box_wrapper > img,
.video_box_wrapper {
	position: relative;
	display: block;
}

.video_box_wrapper .video_caption {
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,.1);
}

.video_box_wrapper .video_caption_text {
	position: absolute;
	width: 100%;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);		
}

.video_box_wrapper .video_caption_text,
.play-button,
.video_box_wrapper .video_caption_text a {
	font-size: 52px;
	color: #fff;
}

.play_button {
	border-radius: 100%;
	border: 4px solid #fff;
	display: inline-block;
}

.modal-backdrop.show {
    opacity: .8;
}

.video_modal {
	padding: 0;
}

.video_modal .modal-dialog {
	max-width: 75%;
	margin: 0 auto;	
}

.video_modal .modal-header {
	padding: 0;
    border: 0;
    display: block;
    position: absolute;
	z-index: 999;
	top: -10px;
	right: -10px;
}

.video_modal .modal-content {
	border: 0;
	border-radius: 0;
	position: absolute;
	width: 100%;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);	
}

.video_modal .modal-body {
	padding: 0;
}

.video_modal .modal-body p,
.video_modal #video1 {
	margin: 0 0 -15px;
}

.video_modal iframe,
.video_modal object,
.video_modal embed,
.video_modal video {
	width: 100%;
}

.video_modal .modal-header .close {
	top: 0;
	right: 0;
}

.modal-dialog {
    max-width: 1200px;
    height: 100%;
}

.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
}

.embed-responsive::before {
    display: block;
    content: "";
}
.embed-responsive-16by9::before {
    padding-top: 56.25%;
}

.embed-responsive .embed-responsive-item, .embed-responsive embed, .embed-responsive iframe, .embed-responsive object, .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media screen and (max-width: 1024px) { 
	.play_button svg {
		width: 96px;
		height: 96px;
	}
	
	.video_modal .modal-dialog {
		max-width: 90%;
	}	
}



/* Table Box*/

.table_box {
	margin: 30px auto;
}

.table_box th,
.table_box td {
	width: 25%;
	font-family: var(--wp--preset--header--font);
}

.table_box thead th { 
	text-align: center;
	border-bottom: 0;
	font-weight: 700;
	font-size: 18px;
	border-right: 2px solid #f6f6f6;
	border-bottom: 2px solid #f6f6f6;
	box-shadow: unset;
}

.table>:not(:last-child)>:last-child>* {
	border-bottom-color: #f6f6f6;
}

.table_box tbody th { 
	text-align: right;
	background-color: #f9f9f9;
}

.table_box tbody th,
.table_box tbody td {
	box-shadow: unset;
	font-size: 18px;
	border-bottom: 2px solid #f6f6f6;
	border-right: 2px solid #f6f6f6;
	padding: 18px 10px;
	font-weight: 700;
}

.table_box tbody td i.fa-check-circle {
	color: #59b200;
	margin-right: 10px;
}

.table_box tbody td i.fa-times-circle {
	color: #d80000;
	margin-right: 10px;
}