/* Custom CSS */

/* TABLES */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

td {
    padding: 8px 12px;
    border: 1px solid var(--e-global-color-secondary);
}

tr:first-child td {
    background-color: var(--e-global-color-secondary);
    color: var(--e-global-color-text);
    padding: 12px;
    border: 1px solid var(--e-global-color-secondary);
}

td + td {
    padding-left: 16px;
}

@media screen and (max-width: 767px) {
    table {
        display: block;
        overflow-x: auto!important;
        white-space: nowrap;
        /* Hide scrollbar */
        -ms-overflow-style: none;
        scrollbar-width: none;
        /* Add gradient mask */
        mask-image: linear-gradient(to right, black calc(100% - 30px), transparent 100%);
        -webkit-mask-image: linear-gradient(to right, black calc(100% - 30px), transparent 100%);
    }

    /* Hide scrollbar for Chrome, Safari and Opera */
    table::-webkit-scrollbar {
        display: none;
    }
}

/* HEADER & MENU */
header {
  z-index: 3000 !important;
}
@media (max-width: 1024px) {
	header .raven-link-item.raven-menu-item .link-label{
		display:none;
	}
}
.jupiterx-popup {
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease !important;
}
.jupiterx-popup--hide-state {
  transform: translateY(20px) !important;
}
.jupiterx-popup--show-state {
  transform: translateY(0) !important;
}
.hamburger-custom {
  position: absolute;
  top: -10px;
  right: 0;
  width: 30px;
  height: 18px;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 100 !important;
  color: inherit!important;
  background-color: inherit!important;
  border-radius: 0!important;
  padding: 0!important;
}
.hamburger-custom span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--e-global-color-9b70ef7);
  position: absolute;
  left: 0;
  transition: all 0.3s;
}
.hamburger-custom span:nth-child(1) {
	top: 0;
 	background: var(--e-global-color-accent)
}
.hamburger-custom span:nth-child(2) {
	top: 8px;
}
.hamburger-custom span:nth-child(3) {
	top: 16px;
	background: var(--e-global-color-primary)
}
.hamburger-custom:hover span:nth-child(2){
	left:-5px
}
.hamburger-custom.active span:nth-child(1) {
	transform: rotate(45deg);
	top: 9px;
}
.hamburger-custom.active span:nth-child(2) {
  opacity: 0;
}
.hamburger-custom.active span:nth-child(3) {
  transform: rotate(-45deg);
  top: 9px;
}

/* SUBMENU */
#full-menu-container.hidden,
.full-menu-submenu {
  display: none!important;
}
.full-menu-submenu.active {
  display: block!important;
}

/* MODULE */
:root {
    --module-vertical-spacing: 90px;
    --module-horizontal-spacing: 60px;
    --module-vertical-spacing-outer: calc(var(--module-vertical-spacing) + 1px);
    --module-horizontal-spacing-outer: calc(var(--module-horizontal-spacing) + 1px);
    --module-border-size: 100px;
}

@media (max-width: 767px) {
    :root {
        --module-vertical-spacing: 20px;
        --module-horizontal-spacing: 20px;
        --module-vertical-spacing-outer: calc(var(--module-vertical-spacing) + 1px);
        --module-horizontal-spacing-outer: calc(var(--module-horizontal-spacing) + 1px);
        --module-border-size: 40px;
    }
}

.module{
    border: 1px solid var(--e-global-color-9b70ef7);
    position: relative;
}
.module-left{
    border-left: 0;
	padding-top: var(--module-vertical-spacing)!important;
	padding-right: var(--module-horizontal-spacing)!important;
	padding-bottom: var(--module-vertical-spacing)!important;
	padding-left: calc(var(--module-horizontal-spacing) / 2)!important;
}
.module-right{
    border-right: 0;
	padding-top: var(--module-vertical-spacing)!important;
	padding-right: calc(var(--module-horizontal-spacing) / 2)!important;
	padding-bottom: var(--module-vertical-spacing)!important;
	padding-left: var(--module-horizontal-spacing)!important;
}
.module-full-top{
	border-bottom: 0;	
}
.module-full-bottom{
	border-top: 0;	
}
.module-corner-top:before,
.module-corner-top:after,
.module-corner-btm:before,
.module-corner-btm:after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
}
.module-left .module-corner-top:before {
	top: calc(-1 * var(--module-vertical-spacing));
	right: calc(-1 * var(--module-horizontal-spacing));
	border-top: var(--module-border-size) solid var(--e-global-color-9b70ef7);
	border-left: var(--module-border-size) solid transparent;
}
.module-left .module-corner-top:after {
	top: calc(-1 * var(--module-vertical-spacing-outer));
	right: calc(-1 * var(--module-horizontal-spacing-outer));
	border-top: var(--module-border-size) solid black;
	border-left: var(--module-border-size) solid transparent;
}
.module-left .module-corner-btm:before {
	bottom: calc(-1 * var(--module-vertical-spacing));
	right: calc(-1 * var(--module-horizontal-spacing));
	border-bottom: var(--module-border-size) solid var(--e-global-color-9b70ef7);
	border-left: var(--module-border-size) solid transparent;
}
.module-left .module-corner-btm:after {
	bottom: calc(-1 * var(--module-vertical-spacing-outer));
	right: calc(-1 * var(--module-horizontal-spacing-outer));
	border-bottom: var(--module-border-size) solid black;
    border-left: var(--module-border-size) solid transparent;
}
.module-right .module-corner-top:before {
	top: calc(-1 * var(--module-vertical-spacing));
	left: calc(-1 * var(--module-horizontal-spacing));
	border-top: var(--module-border-size) solid var(--e-global-color-9b70ef7);
	border-right: var(--module-border-size) solid transparent;
}
.module-right .module-corner-top:after {
	top: calc(-1 * var(--module-vertical-spacing-outer));
	left: calc(-1 * var(--module-horizontal-spacing-outer));
	border-top: var(--module-border-size) solid black;
	border-right: var(--module-border-size) solid transparent;
}
.module-right .module-corner-btm:before {
	bottom: calc(-1 * var(--module-vertical-spacing));
	left: calc(-1 * var(--module-horizontal-spacing));
	border-bottom: var(--module-border-size) solid var(--e-global-color-9b70ef7);
    border-right: var(--module-border-size) solid transparent;
}
.module-right .module-corner-btm:after {
	bottom: calc(-1 * var(--module-vertical-spacing-outer));
	left: calc(-1 * var(--module-horizontal-spacing-outer));
	border-bottom: var(--module-border-size) solid black;
	border-right: var(--module-border-size) solid transparent;
}

.module .video-element .elementor-widget-container{
    margin-top: -55px!important;
    margin-bottom: -55px!important;
     margin-right: -30px!important;
}

.module .video-element .mejs-controls{
	display: none!important;
}

.module .video-element:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    margin-top:-55px;
    top: 0px;
    left: 0px;
    border-top: 60px solid  black;
    border-right: 60px solid transparent;
    z-index:5;
}
.module .video-element:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    margin-bottom:-55px;
    bottom: 0px;
    left: 0px;
    border-bottom: 60px solid  black;
    border-right: 60px solid transparent;
    z-index:5;
}
@media (max-width: 767px) {
    .module .video-element .elementor-widget-container{
        margin-top: -20px!important;
        margin-bottom: -20px!important;
         margin-right: -7.5px!important;
    }
    .module .video-element:before {
        margin-top:-20px;
        border-top: 30px solid  black;
        border-right: 30px solid transparent;
    }
    .module .video-element:after {
        margin-bottom:-20px;
        bottom: 0px;
        left: 0px;
        border-bottom: 30px solid  black;
        border-right: 30px solid transparent;
    }
}


.products-nav {
	width: 100%;
}
.products-nav-wrapper {
    display: flex;
    flex-direction: column;
}
.product-nav-item {
    background: none;
    border: none;
    text-align: center;
    color: var(--e-global-color-46498b5)!important;
	background: transparent!important;
	border-bottom: 1px solid var(--e-global-color-secondary)!important;
    padding: 15px 10px!important;
    font-size: 16px;
    cursor: pointer;
    transition: color 0.3s ease;
}

.product-nav-item:hover,
.product-nav-item.active {
    color: var(--e-global-color-accent)!important;
	background: #000!important;
}

.product-nav-item:last-child {
    border-bottom: none!important;
}

.product-nav-item.active {
    position: relative;
}

.specs-container .spec-row {
    display: flex;
    justify-content: space-between;
	flex-direction: column;
	gap: 5px;
    border-bottom: 1px solid var(--e-global-color-secondary);
    padding: 1rem 0;
}
.specs-container .spec-value {
    text-align: left;
}
.specs-container .spec-row:first-child {
    padding-top: 0;
}
@media (min-width: 768px) {
	.products-nav {	
		margin-left: -30px;
	}
    .specs-container .spec-row {
        flex-direction: row;
        gap: 0;
    }
    .specs-container .spec-value {
        text-align: right;
    }
}

/* QUOTE */
.woocommerce.ywraq-wrapper .yith-ywraq-mail-form-wrapper .woocommerce-message{
	margin: 0 auto 30px!important;
	padding: 16px 55px!important;
}
@media (min-width: 1024px) {
	.woocommerce.ywraq-wrapper .yith-ywraq-mail-form-wrapper .woocommerce-message{
	    width: inherit!important;
	}
}

/* GALLLERY */
body .raven-main-swiper {
	left: inherit !important;
	margin: inherit !important;
}
.elementor-element .swiper .elementor-swiper-button,
.elementor-element .swiper ~ .elementor-swiper-button {
	padding: 8px;
	border: 1px solid #e3e3e3;
	background-color: #fff;
}
.elementor-element .swiper .elementor-swiper-button:hover svg,
.elementor-element .swiper ~ .elementor-swiper-button:hover svg {
	fill: var(--e-global-color-accent)!important;
}
.elementor-lightbox .elementor-lightbox-image {
	box-shadow: none!important;
}
.elementor-slideshow__title {
	display: none;
}
@media (min-width: 1024px) {
	.elementor-element .swiper .elementor-swiper-button-prev,
	.elementor-element .swiper ~ .elementor-swiper-button-prev {
		left: 60px!important;
	}
	.elementor-element .swiper .elementor-swiper-button-next,
	.elementor-element .swiper ~ .elementor-swiper-button-next {
		right: 60px!important;
	}
}

/* PASSWORD PROTECTED */
main:has( > .passster-form){
	padding: 75px 30px;
}
main .passster-form > form{
	text-align: center;
	background: rgba(0,0,0,0);
}
main .passster-form .ps-form-headline{
	margin-bottom: 1rem;
	line-height: 1.5;
	display: block;
	letter-spacing: 0.1;
}
main .passster-form p{
	margin-bottom: 1.5rem;
}
main .passster-form > form{
	background: rgba(0,0,0,0);
}

@media (min-width: 768px) {
	main:has( > .passster-form){
		height: 75vh;
		padding: 150px;
	}
	main .passster-form {
		width: 500px;
	}
	main .passster-form .ps-form-headline{
		font-size: 42px;
	}
}