@charset "utf-8";

/* ================================================== */
/* created by designesia

* body
* header
	* subheader
* navigation
* content
* section
* footer
* sidebar
* blog
* products
* contact
* coming soon page
* elements
	* address
	* border
	* breadcrumb
	* button
	* columns
	* counter
	* divider
	* dropcap
	* form
	* heading
	* icon font
	* list
	* map
	* package
	* page heading
	* pagination
	* pricing
	* progress bar
	* social icons
	* spacer
	* tabs
	* team
	* testimonial
* media query

/* import fonts */
@import url(https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,600,600i,700,700i,800,800i);
@import url(https://fonts.googleapis.com/css?family=Dosis:400,200,300,500,600,700,800);
@import url(https://fonts.googleapis.com/css?family=Allura);

/* import icons */
@import url("../fonts/font-awesome/css/font-awesome.css");
@import url("../fonts/fontawesome6/css/fontawesome.css");
@import url("../fonts/fontawesome6/css/brands.css");
@import url("../fonts/fontawesome6/css/solid.css");
@import url("../fonts/elegant_font/HTML_CSS/style.css");
@import url("../fonts/et-line-font/style.css");

*{
	--bg-dark-1:#18191b;
}

/* ================================================== */
/* body */
/* ================================================== */
html{
background:#000000 !important;
}

body {
	display:none;
	font-family: "Roboto",Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight:400;
	color: #bbbbbb;
	line-height: 1.8em;
	padding: 0;
	background:#18191B;
}

body.de_light{
	background: #ffffff;
}

body.de_light,.de_light,
.text-dark,.modal-body{
	color:#606060;
}

html.no-scroll,
body.no-scroll {
    overflow: hidden;
}

html.no-scroll::-webkit-scrollbar,
body.no-scroll::-webkit-scrollbar {
    display: none;
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.rtl,
.rtl .tp-caption{
	text-align:right;
}
.rtl header div#logo{
	float:right;
}
.rtl header nav {
	float:left;
}
.rtl #subheader h1{
	float:right;
	padding-right: 0px;
	margin-right: 0px;
}
.rtl .crumb {
	float:left;
	padding:0;
	margin:0;
}
.rtl .de-team-list .small-border{
	float:right;
}
.rtl .crumb li{
	float:right;
	padding:0 5px;
}

.de_phone-simple {
	font-size: 12px;
	font-weight: bold;
	line-height: 1.6em;
	position: relative;
	padding-left: 46px;
}

.de_phone-simple i{
	position: absolute;
	font-size: 42px;
	left: 0;
}

.de_phone-simple .d-num{
	font-size: 20px;
	display: block;
}

.col-extra .de_phone-simple{
	margin-top: -18px;
}

.header-s2 .col-extra .de_phone-simple{
	margin-top: -5px;
}

#wrapper{
overflow:hidden;
}

#wrapper.wrapper-s2{
	background: #ffffff;
}

#page-overlay{
background: rgba(0,0,0,.7);
position: fixed;
height: 100%;
width:100%;
z-index: -1;
}

.de-navbar-left #wrapper{
overflow:visible;
}

/* ================================================== */
/*  header	*/ 
/* ================================================== */
	header {
	width: 100%;
	height: 80px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1001;
	-webkit-transition: height 0.3s;
	-moz-transition: height 0.3s;
	-ms-transition: height 0.3s;
	-o-transition: height 0.3s;
	transition: height 0.3s;
	background:#18191b;
	border-bottom:solid 1px rgba(0,0,0,0.0);
	}
	
	header .info{
	display:none;
	color:#fff;
	text-align:right;
	padding:10px 0 10px 0;
	width:100%;
	z-index:100;
	border-bottom:solid 1px rgba(255,255,255,.2);
	}
	header .info .column{
	display:inline-block;
	padding:0 15px 0 15px;
	font-size:11px;
	letter-spacing:1px;
	float: left;
	}
	header .info .social.column{
	border:none;
	float: right;
	}
	header .info .social i{
	color:#fff;
	font-size:14px;
	display:inline-block;
	float:none;
	padding:0 10px 0 10px;
	}
	header .info strong{
	font-size:12px;
	}
	
	header.header-light .info{
	color:#333;
	}
	header.header-light .info .social i{
	color:#333;
	}
	header.transparent.header-light .info,
	header.transparent.header-light .info .social i{
	color:#fff;
	}
	
	header.header-bg{
	background:rgba(0,0,0,0.5);
	}
	
	header.transparent{
	background:rgba(0,0,0,0.0);
	}
	
	header.autoshow{
	top:-80px;
	}	
	
	header.autoshow.scrollOn,header.autoshow.scrollOff{
	-o-transition:.5s;
	-ms-transition:.5s;
	-moz-transition:.5s;
	-webkit-transition:.5s;
	transition:.5s;
	outline: none;	
	}
	
	header.autoshow.scrollOn{
	top:0;
	}
	
	header.autoshow.scrollOff{
	top:-80px;
	}
	
	header div#logo {
	display: table;
	height: 80px;
	float: left;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s; 
	}
	header div#logo .logo-2{
	display:none;
	}
	header div#logo a{
	display:table-cell;
    vertical-align:middle;
	}
	header nav {
	float:right;
	}
	header nav a {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s; 
	}
	header nav a:hover {
	color: #555; 
	}
	header.smaller:not(.header-bottom):not(.side-header):not(.force-header-mobile):not(.header-s2) #mainmenu > li > a{
	padding-top: 18px;
	padding-bottom:18px;
	}
	header.smaller:not(.header-bottom):not(.side-header):not(.force-header-mobile) #mainmenu li li a{
	padding-top: 0px;
	padding-bottom: 0px;
	}
	header.smaller:not(.header-bottom):not(.side-header):not(.force-header-mobile) #mainmenu ul{
	top:70px;
	}
	header.smaller:not(.header-bottom):not(.side-header):not(.force-header-mobile) #mainmenu ul ul{
	top:0px;
	}
	header.smaller:not(.header-bottom):not(.side-header):not(.force-header-mobile):not(.header-s2){
	height: 70px;
	background:#18191b;
	}
	header.header-light.smaller:not(.header-bottom):not(.side-header):not(.force-header-mobile):not(.header-s2){
	height: 70px;
	background:#ffffff;
	}
	header.smaller.no-border:not(.header-bottom):not(.side-header){
	border:none;
	}
	header.smaller:not(.header-bottom):not(.side-header):not(.force-header-mobile):not(.header-s2) div#logo {
	height:70px;
	}
	
	.logo-smaller div#logo {
	width: 150px;
	height:30px;
	line-height: 65px;
	font-size: 30px;
	}
	.logo-smaller div#logo img{
	line-height: 75px;
	font-size: 30px;
	}
	.logo-smaller  div#logo .logo-1{
	display:none;
	}
	.logo-smaller  div#logo .logo-2{
		display:inline-block;
	}
	.logo-small{
	margin-bottom:20px;
	}
		
	header.de_header_2{
		height:125px;	
	}
	
	header.de_header_2.smaller {
		height:70px;
	}
	
	header.de_header_2.smaller .info{
		position:absolute;
		opacity:0;
		z-index:-1;
	}
	
	header.header-light{
	background:#fff;
	}
	
	header.header-light.transparent{
	background:none;
	}
	
	header.smaller:not(.header-bottom).header-light:not(.header-s2){
	background:#fff;
	border-bottom-color:#eee;
	}
	
	header.smaller.scroll-transparent{
		background: none !important;
	}


	.de-navbar-left{
	background:#151618 ;
	}
	
	.de-navbar-left #logo{
	padding:40px;
	text-align:center;
	width:30%;
	}
	
	.de-navbar-left header{
	position:relative;
	display:block;
	width:100%;
	height:100%;
	left:0;
	background:none;
	padding:30px;
	padding-right:20px;
	}
	
	
	.de-navbar-left header #mainmenu{
	float:none;
	margin:0;
	padding:0;
	}	
	
	.de-navbar-left header #mainmenu > li{
	display:block !important;
	margin:0;
	float:none;
	text-align:center;
	font-family:"Dosis";
	letter-spacing:5px;
	font-size:14px;
	padding:0;
	padding-top:10px;
	padding-bottom:10px;
	border-bottom:solid 1px rgba(255,255,255,.1);
	}	
	.de_light.de-navbar-left header #mainmenu > li{
	border-bottom:solid 1px rgba(0,0,0,.05);
	}
	.de-navbar-left header #mainmenu > li > a{
	padding:0;
	opacity:.5;
	}	
	.de_light.de-navbar-left header #mainmenu > li > a{
	color:#222;
	}	
	.de-navbar-left header #mainmenu > li a:hover{
	opacity:1;
	}
	.de-navbar-left header #mainmenu > li >a:after{
	content:none;
	}
	.de-navbar-left header nav{
	float:none !important;
	}
	
	
	/* subheader */
	#subheader{
	padding-bottom:70px;
	background:#222;
	}
	#subheader{
	-webkit-background-size: 100% auto !important;
	-moz-background-size: 100% auto !important;
	-o-background-size: 100% auto !important;
	background-size: 100% auto !important;
	}
	.de-navbar-left  #subheader{
	padding-bottom:120px;
	}
	#subheader h1 {
	color:#eceff3;
	margin-top:80px;
	font-size: 32px;
	letter-spacing: 5px;
	float: left;
	padding-right: 40px;
	margin-right: 40px;
	text-transform:uppercase;
	}
	#subheader span {
	letter-spacing:2px;
	display: inline-block;
	font-size: 15px;
	margin-top:88px;
	color:#fff;
	}
	#subheader .crumb{
	font-size:10px;
	letter-spacing:3px;
	margin-top: 90px;
	color:#fff;
	text-transform:uppercase;
	}
	.de-navbar-left.de_light #subheader h1{
	color:#222;
	}
	
	#subheader.style-2 .title-wrap{
	float:left;
	margin-top:60px;
	}
	#subheader.style-2{
	padding:150px 0 150px 0;
	}
	#subheader.style-2 h1{
	font-size:56px;
	text-align:left;
	margin:0;
	float:none;
	font-weight:bold;
	letter-spacing:1px;
	}
	#subheader.style-2 h4{
	color:#fff;
	margin-top:10px;
	font-weight:500;
	text-transform:none;
	}
	#subheader.style-3,
	#subheader.style-4{
		background:#f8f8f8;
		padding:30px 0 30px 0;
	}
	#subheader.style-3 h1,
	#subheader.style-4 h1{		
		font-size: 28px;
		padding-top: 10px;
	}
	#subheader.style-4{
		background: #202124;
	}

#subheader.style-5 h1{
	display: block;
	text-align: center;
	width: 100%;
	padding: 0;
}

/* ================================================== */
/* navigation */
/* ================================================== */
	.header-custom:not(.header-mobile){
	height:auto;
	position:relative;
	width:100%;
	left:0;
	}
	.header-custom:not(.header-mobile) nav{
	display:block;
	width:100%;
	text-align:center;
	margin-bottom:-1px;
	float:none;
	}
	.header-custom:not(.header-mobile).s2 nav{
	text-align:left;
	background:none;
	margin:0;
	padding:0;
	float:left;
	}	
	.header-custom:not(.header-mobile) nav #mainmenu{
	display:inline-block !important;
	margin:0;
	float:none;
	padding:0;
	}
	.header-custom:not(.header-mobile) #mainmenu > li > a{
	padding: 20px 0px 20px 20px;
	line-height:20px;
	}
	.header-custom:not(.header-mobile) #mainmenu > li:first-child > a{
	padding-left:0;
	}
	.header-custom:not(.header-mobile) div#logo{
	width:100%;
	}
	.header-custom:not(.header-mobile) div#logo img{
	text-align:center;
	}
	.header-custom:not(.header-mobile) #mainmenu li > ul,
	.header-custom:not(.header-mobile) #mainmenu li:hover > ul{
	margin-top:-20px;
	}
	
	.header-custom:not(.header-mobile) #mainmenu li ul ul,
	.header-custom:not(.header-mobile) #mainmenu li:hover ul ul {
	top:20px;
	}
	.header-custom:not(.header-mobile) #mainmenu li ul.mega,
	.header-custom:not(.header-mobile) #mainmenu li:hover ul.mega{
	margin-top:60px;
	}
	.header-custom:not(.header-mobile) .menu-group{
	background:rgba(255,255,255,.02);
	margin-bottom:-1px;
	height:60px;
	padding-top:-1
	}
	.header-custom:not(.header-mobile) .form-default{
		margin-top:-5px;
	}
	.header-custom.header-light:not(.header-mobile) .menu-group{
	background:rgba(0,0,0,.05);
	}
	
	#mainmenu {
	font-family:"Roboto", Arial, Helvetica, sans-serif;
	float: right;
	font-size:11px;
	font-weight:400;
	letter-spacing:3px;
	text-transform:uppercase;
	}	
	
	#mainmenu ul {
	float: right;
	margin: 0px 0px;
	padding: 0px 0px;
	height: 30px;
	}
	
	#mainmenu li {
	margin: 0px 0px;
	padding: 0px 0px;
	float: left;
	display: inline;
	list-style: none;
	position: relative;
	}
	
	#mainmenu a{
	line-height:30px;
	}
		
	#mainmenu > li > a{
	line-height:35px;
	}
		
	#mainmenu a {
	display: inline-block;
	padding: 25px 0px 25px 20px;
	text-decoration: none;
	text-align:center;
	outline:none;
	}
	
	#mainmenu a,
	header.transparent.header-light #mainmenu a{
	color:#fff;
	}

	#mainmenu.style-2 a{
		font-size: 14px;
		letter-spacing: 0;
		text-transform: none;
	}
	
	#mainmenu li a:after { float:right; position:relative; font-family:"FontAwesome"; content:"\f111"; font-size:6px; margin-left:20px; margin-top:0px; color:#FAB702; }
	
	#mainmenu li:last-child a:after{display:none;}	

	#mainmenu.no-separator li a:after{
		margin-left: 5px;
	}
	
	
	#mainmenu.dotted-separator li a:after{
	content:"\f111";
	font-size:6px;
	}	
	
	#mainmenu.line-separator li a:after{
	content:"/";
	font-size:14px;
	}	
	
	#mainmenu.circle-separator li a:after{
	content:"\f10c";
	font-size:9px;
	}	
	
	#mainmenu.strip-separator li a:after{
	content:"\f068";
	font-size:9px;
	}	
	
	#mainmenu.plus-separator li a:after{
	content:"\f067";
	font-size:11px;
	}	
	
	#mainmenu.square-separator li a:after{
	content:"\f096";
	font-size:11px;
	}		
	
	#mainmenu.no-separator li a:after{
	font-size:0px;
	}
	
	#mainmenu.ms-2{
		text-transform:none;
		letter-spacing:0;
	}
	
	#mainmenu.ms-2 li{
		font-size:15px;
	}
	
	#mainmenu.ms-2 > li{
		font-weight:500;
	}
	
	#mainmenu li li {
	font-size: 10px;
	font-weight: normal; 
	border-bottom: solid 1px #333;
	}
	
	#mainmenu li li:last-child {
	border-bottom: none;
	}
	

	#mainmenu li li a {
	padding: 0px 12px 0px 12px;
	border-top: none;
	color: #ccc;
	width:201px;
	border-left:none;
	text-align:left;
	}
	
	#mainmenu li li a:hover{
	color:#111;
	}
	
	#mainmenu li li a:after {
	content:none !important;
	}
	
	#mainmenu li li li a {
	background: #222327;
	}
	
	#mainmenu li li a:hover {
	color:#111;
	background: #1a8b49;
	}
	
	/* new added menu */
	
	#mainmenu li > ul {
	width: 201px;
	height: 0;
	position: absolute;
	top: 80px;
	left: 0px;
	z-index: 10;
	opacity:0;
	margin-top:5px;
	overflow:hidden;
	}	
	
	#mainmenu li:hover > ul {
	opacity:1;
	height:auto;
	margin-top:0px;
	overflow:visible;
	}	
	
	#mainmenu li ul.mega ul {
	width: 201px;
	height: auto;
	position: absolute;
	top: 80px;
	left: 0px;
	z-index: 10;
	visibility:hidden;
	opacity:0;
	margin-top:5px;
	}
	
	/* close new added menu */
	
	#mainmenu li li {
	display: block;
	float: none;
	}
	
	
	#mainmenu ul li:hover > a{
	color:#222;
	}
	
	header.header-mobile #mainmenu li ul {
	visibility: visible;
	opacity:1;
	margin-top:0px;
	}
	
	#mainmenu li ul{		
	background: #222327;
	}

	#mainmenu.sub-transparent li ul{		
	background: rgba(10,10,10,.7);
	}
	
	#mainmenu li ul ul {
	left: 100%;
	top: 0px;
	}
	
	#mainmenu li:hover > ul {
	color: #1a8b49;
	}
	
	#mainmenu select {
	padding: 10px;
	height: 36px;
	font-size: 14px;
	border: none;
	background: #ff4200;
	color:#eceff3;
	}
	
	#mainmenu select option {
	padding: 10px;
	}
	
	
	header.header-light #mainmenu > li > a,
	header.header-light.transparent #mainmenu > li > a,
	header.transparent.smaller.header-light #mainmenu > li > a,
	header.header-s2.header-light #mainmenu > li > a:hover{
	color:#333 !important;
	}
	
	#mainmenu > li ul.mega{
	position:fixed;
	left:0;
	height:0%;
	width:100%;
	visibility: hidden;
	opacity: 0;
	overflow:hidden;
	}
	#mainmenu li:hover ul.mega{
	visibility: visible;
	opacity: 1;
	}
	#mainmenu li ul.mega > li,
	#mainmenu li ul.mega > li a{
		width:100%;
	}
	#mainmenu li ul.mega li.title{
		font-size: 12px;
		padding:0px 10px 10px 15px;
		text-align:left;
		color:#fff;
		font-weight:bold;
	}
	#mainmenu li ul.mega > li ul{
		position:static;
		visibility: visible;
		opacity: 1;
		left:0;
		float:none;		
		width:100%;
	}
	#mainmenu ul.mega > li ul li{
		margin:0;
		padding:0;
	}
	
	#mainmenu ul.mega > li ul li a{
		margin:0;
	}
	
	#mainmenu ul.mega > li ul li:last-child{
		border-bottom:solid 1px #333333;
	}

	#mainmenu li ul.mega .menu-content{
		background:#222327;
		padding:30px;
	}

	#mainmenu ul.mega ul,
	#mainmenu ul.mega li,
	#mainmenu ul.mega li li a{
		background: none;
	}

	#mainmenu.sub-transparent li ul.mega .menu-content{
		background: rgba(10,10,10,.7);
	}

	#mainmenu.menu-flex{
		display:-webkit-box;
		width:80%;
	    -webkit-box-orient: horizontal;
	    -webkit-box-pack:justify;
	}

	#mainmenu.menu-flex > li{
		-webkit-box-flex:1;
	    text-align:center;
	    margin: 0 10px;
	}

	#mainmenu.menu-flex.mf-left > li{
		text-align: left;
	}

	#mainmenu.s2 li a{
		font-size: 16px;
		text-transform: none;
		letter-spacing: 0;
	}

	header.header-mobile #mainmenu > li ul.mega{
	visibility: visible;
	opacity: 1;
	}
	header.header-mobile.header-light #mainmenu li ul.mega li.title{
		color:#222222;
	}
	header:not(.header-mobile):not(.force-header-mobile) #mainmenu > li:hover ul.mega{
		height:auto;
	}

	header.header-s2{
    background: none;
    top: 30px;
    -webkit-box-shadow:none;
    -moz-box-shadow:none;
    box-shadow:none;
	}

	header.header-s2 #mainmenu{
		margin: 0;
	}

	header.header-s2 .d-menu-wrap{
	    background: var(--bg-dark-1);
	    border-radius:3px;
	    -moz-border-radius:3px;
	    -webkit-border-radius:3px;
	}

	header.header-light.header-s2 .d-menu-wrap{
	    background: white;
	}


	header.header-s2.smaller .d-menu-wrap{
	    -webkit-box-shadow: 0 20px 60px rgb(0 0 0 / 20%);
	    -moz-box-shadow: 0 20px 60px rgb(0 0 0 / 20%);
	    box-shadow: 0 20px 60px rgb(0 0 0 / 20%);
	}

#menu-overlay{
	position:fixed;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.9);
	color:#ffffff;
	z-index:10000;
	overflow-y:auto;
	display:none;
	overflow-x: hidden;
	}
	#menu-overlay.slideDown{
		top:-100%;
	}
	
	#mo-button-open{
	position:absolute;
	display:block;
	width:30px;
	right:20px;
	margin-top:22px;
	overflow:hidden;
}

	#mo-button-open div{
		width:100%;
		height:3px;
		background:#ffffff;
		margin-bottom:7px;
	}
	#mo-button-open.mo-bo-s1{
		top:10px;
	}
	#mo-button-open.mo-bo-s1 div{
		height:1px;
	}

	#mo-button-open:hover div:nth-child(1){
		margin-left:50%;
	}

	#mo-button-open:hover div:nth-child(2){
		margin-left:25%;
	}

	#mo-button-close {
		position:absolute;
		top: 0px;
		right:20px;
		display: block;
		width: 30px;
		height: 45px;
		cursor: pointer;
	}

	#mo-button-close .line-1,
	#mo-button-close .line-2 {
		top:32px;
		width: 30px;
		height: 3px;
		background: #ffffff;
		position: absolute;
		border-radius: 10px;
		right:0px;
	}

	#mo-button-close .line-1 {
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	#mo-button-close .line-2 {
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#mo-button-close:hover .line-1,
	#mo-button-close:hover .line-2 {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}



	#mo-menu ul, #mo-menu li{
		padding:0;
		margin:0;
		list-style:none;
	}

	#mo-menu{
		font-size:16px;
		margin-left:-30px;
	}

	#mo-menu a{
		text-decoration:none;
		color:#ffffff;
	}

	#mo-menu li ul a{
		color:#888888;
	}

	#mo-menu li ul a:hover{
		color:#ffffff;
	}

	#mo-menu > li > a{
		font-size:40px;
		padding:15px 0;
		display:inline-block;
	}

	#mo-menu > li{
		display:block;
		width:100%;
		opacity:0;
	}

	#mo-menu > li.show{
		opacity:1;
	}

	#mo-menu > li > ul{
		overflow: hidden;
		max-height: 0;
		transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
	}

	#mo-menu:not(.mo-center) > li > ul{
		width:100%;
	}

	#mo-menu > li > ul.full {
	  max-height: 2000px;
	  transition: max-height 1s ease-in-out;
	}

	#mo-menu.mo-center{
		text-align:center;
	}

	#mo-menu.mo-center > li > ul{
		margin-left:15px;
	}

	#mo-menu .menu-content ul li{
		padding:0;
		margin:0;
		list-style:none;
	}

	#mo-menu li ul.mega .menu-content{
		padding:0px;
	}

	#mo-menu.mm-hover-underline > li span{
		border-bottom:solid 1px #ffffff;
		width:0;
		display: block;
		position: relative;
	}

	#mo-menu.mm-hover-underline > li:hover span{
		width:100%;
	}

	#mo-menu.mm-style-1{
		text-transform:uppercase;
		letter-spacing:5px;
	}
	#mo-menu.mm-style-1 > li > a{
		font-size: 20px;
	}

	#mo-menu.mm-style-2{
		letter-spacing:5px;
	}
	#mo-menu.mm-style-2 > li > a{
		font-size: 64px;
		line-height: 60px;
		font-weight: bold;
		padding: 20px;
		letter-spacing: 20px;
		text-transform: uppercase;
		color:rgba(0,0,0,0);
		-webkit-text-stroke-width: 1px;
		-webkit-text-stroke-color: rgba(255,255,255,.5);
	}
	#mo-menu.mm-style-2 > li > a:hover{
		-webkit-text-stroke-color: rgba(255,255,255,1);
		transform: scale(1.2);
		color:#ffffff;
	}

	#mo-menu.mm-style-2 > li{
		transform: scale(0);
	}

	#mo-menu.mm-style-2 > li.show{
		transform: scale(1);
	}


	#mo-menu.mm-style-3{
		letter-spacing:5px;
	}
	#mo-menu.mm-style-3 > li > a{
		font-size: 64px;
		line-height: 60px;
		font-weight: bold;
		padding: 20px;
		letter-spacing: 20px;
		text-transform: uppercase;
	}
	#mo-menu.mm-style-3 > li > a:hover{
		transform: scale(1.2);
		color:#ffffff;
	}

	#mo-menu.mm-style-3 > li{
		transform: scale(0);
	}

	#mo-menu.mm-style-3 > li.show{
		transform: scale(1);
	}


	/* menu toggle for mobile */
	#menu-btn{
	display:none;
	float:right;
	margin-top:5px;
	width:36px;
	height:36px;
	padding:6px;
	text-align:center;
	cursor:pointer;
	}
	
	.header-light #menu-btn{
	background:none;
	}
	
	#menu-btn:before{
	font-family:FontAwesome;
	content: "\f0c9";
	font-size:24px;
	color:#eceff3;
	}
	
	.header-light #menu-btn:before{
	color:#333;
	}
	
	#menu-btn.unclick:before{
	content: "\f0c9";
	}
	
	#menu-btn.clicked:before{
	content: "\f00d";
	}
	
	#menu-btn:hover{
	background:#fff;
	}
	
	#menu-btn:hover:before{
	color:#222;
	}
	
	/* menu toggle animated */
	
	#nav-toggle {
	float:right;
	  width: 60px;
	  height: 20px;
	  position: relative;
	  margin: 15px auto;
	  -webkit-transform: rotate(0deg);
	  -moz-transform: rotate(0deg);
	  -o-transform: rotate(0deg);
	  transform: rotate(0deg);
	  -webkit-transition: .5s ease-in-out;
	  -moz-transition: .5s ease-in-out;
	  -o-transition: .5s ease-in-out;
	  transition: .5s ease-in-out;
	  cursor: pointer;
	  padding:10px;
	  z-index:100;
	}

	#nav-toggle span{
	  display: block;
	  position: absolute;
	  height: 2px;
	  width: 50%;
	  background: #fff;
	  border-radius: 9px;
	  opacity: 1;
	  -webkit-transform: rotate(0deg);
	  -moz-transform: rotate(0deg);
	  -o-transform: rotate(0deg);
	  transform: rotate(0deg);
	  -webkit-transition: .25s ease-in-out;
	  -moz-transition: .25s ease-in-out;
	  -o-transition: .25s ease-in-out;
	  transition: .25s ease-in-out;
	}

	#nav-toggle span:nth-child(1) {
	  top: 10px;
	}

	#nav-toggle span:nth-child(2) {
	  top: 18px;
	}

	#nav-toggle span:nth-child(3) {
	  top: 26px;
	}

	#nav-toggle.open span:nth-child(1) {
	  top: 18px;
	  -webkit-transform: rotate(135deg);
	  -moz-transform: rotate(135deg);
	  -o-transform: rotate(135deg);
	  transform: rotate(135deg);
	}

	#nav-toggle.open span:nth-child(2) {
	  opacity: 0;
	}

	#nav-toggle.open span:nth-child(3) {
	  top: 18px;
	  -webkit-transform: rotate(-135deg);
	  -moz-transform: rotate(-135deg);
	  -o-transform: rotate(-135deg);
	  transform: rotate(-135deg);
	}
	
	#menu-wrapper{
	width:100%;
	height:100%;
	background:rgba(0,0,0,.95);
	position:fixed;
	top:0;
	left:0;	
	text-align:center;
	height:0;
	overflow-y:auto;
	}
	
	#menu-wrapper  nav{
	display:inline-block;
	margin:20px auto 80px auto;
	padding:0;
	float:none;
	font-size:26px;
	opacity:0;
	}


/* ================================================== */
/* content */
/* ================================================== */
	#content {
	width:100%;
	background:#fff;
	padding:90px 0 90px 0;
	z-index:100;
	}
	
	.de_light #content{
	background:#fff;
	}
		
	
	#content{
	background:#18191b;
	}


/* ================================================== */
/* section */
/* ================================================== */
	section{padding:90px 0 90px 0;}
	section{background:#18191b;}
	
	section.custom-1{
	border-bottom-left-radius: 100% 100%;
	border-bottom-right-radius: 100% 100%;
	overflow:hidden;
	}
	
	.de-navbar-left .container-fluid .container{
	width:100% !important;
	}
	
	.de-navbar-left section{
	padding:70px;
	}
	
	.de_light section{
	background:#fff;
	}
	
	.bg-white{
	background:#ffffff;
	}
	
	.section-fixed {
	position:fixed;
	width:100%;
	min-height:100%;
	height:auto;
	}

	.gradient-dark-top{
		position: absolute;
		width: 100%;
		height: 50%;
		z-index: 1;
		background: -moz-linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 100%);
		background: -webkit-linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 100%);
		background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 100%);
	}
	
/* ================================================== */
/* footer */
/* ================================================== */
footer {
	background: #111;
	color: #ccc;
	padding: 80px 0 0 0;
	}
	
	footer h3, .de_light footer h3 {
	color:#fff;
	font-size: 20px;
	}
	
	footer a {
	color: #ccc;
	text-decoration:none !important;
	}
	
	footer a:visited {
	color: #ccc;
	}
	
	footer.light{
		color:#606060;
		background:#fff;
	}
	
	footer.light .subfooter{
	background:#f8f8f8;
	}
	
	footer.light a{
		color:#606060 !important;
		text-decoration:none;
	}

	footer.footer-fixed{
		position:fixed;
		bottom: 0;
		z-index: 1000;
		width:100%;
		height:55px;
	}

	footer.footer-transparent,
	footer.footer-transparent .subfooter{
		background: none;
	}

	.de-navbar-left footer{
	padding:70px 70px 0 70px;
	}
	
	.subfooter{
	background:#0b0b0b;
	padding:30px 0 20px 0;
	}

	footer.footer-fixed .subfooter{
	padding:15px 0 15px 0;
	}

	footer.footer-s2{
		font-size: 12px;
		text-transform: uppercase;
	}

	footer.text-light a{
		color:#bbbbbb;
	}
	
	.subfooter.light{
		border-top:solid 1px #ddd;
		background:#fff;
	}
	
	.de-navbar-left footer.light .subfooter{
	background:none;
	}
	
	.de-navbar-left .subfooter{
	background:none;
	}
	
	header.side-header{
	border-bottom:none !important;
	margin:0;
	}
	
	header.side-header .social-icons-2{
	margin:0 auto;
	margin-top:50px !important;
	float:none;
	text-align:center;
	}
	
	header.side-header .social-icons-2 a{
	display:inline-block;
	margin:0 2px 0 2px;
	background:#555;
	width:36px;
	height:36px;
	padding-top:5px;
	display:inline-block;
	text-align:center;
	border-radius:20px;
	-moz-border-radius:20px;
	-webkit-border-radius:20px;
	opacity:.2;	
	}
	
	.de_light header.side-header .social-icons-2 a{
	background:#fff;
	color:#333;
	}
	
	header.side-header .social-icons-2 a:hover{
	opacity:1;
	}	
	
	.de-navbar-left.de_light header, .de-navbar-left.de_light{background:#f9f9f9;}

	header.header-mobile{
	position:relative;
	background:#111;
	z-index:1000;
	}
	
	header.header-mobile.header-light{
	background:#fff;
	}
	
	header.smaller.header-scroll:not(.autoshow){
	position:absolute;
	}
	
	.header-bottom .info{
	display:none !important;
	}
	
	#de-sidebar{
	position:absolute;
	}
	

/* ================================================== */
/* blog */
/* ================================================== */

	/* de-blogpost-1 */
	.de-blogpost-1 .d-image{
		position: relative;
		margin-bottom: 10px;
	}
	.de-blogpost-1 .d-image a{
		position: absolute;
		width: 100%;
		height: 100%;
	}
	.de-blogpost-1 img{
		width: 100%;
	}
	.de-blogpost-1 .d-content h4{
		font-size: 16px;
	}
	.de-blogpost-1 .d-date{
		font-size: 12px;
		text-transform: uppercase;
	}

	/* de-blogpost-2 */
	.de-blogpost-2{
		position: relative;
		margin-bottom: 30px;
	}
	.de-blogpost-2 .d-image{
		width: 350px;
		float: left;
		margin-right: 30px;
	}
	.de-blogpost-2 .d-content h4{
		font-size: 22px;
		margin-bottom: 5px;
	}
	.de-blogpost-2 .d-image a{
		position: absolute;
		width: 100%;
		height: 100%;
	}
	.de-blogpost-2 .d-image img{
		width: 100%;
	}
	.de-blogpost-2 .d-content{
		overflow: hidden;
		width: calc(100% - 380px);
	}
	.de-blogpost-2 .d-cat{
		font-weight: 500;
		font-size: 12px;
		color:#ffffff;
		background: var(--primary-color-1);
		display: inline-block;
		padding: 1px 8px 1px 8px;
		line-height: 1.5em;
		margin-bottom: 10px;
		text-transform: uppercase;
		letter-spacing: 1px;
	}
	.de-blogpost-2 .d-attr div{
		display: inline-block;
		margin-right: 10px;
	}
	.de-blogpost-2 .d-attr{
		font-size: 12px;
		text-transform: uppercase;
		margin-bottom: 8px;
	}

	/* de-blogpost-3 */
	.de-blogpost-3 .d-image{
		position: relative;
		width: 100px;
		float: right;
		margin-bottom: 10px;
	}
	.de-blogpost-3.flip .d-image{
		float: left;
		margin-right: 20px;
	}
	.de-blogpost-3 .d-image img{
		width: 100%;
	}
	.de-blogpost-3 .d-content{
		width:calc(100% - 100px);
		padding-right: 10px;
	}
	.de-blogpost-3.flip .d-content{
		width:100%;
		padding-right: 0;
	}
	.de-blogpost-3 .d-image a{
		position: absolute;
		width: 100%;
		height: 100%;
	}
	.de-blogpost-3 .d-content h4{
		font-size: 16px;
	}
	.de-blogpost-3 .d-date{
		font-size: 12px;
		text-transform: uppercase;
	}


	.d-image{
		position: relative;
		overflow: hidden;
	}

	.de-blogpost-1 .d-image:hover a,
	.de-blogpost-2 .d-image:hover a,
	.de-blogpost-3 .d-image:hover a,
	.de-blogpost-4 .d-image:hover a{
		background: rgba(var(--primary-color-1-rgb), .5);
	}


	/* de-hero-block */

	.de-hero-block{
		position: relative;
		height:500px;
	}

	.de-hero-block > div{
		position: absolute;
		overflow: hidden;
	}
	.de-hero-block .d-image{
		overflow: hidden;
	}
	.de-hero-block .d-image img{
		width: calc(100% + 50px);
		margin-left: -50px;
	}
	.de-hero-block > div:hover .d-image img{
		margin-left: 0;
	}
	.de-hero-block .d-content{
		position: absolute;
		padding: 30px;
		bottom: 0;
		color:#ffffff;
		z-index: 1;
		pointer-events: none;
	}
	.de-hero-block .d-content a,
	.de-hero-block .d-content a:hover{
		color:#ffffff;
		pointer-events: auto;
	}
	.de-hero-block .d-content h3{
		color:#ffffff;
		margin-bottom: 5px;
	}
	.de-hero-block .d-cat{
		position: relative;
		z-index: 2;
		font-weight: 500;
		font-size: 12px;
		color:#ffffff;
		background: var(--primary-color-1);
		display: inline-block;
		padding: 1px 8px 1px 8px;
		line-height: 1.5em;
		margin-bottom: 20px;
		text-transform: uppercase;
		letter-spacing: 1px;
	}
	.de-hero-block .d-cat:hover{
		color:#ffffff;
		opacity: .8;
	}
	.de-hero-block .d-attr div{
		display: inline-block;
		margin-right: 10px;
	}
	.de-hero-block .d-attr{
		font-size: 12px;
		text-transform: uppercase;
		margin-bottom: 8px;
	}
	.de-hero-block .d-image a{
		position: absolute;
		width: 100%;
		height: 100%;
		background: -moz-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%);
    background: -webkit-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%);
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 50%);
	}

	.de-hero-block .d-hero-item-4{
		position: absolute;
		height: 100%;
		background: #eee;
	}

	.de-hero-block .d-hero-item-4 .d-image {
		width: 100%;
		position: absolute;
		height: 100%;
	}


	.de-hero-block .d-hero-item-4 .d-image img{
		height: 100%;
		width: auto;
	}

	.de-hero-block .d-hero-item-1{
		top:0;
		width: calc(50% - 10px);
		margin-right: 10px;
		height: 100%;
	}
	.de-hero-block .d-hero-item-1 h3{
		font-size: 26px;
	}

	.de-hero-block .d-hero-item-2{
		left:50%;
		top:0;
		width: calc(25% - 10px);
		height: calc(50% - 5px);
	}

	.de-hero-block .d-hero-item-3{
		left:50%;
		top:calc(50% + 5px);
		width: calc(25% - 10px);
		height: calc(50% - 5px);
	}

	.de-hero-block .d-hero-item-4{
		left:75%;
		top:0;
		width: 25%;
		height: 100%;
	}

	/* d-image-hover-1 */

	.de-image-hover-1{
		position: relative;
	}
	.de-image-hover-1 img{
		width: 100%;
	}
	.de-image-hover-1 .d-overlay{
		position: absolute;
		z-index: 1;
		width: 100%;
		height: 100%;
		background: -moz-linear-gradient(0deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 50%);
    background: -webkit-linear-gradient(0deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 50%);
    background: linear-gradient(0deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 50%);
    padding: 0 !important;
	}
	.de-image-hover-1 .d-overlay .d-text{
		text-align: center;
		color:#ffffff;
		position: absolute;
		bottom: 20px;
		width: 100%;
	}

	.blog-list {
	margin: 0;
	padding: 0;
	}
	/* blog list */
	.blog-list li {
	list-style: none;
	line-height: 1.7em;
	margin-bottom: 60px;
	margin-top:10px;
	padding-bottom:15px;
	border-bottom:solid 1px rgba(255,255,255,.1);
	}
	.de_light .blog-list li{
	border-bottom:solid 1px #ddd;
	}
	.blog-list h3,
	.blog-read h3{
	margin-top:20px;
	}	
	.blog-list h3 a{
	color:#fff;
	}
	.de_light  .blog-list h3 a{
	color:#111;
	}
	.de_light  .text-light  .blog-list h3 a{
	color:#fff;
	}
	.blog-list .btn-more{
	padding:3px 25px 3px 25px;
	color:#111;
	text-transform:uppercase;
	text-decoration:none;
	font-weight:700;
	float:right;
	}
	.blog-list .btn-more:hover{
	background:#fff;
	}
	.de_light .blog-list .btn-more:hover{
	background:#222;
	color:#fff;
	}
	.blog-list .post-text,
	.blog-read .post-text{
	padding-left:80px;
	}
	.blog-list img{
	border-bottom:solid 4px;
	}
	.blog-list .blog-slider{
	margin-bottom:-60px;
	}
	.blog-list .date-box,
	.blog-read .date-box{
	width: 60px;
	position: absolute;
	text-align: center;
	text-shadow:none;
	}
	.blog-list .date-box .day, .blog-list .date-box .month {
	display: block;
	color:#fff;
	text-align:center;
	width:60px;
	z-index:100;
	}
	
	.de_light .blog-list .date-box .day, .de_light .blog-read .date-box .month {
	color:#111;
	}
	
		
	.blog-list .date-box .month {
	font-size:14px;
	}
	
	
	.blog-list .date-box .day,
	.blog-read .date-box .day{
	color:#111;
	font-weight:600;
	font-size: 32px;
	padding-top:45px;
	padding-bottom:10px;
	}
	
	.blog-list .date-box .month,
	.blog-read .date-box .month 	{
	color:#fff;
	font-family:"Roboto";
	font-weight:600;
	letter-spacing:16px;
	padding:7px 0 7px 0;
	border-bottom:solid 4px #333;
	}

	.de_light .blog-list .date-box .month,
	.de_light .blog-read .date-box .month	{
	border-bottom-color:#ddd;
	}
	
	.de_light  .text-light  .blog-list .date-box .month{
	color:#fff;
	}
	
	.blog-snippet li{
	border-bottom:none !important;
	margin-bottom:0;
	}

	.post-content{
	position: relative;
	overflow: hidden;
	}
	.post-content p{
		margin-bottom: 15px;
	}
	.post-content img{		
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	}
	.post-text{
		padding:20px 0;
		padding-bottom: 10px;
	}
	.item .post-text h4{
		margin-bottom:10px;
		line-height: 2em;
	}

	.post-text h4 a{
		text-decoration:none;
		font-size:20px;
	}

	.post-text .tags{
		font-size:10px;
		text-transform:uppercase;
	}

	.p-tagline{
		color:#111111;
		position: absolute;
		z-index: 1;
		top: 20px;
		left: 20px;
	}

	.p-tagline, .p-title{
		background: rgba(var(--primary-color-rgb),.2);
		border-radius: 3px;
		display: inline-block;
		font-size: 10px;
		font-weight: bold;
		letter-spacing: 2px;
		line-height: 10px;
		padding: 7px 10px 6px 10px;
		text-transform: uppercase;
		margin-bottom: 5px;
	}

	.p-tagline, .p-title.invert{
		background: var(--secondary-color);
	}

	.p-title{
		font-size: 12px;
		margin-bottom: 20px;
	}

	.post-text .p-date{
		text-transform: uppercase;
		letter-spacing: 2px;
		font-size: 10px;
		font-weight: 500;
	}

	.post-info{
		border-top:solid 1px #eeeeee;
		padding-top:15px;
	}

	#blog-carousel .item{
	width:100%;
	}
	
	/* blog comment */
	#blog-comment {
	margin-left: 80px;
	}
	
	#blog-comment h5 {
	margin-bottom: 10px;
	}
	
	#blog-comment ul, #blog-comment li {
	list-style: none;
	margin-left: -30px;
	padding-left: 0;
	}
	
	#blog-comment ol{
	padding-left:30px;
	}
	
	#blog-comment li {
	min-height: 70px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: solid 1px rgba(255,255,255,.1);
	}
	
	#blog-comment li .avatar {
	position: absolute;
	margin-top: 5px;
	}

	#blog-comment li .avatar img{
	max-width: 70px;
	}
	
	#blog-comment .comment {
	margin-left: 90px;
	}
	
	#blog-comment li {
	min-height: 70px;
	font-size: 12px;
	line-height: 1.6em;
	}
	
	#blog-comment li li {
	margin-left: 55px;
	padding-bottom: 0px;
	margin-top: 20px;
	padding-top:20px;
	border-top: solid 1px rgba(255,255,255,.1);
	border-bottom: none;
	}
	
	#blog-comment li li .avatar {
	position: absolute;
	}



/* de-bloglist-type-1 */

.de-bloglist-type-1{
	list-style: none;
	padding-left: 0;
}
.de-bloglist-type-1 .d-content{
    display: block;
    padding-bottom: 15px;
}
.de-bloglist-type-1 .d-image{
    position: absolute;
    overflow: hidden;
    width: 100px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.de-bloglist-type-1 .d-image img{
    width: 100%;
}
.de-bloglist-type-1 .d-content{
    padding-left: 120px;
    display: block;
}
.de-bloglist-type-1 .d-content a{
	  font-weight: bold;
		overflow: hidden;
		position: relative;
    font-size: 16px;
    line-height: 1.5em;
}
.de-bloglist-type-1 .d-date{
    position: relative;
    font-size: 12px;
    font-weight: 500;
    padding-left: 18px;
}
.de-bloglist-type-1 .d-date:before{
    font-family: "FontAwesome";
    font-weight: 300;
    color: var(--primary-color-1);
    content: "\f073";
    left: 0;
    position: absolute;
}
/* de-bloglist-type-1 close */


/* de post poster */
.de-post-poster{
	color:#ffffff;
	overflow: hidden;
	position: relative;
	height: 300px;
}

.de-post-poster.d-portrait{
	height: 500px;
}

.de-post-poster .d-image{
	position: absolute;
	width: 120%;
	height: 120%;
	margin-left: -10%;
}

.de-post-poster .d-overlay{
	position: absolute;
	min-height: 100%;
	width: 100%;
	z-index: 1;
	background: -moz-linear-gradient(0deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 50%);
	background: -webkit-linear-gradient(0deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 50%);
	background: linear-gradient(0deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 50%);
}

.de-post-poster .d-content{
	margin: 30px;
	margin-bottom: 0;
	position: absolute;
	bottom: 0;
}

.de-post-poster .d-content h3{
	font-size: 26px;
	letter-spacing:0;
	text-transform: none;
	color:#ffffff;
}

.de-post-poster .d-date{
	opacity: 0;
	color:#ffffff;
}

.de-post-poster .d-tag{
	display: inline-block;
	color: #ffffff;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 1px;
	background: #222222;
	padding: 2px 8px;
	line-height: 1em;
	font-weight: 500;
	margin-bottom: 20px;
}

.de-post-poster:hover .d-content{
	margin-bottom: 30px;
}

.de-post-poster:hover .d-date{
	opacity: 1;
}

.de-post-poster:hover .d-image{
	margin-left: 0;
}

/* de post poster end */

	.comment-info {
	margin-left: 90px;
	margin-bottom: 5px;
	}
	
	.comment-info .c_name {
	display: block;
	font-weight: 700;
	}
	
	.comment-info .c_reply {
	padding-left: 20px;
	margin-left: 20px;
	border-left: solid 1px rgba(255,255,255,.1);
	font-size: 12px;
	}
	
	.comment-info .c_date {
	font-size: 12px;
	}
	
	.blog-list h3, .blog-read h3 {
	letter-spacing:normal;
	font-size:24px;
	text-transform:none;
	}

	/* blog comment form */
	#commentform label {
	display: block;
	}
	#commentform input {
	width: 290px;
	}
	#commentform input:focus {
	border: solid 1px #999;
	background: #fff;
	}
	#commentform textarea {
	width: 97%;
	padding: 5px;
	height: 150px;
	color:#333;
	}
	#commentform textarea:focus {
	border: solid 1px #999;
	background: #fff;
	}
	#commentform input.btn {
	width: auto;
	}
	
	.post-meta {
	margin: 0px 0 10px 0px;
	border: solid 1px #eee;
	border-left:none;
	font-size:11px;
	display:table;
	table-layout: fixed;
	margin-left:80px;
	}
	.post-meta span {
		display:table-cell;
		padding:10px 20px 10px 20px;
		text-align:center;
		border-left:solid 1px #eee;
	}
	.post-meta span i {
	float: none;
	margin-right:20px;
	}
	.post-image{
		position: relative;
		overflow: hidden;
		border-radius:5px;
		-moz-border-radius:5px;
		-webkit-border-radius:5px;
	}
	.post-image img {
	width:100%;
	margin-bottom: 0px;
	}
	.post-image:hover img{
		transform: scale(1.05);
	}
	.post-image .d-date{
		background: var(--primary-color-1);
		position: absolute;
		z-index: 1;
		color:#fff;
		text-align: center;
		padding: 12px 10px 5px 10px;
		border-radius:5px;
		-moz-border-radius:5px;
		-webkit-border-radius:5px;
		top: 20px;
		left: 20px;
		font-weight: bold;
	}
	.post-image .d-day{
		font-size: 32px;
	}
	.post-image .d-month{
		font-size: 12px;
		letter-spacing: 5px;
		padding-left: 5px;
		text-transform: uppercase;
	}
	.post-meta{
	border-color:#222;
	}
	.post-meta span{
	border-color:#222;
	}

	.bloglist.s2 h3{
		font-size: 20px;
		line-height: 1.5em;
	}
	
	.bloglist.s2 .post-text{
		padding: 40px;
		background: #ffffff;
	}

	.bloglist.s2 .post-image{
		border-radius:0px;
		-moz-border-radius:0px;
		-webkit-border-radius:0px;
	}
	
	.de_light .post-meta {
	border: solid 1px #eee;
	}
	.de_light .post-meta span {
	border-left:solid 1px #eee;
	}
	


	
	.blog-slide{
	padding:0;
	margin:0;
	}


/* ecommerce */

.de__pcard h3{
	margin-bottom: 5px;
	font-size: 17px;
}

.atr__images{
	position: relative;
	overflow: hidden;
	margin-bottom: 20px;
}

.atr__images img{
	width: 100%;
	height: auto;
}

.atr__image-hover{
	opacity: 0;
	z-index: 1;
	position: absolute;
	left: 0;
}

.atr__images:hover .atr__image-hover{
	opacity: 1;
	transform: scale(1.1);
	-o-transition:.8s;
	-ms-transition:.8s;
	-moz-transition:.8s;
	-webkit-transition:.8s;
	transition:.8s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
}

.atr__colors{
	margin-top: 10px;
}

.atr__colors div{
	border: solid 1px rgba(51, 51, 51, 0);
	display: inline-block;
	margin: 0 2px;border-radius: 30px;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
}

.atr__colors span{
	display: block;
	background: #333333;
	width: 20px;
	height: 20px;
	border-radius: 30px;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
}

.atr__colors div.active{
	border: solid 1px #333333;
	padding: 3px;
}

.atr__colors div.active span{
	width: 14px;
	height: 14px;
}

.de__pcard .atr__extra-menu{
	z-index: 1;
	text-align: center;
	position: absolute;
	width: 100%;
	bottom: -40px;
}

.de__pcard .atr__extra-menu div{
	display: inline-block;
	cursor: pointer;
	margin: 0 2px;
}

.de__pcard .atr__extra-menu div i{
	background: #ffffff;
	font-size: 18px;
	padding: 10px;
	border-radius: 60px;
	-moz-border-radius: 60px;
	-webkit-border-radius: 60px;
}

.de__pcard .atr__extra-menu div.active i{
	background: #000000;
	color: #ffffff;
}


.de__pcard .atr__extra-menu div:hover i{
	background: #333333;
	color: #ffffff;
}

.de__pcard .atr__images:hover .atr__extra-menu{
	bottom: 20px;
}

.de__pcard .atr__promo{
	position: absolute;
	z-index: 1;
	display: inline-block;
	background: #ffffff;
	padding: 3px 8px;
	line-height: 1em;
	margin: 10px 0 0 10px;
	font-weight: bold;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}


/* pic hover */

.de__pic-hover{
	position: relative;
	display: block;
	overflow: hidden;
}

.de__pic-hover img{
	width: 100%;
}

.de__pic-hover h3{
	position: absolute;
	z-index: 1;
	bottom:30px;
	left: 30px;
	font-size: 18px;
	margin: 0;
	background: #ffffff;
	padding: 8px 15px;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

.de__pic-hover h5{
	position: absolute;
	z-index: 1;
	color:#ffffff;
	display: inline-block;
	padding: 20px 10px;
	width: 80px;
	right: 30px;
	bottom: 20px;
	text-align: center;
	font-size: 10px;
	margin-bottom: 0;
	border-radius: 60px;
	-moz-border-radius: 60px;
	-webkit-border-radius: 60px;
}

.de__pic-hover h5 span{
	display: block;
	font-size: 22px;
}

.de__pic-hover:hover img{
	transform: scale(1.05);
}

/* ================================================== */
/* products */
/* ================================================== */

.products{
padding:0;
list-style:none;
}
.products li{
margin-bottom:30px;
}
.product .p-inner{
padding:15px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-webkit-box-shadow: 2px 20px 30px 0px rgba(0,0,0, 0.5);
-moz-box-shadow: 2px 20px 30px 0px rgba(0,0,0, 0.5);
box-shadow: 2px 20px 30px 0px rgba(0,0,0, 0.5);
}
.de_light .product .p-inner{
-webkit-box-shadow: 2px 20px 30px 0px rgba(20,20,20, 0.05);
-moz-box-shadow: 2px 20px 30px 0px rgba(20,20,20, 0.05);
box-shadow: 2px 20px 30px 0px rgba(20,20,20, 0.05);
}
.product .price{
margin-bottom:10px;
font-size:16px;
}
.product h4{
font-size: 16px;
font-weight:500;
margin-bottom:5px;
}
.product a{
	text-decoration: none;
}
.product img{
background:#333;
margin-bottom:10px;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
}
.product .p-images{
position: relative;
}
.product .pi-2{
position: absolute;
opacity: 0;
left: 0;
}
.product .btn-line{
	width:100%;
}
.product a.btn-line:hover{
	color:#111111 !important;
}
.product:hover .pi-2{
	opacity: 1;
}
.p-rating{
	font-size: 12px;
	color:#404040;
}
.de_light .p-rating{
	color:#bbbbbb;
}

.p-rating i.checked{
	color:#FAB702;
}
.p-single h3{
	margin-bottom: 5px;
	font-size: 24px;
}
.p-single .price{
	margin-bottom: 10px;
}
.de_light .p-single .price{
	margin-bottom: 10px;
	color:#111111;
	font-size: 20px;
	font-weight: bold;
	padding: 5px 0;
}
.p-single img{
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}
.p-desc{
	padding-left: 20px;
}
.de_light .p-single a.btn-line:hover{
	color:#111111;
}

.de-stars i{
	color: #ffa800;
	font-size: 14px;
	letter-spacing: 0px;
}

/* ================================================== */
/* contact form */
/* ================================================== */
	.error {
	padding:20px;
	border:none;
	display: none;
	color: #d9534f;
	border:solid 1px #d9534f;
	font-size: 12px;
	font-size: 16px;
	}
	.success {
	padding:20px;
	display: none;
	color: #5cb85c;
	border:solid 1px #5cb85c;
	margin-bottom: 20px;
	font-size: 16px;
	}
	.error img {
	vertical-align: top;
	}
	.full {
	width: 98%;
	}
	
	#contact_form input[type=text],#contact_form textarea,#contact_form input[type=email],#contact_form input[type=number],#search, #contact_form select{
	padding:10px;
	margin-bottom:20px;
	color:#fff;
	border:solid 1px rgba(255,255,255,.2);
	background:rgba(0,0,0,.1);
	border-radius:0 !important;
	height:auto;
	}

	.de_light #contact_form input[type=text],.de_light #contact_form textarea,.de_light #contact_form input[type=email], .de_light #search, 	.de_light #contact_form select
		{
		border-radius: 5px !important;
		-moz-border-radius: 5px !important;
		-webkit-border-radius: 5px !important;
		border:solid 1px #dddddd;
		background:#ffffff;	
		color:#333 !important;
		}


	#contact_form select{
		background: url(../images/ui/select-arrow.png) right center no-repeat !important;
	}

	#contact_form select option{
		color: #000000;
	}

	.de_light #contact_form select{
		background: url(../images/ui/select-arrow-invert.png) right center no-repeat !important;
	}
	
	
	#contact_form input[placeholder],#contact_form textarea[placeholder]{
	color:#eee;
	}

	#contact_form ::placeholder,
	.text-light #contact_form ::placeholder{
	  color: #eee;
	  opacity: 1;
	}
	
	.de_light #contact_form ::placeholder{
	  color: #111111;
	  opacity: 1;
	}
	

	#contact_form input[type=submit].btn-line{
	background:none;
	padding:8px 20px;
	}
	
	#contact_form input[type=submit].btn-line:hover{
	background:#111;
	border-color:#111;
	}
	
	#contact_form textarea{
	height:178px;
	}
	
	.form-default input[type=text]{
	background:#1D1E1F;
	border:none;
	font-size:14px;
	padding:2px 10px 2px 10px;
	color:#ffffff;
	}

	#form_coupon input[type=text] {
	    padding: 9px 12px 9px 12px;
	    width: 80%;
	    float: left;
	    display: table-cell;
	    border-radius: 2px 0 0 2px;
	    -moz-border-radius: 2px 0 0 2px;
	    -webkit-border-radius: 2px 0 0 2px;
	    border: solid 1px #333333;
	    border-right: none;
	    color: #ffffff;
	    background: rgba(255, 255, 255, .1);
	    -webkit-box-shadow: 2px 2px 20px 0px rgba(20, 20, 20, 0.05);
	    -moz-box-shadow: 2px 2px 20px 0px rgba(20, 20, 20, 0.05);
	    box-shadow: 2px 2px 20px 0px rgba(20, 20, 20, 0.05);
	}

	#form_coupon input[type=text]:focus {
	    background: #ffffff;
	    color: #111111;
	}

	#form_subscribe input[type=text] {
	    padding: 7px 12px 7px 12px;
	    width: 80%;
	    float: left;
	    display: table-cell;
	    border-radius: 5px 0 0 5px;
	    -moz-border-radius: 5px 0 0 5px;
	    -webkit-border-radius: 5px 0 0 5px;
	    border: none;
	    border-right: none;
	    background: rgba(255, 255, 255, .7);
	    -webkit-box-shadow: 2px 2px 20px 0px rgba(20, 20, 20, 0.05);
	    -moz-box-shadow: 2px 2px 20px 0px rgba(20, 20, 20, 0.05);
	    box-shadow: 2px 2px 20px 0px rgba(20, 20, 20, 0.05);
	}

	#form_coupon #btn-submit i {
	    text-align: center;
	    font-size: 20px;
	    float: left;
	    width: 20%;
	    height: 38px;
	    background: #171A21;
	    color: #111111;
	    display: table-cell;
	    padding: 10px 0 5px 0;
	    border-radius: 0 2px 2px 0;
	    -moz-border-radius: 0 2px 2px 0;
	    -webkit-border-radius: 0 2px 2px 0;
	}

	footer.light #form_subscribe input[type=text] {
	    border: solid 1px #333333;
	    border-right: none;
	    padding: 6px 12px;
	}

	#form_subscribe input[type=text]:focus {
	    background: rgba(255, 255, 255, .2);
	}

	#form_subscribe #btn-subscribe i {
	    text-align: center;
	    font-size: 28px;
	    float: left;
	    width: 20%;
	    background: #171A21;
	    color: #ffffff;
	    display: table-cell;
	    padding: 5px 0 5px 0;
	    border-radius: 0 5px 5px 0;
	    -moz-border-radius: 0 5px 5px 0;
	    -webkit-border-radius: 0 5px 5px 0;
	}


	.has-search .form-control {
	    padding-left: 2.375rem;
	    border-radius:0px;
	    -moz-border-radius:0px;
	    -webkit-border-radius:0px;
	    background: rgba(255, 255, 255, .1) !important;
	    border: solid 2px rgba(255, 255, 255, 0);
	    color:#ffffff;
	    font-size: 15px;
	}

	.de_light .has-search .form-control{
		
	}

	.has-search .form-control::placeholder {
	  color: #ffffff;
	}

	.has-search .form-control:focus{
		border-color: var(--primary-color-1);
	}


	.has-search .form-control-feedback {
	    position: absolute;
	    z-index: 2;
	    display: block;
	    width: 2.375rem;
	    height: 2.375rem;
	    line-height: 2.375rem;
	    text-align: center;
	    pointer-events: none;
	    color: #fff;
	}

	.has-search .form-control {

		background: rgba(255, 255, 255, .1) !important;
	}

	.f-num-inc{		
		border:solid 1px #ddd;
		display: inline-block;
		padding:0px;
	}

	.f-num-inc input,
	.f-num-inc span{
		padding:5px;
		width:40px;
		font-size: 15px;
		display: inline-block;
		width:30px;
		text-align: center;
		margin:0;
		border-radius: 0;
		border:none;
	}
	.f-num-inc span{
		cursor: pointer;
	}
	.f-num-inc span:first-child{
		border-right: solid 1px #dddddd;
	}
	.f-num-inc span:last-child{
		border-left: solid 1px #dddddd;
	}
	.f-num-inc span:hover{
		color: #111111;
	}

	/* Chrome, Safari, Edge, Opera */
	.f-num-inc input::-webkit-outer-spin-button,
	.f-num-inc input::-webkit-inner-spin-button {
	  -webkit-appearance: none;
	  margin: 0;
	}


	.f-input-number {
	  width: 40px;
	  padding: 0 12px;
	  vertical-align: top;
	  text-align: center;
	  outline: none;
	  background: none;
	  color:#ffffff;
	  font-weight: bold;
	}

	.f-input-number,
	.f-input-number-decrement,
	.f-input-number-increment {
	  border: 1px solid rgba(255,255,255,.1);
	  height: 40px;
	  user-select: none;
	}

	.f-input-number-decrement,
	.f-input-number-increment {
	  display: inline-block;
	  width: 30px;
	  line-height: 38px;
	  background: none;
	  color: #ffffff;
	  text-align: center;
	  font-weight: bold;
	  cursor: pointer;
	}
	.f-input-number-decrement:active,
	.f-input-number-increment:active {
	  background: #222;
	}

	.f-input-number-decrement {
	  border-right: none;
	  border-radius: 2px 0 0 2px;
	}

	.f-input-number-increment {
	  border-left: none;
	  border-radius: 0 2px 2px 0;
	}

	.de_light .f-input-number {
	  width: 40px;
	  background: #fff;
	  color:#222;
	}

	.de_light .f-input-number,
	.de_light .f-input-number-decrement,
	.de_light .f-input-number-increment {
	  border: 1px solid #ccc;
	}

	.de_light .f-input-number-decrement,
	.de_light .f-input-number-increment {
	  display: inline-block;
	  background: #f1f1f1;
	  color: #444;
	}

	.de_light .f-input-number-decrement:active,
	.de_light .f-input-number-increment:active {
	  background: #ddd;
	}

	
	
	.pop-search .form-default{
	width:100%;
	top:85px;
	left:0;
	position:absolute;
	z-index:1;
	display:none;
	}
	
	.pop-search .form-default input[type=text]{
	width:100%;
	font-size:24px;
	padding:18px;
	outline:none;
	}
	.pop-search-click{
	position: relative;
	display:inline-block;
	cursor:pointer;
	z-index:100;
	margin-top: 18px;
	}
	.pop-search-click:before{
	margin-left:-15px;
	font-family:"FontAwesome";
	content:"\f002";
	}
	.pop-search-click.click:before{
	content:"\f00d";
	}

	
	.error_input{
	border-color:#D31E2B !important;
	}

/* ================================================== */
/* coming soon page */
/* ================================================== */
	
	.coming-soon .logo{
	margin:0;
	padding:0;
	}
	
	.coming-soon h2{
	margin-top:0;
	color:rgba(255,255,255,.8);
	font-weight:400;
	}
	
	.coming-soon  .social-icons i{
	font-size:20px;
	margin-left:10px;
	margin-right:10px;
	}
	
	.coming-soon .social-icons i:hover{
	background:none;
	color:rgba(255,255,255,.2) !important;
	}
	
	
	.arrow-up, .arrow-down {
	width: 0; 
	height: 0; 
	border-left: 40px solid transparent;
	border-right: 40px solid transparent;
	border-bottom: 40px solid #fff;
	position:fixed;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	bottom:0;
	cursor:pointer;
	z-index:101;
	}
	
	.arrow-down {
	border-top: 40px solid #fff;
	border-bottom:none;
	position:fixed;
	z-index:102;
	top:-40px;
	}
	
	.arrow-up:before{
	font-family:"FontAwesome";
	font-size:20px;
	content:"\f067";
	color:#222;
	position:relative;
	top:12px;
	margin:0 0 0 -8px !important;
	}
	
	.arrow-down:before{
	font-family:"FontAwesome";
	font-size:20px;
	content:"\f068";
	color:#222;
	position:relative;
	top:-35px;
	margin:0 0 0 -8px !important;
	}
	

/* ================================================== */
/* elements */
/* ================================================== */
	
	/* address */
	/* ------------------------------ */
	address{
	margin:0;
	margin-top:20px;
	}
	address span {
	display: block;
	border-bottom:solid 1px #222;
	padding-bottom:5px;
	margin-bottom:5px;
	}
	
	footer.light address span {
	border-bottom:solid 1px #eee;
	}
	
	.de_light .widget_text address span {
	border-bottom:solid 1px #ddd;
	}
	
	address span strong {
       display: inline-block;
       width: 70px;
   }
	
	address span{
	border-bottom-color:#222;
	}
	
	address span i{
	margin-top:5px;
	margin-right:20px;
	float:none;
	}
	
	address span strong {
	display: inline-block;
	}
	
	address span a{
	color:#eceff3;
	}
	
	.de_light #sidebar .widget address span{
	border-bottom:solid 1px #ddd;
	}
	
	.de_light #sidebar .widget address a{
	color:#333;
	}
	
	
	/* border */
	/* ------------------------------ */
	.small-border{
	height:1px;
	width:120px;
	background:#ccc;
	display:block;
	margin:0 auto;
	margin-top:20px;
	margin-bottom:30px;
	}
	
	.tiny-border{
	height:3px;
	width:60px;
	display:block;
	margin:0 auto;
	margin-top:20px;
	margin-bottom:30px;
	}
	
	/* breadcrumb */
	/* ------------------------------ */
	.crumb {
	color:#777;
	float: right;
	font-size: 12px;
	}
	.text-light .crumb{
		color:#ffffff;
	}
	#subheader.text-dark .crumb,
	.de-navbar-left.de_light #subheader .crumb{
	color:#333;
	}
	.crumb li {
	display: inline;
	text-decoration: none;
	padding: 0 2px 0 2px;
	}
	
	.crumb a{
	text-decoration:none;
	}
	
	.de_light .crumb a:hover{
	color:#fff;
	}

	
	/* button */
	/* ------------------------------ */
	.btn-line, a.btn-line{
	border:solid 1px #222;
	color:#fff;
	font-weight:500;
	font-size:12px;
	border-radius:0;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	padding:3px;
	padding-left:30px;
	padding-right:50px;
	text-transform:uppercase;
	display:inline-block;
	text-align:center;
	letter-spacing:2px;
	text-decoration:none;
	
	}

	.de_light .btn-line,
	.de_light a.btn-line{
		color:#111;
		border:solid 1px #dddddd;
	}

	.btn-line, a.btn-line,
	.text-light a.btn-line{
	border:solid 1px rgba(255,255,255,.2);
	color:#fff;
	}
	

	.btn-line:hover, a.btn-line:hover{
	background:#fff;
	color:#111;
	border-color:#fff;
	}
	
	a.btn-line:after{
		position:absolute;
		padding-left:0px;
		margin-top:1px;
	}
	
	a.btn-line:hover:after{
		position:absolute;
		padding-left:10px;
	}
	
	.btn-line:after,  a.btn-line:after{
	color:#fff;
	}
	
	.btn-line:hover:after, a.btn-line:hover:after, a.btn-line.hover:after{
	color:#fff;
	}
	
	.btn-line:hover:after, a.btn-line:hover:after, a.btn-line.hover:after{
	color:#111;
	}
	
	a.btn-text{
	text-decoration:none;
	display:inline-block;
	color:#111;
	font-weight:600;
	padding:0;
	}
	
	a.btn-text:after{
	font-family:FontAwesome;
	content: "\f054";
	padding-left:10px;
	}
	
	a.btn-text{
	color:#fff;
	}
	
	a.btn-big{
	font-size:14px;
	color:#eceff3;
	letter-spacing:1px;
	line-height:normal;
	font-weight:bold;
	text-transform:uppercase;
	border:solid 1px #fff;
	padding:10px 50px 10px 30px;
	}
	a.btn-big:after{
	font-family:FontAwesome;
	content: "\f054";
	margin-left:20px;
	margin-top:3px;
	}
	
	.de_light a.btn-big{
	font-weight:normal;
	}
	
	.btn-line, a.btn-line{
	color:#eceff3;
	}
	
	.btn-line:after, a.btn-line:after{
	font-family:FontAwesome;
	content: "\f054";
	margin-left:10px;
	}
	
	a.btn-line-black, .de_light a.btn-line-black{
	border:solid 1px #111;
	color:#111;
	padding:7px 25px 7px 25px;
	text-decoration:none;
	text-transform:uppercase;
	border-radius:0;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	font-weight:normal;
	font-size:12px;
	letter-spacing:2px;
	}
	
	a.btn-line-black:hover{
	background:#111;
	color:#fff;
	}
	
	
	a.btn-line-white, .de_light a.btn-line-white{
	border:solid 1px #fff;	
	color:#fff;
	padding:7px 25px 7px 25px;
	text-decoration:none;
	text-transform:uppercase;
	border-radius:0;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	font-weight:normal;
	font-size:12px;
	letter-spacing:2px;
	}
	
	a.btn-line-white:hover{
	background:#fff;
	color:#111111 !important;
	}
	
	a.btn-line.black,
	a.btn-line.black:hover{
	border-color:#111111;
	color:#111111;
	}
	a.btn-line.black:hover{
	color:#ffffff;
	background:#111111;
	}
	a.btn-line.black:after,
	.de_light a.btn-line.black:after{
	color:#111111;	
	}
	a.btn-line.black:hover:after{
	color:#ffffff;
	}
	
	.de_light a.btn-line-black:hover{
	background:#111;
	color:#fff;
	}
	
	.btn-fullwidth{
	width:100%;
	}
	
	a.btn-slider{
	display:inline-block;
	font-size:13px;
	font-weight:600;
	color:#fff;
	letter-spacing:3px;
	line-height:normal;
	text-decoration:none;
	text-transform:uppercase;
	border:solid 1px rgba(255,255,255,.5);
	padding:10px 30px 10px 30px;
	}
	a.btn-slider.dark{
	color:#333;
	border:solid 1px rgba(0,0,0,.5);	
	}
	a.btn-slider:after{
	font-family:FontAwesome;
	content: "\f054";
	margin-left:10px;
	}
	a.btn-slider:hover{
	color:#222;
	background:#fff;
	border-color:#000;
	border:solid 2px #fff;
	}
	a.btn-slider.dark:hover{
	color:#fff;
	background:#333;
	border:solid 1px rgba(0,0,0,.5);	
	}
	
	a.btn-custom,
	input.btn-custom{
	font-size:13px;
	color:#222;
	letter-spacing:3px;
	line-height:normal;
	text-decoration:none;
	text-transform:uppercase;
	padding:7px 25px 7px 25px;
	background:#fff;
	display:inline-block;
	}
	a.btn-custom:hover{
	color:#222;
	opacity:.8;
	}
	
	a.btn-black{
	font-size:13px;
	color:#fff;
	letter-spacing:3px;
	font-weight:bold;
	text-decoration:none;
	text-transform:uppercase;
	padding:7px 25px 7px 25px;
	background:#111;
	display:inline-block;
	}

	a.btn-border-style{
		font-size:13px;
		padding:7px 25px 7px 25px;
		border: solid 1px #222222;
		font-weight: bold;
	}

	a.btn-border-style.light{
		border-color: #ffffff;
	}

	input.btn-custom{
		border: none !important;
	}
	
	/* text-color-overide bootstrap */
	.nav-pills .nav-link.active, .nav-pills .show>.nav-link{
		border-radius:0;
	}
	
	.nav-pills.np-1 .nav-item{
		font-weight:bold;
		font-size:15px;
	}
	
	/* columns */
	/* ------------------------------ */

	
	/* counter */
	/* ------------------------------ */
	.de_count{
	text-align:center;
	padding:30px 0 30px 0;
	background:none;
	}
	.de_count h3{
	font-family:"Dosis", Arial, Helvetica, sans-serif;
	font-size:40px;
	}
	.de_light .de_count h3{
	font-family:"Roboto";
	font-weight:500;
	}
	.de_count i{
		display:block;
		font-size:60px;
		margin:0 auto;
		margin-bottom:20px;
		width:100%;
		font-weight:lighter !important;
	}

	.de_count.very-big h3{
		font-size:120px;
		line-height:1em;
		margin-bottom: 0;
	}
	
	.de_count.ultra-big h3{
		font-size:180px;
		line-height:1em;
	}
	
	.de_count.ultra-big span{
		font-size:18px;
		font-weight:bold;
		letter-spacing:10px;
		padding:5px 10px;
	}

	.de_count.ultra-big.s2{
		border:solid 2px rgba(255, 255, 255, .1);
		padding:30px;
	}

	.de_light .de_count.ultra-big.s2{
		border:solid 2px rgba(0, 0, 0, .1);
	}

	.de_count.ultra-big.s2 h3{
		letter-spacing: 0;
	}
	.de_count.ultra-big.s2 span{
		font-size: 14px;
		letter-spacing: 5px;
	}


	.de_count.dc_border{
		padding:20px 0;
		border:solid 1px rgba(255,255,255,.3);
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
	}
	
	.de_count.ultra-big.font-border h3{
	color:rgba(0,0,0,0);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: rgba(255,255,255,.5);
	}

	.de_count.dc_small h3{
		font-size: 28px;
		margin-bottom: 5px;
	}
	
	/* divider */
	/* ------------------------------ */
	.spacer-single{
	width:100%;
	height:30px;
	display:block;
	clear:both;
	}
	
	.spacer-double{
	width:100%;
	height:60px;
	display:block;
	clear:both;
	}

	.spacer-triple{
	width:100%;
	height:90px;
	display:block;
	clear:both;
	}
	
	.spacer-half{
	width:100%;
	height:15px;
	display:block;
	clear:both;
	}
	
	.spacer10 {
	width: 100%;
	height: 10px;
	display: block;
	clear: both;
	}
	.spacer20 {
		width: 100%;
		height: 20px;
		display: block;
		clear: both;
	}
	.spacer30 {
		width: 100%;
		height: 30px;
		display: block;
		clear: both;
	}
	.spacer40 {
		width: 100%;
		height: 40px;
		display: block;
		clear: both;
	}
	.spacer50 {
		width: 100%;
		height: 50px;
		display: block;
		clear: both;
	}
	.spacer60 {
		width: 100%;
		height: 60px;
		display: block;
		clear: both;
	}

	.spacer-line{
		clear: both;
		margin:30px 0;
		height: 2px;
		background: rgba(255,255,255,.1);
	}

	.de_light .spacer-line{
		background: rgba(0,0,0,.1);
	}
	
	hr {
	display: block;
	clear: both;
	border-top: solid 1px #ddd;
	margin: 40px 0 40px 0;
	}


	
	/* dropcap */
	/* ------------------------------ */
	.dropcap {
	display: inline-block;
	font-size: 48px;
	float: left;
	margin: 10px 15px 15px 0;
	color:#eceff3;
	padding: 20px 10px 20px 10px;
	}
	
	
	/* form style */
	/* ------------------------------ */


	.de_form input[type="radio"], 
	.de_form input[type="checkbox"] {
	/* hide the inputs */
	display:none;
	}
	
	.de_form input[type="radio"] + label:before{
	content:"\f00c";
	font-family:"FontAwesome";
	margin-right:10px;
	}
	
	.de_form input[type="checkbox"] + label:before{
	content:"\f00c";
	font-family:"FontAwesome";
	margin-right:10px;
	}

	/* style your lables/button */
	.de_form input[type="radio"] + label, 
	.de_form input[type="checkbox"] + label {
		cursor: pointer;
		font-size: 18px;
		padding: 6px 12px;
		border: none;
		background: #222;
		color: #888888;
		border-radius: 5px;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
	}

	#contact_form input[type="radio"] + label, 
	#contact_form input[type="checkbox"] + label {
		margin-right: 10px;
	}
	
	.de_light .de_form input[type="radio"] + label, 
	.de_light .de_form input[type="checkbox"] + label {
		background: #eee;
		color:#999;
	}
	
	.de_form.no-bg input[type="radio"] + label, 
	.de_form.no-bg input[type="checkbox"] + label {
		padding: 4px 0px;
		border: none;
		background:none;
	}

	.de_form input[type="radio"]:checked + label,
	.de_form input[type="checkbox"]:checked + label{
		/* style for the checked/selected state */
		border: none;
		color: white;
	}
	
	.de_light .de_form input[type="radio"]:checked + label,
	.de_light .de_form input[type="checkbox"]:checked + label{
		/* style for the checked/selected state */
		color: #333;
	}

	#contact_form .radio-img input[type="radio"] + label, 
	#contact_form .radio-img input[type="checkbox"] + label{
		padding: 0px;
		position: relative;
		background: none;
		width: 150px;
		float: left;
		text-align: center;
		margin-right: 20px;
	}

	#contact_form .radio-img input[type="radio"] + label:before, 
	#contact_form .radio-img input[type="checkbox"] + label:before {
		position: absolute;
		top: 10px;
		left: 15px;
	}

	#contact_form .radio-img input[type="radio"] + label img, 
	#contact_form .radio-img input[type="checkbox"] + label img{
		width: 100%;
		margin-bottom: 10px;
	}

	#contact_form .radio-img input[type="radio"]:checked + label img, 
	#contact_form .radio-img input[type="checkbox"]:checked + label img{
		width: 100%;
		padding: 8px;
		background: var(--primary-color-1);
	}


	#contact_form.s2 .radio-img input[type="radio"] + label, 
	#contact_form.s2 .radio-img input[type="checkbox"] + label,
	#contact_form .radio-img input[type="radio"] + label img, 
	#contact_form .radio-img input[type="checkbox"] + label img{
		width: 100%;
		float: none;
	}
	

	
	/* heading */
	/* ------------------------------ */
	.form-transparent input[type=text], .form-transparent textarea, .form-transparent input[type=email]{
	padding:10px;
	margin-bottom:20px;
	color:#fff;
	border:none;
	background:rgba(0,0,0,.2);
	border-radius:0 !important;
	height:auto;
	}
	
	/* heading */
	/* ------------------------------ */
	h1, h2, h3, h4, h5, h6 {
	color: #07003b;
	font-family: 'Dosis',Arial, Helvetica, sans-serif;
	font-weight:400;
	}
	
	h1 {
	font-size:28px;
	margin:0;
	text-align:center;
	letter-spacing:5px;
	text-transform:uppercase;
	font-weight:300;
	}
	
	h1 .small-border{
		margin-top:30px;
	}
	

	h1.ultra-big{
		font-size: 120px;
	}

	h2 {
	display:inline-block;
	font-weight:500;
	margin-bottom:30px;
	line-height:1.2em;
	}
	h2 .small-border{
	margin-left:0;
	margin-bottom:15px;
	width:40px;
	}
	h3 {
	margin-top: 0;
	font-size:18px;
	letter-spacing:3px;
	text-transform:uppercase;
	margin-bottom:15px;
	}
	h3.size-2{
	font-size:24px;
	}
	h4{
	font-size:18px;
	}
	h1.slogan_big {
	font-weight: 300;
	font-size: 64px;
	line-height: 64px;
	letter-spacing: -2px;
	padding: 0;
	margin: 0px 0 30px 0;
	}
	h1.title{
	font-size:64px;
	letter-spacing:10px;
	}
	h1.title.s2{
	font-size:64px;
	letter-spacing:0px;
	}
	h1.title.s3{
	text-align: left;
	font-weight: 500;
	font-size:64px;
	letter-spacing:-1px;
	}
	h1.title strong{
	font-family:"Allura";
	text-transform:none;
	letter-spacing:0;
	font-weight:normal;
	}
	h1.title-2{
	letter-spacing:20px;
	text-transform:uppercase;
	line-height:50px;
	}
	h1.title-3{
	font-size:72px;
	}
	h1.title-3 strong{
	font-family:"Allura";
	text-transform:none;
	letter-spacing:0;
	font-weight:normal;
	}
	h1.title-4{
	font-size: 72px;
	letter-spacing: 5px;
	text-transform: uppercase;
	color:rgba(0,0,0,0);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: rgba(255,255,255,1);
	}
	h1.title-5{
	text-transform: uppercase;
	font-size: 24px;
	letter-spacing: 24px;
	font-weight: normal;
	}
	
	h1.title-6 strong{
	font-size: 100px;
	font-family:"Allura";
	text-transform:none;
	letter-spacing:0;
	font-weight:normal;
	line-height: 90px;
	}
	h1.title-7{
	font-size: 40px;
	}
	h2.subtitle{
	margin-top:0;
	}
	h2.hero{
	font-size:32px;
	font-weight:400;
	text-transform:uppercase;
	letter-spacing:32px;
	}
	h2.style-2{
	font-size:12px;
	font-weight:bold;
	text-transform:uppercase;
	letter-spacing:10px;
	}
	h2.style-3{
	font-size:64px;
	font-weight:400;
	text-transform:uppercase;
	letter-spacing:20px;
	}
	h2.style-4{
	font-size:60px;
	font-weight:400;
	text-transform:normal;
	letter-spacing:-2px;
	}
	h2.style-5{
	margin-top:0;
	line-height:1.2em;
	font-size:48px;
	font-weight:400;
	text-transform:normal;
	}
	h2.style-6{
	margin-top:0;
	line-height:1.2em;
	font-size:32px;
	text-transform:normal;
	}
	.de_light .text-light h2{
	color:#fff;
	}
	h3.title {
	border-bottom: solid 1px #ddd;
	margin-bottom: 20px;
	}
	h4.title {
	border-bottom: solid 1px #ddd;
	padding-bottom: 10px;
	margin-bottom: 20px;
	}
	form h4{
		margin-bottom: 20px;
	}
	form h4 i{
		margin-right: 10px;
		background: rgba(var(--primary-color-1-rgb),.2);
		padding: 9px;
		text-align: center;
		width: 36px;
		height: 36px;
		border-radius: 30px;
		-moz-border-radius: 30px;
		-webkit-border-radius: 30px;
	}
	h5 {
	font-weight: bold;
	}
	h5.s2{
	font-weight:500;
	text-transform:uppercase;
	font-size:12px;
	letter-spacing:2px;
	}
	h1,
	h2,
	h3,
	h4,
	h5{
	color:#eceff3;
	}
	
	h3.s2 span{
		font-family:"Allura";
		text-transform:none;
		letter-spacing:0;
		font-size:40px;
		display:block;
	}
	
	h3.s2{
	font-size:30px;
	}
	
	h3.style-1{
		font-family:"Roboto";
		letter-spacing:0;
		text-transform:none;
		margin-bottom:20px;
	}

	h6.style-2{
		font-weight: lighter;
	}
	
	.typing-wrap{
	font-family:"Dosis";
	font-size:30px;
	margin:0;
	line-height:60px;
	}
	
	span.teaser{
	font-family:"Georgia";
	font-style:italic;
	font-size:18px;
	}
	
	.text-light,
	.text-light p{
	color:#ddd;
	}
	
	.text-dark{
	color:#333;
	}
	
	.text-dark, .text-dark p, .text-dark h1, .text-dark h2, .text-dark h3, .text-dark h4, .text-dark h5, .text-dark h6{
	color:#222;
	}
	
	.text-grey{
	color:#707070;
	}
	
	.text-light h1{
	color:#fff !important;
	}	
	
	.de_light h1,.de_light h2,.de_light h3,.de_light h4,.de_light h5,.de_light h6,
	footer.light h1,footer.light h2,footer.light h3,footer.light h4,footer.light h5,footer.light h6,
	#subheader.text-dark h1,#subheader.text-dark h2,#subheader.text-dark h3,#subheader.text-dark h4,#subheader.text-dark h5,#subheader.text-dark h6,.modal-dialog h5
	{
	color:#222;
	}
	
	.text-light h1, .text-light h2, .text-light h3, .text-light h4, .text-light h5{
	color:#fff;
	}
	
	/* feature box style 1 */
	.feature-box i {
	border:solid 1px;
	}
	
	.feature-box-small-icon {
	margin-bottom: 30px;
	}
	
	.feature-box-small-icon.center{
	text-align:center;
	}
	
	.feature-box-small-icon .inner:hover > i {
	color:#fff;
	}
	
	.feature-box-small-icon .text {
	padding-left: 70px;
	}
	
	.feature-box-small-icon.center .text{
	padding-left:0;
	display:block;
	}
	
	.feature-box-small-icon i {
	text-shadow:none;
	color: #333;
	font-size: 32px;
	width: 68px;
	height: 68px;
	text-align: center;
	position: absolute;
	border-radius:60px;
	}
	
	.feature-box-small-icon i.hover {
	color:#333 !important;
	}
	
	.feature-box-small-icon i.hover {
	color:#fff !important;
	}
	
	.feature-box-small-icon .border{
	height:2px;
	width:30px;
	background:#ccc;
	display:block;
	margin-top:20px;
	margin-left:85px;
	}
	
	
	.feature-box-small-icon .btn{
	margin-top:10px;
	}
	
	.feature-box-small-icon.center i{
	position:inherit;
	float:none;
	display:inline-block;
	margin-bottom:20px;
	border:none;
	font-size:60px;
	background:none;
	padding:0px;
	}
	
	.feature-box-small-icon.center .fs1{
	position:inherit;
	float:none;
	display:inline-block;
	margin-bottom:20px;
	border:none;
	font-size:60px;
	background:none;
	padding:0px;
	}
	

	.feature-box-small-icon i{
	background-color: #333333;
	}
	
	.feature-box-small-icon h3 {
	line-height: normal;
	margin-bottom: 5px;
	}
	
	.feature-box-small-icon.no-bg h2 {
	padding-top:12px;
	}
	
	.feature-box-small-icon.no-bg .inner, .feature-box-small-icon.no-bg .inner:hover{
	padding:0;
	background:none;
	}
	
	.f-hover{
	-o-transition:.5s;
	-ms-transition:.5s;
	-moz-transition:.5s;
	-webkit-transition:.5s;
	transition:.5s;
	 outline: none;
	}
	
	/* feature-box style 2 */
	.feature-box i {
	border:solid 1px;
	}
	
	.feature-box-small-icon-2 {
	margin-bottom: 30px;
	}
	
	.feature-box-small-icon-2 .text {
	padding-left: 48px;
	}
	
	.feature-box-small-icon-2 i {
	text-shadow:none;
	color:#eceff3;
	font-size: 24px;
	text-align: center;
	position: absolute;
	}
	
	.feature-box-small-icon-2 i{
	background-color: #333333;
	}
	
	.feature-box-small-icon-2 h3 {
	line-height: normal;
	margin-bottom: 5px;
	}
	
	.feature-box-small-icon-2.no-bg h2 {
	padding-top:12px;
	}
	
	.feature-box-small-icon-2.no-bg .inner, .feature-box-small-icon-2.no-bg .inner:hover{
	padding:0;
	background:none;
	}
	
	
	/* feature-box image style 3 */
	.feature-box i {
	border:solid 1px;
	}
	.feature-box-image-2 {
	margin-bottom: 30px;
	}
	.feature-box-image-2 .text {
	padding-left: 100px;
	}
	.feature-box-image-2 img {
	position: absolute;
	}
	.feature-box-image-2 i{
	background-color: #333333;
	}
	.feature-box-image-2 h3 {
	line-height: normal;
	margin-bottom: 5px;
	}
	.feature-box-image-2.no-bg h2 {
	padding-top:12px;
	}
	.feature-box-image-2.no-bg .inner, .feature-box-image-2.no-bg .inner:hover{
	padding:0;
	background:none;
	}
	
	/* with image */
	.feature-box-image img{
	width:100%;
	margin-bottom:10px;
	height:auto;
	}
	.feature-box-image h3 {
	line-height: normal;
	margin-bottom: 5px;
	font-size:20px;
	font-weight:bold;
	}
	
	/* feature-box image style 4 */
	.feature-box-big-icon{
	text-align:center;
	}
	.feature-box-big-icon i {
	float:none;
	display:inline-block;
	text-shadow:none;
	color:#eceff3;
	font-size: 40px;
	padding: 40px;
	width: 120x;
	height: 120x;
	text-align: center;
	border:none;
	border-radius:10px;
	-moz-border-radius:10px;
	-web-kit-border-radius:10px;
	background:#333;
	margin-bottom:40px;
	
	cursor:default;
	
	
	}
	.feature-box-big-icon i:after {
	content: "";
	position:absolute;
	margin:75px 0 0 -40px;
	border-width: 20px 20px 0 20px; /*size of the triangle*/
	border-style: solid;
	}
	
	.feature-box-big-icon:hover i,
	.feature-box-big-icon:hover i:after{
	-o-transition:.5s;
	-ms-transition:.5s;
	-moz-transition:.5s;
	 -webkit-transition:.5s;
	 transition:.5s;
	}
	.feature-box-big-icon:hover i{
	background:#333;
	}
	.feature-box-big-icon:hover i:after{
	border-color:#333 transparent;
	}
	
	.d-box-img-c1 img{
		width: 75%;
		height: auto;
	}

	.box-fx .inner{
	position:relative;
 	overflow:hidden;
	border-bottom:solid 2px;
	}
	
	.box-fx .inner{
	border-bottom:solid 2px;
	}
	
	.box-fx .front{
	padding:60px 0 60px 0;
	}
	
	.box-fx .front span{
	font-size:14px;
	}
	
	.box-fx .info{
	position:absolute;
	padding:60px 30px 60px 30px;
	background:#fff;
	color:#fff;
	}
	
	.box-fx i{
	font-size:72px !important;
	margin-bottom:20px;
	}
	
	.box-fx .btn-line, .box-fx .btn-line a.btn-line{
	border:solid 1px rgba(255,255,255,0.5);
	color:#fff !important;
	}
	
	.box-fx .btn-line:hover, .box-fx a.btn-line:hover{
	background:#fff;
	color:#111 !important;
	border-color:#fff;
	}
	
	.box-fx .btn-line:after, .box-fx a.btn-line:after{
	color:#fff !important;
	}
	
	.box-fx .btn-line:hover:after, .box-fx a.btn-line:hover:after, .box-fx a.btn-line.hover:after{
	color:#111 !important;
	}
	
	.box-fx .bg-icon{
		left:50%;
		bottom:50px;
		color:#f5f5f5 !important;
		position:absolute !important;
		font-size:190px !important;
		z-index:-1;
	}
	
	.box-icon-simple.right{
	margin-right:70px;
	text-align:right;	
	}
	
	.box-icon-simple.right i{
	font-size:42px;
	right:0;
	position:absolute;
	}
	
	.box-icon-simple.left{
	margin-left:70px;
	}
	
	.box-icon-simple.left i{
	font-size:42px;
	left:0;
	position:absolute;
	}
	
	
	.box-number .number{
	display:block;
	font-size:48px;
	color:#222;
	width:80px;
	height:80px;
	text-align:center;
	padding:25px;
	border-radius:60px;
	position:absolute;
	}

	.box-number.s2 .number{
		font-weight: bold;
		font-size: 32px;
	}

	.box-number i{
	display:block;
	font-size:40px;
	color:#222;
	width:80px;
	height:80px;
	text-align:center;
	padding:20px 0;
	border-radius:60px;
	position:absolute;
	}
	
	.box-number.square .number,
	.box-number.square i{
	border-radius:0;
	}
	
	.box-number .text{
	margin-left:100px;
	}
	
	.box-icon .icon{
	display:block;
	font-size:48px;
	color:#fff;
	text-align:center;
	border-radius:60px;
	position:absolute;
	cursor:default;
	}
	
	.de_light .box-icon .icon{
	color:#222;
	}
	
	.box-icon .text{
	margin-left:80px;
	}
	
	.box-icon.line{
	border:solid 1px rgba(255,255,255,.1);
	padding:40px;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	}
	
	.de_light .box-icon.line{
	border:solid 1px rgba(0,0,0,.05);	
	}
	
	.box-icon.line.active,
	.box-icon.line:hover{
		background:rgba(255,255,255,.1);
		border-color:rgba(255,255,255,.0);
	}
	
	.de_light .box-icon.line.active,
	.de_light .box-icon.line:hover{
		background:rgba(0,0,0,.05);	
		border-color:rgb(0,0,0,.0);	
	}
	
	.box-icon.line a{
		text-decoration:none;
	}
	
	.box-icon.center{
		text-align:center;
	}
	.box-icon.center .text{
		margin-left:0px;
	}
	.box-icon.center .icon{
		display:inline-block;
		float:none;
		position:static;
		margin-bottom:20px;
	}
	
	.box-icon.top .text{
		margin-left:0px;
	}
	.box-icon.top .icon{
		display:inline-block;
		float:none;
		position:static;
		margin-bottom:20px;
	}
	
	/* list */
	.ul-style-2{
	padding:0;
	list-style:none;
	}
	
	.ul-style-2 li{
	margin:5px 0 5px 0;
	}
	
	.ul-style-2 li:before{
	font-family:"FontAwesome";
	content:"\f00c";
	margin-right:15px;
	}

	.ul-style-2.icon-green li:before{
		color:green;
	}

	/* list */
	.ul-style-3{
	padding:0;
	list-style:none;
	}
	
	.ul-style-3 li{
		margin-bottom: 20px;
	padding: 10px;
	border: solid 1px rgba(255, 255, 255, .3);
	}
	
	.ul-style-3 li:before{
	font-family:"FontAwesome";
	content:"\f00c";
	margin-right:15px;
	}

.ul-post-tags{
	padding:0 ;
}

.ul-post-tags li {
text-shadow:none;
display: inline-block;
margin-right: 2px;
margin-bottom: 10px;
}

.ul-post-tags li a {
font-size:14px;
text-decoration: none;
border-radius: 1px;
-moz-border-radius: 1px;
-webkit-border-radius: 1px;
border:solid 1px rgba(255,255,255,.2);
padding: 5px 8px 5px 8px;
}


.ul-post-cat{
	padding:0 ;
	columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}

.ul-post-cat li {
text-shadow:none;
margin-right: 2px;
margin-bottom: 5px;
list-style: none;
}

.ul-post-cat li a {
font-size: 14px;
font-weight: bold;
text-decoration: none;
border-radius: 1px;
-moz-border-radius: 1px;
-webkit-border-radius: 1px;
padding: 5px 8px 5px 8px;
}

	
	/* pagination */
	/* ======================================== */
	
	.pagination li a{
		text-decoration: none;
	}

	.pagination li a:hover{
	color:#fff;
	background:none;	
	}
	
	.de_light .pagination li a:hover{
	color:#111;
	background:none;	
	}
	
	.pagination li a{
	color:#888;
	border:solid 1px #404040;
	background:none;
	margin:3px;
	padding:15px 20px 15px 20px;	
	border-radius:2px;
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	}
	
	.de_light .pagination li a{
	border-color:#ccc;
	border-radius:10px;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
	padding: 12px 20px;
	}

	.pagination li.active a{
		color:#111111;
	}

	.pagination.s2{
		justify-content: center;
		align-items: center;
	}

	.pagination.s2 li a{
		border: none;
		background: #eee;
	}
	
	.pagination.s2 li.active a{
		color:#ffffff;
		background: var(--primary-color-1);
	}

	/* pricing table */
	/* ================================================== */
	.pricing-box{color:#888;}
	
	.pricing-2-col {
	border-right: solid 1px #eee;
	}
	
	.pricing-2-col .pricing-box {
	width: 49%;
	}
	
	.pricing-3-col .pricing-box {
	width: 32.33%;
	}
	
	.pricing-4-col .pricing-box {
	width: 24%;
	}
	
	.pricing-5-col .pricing-box {
	width: 19%;
	}

	.pricing-box {
	float: left;
	text-align: center;
	margin:5px;
	padding: 0;
	opacity:.8;
	}
	
	.pricing-box ul {
	margin: 0;
	padding: 0;
	}
	
	.pricing-box li {
	list-style: none;
	margin: 0;
	padding: 15px 0 15px 0;
	background:#eee;
	}
	
	.pricing-box li h4 {
	font-size: 22px;
	margin: 0;
	padding: 0;
	font-weight: 400;
	color:#888;
	}
	
	.pricing-box li h1 {
	font-size: 48px;
	margin: 0;
	margin-bottom: 5px;
	color: #1a8b49;
	letter-spacing:0px;
	}
	
	.pricing-box li.title-row {
	padding: 15px 0 15px 0;
	}
	
	.pricing-box li.price-row {
	padding: 15px 0 15px 0;
	background:#F8F8F8;
	
	}
	.pricing-box li.deco{
	background:#f5f5f5;
	}
	
	.pricing-box a.btn{
	color:#eceff3;
	}
	
	.pricing-box li.price-row span {
	display: block;
	font-weight: 600;
	}
	
	.pricing-box li.btn-row {
	background: #ddd;
	}
	.pricing.pricing-box ul {
	margin: 0;
	padding: 0;
	}
	
	.pricing.pricing-box li {
	background: #3b3b3b;
	color: #bbb;
	list-style: none;
	margin: 0;
	padding: 15px 0 15px 0;
	}
	
	.pricing.pricing-box li.deco{
	background:#333;
	}
	
	
	
	.pricing.pricing-box li h4 {
	font-size: 22px;
	margin: 0;
	padding: 0;
	font-weight: 400;
	color:#eceff3;
	}
	
	.pricing.pricing-box li h1 {
	font-size: 48px;
	margin: 0;
	margin-bottom: 5px;
	font-weight: 600;
	color:#eceff3;
	}
	
	.pricing.pricing-box li.title-row {
	background:#323232;
	padding: 15px 0 15px 0;
	}
	
	.pricing.pricing-box li.price-row {
	background: #2b2b2b;
	padding: 15px 0 15px 0;
	}
	
	.pricing.pricing-box li.price-row h1{
	font-weight: 300;
	}
	
	.pricing.pricing-box li.price-row h1 span {
	display:inline-block;
	font-weight: 600;
	}
	
	.pricing.pricing-box li.price-row span {
	display: block;
	font-weight: 600;
	}
	
	.pricing.pricing-box li.btn-row {
	background: #404040;
	}
	
	
	.pricing-featured {
	position: relative;
	}
	
	.pricing-featured li{
	padding-top:17px;
	padding-bottom:17px;
	}
	
.pricing-s1 {
	overflow:hidden;
	position:relative;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	transition: box-shadow 1s;
	-webkit-transition: box-shadow 1s;
	-moz-transition: box-shadow 1s;
}
.pricing-s1 .top {
	background: #222427;
	color: #eee;
	padding: 40px;
	color: #ECF0F1;
	text-align: center;
}
.pricing-s1 .top h2 {
	font-size: 24px;
	margin-bottom: 20px;
	font-weight: normal;
}
.pricing-s1 .top > * {
	margin: 0px;
}
.pricing-s1 .top .price .currency {
	font-size: 24px;
	line-height: 54px;
	vertical-align: top;
	display: inline-block;
}
.pricing-s1 .top .price b {
	font-size: 48px;
	line-height: 70px;
	color: #fff;
}
.pricing-s1 .top .price .month {
	color: #ccc;
}
.pricing-s1 .bottom {
	border-top: 0px;
	padding-bottom:5px;
	background: #222427;
	text-align:center;	
}
.pricing-s1 .bottom ul {
	list-style: none;
	list-style-type: none;
	margin: 0px;
	padding: 0px;
	text-align:left;
}
.pricing-s1 .bottom ul li {
	line-height: 60px;
	padding: 0px 30px;
}
.pricing-s1 .bottom ul li > span {
	color: #16A085;
	font-size: 20px;
	margin-right: 20px;
}
.pricing-s1 .bottom ul li:nth-child(odd) {
	background:#2f3135;
}
.pricing-s1 .bottom ul li:nth-child(even) {
	background:#2a2c30
}
.pricing-s1 .bottom > a {
	margin: 40px;
	width: auto;
}
.pricing-s1 .bottom i{
	margin-right:10px;
	font-size:14px;
}
.pricing-s1 .ribbon{
  width: 200px;
  position: absolute;
  top: 20px;
  left: -55px;
  text-align: center;
  line-height: 50px;
  letter-spacing: 1px;
  color: #222;
  font-weight:bold;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
}

/* light version */

.pricing-s1.light .top {
	background: #eeeeee;
}
.pricing-s1.light .top h2 {
	font-size: 20px;
	margin-bottom: 20px;
}
.pricing-s1.light .top .price b {
	font-size: 48px;
	line-height: 70px;
	font-weight:500;
	color: #333;
}
.pricing-s1.light .top .price .month {
	color: #555;
}
.pricing-s1.light .bottom {
	background: #e5e5e5;
}
.pricing-s1.light .bottom ul li:nth-child(odd) {
	background:#f5f5f5;
}
.pricing-s1.light .bottom ul li:nth-child(even) {
	background:#eeeeee;
}
.pricing-s1.light .btn-custom{
	letter-spacing:1px;
	color:#333;
}

.pricing-s2 {
	background:#f9f9f9;
	overflow:hidden;
	position:relative;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	transition: box-shadow 1s;
	-webkit-transition: box-shadow 1s;
	-moz-transition: box-shadow 1s;
}
.pricing-s2 .top {
	padding: 40px;
	text-align: center;
}
.pricing-s2 .top h2 {
	font-size: 18px;
	margin-bottom: 20px;
	font-weight: 500;
}
.pricing-s2 .top > * {
	margin: 0px;
}
.pricing-s2 .top .price .currency {
	font-size: 24px;
	line-height: 54px;
	vertical-align: top;
	display: inline-block;
}
.pricing-s2 .top .price b {
	font-size: 48px;
	line-height: 70px;
	color: #333;
}
.pricing-s2 .bottom {
	border-top: 0px;
	padding-bottom:5px;
	text-align:center;	
}
.pricing-s2 .bottom ul {
	list-style: none;
	list-style-type: none;
	margin: 0px;
	padding: 0px;
	text-align:left;
}
.pricing-s2 .bottom ul li {
	padding: 10px 30px;
}
.pricing-s2 .bottom ul li > span {
	color: #16A085;
	font-size: 20px;
	margin-right: 20px;
}
.pricing-s2 .bottom ul li:nth-child(odd) {
	background:#fcfcfc;
}
.pricing-s2 .bottom ul li:nth-child(even) {
	background:#f5f5f5;
}
.pricing-s2 .bottom > a {
	margin: 40px;
	width: auto;
}
.pricing-s2 .bottom i{
	margin-right:10px;
}
.pricing-s2 .ribbon{
  width: 200px;
  position: absolute;
  top: 20px;
  left: -55px;
  text-align: center;
  line-height: 50px;
  letter-spacing: 1px;
  color: #222;
  font-weight:bold;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  background:#000000;
  color:#ffffff;
}
	
	/* progress bar */
	/* ================================================== */
	
	.de-progress {
	width: 100%;
	height: 4px;
	background: #ddd;
	margin-top: 20px;
	margin-bottom: 20px;	
	border-radius:10px;
	}
	.de-progress .progress-bar {
		background: #333;
		height: 4px;
		box-shadow: none;
		border-radius:10px;
	}
	.de-progress {
		background: rgba(255, 255, 255, .2);
	}
	.skill-bar {
		margin-bottom: 40px;
	}
	.skill-bar.style-2 .de-progress{
		background: rgba(1, 1, 1, .1);
	}
	.skill-bar h5{
	font-weight:500;
	}
	.skill-bar .value{
		color:#888;
		font-size:12px;
		font-weight:light;
		float:right;
		margin-top:-40px;
	}
	
	
	/* social-icons */
	/* ================================================== */
	.social-icons{
	display:inline-block;
	}
	.social-icons i{
	text-shadow:none;
	color: #fff;
	padding: 8px;
	width: 28px;
	height: 28px;
	text-align: center;
	font-size:16px;
	border-radius:1px;
	-moz-border-radius:1px;
	-webkit-border-radius:1px;
	}
	footer.light .social-icons i{
	color: #606060;
	}
	.social-icons i:hover{
	background:#fff;
	border-color:#eceff3;
	color:#111111;
	}
	
	.social-icons.light i{
	color:#111111;
	}

	.social-icons-s1 i{
		font-size: 20px;
		margin:0 10px;
		width:40px;
		height:40px;
		padding-top: 12px;
		text-align: center;
		border:solid 2px rgba(255,255,255,.3);
		color: rgba(255,255,255,.3);
		border-radius: 30px;
		-moz-border-radius: 30px;
		-webkit-border-radius: 30px;
	}

	.social-icons-s1 i:hover{
		color:#000000;
		background: #ffffff;
	}
	
	/*
	.social-icons .fa-facebook{	background:#305fb3;	}
	.social-icons .fa-twitter{	background:#00d7d5;	}
	.social-icons .fa-rss{ background:#fca600;	}
	.social-icons .fa-google-plus{ background:#d7482a;	}
	.social-icons .fa-skype{ background:#12c7ef;	}
	.social-icons .fa-dribbble{ background:#f06eaa;	}
	*/
	
	/* tabs */
	/* ================================================== */
	.de_tab {
	opacity:.8;
	}
	
	.de_tab .de_nav {
	overflow: hidden;
	padding-left: 0;
	margin: 0;
	padding: 0;
	font-weight:bold;
	}
	
	.de_tab .de_nav li {
	float: left;
	list-style: none;
	background: #EEE;
	margin-right: 5px;
	}
	
	.de_tab .de_nav li span {
	padding: 8px 16px 8px 16px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	display: block;
	background: #f5f5f5;
	text-decoration: none;
	color: #646464;
	font-size: 13px;
	cursor: pointer;
	}
	
	.de_tab.tab_steps .de_nav{
	text-align:center;	
	}
	.de_tab.tab_steps .de_nav li{
	background:none;
	display:inline-block;
	float:none;
	margin:0 30px 0px 30px;
	}
	
	.de_tab.tab_steps .de_nav li span {
	padding:30px 0 30px 0;
	color:#222;
	font-family:"Dosis";
	font-size:23px; /*Tamaño de letra de los circulos de Nuestros Valores*/
	border-radius:120px;
	-moz-border-radius:120px;
	-webkit-border-radius:120px;
	line-height:120px;
	width:180px;
	height:180px;
	text-align:center;
	text-transform:uppercase;
	}
	
	.de_tab.tab_steps.square .de_nav li span{
	border-radius:0;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	}
	
	.de_tab.tab_steps .de_nav li span:hover{
	background:#000;
	border:none;
	color:#fff;
	}
	
	.de_tab.tab_steps .de_nav li .v-border{
	height:60px;
	border-left:solid 1px rgba(255,255,255,.3);
	display:inline-block;
	margin-bottom:-5px;	
	}
	
	.de_tab.tab_steps.dark .de_nav li .v-border{
	border-left:solid 1px rgba(0,0,0,.3);
	}
	
	.de_tab .de_nav li span {
	border:none;
	background:#222;
	}
	
	.de_tab .de_nav li:first-child span {
	border-left: 1px solid #ddd;
	}
	
	.de_tab .de_nav li:first-child span {
	border-left: 1px solid #404040;
	}
	
	
	.de_tab .de_tab_content {
	border: 1px solid #ddd;
	padding: 15px 20px 20px 20px;
	margin-top: -1px;
	background: #fff;
	}
	
	.de_tab .de_tab_content {
	border: 1px solid #404040;
	background: #27282b;
	}
	
	.de_tab.tab_steps .de_tab_content {
	background:0;
	padding:0;
	border:none;
	padding-top:30px;
	border-top:solid 1px rgba(255,255,255,.4);
	}
	
	.de_tab.tab_steps.dark .de_tab_content {
	border-top:solid 1px rgba(0,0,0,.4);
	}
	
	.de_tab .de_nav li.active span {
	background: #FFF;
	border-bottom: 1px solid #fff;
	color: #222;
	margin-bottom: -3px;
	}
	
	.de_tab .de_nav li.active span .v-border{
	display:none !important;
	}
	
	.de_tab .de_nav li.active span {
	background: #27282b;
	border-bottom: 1px solid #27282b;
	color: #ccc;
	}
	
	.de_tab.tab_steps .de_nav li.active span {
	background:none;
	color: #ffffff;
	border:solid 1px rgba(255,255,255,.6);
	}
	
	.de_tab.tab_steps.dark .de_nav li.active span {
	background:none;
	color: #333;
	border:solid 1px rgba(0,0,0,.8);
	}
	
	/* new added */
	.de_tab.tab_steps.tab_6 .de_nav li span{
	padding:20px 0 20px 0;
	font-size:14px;
	line-height:70px;
	width:120px;
	height:120px;
	}
	
	
	.de_tab.tab_style_4 .de_tab_content {
	border: none;
	background: none;
	padding: 0;
	border-top: none;
}
.text-light .de_tab.tab_style_4 .de_tab_content {
	border-top: none;
}
.de_tab.tab_style_4 .de_nav {
	text-align: center;
	background: none;
	display: inline-block;
	border-radius: 5px;
	margin-bottom: 30px;
	padding: 0;
	/*border: solid 1px #333;*/
}
.de_tab.tab_style_4 .de_nav.de_nav_dark li{
	background:#111;
}
.de_tab.tab_style_4 .de_nav.de_nav_dark li h3,
.de_tab.tab_style_4 .de_nav.de_nav_dark li:hover h3 span{
	color:#ffffff !important;
}
.de_tab.tab_style_4 .de_nav.de_nav_dark li h4{
	color:rgba(255,255,255,.5);
}
.de_tab.tab_style_4 .de_nav li img {
	width: auto;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: .7;
}
.de_tab.tab_style_4 .de_nav li.active img {
	width: auto;
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	filter: grayscale(0%);
	opacity: 1;
}
.de_tab.tab_style_4 .de_nav li {
	display: inline-block;
	text-decoration: none;
	font-size: 14px;
	cursor: pointer;
	border: none;
	padding: 15px 30px 15px 30px;
	min-width: 150px;
	margin: 0;
	/*border-right: solid 1px #333;*/
}
.de_tab.tab_style_4 .de_nav li span {
	margin: 0;
	padding: 0;
	background: none !important;
	border: none;
	width: auto;
	display: inline-block;
}
.de_tab.tab_style_4 .de_nav li:last-child {
	border-radius: 0 5px 5px 0;
	border-right: none;
}
.de_tab.tab_style_4 .de_nav li:first-child {
	border-radius: 5px 0 0 5px;
}
.de_tab.tab_style_4 .de_nav li:hover {
	background: #ddd;
}
.de_tab.tab_style_4 .de_nav li.active, .de_tab.tab_style_4 .de_nav li.active span {
	background: #333;
	color: #fff;
}
.text-light .de_tab.tab_style_4 .de_nav li.active {
	color: #fff;
}
.de_tab.tab_style_4 .de_nav li.active h3, .de_tab.tab_style_4 .de_nav li.active h4, .de_tab.tab_style_4 .de_nav li.active h4 span {
	color: #fff;
}
.tab_style_4 h3, .de_tab.tab_style_4 .de_nav li span {
	margin: 0;
	font-size: 22px !important;
	font-weight: 600;
}
.tab_style_4 h4 {
	margin: 0;
	font-size: 12px;
}
	

	.tab-small-post ul {
	list-style: none;
	margin: 0;
	padding: 0;
	}
	
	.tab-small-post ul li {
	min-height: 60px;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: solid 1px #eeeeee;
	}
	
	.tab-small-post ul li{
	border-bottom: solid 1px #404040;
	}
	
	.tab-small-post ul li:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
	}
	
	.tab-small-post ul li img {
	position: absolute;
	}
	
	.tab-small-post ul li span {
	display: block;
	padding-left: 64px;
	}
	
	.tab-small-post ul li span.post-date {
	font-size: 11px;
	}
	
	.de_tab.timeline.nav_4 li{
	display:inline-block;
	text-align:center;
	background:none;
	width:24%;
	}	
	
	.de_tab.timeline.nav_4 li span{
	background:none;
	border:none;
	margin-top:20px;
	font-family:"Dosis";
	font-size:14px;
	text-transform:uppercase;
	letter-spacing:2px;
	}
	
	.de_tab.timeline.nav_4 .dot{
	display:block;
	width:8px;
	height:8px;
	background:#fff;
	opacity:1;
	margin:0 auto;
	border-radius:8px;
	margin-top:1px;
	}
	
	.de_tab.timeline.nav_4 .dot:before,
	.de_tab.timeline.nav_4 .dot:after {
	  content: "";
	  position: absolute;
	  height: 5px;
	  border-bottom: 1px solid rgba(255,255,255,.1);
	  top: 0;
	  width:24%;
	}
	
	.de_tab.timeline.nav_4  li:last-child .dot:before,
	.de_tab.timeline.nav_4 li:last-child .dot:after {
	 border-bottom: none;
	}
	
	.de_tab.timeline li .num{
	font-size:20px;
	}
	
	.de_tab.timeline .de_tab_content{
	background:none;
	border:none;
	padding-top:30px;
	}
	
	.de_tab .navigation_arrow{
	text-align:center;
	}

	.de-simple-tab-nav {
	    overflow: hidden;
	    padding: 0;
			margin: 0;
	}

	.de-simple-tab-nav li {
			padding: 0;
			margin: 0;
	    float: left;
	    list-style: none;
	    background: #EEE;
	    margin-right:10px;
	    cursor:  pointer;
	}

	.de-simple-tab-nav li span {    
	    padding: 5px 15px;
	    border: 1px solid #CCC;
	    display: block;
	    background: #eee;
	    color: #909090;
	    font-weight: 600;
	}

	.de-simple-tab-nav li span.active {
		color: #222;
		border-bottom:  solid 1px #ffffff;
	}

	.de-simple-tab-nav li:first-child span {
	    border-left: 1px solid #CCC;
	}

	.de-simple-tab-content {
	    border: 1px solid #CCC;
	    padding: 30px;
	    margin-top: -1px;
	    border-radius: 0 0 5px 5px;
		-moz-border-radius: 0 0 5px 5px;
		-webkit-border-radius: 0 0 5px 5px;
	}

	.de-simple-tab-nav li span.active {
	    background: #FFF;
	    margin-bottom: -3px;
	}
	
	.timeline .tl-block{ position: relative; margin-top: 10px; }
	.timeline .tl-block:after{ content: ' '; clear: both; display: block;}
	.timeline .tl-block .tl-time{ float: left; padding:10px 20px 0px 20px; margin-top:-15px; border:solid 1px #ddd; }
	.timeline .tl-block .tl-time:after{width:50px; height:1px; background:#ddd;}
	.timeline .tl-block .tl-bar{float: left; width: 5%; position: absolute; margin-left:114px; }
	.timeline .tl-block .tl-line{background: #fff; margin-right: 10px;  border-radius: 10px; width: 6px; height: 6px; font-size: 10px; text-align: center; line-height: 15px;}
	.timeline .tl-message{ border-radius: 3px; float: left; margin-left:150px; top:0; margin-top:-50px; margin-bottom:30px; }
	.timeline .tl-block .tl-message:after{ display: block; content: ' '; clear:both; }
	.timeline .tl-block .tl-message .tl-icon{float: left; left:100px; }
	.timeline .tl-block .tl-message .tl-main{ float: left; }
	.timeline .tl-block .tl-message .tl-main .tl-content label{ font-weight: bold; display: inline-block; width: 80px;}
	.timeline .tl-block .tl-message h3{text-transform:none;}
	.timeline .tl-block .tl-time h4{margin:0 0 10px 0;}
	.timeline .tl-block .tl-main h4{margin-top:-5px;}
	.timeline.exp:before{left: 214px;}
	.timeline.exp .tl-message{margin-left:250px;}
	.timeline.exp .tl-block .tl-bar{margin-left:180px; }
	.timeline.exp{ margin-top: 20px; position: relative; padding: 10px}
	.timeline.exp:before{ 
		content: '';
		position: absolute;
		top: 0;
		left: 193px;
		height: 100%;
		width: 1px;
		background:rgba(255,255,255,.1);
	}
	
	
	.de_light .timeline .tl-block .tl-time{ border:solid 1px rgba(0,0,0,.3); }
	.de_light .timeline .tl-block .tl-time:after{ background:rgba(0,0,0,.3); }
	.de_light .timeline .tl-block .tl-line{background: #333;}
	.de_light .timeline.exp:before{ background:rgba(0,0,0,.3); }
	
	.btn-left,
	.btn-right{
	background:none;
	border:solid 1px rgba(255,255,255,.2);
	padding:10px 20px 10px 20px;
	margin:5px;
	font-family:"Dosis";
	text-transform:uppercase;
	letter-spacing:5px;
	}
	
	.btn-right:after{
	font-family:FontAwesome;
	content: "\f054";
	padding-left:10px;
	}
	
	.btn-left:before{
	font-family:FontAwesome;
	content: "\f053";
	padding-right:10px;
	}
	
	a.btn-left,
	a.btn-right{
	text-decoration:none;
	}
	
	.expand-group .expand:last-child{
		border-bottom:solid 1px rgba(255,255,255,.1);
	}
	.de_light .expand-group .expand:last-child{
		border-bottom:solid 1px rgba(0,0,0,.1);
	}
	
	.expand{
		position:relative;
		padding:15px 25px 5px 25px;
		border:solid 1px rgba(255,255,255,.1);
		border-bottom:none;
		background:rgba(255,255,255,.02);
	}
	
	.de_light .expand{
		border:solid 1px rgba(0,0,0,.1);
		border-bottom:none;
		background:none;
	}
	
	.expand .hidden-content{
		display:none;
		padding:10px 0 10px 0;
	}
	
	.expand h4{
		font-family:"Roboto";
		font-size:14px;
		font-weight:600;
		cursor:pointer;
		display:block;
		margin-right:40px;
		line-height:32px;
	}
	
	.expand h4:after{
		font-family:FontAwesome;
		content: "\f107";
		color:#fff;
		font-size:20px;
		display:inline-block;
		padding:10px 20px 10px 20px;
		font-style:normal;
		position:absolute;
		right:7px;
		top:7px;
	}
	
	.expand h4.active:after{
		content: "\f106";
	}
	
	
	.expand-group.s2 .expand:last-child{
		border-bottom:solid 1px #cccccc;
	}
	
	.expand-group.s2 .expand{
		border:none;
		background:none;
		border-top:solid 1px #cccccc;
		padding-left:0;
	}
	
	.expand-group.s2 .expand h4:after{
		padding-right:0;
	}
	
	/* team
	/* ================================================== */
	.team {
	margin-bottom: 30px;
	text-align:center;
	}
	
	.team h5 {
	margin-bottom: 0;
	}
	
	.team_photo {
	margin-bottom: 10px;
	}
	
	.team img.team-pic {
	width: 100%;
	height: auto;
	}
	
	.pic-team img{
	width: 100%;
	height: auto;
	width:150px;
	height:150px;
	position:absolute;
	}
	
	.pic-team img.pic-hover{
	z-index:100;
	display:none;
	}
	
	.team .team_desc {
	font-style: italic;
	margin-bottom: 10px;
	}
	
	.team .sb-icons {
	padding: 10px 0 0 0;
	}
	
	.team .sb-icons img {
	margin-right: 5px;
	}
	
	.team .columns {
	margin-bottom: 30px;
	}
	
	.team-list{
	min-height:180px;
	margin-bottom:40px;
	}
	
	.team-list .team-pic{
	width:150px;
	height:150px;
	position:absolute;
	}
	
	.team-list h5{
	margin-top:0;
	margin-bottom:10px;
	font-size:14px;
	}
	
	.team-list.team_desc{
	font-style:italic;
	margin-bottom:10px;
	}
	
	.team-list .small-border{
	float:none;
	margin:15px 0 15px 0;
	background:#ddd;
	width:50px;
	}
	
	.team-list .social{
	width:150px;
	margin-top:170px;
	text-align:center;
	position:absolute;
	}
	
	
	.team-list .social a{
	display:inline-block;
	}
	
	.team-list .info{
	padding-left:170px;
	}
	
	.de-team-list{
		position:relative;
		overflow:hidden;
	}
	
	.de-team-list img{
		width:100%;
	}
	
	.de-team-list .team-desc{
		width:100%;
		height:100%;
		padding:20px;
		padding-bottom:0;
		position:absolute;
		z-index:100;
		top:100%;
		background:#111;
		color:#ccc;
	}
	
	.de-team-list p{
		clear:both;
	}
	
	.de-team-list .team-desc h3{
		color:#fff;
		margin-bottom:5px;
	}
	
	.de-team-list .social a{
	display:inline-block;
	padding:0 5px 0 5px;
	}
	
	.de-team-list p.lead{
		font-size:14px;
	}
	
	.de-team-list .small-border{
	float:none;
	margin:15px 0 15px 0;
	background:#ddd;
	width:50px;
	}
	
	.de-team-list .social a:hover{
	color:#fff;
	}
	
	.de-team-list:hover .team-desc{
		top:0;
	}
	
	.de-team-contact{
		text-align:center;
	}
	
	.de-team-contact h3{
		margin-bottom:10px;
	}
	
	.de-team-contact img{
		width:60%;
		margin-bottom:30px;
	}
	
	.de-team-contact.s2 img{
		width:90%;
	}
	
	.dtc-phone{
		margin-bottom:10px;
		font-size:20px;
	}
	


	/* testimonial
	/* ================================================== */
	.de_testi {
	display: block;
	margin-bottom: 10px;
	}
	
	.de_testi blockquote {
	margin: 0;
	border: none;
	padding: 20px 30px 30px 80px;
	background:rgba(0,0,0,0.5);
	font-style:normal;
	line-height:1.6em;
	font-weight:500;
	}
	
	.de_testi blockquote  p{
	margin-top:10px;
	}
	
	.de_testi blockquote:before{
	font-family:FontAwesome;
	content: "\f10d";
	color:#111;
	padding-bottom:10px;
	font-size:20px;
	display:inline-block;
	padding:10px 20px 10px 20px;
	font-style:normal;
	background:#000;
	position:absolute;
	left:0;
	top:0;
	}
	
	.de_testi blockquote {
	color:#eceff3;
	}
	
	.de_testi blockquote, .de_testi blockquote p {
	font-size:16px;
	line-height: 1.8em;
	font-weight: 500;
	}

	.de_testi.light blockquote:before{
		color: #ffffff;
	}

	.de_testi.light blockquote{
		background: rgba(255, 255, 255, .9);
		color: #555555;
	}
	
	.de_testi_by {
	margin-top: -10px;
	font-style:normal;
	font-size:12px;
	}
	
	.de_testi_pic {
	float: left;
	padding-right: 15px;
	}
	
	.de_testi_pic img {
	width: 50px;
	height: 50px;
	}
	
	.de_testi_company {
	padding-top: 20px;
	}
	
	.de_testi.s2 blockquote {
	background:#f6f6f6;
	color:#606060;
	}
	.de_testi.s2 blockquote:before{
	color:#ffffff;
	}
	
	#testimonial-masonry .item{
	margin-bottom:30px;
	}

	.de-quote{
		font-size: 18px;
		font-style: italic;
	}

	.de-quote .d-name{
		display: block;
		font-size: 14px;
		margin-top: 10px;
		font-style: normal;
	}

	.de-quote .d-rating i{
    font-size: 12px;
    color: #f6b300;
    margin: 0 1px;
	}
		



/* ================================================== */
/* anim */
/* ================================================== */
de_tab .de_nav li span,
.feature-box-small-icon i, a.btn-line:after, .de_count, .social-icons a i,
.de_tab.tab_steps .de_nav li span, .de_tab.tab_steps .de_nav li span:hover,
.de-gallery .overlay .icon i,
.de-gallery .overlay .icon i:hover,
header.smaller:not(.header-bottom),
#contact_form input[type=submit],
#contact_form input[type=submit]:hover,
.product img,
.product img:hover,
.mfp-close,.mfp-close:hover,
header.de_header_2 .info,
header.de_header_2.smaller .info,
.de_form input[type="radio"] + label,
.de_form input[type="checkbox"] + label,
.de-gallery.hover-1 span.overlay-1,
.de-gallery.hover-1 span.overlay-1 .pf_text,
.picframe .overlay-v,
#mainmenu li,
#mainmenu li ul,
.box-icon.line,
.owl-theme .owl-controls .owl-buttons div,
.pic-hover .bg-overlay,
.pic-hover:hover > .bg-overlay,
.pic-hover.hover-scale img,
.picframe img,
.de-team-list .team-desc,
.de-team-list:hover .team-desc,
.box-number *,
.de_nav *,
.schedule-item *,
#menu-overlay,
#menu-btn,
#menu-btn *,
#mo-menu li ul a,
#mo-menu li:hover > a,
#mo-button-open div,
#mo-button-close *,
.social-icons-s1 *,
#purchase-now *,
ul#slide-list *,
.f-num-inc *,
.picframe *,
#de-extra-menu,
#contact_form *,
.de__pcard  *,
.de__pic-hover *,
.de-hover *,
.de-post-poster *,
.de-card-poster *,
.de-card-room *,
.dcg-container *,
.dcg-item *,
.de-hero-block *,
.d-image *,
.post-image *,
.hover-zoom
{
-o-transition:.5s;
-ms-transition:.5s;
-moz-transition:.5s;
-webkit-transition:.5s;
transition:.5s;
 outline: none;
}

.picframe img,
#mo-menu *,
.de_large-portfolio:hover,
.de_large-portfolio *
{
-o-transition:1s;
-ms-transition:1s;
-moz-transition:1s;
-webkit-transition:1s;
transition:1s;
 outline: none;
}

#de_notif,
#de_notif *
{
-o-transition:.2s;
-ms-transition:.2s;
-moz-transition:.2s;
-webkit-transition:.2s;
transition:.2s;
 outline: none;
}


@-webkit-keyframes scaleIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(1.5, 1.5, 1.5);
        transform: scale3d(1.5, 1.5, 1.5);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(1.5, 1.5, 1.5);
        transform: scale3d(1.5, 1.5, 1.5);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.scaleIn {
    -webkit-animation-name: scaleIn;
    animation-name: scaleIn;
}

@-webkit-keyframes scaleOut {
    from {
        opacity: 0;
        -webkit-transform: scale3d(.75, .75, .75);
        transform: scale3d(.75, .75, .75);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes scaleOut {
    from {
        opacity: 0;
        -webkit-transform: scale3d(.75, .75, .75);
        transform: scale3d(.75, .75, .75);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.scaleOut {
    -webkit-animation-name: scaleOut;
    animation-name: scaleOut;
}

@-webkit-keyframes widthInFade {
    from {
        opacity: 0;
        width: 1px;
    }

    100% {
        opacity: 1;
        width: 100px;
    }
}

@keyframes widthInFade {
    from {
        opacity: 0;
        width: 1px;
    }

    100% {
        opacity: 1;
        width: 100px;
    }
}

.widthInFade {
    -webkit-animation-name: widthInFade;
    animation-name: widthInFade;
}


/* ================================================== */
/* video */
/* ================================================== */
video, object {
display:inline-block;
vertical-align:baseline;
min-width:100%;
min-height:100%;
}

.de-video-container{
top:0%;
left:0%;
height:500px;
width:100%;
overflow: hidden;
}

.de-video-content{
width:100%;
position:absolute;
z-index:10;
}


.de-video-overlay{
position:absolute;
width:100%;
min-height:100%;
background:rgba(0,0,0,.5);
}

.de-video-overlay.t30{
background:rgba(0,0,0,.3);
}

.de-video-overlay.t50{
background:rgba(0,0,0,.5);
}

.de-video-overlay.dotted{
background:url(../images/dotted.png);
}

.video-fixed{
width:100%;
position:fixed;
top:0;
}

.de_video{
	width: 100%;
	max-height: 100%;
}

/* youtube, vimeo */

.video-container {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	height:0;
	overflow:hidden;
}

.video-container iframe, .video-container object, .video-container embed {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.de-video-container .btn-line:hover:after, .de-video-container a.btn-line:hover:after, .de-video-container a.btn-line.hover:after{
color:#eceff3;
}

.yt-video-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.yt-video-wrap iframe,
.yt-video-wrap embed,
.yt-video-wrap object {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* ================================================== */
/* map */
/* ================================================== */
/* --------------- map --------------- */
#map {
width: 100%;
height: 500px;
}

.map iframe {
width: 100%;
height: 320px;
border: solid 1px #ccc;
padding: 2px;
background: #fff;
}

.map-container{
height: 500px;
overflow:hidden;
}

.map-container.map-fullwidth iframe{
	width:100%;
	height: 500px;
}

.call-to-action h2,
.call-to-action h3{
	margin:0;
}

.row.gx-3 > [class*=col-] {
  padding-left: 15px;
  padding-right: 15px;
}

.row.gx-4 > [class*=col-] {
  padding-left: 20px;
  padding-right: 20px;
}

/* ================================================== */
/* overide bootstrap 5 */
/* ================================================== */
.container-fluid {
  padding:0px;
	margin:0px;
}

.card{
	background:#18191b;
	border:solid 1px #303030;
}

.de_light .card{
	background:#ffffff;
	border:solid 1px #dddddd;
}

.card,
.nav-tabs .nav-link,
.btn-primary,
.btn-secondary{
	border-radius:0; -moz-border-radius:0; -webkit-border-radius:0;
}


.collapsible-link,
.btn.btn-link{
	text-decoration:none !important;
}

.accordion .btn.btn-link{
	font-weight:bold;
}

.nav.nav-tabs{
	margin-bottom:20px;
}

.btn-primary{
	color:#222;
}

.btn-primary,
.btn-secondary{
font-size:14px;
text-shadow: none;
border: none !important;
}

.btn.btn-primary:hover{
background:#555;
}


.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 6px;
}
.img-thumbnail {
  display: inline-block;
  max-width: 100%;
  height: auto;
  padding: 4px;
  line-height: 1.428571429;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
}
.circle,
.img-circle {
  border-radius:100%;
  -moz-border-radius:100%;
  -webkit-border-radius:100%;
}
.img-responsive {
  display: inline-block;
}
.img-gray-hover {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
}
.img-gray-hover:hover{
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	filter: grayscale(0%);
}

img.w60{
	width: 60px;
}

svg.svg-white{
	fill: white;
}

.accordion-header{
	display: block;
	width: 100%;
}
.accordion-button:not(.collapsed){
	box-shadow: none;
}

.accordion-item,
.accordion.accordion-flush {
    border: 1px solid rgba(255,255,255,.1);
}
.accordion-button,
.accordion-item,
.accordion-button:not(.collapsed){
	color: #ffffff;
	background: #202124;
}
.accordion-button::after,
.accordion-button:not(.collapsed)::after{
		background: url(../images/ui/arrow-down-smaller.png) center no-repeat;
}

.de_light .accordion-item,
.de_light .accordion.accordion-flush {
    border: 1px solid rgba(0,0,0,.1);
}
.de_light .accordion-button,
.de_light .accordion-item,
.de_light .accordion-button:not(.collapsed){
	color: #07003b;
	background: #ffffff;
}
.de_light .accordion-button::after,
.de_light .accordion-button:not(.collapsed)::after{
		background: url(../images/ui/arrow-down-invert.png) center no-repeat;
}



.label {
font-family: "Roboto",Arial, Helvetica, sans-serif;
}

table thead {
font-weight: bold;
}

p.lead,
p.intro{
	font-size:16px;
	font-weight:500;
	line-height:1.7em;
}

.table-bordered, .table-bordered td{
border:solid 1px #404040;
}

.table-dark{
	background: none;
}

.table-cart td{
	padding:20px 0;
}

blockquote {
font-size: 24px;
font-style: italic;
line-height: 1.5em;
font-weight: 300;
}

blockquote span {
display: block;
font-size: 14px;
font-style: normal;
font-weight: normal;
}

blockquote.s1{
font-size:14px;
line-height:1.8em;
font-weight:500;
margin-left:30px;
padding:0 0 0 30px;
}


blockquote.s2{
font-size:20px;
font-style: normal;
line-height:1.6em;
font-weight:bold;
padding:0 0 0 50px;
position: relative;
}

blockquote.s2:before{
	font-family:FontAwesome;
	font-size: 32px;
	content: "\f10d";
	position: absolute;
	top:0;
	left:0;
	font-weight: normal;
	color:var(--primary-color-1);
}

blockquote.s2 span{
	position: relative;
	padding-left: 100px;
	font-weight: 500;
}

blockquote.s2 span:before{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	background: #555;
	width: 80px;
	height: 1px;
}

blockquote.testimonial-big{
	text-align:center;
	border:none;
	padding:0;
	margin:0;
	font-size:24px;
}
blockquote.testimonial-big .name{
	margin-top:20px;
}
blockquote.testimonial-big .title{
	margin-bottom:20px;
	font-size:26px;
	font-weight:bold;
}
blockquote.testimonial-big:before{
	font-family:FontAwesome;
	content: "\f10d";
	padding-bottom:10px;
	font-size:28px;
	display:inline-block;
	padding:10px 20px 10px 20px;
	font-style:normal;
}
blockquote.testimonial-big.s2{
	font-size:18px;
	line-height:1.8em;
}
blockquote.testimonial-big.s2 .title{
	font-size:22px;
}


.de-testi-a{
	position: relative;
	background: rgba(255, 255, 255, .1);
}
.de-testi-a .d-quote{
	padding: 40px;
	padding-bottom: 90px;
	width:65%;
	position: relative;
	z-index: 1;
}
.de-testi-a .d-img{
	position: absolute;
	max-height: 100%;
	right: 0;
	bottom: 0;
}
.de-testi-a .d-quote p{
	font-weight: 500;
	color:white;
}
.de-testi-a .d-by{
	position: absolute;
	bottom: 40px;
	left:40px;
}
.de-testi-a .d-by .d-name{
	font-weight: bold;
}
.de-testi-a .d-by .d-info{
	font-size: 12px;
}
.de-testi-a:before{
	position: absolute;
	font-family:FontAwesome;
	content: "\f10d";
	font-size: 120px;
	top:50px;
	left:10px;
	color: rgba(255, 255, 255, .1);
}
.de-testi-a.s2:before{
	top: auto;
	bottom: 40px;
	padding: 10px;
	width: 40px;
	height: 40px;
}


.de-testi-b{
	position: relative;
	background: rgba(255, 255, 255, .1);
}
.de-testi-b .d-quote{
	padding: 30px;
	padding-bottom: 90px;
	position: relative;
	z-index: 1;
}
.de-testi-b .d-img{
	width: 100%;
}
.de-testi-b .d-quote p{
	font-weight: 500;
	color:white;
}
.de-testi-b .d-by{
	position: absolute;
	bottom: 30px;
	left:30px;
}
.de-testi-b .d-by .d-name{
	font-weight: bold;
}
.de-testi-b .d-by .d-info{
	font-size: 12px;
}
.de-testi-b .d-quote:before{
	position: absolute;
	font-family:FontAwesome;
	content: "\f10d";
	font-size: 16px;
	top:-20px;
	left:30px;
	background: var(--primary-color-1);
	color:#ffffff;
	padding: 6px 12px;
	border-radius:30px;
	-moz-border-radius:30px;
	-webkit-border-radius:30px;
	z-index: 1;
	width: 40px;
	height: 40px;
}


/*
*
* ==========================================
* CUSTOM UTIL CLASSES
* ==========================================
*
*/
/* Horizontal line */
.collapsible-link::before {
  content: '';
  width: 14px;
  height: 2px;
  background: #333;
  position: absolute;
  top: calc(50% - 1px);
  right: 1rem;
  display: block;
  transition: all 0.3s;
}

/* Vertical line */
.collapsible-link::after {
  content: '';
  width: 2px;
  height: 14px;
  background: #333;
  position: absolute;
  top: calc(50% - 7px);
  right: calc(1rem + 6px);
  display: block;
  transition: all 0.3s;
}

.collapsible-link[aria-expanded='true']::after {
  transform: rotate(90deg) translateX(-1px);
}

.collapsible-link[aria-expanded='true']::before {
  transform: rotate(180deg);
}

.collapsible-link.text-white{
	color:#ffffff;
}

.collapsible-link.text-white::after,
.collapsible-link.text-white::before{
	background:#ffffff;
}



/* ======================================== */
/* toggle */
/* ======================================== */
.toggle-list{list-style:none; margin:0; padding:0;}
.toggle-list li{ margin-bottom:10px; background:#fff; border:solid 1px #ddd;border-bottom:solid 3px #ddd;}
.toggle-list li h2{-moz-user-select: none; -html-user-select: none; user-select: none; color:#555;font-size:16px; line-height:20px; font-family:"Roboto",Arial, Helvetica, sans-serifr; padding:10px 20px 0px 60px; font-weight:700; display:block; letter-spacing:normal;}
.toggle-list li .acc_active:hover{ color:#777;
background:url(../images/icon-slide-plus.png) 20px center no-repeat; 
padding-left:80px; 
-o-transition:.5s;
-ms-transition:.5s;
-moz-transition:.5s;
-webkit-transition:.5s;
transition:.5s;}
 
.toggle-list li .acc_noactive:hover{ color:#777;
background:url(../images/icon-slide-min.png) 20px center no-repeat;
-o-transition:.5s;
-ms-transition:.5s;
-moz-transition:.5s;
-webkit-transition:.5s;
transition:.5s;}
.toggle-list .ac-content{display:none; padding:20px; border-top:solid 1px #e5e5e5;}
.acc_active{background:url(../images/icon-slide-plus.png) 20px center no-repeat;
-o-transition:.5s;
-ms-transition:.5s;
-moz-transition:.5s;
-webkit-transition:.5s;
transition:.5s;
 height:32px;
 
 }
.acc_noactive{background:url(../images/icon-slide-min.png) 20px center no-repeat;}


/* ================================================== */
/* image position */
/* ================================================== */
.img-left {
float: left;
margin: 5px 15px 15px 0;
}

.img-right {
float: right;
margin: 5px 0 15px 15px;
}



/* ================================================== */
/* flickr */
/* ================================================== */
#flickr-photo-stream img {
width: 48px;
height: auto;
margin: 0 12px 12px 0;
float: left;
}

#flickr-photo-stream a img {
border: solid 2px #fff;
}

#flickr-photo-stream a:hover img {
border: solid 2px #777777;
}





hr{
border-top: solid 1px #555;
}

hr.blank {
border: none;
margin: 20px 0 20px 0;
}

/* ================================================== */
/* font awesome icons */
/* ================================================== */
i {
display: inline-block !important;
}

i.large {
font-size: 72px;
text-align: center;
display:inline-block;
float:none;
}

i.medium {
font-size: 20px;
padding: 10px;
text-align: center;
display:inline-block;
float:none;
}

i.small {
font-size: 12px;
padding: 4px;
text-align: center;
display:inline-block;
float:none;
}

i.circle-icon {
border-radius: 75px;
-moz-border-radius: 75px;
-webkit-border-radius: 75px;
}

.fa-android{
color:#469159;
}

.fa-apple{
color:#0EC3F7;
}

/* extra ^ */
.de_center p {
width: 100%;
}

.de_center .de_icon {
float: none;
margin: 0 auto;
}


/* ================================================== */
/* transition */
/* ================================================== */
a,
a:hover,
.test-column,
.test-column:hover {
-o-transition: .3s;
-ms-transition: .3s;
-moz-transition: .3s;
-webkit-transition: .3s;
transition: .3s;
}





.de_contact_info{
font-size:40px;
font-weight:bold;
}

.de_contact_info i{
float:none;
margin-right:20px;
}


.center-div{
margin:0 auto !important;
}





/* ================================================== */
/* gallery */
/* ================================================== */
.de_carousel .item {
width:100%;
display:block;
}


.item img {
width:100%;
height:auto;
}

.item h4 {
margin-bottom: 0;
font-size: 14px;
}

#gallery .item{
overflow:hidden;
}

.picframe .overlay-v{
	text-align: center;
	width: 100px;
	background: rgba(0,0,0,.5);
	position:absolute;
	width:102%;
	height:100%;
	z-index:1000;
	display:table;
}
.overlay-v.ov-1{
	background: rgba(0,0,0,.8);
}
.picframe .overlay-v .pf_text{
	display:table-cell;
	vertical-align:middle;
}
.light .picframe .overlay-v{
	background: rgba(255,255,255,.3);
}

.picframe.s2 span.overlay .project-name{
	color:#ffffff;
}

.fullheight-100{
	height:100%;
}

.fullheight-100 img{
	position: relative;
	height:100%;
}


.pf_text {
display: table-cell;
vertical-align: middle;
color:#eceff3;
}

.pf_text h4 {
color:#eceff3;
margin-bottom: 0;
font-size: 14px;
font-weight: 600;
}

.pf_title{
	display:block;
}

.project-info{
color:#ccc;
margin-left:20px;
}

.de_light .project-info{
color:#606060;
}

.project-info h2{
margin-top: 0;
font-size:18px;
letter-spacing:3px;
text-transform:uppercase;
}

.project-info h4{
font-weight:bold;
}

.project-info .details{
padding:20px;
border:solid 1px rgba(255,255,255,.2);
background:rgba(0,0,0,.5);
margin-bottom:30px;
}

.de_light .project-info .details{
background:#eee;
border-color:#ddd;
}

.project-infoproject-info span{
display:block;
}

.project-info span.title{
display:inline-block;
min-width:80px;
}

.project-info span.val{
margin-bottom:15px;
font-weight:bold;
}

.project-view{
padding:120px 0 80px 0;
}

.project-images img{
width:100%;
}

.picframe {
	position: relative;
	overflow: hidden;
}

.de_large-portfolio{
	display: flex;
	justify-content: space-between;
	margin-bottom: 200px;
	position: relative;
}

.de_large-portfolio > .d_inner{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.de_large-portfolio h2{
	position: absolute;
	font-size: 150px;
	width: 200%;
	text-transform: uppercase;
	letter-spacing: 20px;
	text-align: center;
	margin: 0;
	line-height: 1em;
	z-index: 1;
}

.de_large-portfolio .d_image{
	position: relative;
	overflow: hidden;
}

.de_large-portfolio .d_image span{
	display: block;
	margin-top: 30px;
	text-align: center;
	font-weight: 300;
}

.de_large-portfolio a:hover .d_image {
	transform: scale(1.1) ;
	opacity: .5;
}

span.overlay {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
vertical-align: center;
width: 100%;
height: 100%;
background: #111;
z-index:100;
opacity: 0;
}

span.overlay.s2 {
opacity: 1;
background: none !important;
}

span.overlay.s2 img{
	width: 80px;
	position: absolute;
	top:50%;
	transform: translateY(-50%) translateX(-50%);
	left: 50%;
}
span.overlay.s2:hover img{
	opacity: 0;
}

.grid-item span.overlay{
	display: block;
	text-align: center;
}

.picframe img{
	position: relative;
	width:100%;
}

.picframe:hover .overlay{
	opacity: .8;
}

.picframe:hover .overlay-v{
	transform: scale(1.2);
	opacity:0;
}

.picframe:hover img{
	transform: scale(1.3);
}

.s2 .overlay-v,
.s2 .overlay-v:hover{
	background: rgba(40,40,40,.3);
}
.s2 .overlay-v .project-name{
	font-size:16px;
	letter-spacing:0;
	text-transform:none;
	color:#fff;
}

#btn-close-x{
width:100px;
height:100px;
display:block;
background:url(../images/close.png) center no-repeat;
margin:0 auto;
margin-bottom:80px;
cursor:pointer;
padding:20px;
}

#btn-close-x{
background:url(../images/close-2.png) center no-repeat;
}

.btn-close{
	z-index: 100;
}


.project-name{
font-size:12px;
font-weight:bold;
display:block;
}


.de_light span.overlay {
background: #fff;
}

.overlay-dark span.overlay {
background: #111;
}

.project-details{
	padding:30px;
	border:solid 1px #ddd;
	margin-bottom:30px;
}

.info-details .info-text{
margin-bottom:20px;
}

.project-details .title,
.info-details .title{
display:block;
font-weight:bold;
}

.project-details .val{
	display:block;
	margin-bottom:20px;
}
.project-details .info-text:last-child .val{
	margin-bottom:0;
}

span.icon{
cursor:pointer;
}



.overlay .info-area {
display: block;
margin-top: 10%;
}

.overlay .sb-icons {
display: block;
margin-top: 200px;
}

.de-gallery .overlay{
text-align:center;
}

.overlay  .pf_text{
display: table-cell;
}

.project-name{
font-size:11px;
text-transform:uppercase;
letter-spacing:5px;
}

.de-gallery .overlay .icon {
display: inline-block;
margin-top: 200px;
text-align:center;
}

.de-gallery .overlay .icon i{
text-shadow:none;
color:#fff;
border:solid 1px rgba(255,255,255,.1);
font-size: 22px;
padding: 20px;
width: 60px;
height: 60px;
text-align: center;
margin-left:10px;
}

.de-gallery .overlay .icon i.icon-info{
margin-left:0px;
}

.de-gallery .overlay .icon i:hover{
color:#222;
background:#fff;
}

.de-gallery.hover-1 span.overlay-1 {
text-align: center;
display: block;
background:rgba(0,0,0,.7);
position: absolute;
width:100%;
height:100%;
z-index:2;
}
.de-gallery.hover-1 span.overlay-1:hover{
background:rgba(0,0,0,0);
}
.de-gallery.hover-1 span.overlay-1 .pf_text{
	display:block;
	bottom:10%;
	letter-spacing:4px;
	position:absolute;
	width:100%;
}
.de-gallery.hover-1 span.overlay-1:hover .pf_text{
	bottom:-20%;
	opacity:0;
}
.grid_gallery .item{
margin-bottom:30px;
}


.gallery-scroll{
	overflow: scroll;
}

a.img-icon-url, a.img-icon-zoom {
display: inline-block;
width: 36px;
height: 36px;
background: url(../images/icon-url.png) center no-repeat;
margin: 0 auto;
margin: 0 2px 0 2px;
}

a.img-icon-zoom {
background: url(../images/icon-zoom.png) center no-repeat;
}

.pf_full_width .item{
width:24.9%;
float:left;
}

.pf_full_width.pf_3_cols .item{
width:33.3%;
}

.pf_full_width.pf_2_cols .item{
width:49.9%;
}

.pf_full_width img{
float:left;
width:100%;
}

	/* ---- grid ---- */

.grid {
  width:100%;
}

/* clear fix */
.grid:after {
  content: '';
  display: block;
  clear: both;
}

/* ---- .element-item ---- */

/* 5 columns, percentage width */

.grid-sizer {
  width: 5%;
}

.grid-item {
  float: left;
  border:none;
  overflow:hidden;
  margin:0;
  padding:0;
}

.large-width { width: 50%; }



@media only screen and (max-width : 768px) {
  .w1, .w2, .w3, .w4, .w5 {width:100%}
}


/* ================================================== */
/* widget */
/* ================================================== */
#sidebar{
padding-left:20px;
}
 
.widget {
margin-bottom: 60px;
padding-bottom:60px;
border-bottom:solid 1px #333;
}

.de_light .widget{
border-bottom:solid 1px #ddd;
}

#sidebar .widget:last-child{
	border:none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.widget h4 {
text-transform:uppercase;
padding-bottom: 20px;
font-size: 16px;
letter-spacing: normal;
letter-spacing:1px;
}

.widget ul {
list-style: none;
margin: 0;
padding:0;
}

.widget  .small-border{
height:2px;
width:30px;
background:#fff;
margin:10px 0 20px 0;
display:block;
}

.widget_category li a {
display: block;
padding: 12px 20px 12px 20px;
margin-bottom: 8px;
font-weight: bold;
text-decoration: none;
color:#fff;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border:solid 1px #333333;
}

.de_light .widget_category li a {
border:solid 1px #ddd;
color:#111;
}

.widget_category li:hover a {
color:#111;
}

.widget_recent_post li {
padding-left: 20px;
background: url(../images/list-arrow.png) left 2px no-repeat;
border-bottom: solid 1px #222;
padding-bottom: 7px;
margin-bottom: 5px;
}

.widget .comments li {
padding-left: 20px;
background: url(../images/list-arrow.png) left 2px no-repeat;
border-bottom: solid 1px #eee;
padding-bottom: 7px;
margin-bottom: 5px;
}

.widget_tags li {
text-shadow:none;
display: inline-block;
margin-right: 2px;
margin-bottom: 7px;
}

.widget_tags li a {
font-size:12px;
text-decoration: none;
margin-bottom: 5px;
border-radius: 1px;
-moz-border-radius: 1px;
-webkit-border-radius: 1px;
border:solid 1px rgba(255,255,255,.1);
color: #888;
padding: 5px 8px 5px 8px;
}

.de_light .widget_tags li a {
color:#606060;
border:solid 1px #ddd;
}

.de_light .widget_tags.s2 li a,
.de_light .widget_tags.s2 li a:hover{
	font-size: 12px;
	background: rgba(0, 0, 0, .05);
	color:var(--title-font-color);
	border: none;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
}

.widget_tags li a:hover {
color:#555;
border-color: #555;
}

.de_light .widget_tags li a:hover {
color:#111;
border-color: #111;
}


.widget_top_rated_product ul{
padding:0;
}

.widget_top_rated_product li {
min-height:80px;
margin-bottom: 10px;
}

.widget_top_rated_product li .text{
padding-top:5px;
padding-left:75px;
}

.widget_top_rated_product li img{
position:absolute;
width:60px;
height:60px;
}

.widget_tags li a{
border-color:#555;
}

.widget_tags li a:hover {
color:#eceff3;
border-color:#eceff3;
}


.d-cart-item .text{
padding-left:75px;
}

.d-cart-item img{
position:absolute;
width:50px;
height:50px;
}

footer .widget{
border:none !important;
margin-bottom:0;
}

.widget_tags ul{
margin-top:30px;
}

footer .widget.widget_tags li a{
border-color:#222;
}

footer .widget_recent_post li {
padding: 2px 0 4px 0;
margin:0;
background: none;
border-bottom-color:#222;
}

footer .widget{
border:none !important;
margin-bottom:0;
}

.widget_tags ul{
margin-top:30px;
}

footer .widget.widget_tags li a{
border-color:#222;
}

footer.light .widget_recent_post li {
border-bottom-color:#eee;
}

footer .widget h3{
margin-bottom:20px;
}

.widget.f-list-s2 li{
	margin-bottom: 5px;
}

footer.style-2{
	padding:80px 0 60px 0;
}

footer.style-3{
	padding:40px 0 20px 0;
	background: none;
}


#photo-carousel.owl-carousel.owl-theme.owl-loaded.owl-drag,
#photo-carousel .owl-stage-outer,
#photo-carousel .owl-stage,
#photo-carousel .owl-item,
#photo-carousel .item,
#photo-carousel .owl-item,
#photo-carousel .img-responsive{
    height: 100vh;
    object-fit: cover;
}

/* mdb carousel */

/* Carousel styling */
      #de-carousel,
      #de-carousel .carousel-inner,
      #de-carousel .carousel-item,
      #de-carousel .carousel-item.active {
        height: 100vh;
      }

      #de-carousel .carousel-control-prev-icon:after{
        content: '\f104';
        font-family: "FontAwesome";
        color: #ffffff;
      }
      #de-carousel .carousel-control-next-icon:after{
        content: '\f105';
        font-family: "FontAwesome";
        color: #ffffff;
      }

      #de-carousel .carousel-indicators [data-mdb-target]{
        width: 8px;
        height: 8px;
        margin: 0 6px;
      }

      #de-carousel .mask{
        background: rgba(30, 30, 30, .3);
      }

      #de-carousel .carousel-control-next, #de-carousel .carousel-control-prev{
        width: 100px;
      }

      h2.slide-title{
      	font-size: 48px;
      }

/* mdb carousel */

#v-wrap{
	position: fixed;
	width: 100%;
	display: table;
	left:40px;
	z-index: 1000;
	float: left;
	transform:  translateX(-50%) translateY(-50%) rotate(-90deg);
	-moz-transform:  translateX(-50%) translateY(-50%) rotate(-90deg);
	-webkit-transform:  translateX(-50%) translateY(-50%) rotate(-90deg);
	text-align: center;
	top:50%;
	font-size: 12px;
	letter-spacing: 10px;
}

.pp-scrollable{
	display: flex;
	justify-content: center;
  align-items: center;
}

.pp-scrollable .pp-inner{
	display: table-cell;
	vertical-align: middle;
}

#pp-nav.right {
    right: 25px
}
#pp-nav.left {
    left: 25px;
}
#pp-nav span,
.pp-slidesNav span{
	 border: 1px solid #000;
}

.pp-tooltip{
	background:#222222;
	padding:2px 8px;
	margin-top:-5px;
}

#pp-nav li .active span, .pp-slidesNav .active span{
	background: var(--primary-color-1) !important; 
	border: solid 1px var(--primary-color-1) !important;
}

.de__icon-left{
	position: relative;
	padding-left: 60px;
}

.de__icon-left h3{
	margin-bottom: 5px;
}

.de__icon-left i{
	position: absolute;
	left: 0;
	font-size: 42px;
}

.de__banner{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.de__banner .atr__img-bg{
    width: 100%;
    height: auto;
}

.de__banner .atr__img-main{
    display: flex;
    position: absolute;
    width: 40%;
    left: 5%;
}

.de__banner .atr__content{
    text-align: left;
    margin-left: 40%;
    padding-left: 5%;
    width: 50%;
    position: absolute;
}

.de__banner h3{
    font-size: 36px;
}

.de__banner h4{
    display: inline-block;
    text-align: center;
    background: #111111;
    font-size: 12px;
    letter-spacing: .1em;
    padding: 5px 10px;
    text-transform: uppercase;
}
.de__banner small{
    margin-top: 20px;
    display: block;
    font-style: italic;
}

.de__quick-view{
		display: none;
		background: rgba(0, 0, 0, .5);
		position: fixed;
		width: 100%;
		height: 100%;
		z-index: 2000;
		top: 0;
}

.de__qv-content{
		background: #ffffff;
		width: 940px;
		margin: 0;
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  -ms-transform: translate(-50%, -50%);
	  transform: translate(-50%, -50%);
	  overflow: hidden;
}

.de__product-popup{
	position: relative;
	padding: 20px;
	padding-bottom: 40px;
}

.de__product-popup h3{
	font-size: 20px;
}

.de__product-popup .atr__images img{
	width: 100%;
}

.de__product-popup .atr__content-wrap{
	margin-left: 30px;
	padding: 20px 0;
}

.de__product-popup .atr__desc{
	margin: 10px 0 20px 0;
}

.de__product-popup .atr__number{
	margin-top: 20px;
}

.de__product-popup .input-number{
	margin-bottom: 20px;
}

.de__product-popup .btn-close{
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 10px;
	cursor: pointer;
}

.d-col-half{
	width: 50%;
	float: left;
}

/* numbe input */
* {
  box-sizing: border-box;
}

.input-number {
  width: 52px;
  padding: 0 12px;
  vertical-align: top;
  text-align: center;
  outline: none;
}

.input-number,
.input-number-decrement,
.input-number-increment {
  border: 1px solid #ccc;
  height: 40px;
  user-select: none;
}

.input-number-decrement,
.input-number-increment {
  display: inline-block;
  width: 40px;
  line-height: 38px;
  background: #ffffff;
  color: #444;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
}
.input-number-decrement:active,
.input-number-increment:active {
  background: #ddd;
}

.input-number-decrement {
  border-right: none;
  border-radius: 4px 0 0 4px;
}

.input-number-increment {
  border-left: none;
  border-radius: 0 4px 4px 0;
}

#de_notif{
	opacity: 0;
	font-weight: bold;
	background: #ffffff;
	color: #000000;
	padding: 5px 10px;
	position: fixed;
	left: 50%;
	bottom: -50px;
  transform: translate(-50%, 0);
	z-index: 100;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
}

#de_notif.active{
	opacity: 1;
	bottom: 40px;
}

/* de post poster */
.de-card-poster{
    overflow: hidden;
    position: relative;
    height: 350px;
}

.de-card-poster .d-image{
    position: absolute;
    width: 110%;
    height: 110%;
    margin-left: -5%;
}

.de-card-poster .d-overlay{
    position: absolute;
    min-height: 100%;
    width: 100%;
    z-index: 1;
    background: rgba(0, 0, 0, .1);
}

.de-card-poster .d-content{
    color: #ffffff;
    margin: 30px;
    margin-bottom: -20px;
    position: absolute;
    bottom: 0;
}

.de-card-poster .d-content h3{
    font-size: 24px;
    letter-spacing:0;
    color: #ffffff;
    padding-left: 40px;
    padding-bottom: 10px;
    border-bottom: solid 1px rgba(255, 255, 255, .5);
}
.rtl .de-card-poster .d-content h3{
    padding-left: 0;
    padding-right: 40px;
}
.de-card-poster .d-content h3 i{
    position: absolute;
    left: 0;
    margin-right: 10px;
    font-size: 32px;
}
.rtl .de-card-poster .d-content h3 i{
    left: auto;
    margin-right: 0;
    right: 0;
    margin-left: 10px;
}

.de-card-poster .d-content .d-text{
    max-height: 0;
    opacity: 0;
}

.de-card-poster .d-click,
.de-card-poster .btn-main{
    opacity: 0;
}

.de-card-poster .d-tag{
    display: inline-block;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    background: #222222;
    padding: 2px 8px;
    line-height: 1em;
    font-weight: 500;
    margin-bottom: 20px;
}


.de-card-poster:hover .d-overlay{
    background: rgba(0, 0, 0, .6);
}

.de-card-poster:hover .d-content{
    margin-bottom: 30px;
}

.de-card-poster:hover .d-content .d-text{
    max-height: 500px;
    margin-bottom: 20px;
    opacity: 1;
}

.de-card-poster:hover .btn-main,
.de-card-poster:hover .d-click{
    opacity: 1;
}

.de-card-poster:hover .d-image{
    margin-left: 0;
}

.de-card-poster:hover i{
    color: #ffffff;
}

/* de post poster end */


/* de card simple */
.de-card-simple{
	font-weight: 500;
	text-align: center;
	overflow: hidden;
	border: solid 1px #dddddd;
}

.de-card-simple .d-label{
	font-size: 14px;
	display: block;
	border-bottom: solid 1px #dddddd;
	background: #f8f8f8;
}

.de-card-simple h4{
	font-size: 16px;
	margin: 0;
	padding: 20px 10px 20px 10px;
}

/* de card simple end */

/* de icon cap */

.de-icon-cap{
	display: inline-block;
	text-align: center;
	padding: 0 10px;
}

.de-icon-cap h5{
	font-size: 12px;
	margin: 0;
	letter-spacing: 1px;
	font-weight: 500;
}

.de-icon-cap i{
	font-size: 32px;
}

/* de card room */
.de-card-room{
    overflow: hidden;
    position: relative;
    height: 350px;
}

.de-card-room .d-image{
    position: absolute;
    width: 110%;
    height: 110%;
    margin-left: -5%;
}

.de-card-room .d-overlay{
    position: absolute;
    min-height: 100%;
    width: 100%;
    z-index: 1;
    background: rgba(0, 0, 0, .1);
}

.de-card-room .d-content{
    color: #ffffff;
    margin: 30px;
    margin-bottom: -20px;
    position: absolute;
    bottom: 0;
}

.de-card-room .d-content h3{
    font-size: 24px;
    letter-spacing:0;
    color: #ffffff;
    padding-left: 40px;
    padding-bottom: 10px;
    border-bottom: solid 1px rgba(255, 255, 255, .5);
}
.rtl .de-card-room .d-content h3{
    padding-left: 0;
    padding-right: 40px;
}
.de-card-room .d-content h3 i{
    position: absolute;
    left: 0;
    margin-right: 10px;
    font-size: 32px;
}
.rtl .de-card-room .d-content h3 i{
    left: auto;
    margin-right: 0;
    right: 0;
    margin-left: 10px;
}

.de-card-room .d-content .d-text{
    max-height: 0;
    opacity: 0;
}

.de-card-room .d-click,
.de-card-room .btn-main{
    opacity: 0;
}

.de-card-room .d-tag{
    display: inline-block;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    background: #222222;
    padding: 2px 8px;
    line-height: 1em;
    font-weight: 500;
    margin-bottom: 20px;
}


.de-card-room:hover .d-overlay{
    background: rgba(0, 0, 0, .6);
}

.de-card-room:hover .d-content{
    margin-bottom: 30px;
}

.de-card-room:hover .d-content .d-text{
    max-height: 500px;
    margin-bottom: 20px;
    opacity: 1;
}

.de-card-room:hover .btn-main,
.de-card-room:hover .d-click{
    opacity: 1;
}

.de-card-room:hover .d-image{
    margin-left: 0;
}

.de-card-room:hover i{
    color: #ffffff;
}

.de-box-price{
	font-weight: 500;
	border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	font-size: 20px;
}

.de-box-price span{
	font-size: 64px;
}

/* de card room end */


/* DCG */

.dcg-item{
	position: relative;
	overflow: hidden;
}
.dcg-url{
	display: block;
	position: absolute;
	width: 100%;
	height:100%;
	top: 0;
	left: 0;
	z-index: 2;
}
/* ----- dcg-one ----- */
.dcg-one {
	position: relative;
}
.dcg-one .dcg-title{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	font-size: 48px;
	line-height: 1em;
	padding: 30px;
	color:#ffffff;
	opacity: 0;
	top:-50%;
	font-weight: 800;
	text-transform:uppercase;
}
.dcg-one:hover .dcg-title{
	top:0;
	opacity: 1;
}
.dcg-one .dcg-text{
	position: absolute;
	right: 40px;
	bottom: 0;
	z-index: 1;
	font-size: 14px;
	line-height: 1em;
	padding: 30px;
	color:#ffffff;
	text-transform: uppercase;
	opacity: 0;
}
.dcg-one:hover .dcg-text{
	right: 0;
	opacity: 1;
}
.dcg-one:active .dcg-text{
	opacity: 0;
}
.dcg-one .dcg-overlay{
	background: rgba(0, 0, 0, .75);
	position: absolute;
	width: 100%;
	height:100%;
	top: -100%;
	left: 0;
	border-radius:100%;
	-moz-border-radius:100%;
	-webkit-border-radius:100%;
}
.dcg-one:hover .dcg-overlay{
	top:0;
	border-radius:0px;
	-moz-border-radius:0px;
	-webkit-border-radius:0px;
}
.dcg-one:hover img{
	transform: scale(1.2);
}
.dcg-one .dcg-line{
	position: absolute;
	bottom: 36px;
	width:0;
	height: 1px;
	background: #ffffff;
	z-index: 1;
}
.dcg-one:hover .dcg-line{
	width: 50%;
}
.dcg-one:active .dcg-line{
	width: 100%;
}

/* ----- dcg-two ----- */
.dcg-two {
	position: relative;
}
.dcg-two .dcg-title{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	font-size: 48px;
	line-height: 1em;
	padding: 30px;
	color:#ffffff;
	opacity: 0;
	font-weight: 800;
	text-transform:uppercase;
	text-align:center;
}
.dcg-two:hover .dcg-title{
	opacity: 1;
}
.dcg-two:active .dcg-title{
	font-size: 42px;
}
.dcg-two .dcg-text{
	width:100%;
	position: absolute;
	bottom: -10%;
	z-index: 1;
	font-size: 14px;
	line-height: 1em;
	padding: 30px;
	color:#ffffff;
	text-transform: uppercase;
	opacity: 0;
	text-align: center;
}
.dcg-two:hover .dcg-text{
	opacity: 1;
	bottom: 0;
}
.dcg-two:active .dcg-text{
	opacity: 0;
}
.dcg-two .dcg-overlay{
	background: rgba(0, 0, 0, .75);
	position: absolute;
	border-radius:100%;
	-moz-border-radius:100%;
	-webkit-border-radius:100%;
	width: 0;
	height: 0;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
}
.dcg-two:hover .dcg-overlay{
	opacity: 1;
	width: 600px;
	height: 600px;
}
.dcg-two:hover img{
	transform: scale(1.2);
}
.dcg-two .dcg-line{
	position: absolute;
	top:50%;
	width:0;
	height: 1px;
	background: #ffffff;
	z-index: 1;
}
.dcg-two:hover .dcg-line{
	width: 100%;
}

/* ----- dcg-three ----- */
.dcg-three {
	position: relative;
}
.dcg-three .dcg-title{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	font-size: 96px;
	line-height: 1em;
	padding: 30px;
	color:#ffffff;
	opacity: 0;
	font-weight: 800;
	text-transform:uppercase;
	text-align:center;
}
.dcg-three:hover .dcg-title{
	opacity: 1;
	font-size: 35px;
}
.dcg-three:active .dcg-title{
	font-size: 42px;
}
.dcg-three .dcg-text{
	width:100%;
	position: absolute;
	bottom: -10%;
	z-index: 1;
	font-size: 14px;
	line-height: 1em;
	padding: 30px;
	color:#ffffff;
	text-transform: uppercase;
	opacity: 0;
	text-align: center;
}
.dcg-three:hover .dcg-text{
	opacity: 1;
	bottom: 0;
}
.dcg-three:active .dcg-text{
	opacity:0;
}
.dcg-three .dcg-overlay{
	background: rgba(0, 0, 0, .75);
	position: absolute;
	width: 0;
	height: 0;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
}
.dcg-three:hover .dcg-overlay{
	opacity: 1;
	width: 100%;
	height: 100%;
}
.dcg-three:hover img{
	transform: scale(1.2);
}
.dcg-three .dcg-line{
	position: absolute;
	top:50%;
	width:0;
	height: 1px;
	background: #ffffff;
	z-index: 1;
}
.dcg-three:hover .dcg-line{
	width: 100%;
}

/* ----- dcg-four ----- */
.dcg-four {
	position: relative;
}
.dcg-four .dcg-title{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	font-size: 96px;
	line-height: 1em;
	padding: 30px;
	color:#ffffff;
	opacity: 0;
	font-weight: 800;
	text-transform:uppercase;
	text-align:center;
}
.dcg-four:hover .dcg-title{
	opacity: 1;
	font-size: 35px;
}
.dcg-four:active .dcg-title{
	font-size: 42px;
}
.dcg-four .dcg-text{
	width:100%;
	position: absolute;
	bottom: -10%;
	z-index: 1;
	font-size: 14px;
	line-height: 1em;
	padding: 30px;
	color:#ffffff;
	text-transform: uppercase;
	opacity: 0;
	text-align: center;
}
.dcg-four:hover .dcg-text{
	opacity: 1;
	bottom: 0;
}
.dcg-four:active .dcg-text{
	opacity:0;
}
.dcg-four .dcg-overlay{
	background: rgba(0, 0, 0, .75);
	position: absolute;
	width: 0;
	height: 0;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
}
.dcg-four:hover .dcg-overlay{
	opacity: 1;
	width: 100%;
	height: 100%;
}
.dcg-four:hover img{
	transform: scale(1.2);
}
.dcg-four .dcg-line{
	position: absolute;
	top:50%;
	width:0;
	height: 1px;
	background: #ffffff;
	z-index: 1;
}
.dcg-four:hover .dcg-line{
	width: 100%;
}

/* marquee */


.d-flex {
  display: flex;
  white-space: nowrap;
}

.display-flex{
	display: flex;
}

.de-marquee-list {
  display: flex;
  align-items: top;
  -webkit-animation: loop 60s infinite linear;
  animation: loop 60s infinite linear;
}

.de-marquee-list .d-item-txt{
  font-size: 64px;
  line-height: 64px;
  letter-spacing: -2px;
  font-style: normal;
  font-weight: 600;
  font-family: var(--title-font);
  user-select: none; /* supported by Chrome and Opera */
   -webkit-user-select: none; /* Safari */
   -khtml-user-select: none; /* Konqueror HTML */
   -moz-user-select: none; /* Firefox */
   -ms-user-select: none; /* Internet Explorer/Edge */
}

.de-marquee-list.s2 .d-item-txt{
	margin: 0 50px;
	color:var(--primary-color-1);
}

.de-marquee-list  .d-item-display{
  display: inline;
}

.de-marquee-list .d-item-dot{
  max-width: 10px;
  max-height: 10px;
  margin: 0 50px;
  padding: 7px;
  border-radius: 50%;
  display: inline-block;
  transform: translateY(-30px);
  background:var(--primary-color-1);
}

.de-marquee-list .d-item-block{
  width: 80px;
  height: 10px;
  margin: 0 40px;
  display: inline-block;
  transform: translateY(-30px);
  background:var(--primary-color-1);
}


.de-marquee-list.ultra-big .d-item-txt{
    font-size: 120px;
    line-height: 1;
    margin: 0 30px;
}

.de-marquee-list.style-2 .d-item-dot{
    transform: translateY(-40px);
    background: rgba(255, 255, 255, .2);
}

.de-marquee-list.d-marquee-small .d-item-txt{
    font-size: 32px;
    letter-spacing: 0;
}

.de-marquee-list.d-marquee-small .d-item-dot{
    transform: translateY(-5px);
    max-width: 3px;
    max-height: 3px;
    padding: 3px;
    margin: 0 30px;
}

@keyframes loop {
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

.hover-zoom{
	transform: scale(1.05);
}

.hover-zoom:hover{
	transform: scale(1.2);
}

.bg-dark{
	background: var(--bg-dark-1);
}

.bg-grey{background: #eeeeee !important;}

.rounded-10{
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
}

.rounded-20{
    border-radius:20px;
    -moz-border-radius:20px;
    -webkit-border-radius:20px;
}


.w-10px{width: 10px}
.w-20px{width: 20px}
.w-30px{width: 30px}
.w-40px{width: 40px}
.w-50px{width: 50px}
.w-60px{width: 60px}
.w-70px{width: 70px}
.w-80px{width: 80px}
.w-90px{width: 90px}
.w-100px{width: 100px}
.w-120px{width: 120px}
.w-150px{width: 150px}

.w-10{width: 10%}
.w-20{width: 20%}
.w-30{width: 30%}
.w-40{width: 40%}
.w-50{width: 50%}
.w-60{width: 60%}
.w-70{width: 70%}
.w-80{width: 80%}
.w-90{width: 90%}
.w-100{width: 100%}

.h-10{height: 10%}
.h-20{height: 20%}
.h-30{height: 30%}
.h-40{height: 40%}
.h-50{height: 50%}
.h-60{height: 60%}
.h-70{height: 70%}
.h-80{height: 80%}
.h-90{height: 90%}
.h-100{height: 100%}

.top-10{top: 10%}
.top-20{top: 20%}
.top-30{top: 30%}
.top-40{top: 40%}
.top-50{top: 50%}
.top-60{top: 60%}
.top-70{top: 70%}
.top-80{top: 80%}
.top-90{top: 90%}
.top-100{top: 100%}

.top-10px{top: 10px}
.top-20px{top: 20px}
.top-30px{top: 30px}
.top-40px{top: 40px}
.top-50px{top: 50px}
.top-60px{top: 60px}
.top-70px{top: 70px}
.top-80px{top: 80px}
.top-90px{top: 90px}
.top-100px{top: 100px}

.bottom-10{bottom: 10%}
.bottom-20{bottom: 20%}
.bottom-30{bottom: 30%}
.bottom-40{bottom: 40%}
.bottom-50{bottom: 50%}
.bottom-60{bottom: 60%}
.bottom-70{bottom: 70%}
.bottom-80{bottom: 80%}
.bottom-90{bottom: 90%}
.bottom-100{bottom: 100%}

.bottom-10px{bottom: 10px}
.bottom-20px{bottom: 20px}
.bottom-30px{bottom: 30px}
.bottom-40px{bottom: 40px}
.bottom-50px{bottom: 50px}
.bottom-60px{bottom: 60px}
.bottom-70px{bottom: 70px}
.bottom-80px{bottom: 80px}
.bottom-90px{bottom: 90px}
.bottom-100px{bottom: 100px}

.start-10{left: 10%}
.start-20{left: 20%}
.start-30{left: 30%}
.start-40{left: 40%}
.start-50{left: 50%}
.start-60{left: 60%}
.start-70{left: 70%}
.start-80{left: 80%}
.start-90{left: 90%}
.start-100{left: 100%}

.start-10px{left: 10px}
.start-20px{left: 20px}
.start-30px{left: 30px}
.start-40px{left: 40px}
.start-50px{left: 50px}
.start-60px{left: 60px}
.start-70px{left: 70px}
.start-80px{left: 80px}
.start-90px{left: 90px}
.start-100px{left: 100px}

.end-10{right: 10%}
.end-20{right: 20%}
.end-30{right: 30%}
.end-40{right: 40%}
.end-50{right: 50%}
.end-60{right: 60%}
.end-70{right: 70%}
.end-80{right: 80%}
.end-90{right: 90%}
.end-100{right: 100%}

.end-10px{right: 10px}
.end-20px{right: 20px}
.end-30px{right: 30px}
.end-40px{right: 40px}
.end-50px{right: 50px}
.end-60px{right: 60px}
.end-70px{right: 70px}
.end-80px{right: 80px}
.end-90px{right: 90px}
.end-100px{right: 100px}

.ms-10{margin-left: 10%}
.ms-20{margin-left: 20%}
.ms-30{margin-left: 30%}
.ms-40{margin-left: 40%}
.ms-50{margin-left: 50%}
.ms-60{margin-left: 60%}
.ms-70{margin-left: 70%}
.ms-80{margin-left: 80%}
.ms-90{margin-left: 90%}
.ms-100{margin-left: 100%}

.fs-14{font-size: 14px}
.fs-16{font-size: 16px}
.fs-18{font-size: 18px}
.fs-20{font-size: 20px}
.fs-24{font-size: 24px}
.fs-32{font-size: 32px}
.fs-36{font-size: 36px}
.fs-40{font-size: 40px}
.fs-48{font-size: 48px}
.fs-56{font-size: 56px}
.fs-60{font-size: 60px}
.fs-64{font-size: 64px}
.fs-72{font-size: 72px}
.fs-84{font-size: 84px}
.fs-96{font-size: 96px}

.fw-100{font-weight: 100;}
.fw-200{font-weight: 200;}
.fw-300{font-weight: 300;}
.fw-400{font-weight: 400;}
.fw-500{font-weight: 500;}
.fw-600{font-weight: 600;}
.fw-bold{font-weight: bold;}

.ml-10{margin-left: 10px}
.ml-20{margin-left: 20px}
.ml-30{margin-left: 30px}
.ml-40{margin-left: 40px}
.ml-50{margin-left: 50px}
.ml-60{margin-left: 60px}
.ml-70{margin-left: 70px}
.ml-80{margin-left: 80px}
.ml-90{margin-left: 90px}
.ml-100{margin-left: 100px}

.pl-10{padding-left: 10px}
.pl-20{padding-left: 20px}
.pl-30{padding-left: 30px}
.pl-40{padding-left: 40px}
.pl-50{padding-left: 50px}
.pl-60{padding-left: 60px}
.pl-70{padding-left: 70px}
.pl-80{padding-left: 80px}
.pl-90{padding-left: 90px}
.pl-100{padding-left: 100px}

.border-white-1{border: solid 1px white;}
.border-white-2{border: solid 2px white;}
.border-white-3{border: solid 3px white;}
.border-white-4{border: solid 4px white;}
.border-white-5{border: solid 5px white;}
.border-white-6{border: solid 6px white;}

.hover:hover .hover-scale-1-2{transform: scale(1.2);}

.hover-scale-in-2{transform: scale(2); opacity: 0;}
.hover-scale-in-3{transform: scale(3); opacity: 0;}
.hover:hover .hover-scale-in-2{transform: scale(1); opacity: 1}
.hover:hover .hover-scale-in-3{transform: scale(1); opacity: 1}
.hover:hover .hover-op-0{opacity: 0}

.inline-block{
    display: inline-block;
}


.lh-1{line-height: 1em;}
.lh-1-2{line-height: 1.2em;}
.lh-1-3{line-height: 1.3em;}
.lh-1-4{line-height: 1.4em;}
.lh-1-5{line-height: 1.5em;}
.lh-1-6{line-height: 1.6em;}


.circle{
  border-radius:100%;
  -moz-border-radius:100%;
  -webkit-border-radius:100%;
}


/* ================================================== */
/* misc */
/* ================================================== */
a{
color:#fff;
text-decoration:none;
outline:0;
}

a:hover{
color:#fff;
}

a:hover, a:active, a:focus, img{
	outline:0;
}

a.btn-on-header,
.de_light a.btn-on-header{
	color: #ffffff;
	padding: 2px 40px 2px 20px;
	margin-top: -20px;
	border: solid 1px rgba(255, 255, 255, .5);
	border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
}

a.btn-on-header:hover,
.de_light a.btn-on-header:hover{
	color: #000000 !important;
}

header.smaller .btn-on-header{
	margin-top: -18px;
}

.de-icon{
	display: block;
	text-align: center;
}
.de-icon h5{
	display: block;
	text-align: center;
}
.de-icon i{
	font-size: 32px;
	display: block;
	width: 100px;
	height: 100px;
	background: #333333;
	color: #ffffff;
	padding-top: 32px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	margin-bottom: 10px;
}

.de-icon img{
	background: var(--primary-color-1);
	width: 100px;
	padding: 20px;
	margin-bottom: 15px;

}

.de-hover{
	position: relative;
	overflow: hidden;
}

.de-hover.d-circle{
	border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
}

.de-hover img{
	position: relative;
}

.de-hover .d-overlay{
	color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .3);
	font-weight: bold;
	z-index: 1;
}

.de-hover:hover .d-overlay{
	opacity: 0;
}

.de-hover:hover img{
	transform: scale(1.1);
}

.d-slide-item{
	padding-left: 30px;
}

.d-slide-item .dsi-desc{
	margin-top: 10px;
	margin-left: 50%;
	float: right;
	font-size: 16px;
	line-height: 1.7em;
	position: relative;
	z-index: 10;
}

.d-slide-item h4{
	font-weight: 500;
	font-size: 20px;
	display: inline-block;
	padding: 5px 10px;
	position: absolute;
	margin-top: -40px;
	z-index: 1;
	color: #ffffff;
}

.d-slide-item .wm{
	text-align: left;
	display: inline-block;
	font-size: 260px;
	letter-spacing: -10px;
	margin-left: -10px;	
	margin-top: -70px;
}

.de-flex{
	display: flex;
	justify-content: space-between;
}

.de-flex > .de-flex-col{
	display: flex;
	justify-content: center;
	align-items: center;
}

.de-header-flex{
	display: flex;
	justify-content: space-between;
}

.de-header-flex > .de-flex-col{
	display: flex;
	justify-content: center;
	align-items: center;
}

#de-extra-menu{
	height:80px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.d-cart-icon{
	width:48px;
	position: relative;
}

.d-cart-icon i{
	font-size: 22px;
	position: absolute;
	left: 0;
}

.d-cart-icon span{
	position: relative;
	margin-top: 2px;
 	float: right;	
	color:#000;
	display:inline-block;
	width:18px;
	height:18px;
	line-height:1.5em;
	border-radius: 20px;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	font-size: 12px;
	font-weight: bold;
}

.d-summary{
	padding:30px;
	background: #1e2024;
}

.de_light .d-summary{
	background: #f5f5f5;
}

header.smaller #de-extra-menu{
	height: 70px;
}

.header-container{
	padding-left: 30px;
	padding-right: 30px;
}

.bg-black{
	background:#18191b;
}

.nav-link{
	color: #ffffff;
}

.de_light .nav-link,
.nav-pills .nav-link.active, .nav-pills .show>.nav-link{
	color: #07003b;
}

.de_light a, .de_light a:hover{
color:#606060;
}

.de_light footer a, .de_light footer a:hover{
color:#cccccc;
}

.v-text {
    position: fixed;
    z-index: 10;
    color: #fff;
    margin-bottom: 40px;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    letter-spacing: .75px;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    margin-left: 30px;
    height: 100%;
    text-align: center;
    letter-spacing: 2px;
    font-size: 11px;
    font-weight: 300;
}

.v-text a {
    margin: 20px 0;
}

.de-banner{
	text-align: center;
}

.de-banner span{
	font-size: 12px;
}

.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

.wm{
	width:100%;
	position:relative;
	font-size:200px;
	text-align:center;
	font-weight:bold;
	top:33px;
	-webkit-user-select:none;-moz-user-select:-moz-none;
	-ms-user-select:none;user-select:none;
}

.wm.s1{
	font-size: 300px;
	 top: 50%;
    transform: translateY(calc(-50% - 25px));
    color: rgba(255, 255, 255, .2);
}

.de_light .wm.s2{
	font-size: 100px;
	color: rgba(0, 0, 0, .05);
	letter-spacing: 10%;
	text-transform: uppercase;
}

.wm.dark{
	color:rgba(255,255,255,.1);
}

.wm.dark.wm-border{
	font-size:280px;
	color:rgba(0,0,0,0);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: rgba(255,255,255,.15);
}

.wm.light.wm-border{
	font-size:280px;
	color:rgba(0,0,0,0);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: rgba(0,0,0,.1);
}

.wm.pp-wm,
.text-light .wm.pp-wm{
	-ms-user-select:none;user-select:none;
	-webkit-text-stroke-color: rgba(255,255,255,.3);
	-webkit-text-stroke-width: 1px;
	-webkit-user-select:none;-moz-user-select:-moz-none;
	font-size:32px;
	font-weight:bold;
	position: absolute;
	text-align:right;
	top:33px;
	width:100%;
	padding-right: 40px;
	letter-spacing: 1px;
}

.de_light .wm{
	color:rgba(0,0,0,.05);
}
.text-light .wm{
	color:rgba(255,255,255,.05);
}
.demo-icon-wrap{
	margin-bottom:30px;
}
.demo-icon-wrap i{
	font-size:28px;
	margin-right:20px;
	position:relative;
	top:5px;
}

.demo-icon-wrap-s2{
	margin-bottom:30px;
}
.demo-icon-wrap-s2 span{
	font-size:28px;
	margin-right:20px;
	position:relative;
	top:5px;
}

/* video button begin */

.video-play-button {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  box-sizing: content-box;
  display: block;
  width: 32px;
  height: 44px;
  /* background: #eb3349; */
  border-radius: 50%;
  padding: 18px 20px 18px 28px;
}

.video-play-button:before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 80px;
  height: 80px;
  background: #ba1f24;
  border-radius: 50%;
  animation: pulse-border 1500ms ease-out infinite;
}

.video-play-button:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 80px;
  height: 80px;
  background: #eb3349;
  border-radius: 50%;
  transition: all 200ms;
}

.video-play-button:hover:after {
  background-color: darken(#eb3349, 10%);
}

.video-play-button img {
  position: relative;
  z-index: 3;
  max-width: 100%;
  width: auto;
  height: auto;
}

.video-play-button span {
  display: block;
  position: relative;
  z-index: 3;
  width: 0;
  height: 0;
  border-left: 32px solid #fff;
	border-top: 22px solid transparent;
	border-bottom: 22px solid transparent;
}

.small-icon{
	padding:5px 10px;
	border:solid 1px #dddddd;
	border-radius:2px;
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
}

.icons-group.s2 .small-icon{
	padding:10px 20px;
}

.icons-group.s2 i{
	font-size:18px;
}

.small-icon i{
	margin-right:10px;
}

.icons-group .small-icon{
	margin-right:10px;
}

@keyframes pulse-border {
  0% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
    opacity: 0;
  }
}
/* video-button close */

.clearfix{width:100%;}

.strong{font-weight:bold;}

.fontsize24{font-size:24px !important;}
.fontsize32{font-size:32px !important;}
.fontsize36{font-size:36px !important;}
.fontsize40{font-size:40px !important;}
.fontsize48{font-size:48px !important;}

.padding5{padding:5px !important;}
.padding10{padding:10px !important;}
.padding20{padding:20px !important;}
.padding30{padding:30px !important;}
.padding40{padding:40px !important;}
.padding50{padding:50px !important;}
.padding60{padding:60px !important;}
.padding70{padding:70px !important;}
.padding80{padding:80px !important;}


#particles-js{
	top:0;
	width:100%;
	height:100%;
	position:absolute;
	z-index:0;
}

.de_light a:hover{
color:#555;
}

#services-list{
padding:0;
margin:0;
}

#services-list li a{
color:#fff;
}

.de_light #services-list li a{
color:#999;
}

#services-list li{
font-weight:bold;
list-style:none;
margin:0;
background:rgba(0,0,0,.3);
margin-bottom:10px;
}

.de_light #services-list li{
background:#ddd;

}

#services-list li a{
display:block;
padding:20px;
text-decoration:none;
}

#services-list li a:hover{
color:#111;
}

.pic-services img{
margin-bottom:30px;
}

#services-list li.active a{
color:#111;
}

#services-list.s1 li{
	background:#303030;	
}
#services-list.s1 li a{
	color:#fff;
}

.project-images img{
margin-bottom:60px;
}

.teaser-text{
font-family:"Dosis";
font-size:14px;
color:rgba(255,255,255,.5);
line-height:normal;
font-weight:300;
text-transform:uppercase;
letter-spacing:6px;
}

.teaser-text-2{
font-size:16px;
}

#navigation{
position:fixed;
width:100%;
height:60px;
top:0;
right:20px;
text-align:center;
margin-bottom:60px;
z-index:1000;
}

.mfp-close{
color:#fff !important;
position:absolute;
width:100%;
font-size:48px;
margin-top:40px;
z-index:1000;
}

.de_light .mfp-close{
color:rgba(0,0,0,.5) !important;
}

.de_light .mfp-close:hover{
color:rgba(0,0,0,1) !important;
}

.nav-prev:before,.nav-next:before, .nav-exit:before{
	font-family:"FontAwesome";
	content:'\f177';
	color:#fff;
	padding:20px;
	font-size:24px;
	cursor:pointer;
}

.nav-exit:before{
width:100%;
display:block;
}

.nav-next:before{
	content:'\f178';
	width:100%;
	background:#555;
}

.nav-exit:before{
	content:'\f00d';
}

.de_light .nav-exit:before{
color:#222;
}

.container-4 .de-team-list{
width:24.9%;
float:left;
position:relative;
}

.container-3 .de-team-list{
width:33.3%;
float:left;
position:relative;
}

.no-margin{
	margin:0 !important;
}

.no-bottom{
margin-bottom:0;
padding-bottom:0;
}

p{
	margin-bottom:20px;
}


.bg-grey{
	background:#f5f5f5;
}

.no-bottom {
padding-bottom: 0 !important;
}
.no-top {
padding-top: 0 !important;
}

.nopadding {
   padding: 0 !important;
   margin: 0 !important;
}


#filters a{
	background:none;
}

.side-bg{
	position:relative;
	overflow:hidden;
}

.side-bg .image-container {
    height:100%;
    overflow:hidden;
    padding:0;
    position:absolute;
	background-size:cover !important;
}

.side-bg .background-image {
    background-position:50% 50%!important;
    background-size:cover!important;
    width:100%;
    height:100%;
    left:0;
    position:absolute;
    z-index:0
}

.side-bg .image-container i{
	color: #ffffff;
	font-size: 40px;
	width: 100px;
	height: 100px;
	text-align: center;
	padding-top: 30px;
}

.side-bg .image-container img{
	color: #ffffff;
	font-size: 40px;
	width: 200px;
	padding: 40px;
	
}

.image-slider{
	cursor:move;
}

.inner-padding{
	padding:90px 0 90px 0;
}

.no-padding,section.no-padding{
padding:0;
}

.float-left {
float: left;
}

#loader-area{
display:none;
background:#fff;
}

#loader-area{
display:none;
background:#111;
}

.loader {
position: fixed;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 99999;
background: url('../images/page-loader.gif') 50% 50% no-repeat rgb(249,249,249);
}

.page-overlay {
display:none;
width: 120px;
height: 120px;
background:url(../images/page-loader.gif) center no-repeat #fff;
border-radius:10px;
position: fixed;
top:0;
bottom: 0;
left: 0;
right: 0;
z-index:10000;
margin: auto;
}

.teaser{
font-family:"Roboto",Arial;
font-size:15px;
font-weight:300;
}

.form-control:focus{
box-shadow:none;
-moz-box-shadow:none;
-webkit-box-shadow:none;
}

.owl-arrow{
	position:absolute;
	z-index:100;
	background:#fff;
	margin-top:48%;
	display:none;
	cursor:pointer;
}
.owl-arrow span{
	display:block;
	background:#555;
	position:absolute;
	
}
.owl-arrow .prev{
	left:0;
}
.owl-arrow .next{
	right:0;
}

.owl-arrow .prev:before, .owl-arrow .next:before{
	font-family:"FontAwesome";
	content:'\f177';
	color:#fff;
	padding:20px;
	font-size:32px;
	display:block;
}
.owl-arrow .next:before{
	content:'\f178';
}

.owl-theme .owl-controls .owl-page span{
width:5px !important;
height:5px !important;
}

.owl-pagination{
	margin-top:0px;
}

.owl-custom-nav.menu-float{
	position: relative;
}
.owl-custom-nav.menu-float .btn-prev,
.owl-custom-nav.menu-float .btn-next{
	position: absolute;
	z-index: 1000;
	top: 50%;
  transform: translateY(-50%);
  display: block;
  cursor: pointer;
  padding:0;
}


.owl-custom-nav.menu-float .btn-prev{
	left: 0px;
}


.owl-custom-nav.menu-float .btn-next{
	right: 0px;
}

.owl-custom-nav.menu-float .btn-prev:before,
.owl-custom-nav.menu-float .btn-next:before{
	font-size: 24px;
}

.owl-custom-nav .btn-prev:before,
.owl-custom-nav .btn-next:before{
display: block;
font-family:"FontAwesome";
content:"\f105";
color:#ffffff;
padding:0 5px;
font-size:20px;
width: 30px;
height: 30px;
background: var(--primary-color-1);
text-align: center;
}
.owl-custom-nav .btn-prev:before{
content:"\f104";
}

.owl-custom-nav.dark .btn-prev:before,
.owl-custom-nav.dark .btn-next:before{
	color:#000000;
}

.owl-custom-nav a{
	text-decoration:none;
}
.owl-theme .owl-controls .owl-buttons div{
	background:#ffffff;
	opacity:1;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	padding-top:0px;
	height:32px;
	margin-top:20px;
	color:#111111;
	text-transform:uppercase;
	letter-spacing:5px;
}
.owl-theme .owl-controls .owl-buttons div:hover{
	opacity:.8 !important;
}

.owl-theme .owl-controls .owl-buttons .owl-prev:before{
font-family:"FontAwesome";
content:"\f104";
color:#111;
padding:5px 12px 5px 12px;
font-size:24px;
position:relative;
top:3px;
left:-10px;
}

.owl-theme .owl-controls .owl-buttons .owl-next:after{
font-family:"FontAwesome";
content:"\f105";
color:#111;
padding:5px 12px 5px 12px;
font-size:24px;
position:relative;
top:3px;
right:-15px;
}

/* new owl */

.owl-theme .owl-nav.disabled + .owl-dots {
	margin-top:20px;
}

.owl-dots button{
	background:none;
	border:none;
	outline:none;
	padding:0;
}
.owl-theme .owl-dots .owl-dot span{
	width:4px;
	height:4px;
}

#photo-carousel .owl-dots{
	position: relative;
	margin-top: -50px;
	z-index: 1000;
}

#carousel-products .owl-dots{
	position: absolute;
	z-index: 100;
	bottom: -10px;
	width: 100%;
}

#carousel-products .owl-dots .owl-dot span{
	width:10px;
	height:10px;
} 

.owl-dots-overlay .owl-dots{
	position: absolute;
	width: 100%;
	bottom: 20px;
}
.owl-dots-overlay .owl-dots .owl-dot span{
	width:10px;
	height:10px;
	border: solid 1px #ffffff;
	background: none;
} 
.owl-dots-overlay .owl-dots .owl-dot.active span,
.owl-dots-overlay .owl-dots .owl-dot:hover span{
	background: #ffffff !important;
}

/* new owl close */

.text-slider{
	line-height:60px;
	color:#fff;
	font-family:"Dosis";
	font-size:60px;
	text-transform:uppercase;
	font-weight:300;
	display:inline-block;
	letter-spacing:25px;
}

.text-slider.big-text{
	font-size:120px;
	line-height:120px;
	font-weight:bold;
}

.border-deco .item{
	display:inline-block;
}

.text-slider.dark{
	color:#222;
}



.item i{
	font-size:60px;
	margin-top:5px;
}

.text-slider.big-text i{
	font-size:90px;
	margin-top:15px;
}


.red{color:#ff0000 !important;}
.teal{color:#009999 !important;}
.purple{color:#663366 !important;}
.green{color:#009900 !important;}


.wow{visibility: hidden;}


#back-to-top {
    position: fixed;
    bottom: 40px;
    right: 40px;
    z-index: 999;
    width: 32px;
    height: 32px;
    text-align: center;
    line-height: 30px;
    background: #f5f5f5;
    cursor: pointer;
    border: 0;
    border-radius: 2px;
    text-decoration: none;
    transition: opacity 0.2s ease-out;
    opacity: 0;
	outline:none;
}
#back-to-top:hover {
    background: #111;
}
#back-to-top.show {
    opacity: 1;
}
#back-to-top:before{
	font-family:"FontAwesome";
	font-size:22px;
	content:"\f106";
	color:#222;
	position:relative;
	margin:5px;
}
#back-to-top:hover:before{
	color:#fff;
}

#back-to-top.custom-1:before{
	color:#fff;
}

#back-to-top.light:before{
	color: #ffffff;
}

/* mouse scroll icon begin */
.mouse {
  position: absolute;
  width: 22px;
  height: 42px;
  bottom: 30px;
  left: 50%;
  margin-left: -12px;
  border-radius: 15px;
  border: 1px solid #fff;
  -webkit-animation: intro 1s;
  animation: intro 1s;
}
.scroll {
  display: block;
  width: 3px;
  height: 3px;
  margin: 6px auto;
  border-radius: 4px;
  background: #fff;
  -webkit-animation: finger 1s infinite;
  animation: finger 1s infinite;
}
@-webkit-keyframes intro {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes intro {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes finger {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}
@keyframes finger {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}
/* mouse scroll icon close */

.bgimage{
background-size:cover;
}

.no-bg{
	background:none !important;
}

#ifrm,#cfs_top_div{
	display:none;
}

.info-box i{
	margin-top:5px;
	font-size:40px;
	position:absolute;
	}


.info-box .info-box_text{
	padding-left:60px;
}

.info-box .info-box_title{
	font-weight:700;
	text-transform:uppercase;
	line-height:16px;
	color:#fff;
	margin-top:8px;
}

.info-box.s2 .info-box_title{
	font-size:11px;
	letter-spacing:1px;
	margin-top:0px;
}

.header-light .info-box .info-box_text,
.header-light .info-box i{
	color:#333;
}

.text-right .info-box{
	position:relative;
	right:60px;
}

.text-right .info-box i{
	right:-60px;
}

.text-right .info-box .info-box_text{
	padding:0px;
}


.header-custom .info-box i{
	margin-top:-3px;
}

#info-box{
	height:90px;
	position:absolute;
	z-index:500;
	width:100%; 
	background:rgba(0,0,0,.3);
}

#info-box.s1{
	background: none;
}

/* ===== demo switcher ===== */

#switcher{
	display:none;
	color:#333;
	padding:10px;
	padding-bottom:20px;
	background:#fff;
	font-size:12px;
	position:fixed;
	z-index:10000;
	top:150px;
	left:0;
	padding-left:20px;
	font-family:"Roboto", Arial, Helvetica, sans-serif;
	font-size:12px;
	margin-left:-120px;
	border-radius: 0 0 2px 0;
	-moz-border-radius: 0 0 2px 0;
	-webkit-border-radius: 0 0 2px 0;
	width:120px;
}
#switcher .clearfix{
	margin-bottom:10px;
}
#switcher span{
font-size:12px;
}
.custom-show:after,.custom-close:after{
	position:absolute;
	margin-left:100px;
	margin-top:-10px;
	display:inline-block;
	width:42px;
	height:42px;
	padding:10px;
	padding-right:15px;
	color:#000;
	border-radius: 0 2px 2px 0;
	-moz-border-radius: 0 2px 2px 0;
	-webkit-border-radius: 0 2px 2px 0;
	cursor:pointer;
	content:"\f013";
	font-family:"FontAwesome";
	font-size:24px;
	font-weight:normal;
}
#de-color {
	padding:0;
	margin:0;
}
#de-color li{
	list-style:none;
	display:inline-block;
	float:left;
	width:38px;
	height:25px;
	margin:0 5px 5px 0;
	background:#0C9;
	border-radius:2px;
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	cursor:pointer;
}
#de-color li.bg1{background:#33C9BD;}
#de-color li.bg2{background:#02D1ED;}
#de-color li.bg3{background:#11B555;}
#de-color li.bg4{background:#BBBBBB;}
#de-color li.bg5{background:#F65425;}
#de-color li.bg6{background:#ED4D88;}
#de-color li.bg7{background:#C762CB;}
#de-color li.bg8{background:#F63131;}
#de-color li.bg9{background:#FBB829;}
#de-color li.bg10{background:#8BAD01;}
#de-color li:hover{
opacity:.7;
}
#switcher select{
	width:74px !important;
	font-size:12px;
	height:25px;
	border:none;
	background:#eee;
	font-weight:600;
	 -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	background:url(../images/arrow-down.png) right no-repeat #eee;
	padding-left:6px;
	padding-right:22px;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
}
#switcher select:hover{
	background-color:#ddd;
}
#switcher select,
#de-color li
{
-o-transition:.5s;
-ms-transition:.5s;
-moz-transition:.5s;
-webkit-transition:.5s;
transition:.5s;
 outline: none;
}

#purchase-now{
	position: fixed;
	bottom: 80px;
	left: 20px;
	z-index: 10000;
}

#purchase-now a{
	color:#ffffff;
	z-index: 1001;
	position: absolute;	
	border-radius: 60px;
	-moz-border-radius: 60px;
	-webkit-border-radius: 60px;
	background:#78A938;
	display:block;
	font-size: 24px;
	font-weight: bold;
	width:60px;
	height: 60px;
	padding:17px;
	text-decoration:none;
}

@keyframes shadow-pulse
{
  0% {
    box-shadow: 0 0 0 0px rgba(120, 169, 56, 0.2);
  }
  100% {
    box-shadow: 0 0 0 20px rgba(120, 169, 56, 0);
  }
}

#purchase-now a span{
	font-size: 14px;
	font-weight: 500;
	left: 8px;
	position: absolute;
	top: 18px;
	width: 100px;
}

#purchase-now .pn-hover{
	position: absolute;
	font-weight: bold;
	font-size: 16px;
	background: #ffffff;
	color:#78A938;
	width:120px;
	padding:10px;
	padding-left: 20px;
	text-align: center;
	top:8px;
	border-radius: 5px;
	left: 30px;
	opacity: 0;
}

#purchase-now:hover .pn-hover{
	opacity: 1;
	left: 40px;
}

.de-images{
	position:relative;
	width:100%;
}

.de-images img,
#de_notif{
	border-radius:5px;
	-webkit-box-shadow: 2px 20px 30px 0px rgba(20,20,20, 0.2);
	-moz-box-shadow: 2px 20px 30px 0px rgba(20,20,20, 0.2);
	box-shadow: 2px 20px 30px 0px rgba(20,20,20, 0.2);
}

 .di-small{
	position:absolute;
	width:50%;
	height:50%;
	top:75%;
	left:-35%;
	z-index:-1;
}


.di-small-2{
	position:absolute;
	width:40%;
	height:40%;
	right:-10%;
	bottom:-10%;
	z-index:1;
}

.di-box-2{
	position:absolute;
	width:40%;
	right:-10%;
	bottom:-10%;
	z-index:1;
}


 .di-small-3{
	position:absolute;
	width:40%;
	height:40%;
	top:-10%;
	left:-10%;
	z-index:1;
}

/* schedule */

.schedule-item {
	padding: 40px 0 30px 0;
	border-bottom: solid 1px #eee;
}
.dark .schedule-item {
	padding: 40px 0 30px 0;
	border-bottom: solid 1px rgba(255,255,255,.1);
}
.schedule-listing:nth-child(even) {
	background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(229, 229, 229, .65) 50%, rgba(255, 255, 255, 0) 100%);
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(229, 229, 229, .65) 50%, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(229, 229, 229, .65) 50%, rgba(255, 255, 255, 0) 100%);
	filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff', GradientType=1);
}

.dark .schedule-listing:nth-child(even) {
	background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(229, 229, 229, .05) 50%, rgba(255, 255, 255, 0) 100%);
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(229, 229, 229, .05) 50%, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(229, 229, 229, .05) 50%, rgba(255, 255, 255, 0) 100%);
	filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff', GradientType=1);
}	

.schedule-item>div {
	float: left;
}
.schedule-item .sc-time {
	font-weight:bold;
	width: 160px;
	padding-top: 25px;
	font-size:14px;
}
.schedule-item .sc-pic {
	width: 120px;
}
.schedule-item .sc-pic img {
	width: 90px;
	padding:5px;
	height: auto;
}
.schedule-item .sc-name {
	font-weight: normal;
	font-size: 14px;
	width: 160px;
	padding-top: 15px;
}
.schedule-item .sc-name h4 {
	font-size: 14px;
	margin: 0;
	line-height: 1.6em;
}
.schedule-item .sc-name span {
	font-weight: normal;
	font-size: 12px;
}
.schedule-item .sc-info {
	float: none;
	display: inline-block;
	width: 60%;
}
.schedule-item .sc-info h3 {
	font-size:18px !important;
	margin-bottom: 10px;
	font-weight:500;
}

.ps1-deco{
	height:4px;
	background:#ffffff;
}

.list-inline-style-1 li{
	font-weight:bold;
	display:inline;
}

.list-inline-style-1{
	margin:0;
	padding:0;
}

.list-inline-style-1 li:before{
	display:inline-block;
	content:"|";
	font-family:"FontAwesome";
	margin-right:10px;
	margin-left:5px;
	height:28px;
	overflow:hidden;
}

.list-inline-style-1 li:first-child:before{
	content:"";
}

.list-boxed-s1{
	display:inline;
}
.list-boxed-s1 li{
	display:table;
	border:solid 1px rgba(255,255,255,.2);
	padding:30px;
	padding-bottom:25px;
	margin:0 auto;
	margin-bottom:20px;
	
}

.text-left{
	text-align:left;
}
.text-right{
	text-align:right;
}

#cookit {
  position: fixed;
  width: 100%;
  bottom: 0;
  padding: .6rem 2rem;
  display: flex;
  z-index: 1000;
}
#cookit.hidden { display: none; }

#cookit #cookit-container {
  margin: auto;
  width: 1200px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

#cookit #cookit-container > * { margin: .4rem; }
#cookit #cookit-container p { line-height: 1.4rem; }

#cookit #cookit-container a { text-decoration: none; }
#cookit #cookit-container a:hover { opacity: .9; }

#cookit #cookit-container #cookit-button {
  padding: .5rem 1rem;
  margin-left: auto;
}

.de-front{
	position: relative;
	z-index: 5;
}

.full-height {
    overflow: hidden;
}

.full-height.vertical-center{
    display: flex;
    justify-content: center;
    align-items: center;
}

.float-text {
    width: 20px;
    position: fixed;
    z-index: 1000;
    margin-left: 30px;
    text-align: center;
    letter-spacing: 2px;
    font-size: 12px;
    top: 50%;
    left: 15px;
    transform: translate(-50%, -50%);
}

.float-text a{
	display: block;
    color: #ffffff;
    margin:10px 0;
}

.float-text span{
    margin-left: -5px;
    margin-top: 20px;
    writing-mode: vertical-rl;
    letter-spacing: .75px;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    color: #222;
}

.dark-scheme .float-text span{
    color: rgba(255, 255, 255, .5);
}


.swiper-pagination-bullet,
.swiper-pagination-bullet-active {
  background: #fff !important;
}

.de-gradient-edge-top{
    z-index: 1;
    position: absolute;
    top: 0;
    width: 100%;
    height: 30%;
    background: linear-gradient(180deg, rgba(24, 25, 27,1) 0%, rgba(24, 25, 27,0) 100%);
}

.de-gradient-edge-bottom{
    z-index: 1;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 30%;
    background: linear-gradient(0deg, rgba(24, 25, 27,1) 0%, rgba(24, 25, 27,0) 100%);
}

.fs-32px{font-size: 32px}
.fs-36px{font-size: 36px}
.fs-40px{font-size: 40px}
.fs-48px{font-size: 48px}

.rounded-5px{
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
}
.rounded-10px{
	border-radius:10px;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
}
.rounded-20px{
	border-radius:20px;
	-moz-border-radius:20px;
	-webkit-border-radius:20px;
}
.rounded-30px{
	border-radius:30px;
	-moz-border-radius:30px;
	-webkit-border-radius:30px;
}

.rounded-100{
	border-radius:30px;
	-moz-border-radius:30px;
	-webkit-border-radius:30px;
}

/* ================================================== */
/* quick-search */
/* ================================================== */
.quick-search {
display: inline-block;
float: right;
margin-left: 10px;
padding: 10px 0 0 0;
}

.quick-search input {
width: 120px;
border-radius: 40px;
} 

#search{
float:left;
width:70%;
margin-bottom:0;
border:solid 1px #333333;
}

#search.form-control{
background:none;
}

#btn-search{
border:none;
padding:10px;
background:#222;
float:left;
width:30%;
height:46px;
}

#btn-search:before{
	font-family:FontAwesome;
	content: "\f002";
	font-size:24px;
	color:#111;
}

#btn-search:hover{
opacity:.8;
}
.center-xy{
position:absolute;
z-index:5;
width:100%;
height:100%;
text-align:center;
}

.center-xy i.btn-action{
	font-size:24px;
	border:solid 2px rgba(255,255,255,.3);
	padding:16px;
	width:60px;
	height:60px;
	border-radius:60px;
	text-align:center;
	color:#fff;
}

.center-xy i.btn-action:hover{
border-color:rgba(255,255,255,0);
background:rgba(255,255,255,.3);
}


.center-xy i.btn-action.btn-play{
padding-left:20px;
}


.overlay-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: rgba(0,0,0, .5);
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.overlay-bg.t2{
	background: rgba(0, 0, 0, .2);
}

.overlay-bg.t3{
	background: rgba(0, 0, 0, .3);
}

.bg-overlay{
position:absolute;
width:100%;
height:100%;
z-index:1;
}
.pic-hover{
width:100%;
position:relative;
overflow:hidden;
}
.pic-hover{
width:100%;
position:relative;
overflow:hidden;
}

i.btn-action-hide{
opacity:0;
}

.pic-hover:hover .bg-overlay{
background:rgba(0,0,0,.5);
}

.pic-hover:hover i.btn-action-hide{
opacity:1;
}

.pic-hover.hover-scale:hover img{
 -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.arrow-divider > [class*=col-]:nth-child(n+2):after {
  content: url('../images/icons/arrow-doodle-right.png');
  position: absolute;
  top: 0;
  bottom: 0;
  height: auto;
  left: -60px;
  top: 50%;
}

.arrow-divider.light > [class*=col-]:nth-child(n+2):after {
  content: url('../images/icons/arrow-doodle-right-white.png');
}


/* ================================================== */
/* review */
/* ================================================== */
.de_review {
text-align:center;
min-height:260px;
}

.de_review .de_nav {
overflow: hidden;
padding-left: 0;
margin: 0;
padding: 0;
font-weight:bold;
text-align:center;
}

.de_review .de_nav li {
list-style: none;
background: #EEE;
margin: 0 10px 0 10px;
margin-bottom:20px;
}

.de_review .de_nav li{
display:inline-block;
}

.de_review .de_nav li img{
width:100px;
height:auto;
}

.de_review .de_nav li span {
padding: 8px 16px 8px 16px;
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
display: block;
background: #f5f5f5;
text-decoration: none;
color: #646464;
font-size: 13px;
cursor: pointer;
}

.de_review blockquote{
border:none;
font-family:"Roboto Slab", Georgia, "Times New Roman", Times, serif;
}

.de_review .de_nav li span {
border: 1px solid #404040;
background:#222;
}

.de_review .de_nav li:first-child span {
border-left: 1px solid #ddd;
}

.de_review .de_nav li:first-child span {
border-left: 1px solid #404040;
}

.de_review .de_review_content {
border: 1px solid #ddd;
padding: 15px 20px 20px 20px;
margin-top: -1px;
background: #fff;
}

.de_review .de_review_content {
border: 1px solid #404040;
background: #27282b;
}

.de_review .de_nav li.active span {
background: #FFF;
border-bottom: 1px solid #fff;
color: #222;
margin-bottom: -3px;
}


.separator {
  line-height: 0.5;
  text-align: center;
  margin:30px 0 30px 0;
}
.separator span {
  display: inline-block;
  position: relative;
 
}
.separator span:before,
.separator span:after {
  content: "";
  position: absolute;
  border-bottom: 1px solid rgba(255,255,255,.1);
  top: 5px;
  width: 300px;
}
.separator span:before {
  right: 100%;
  margin-right: 15px;
}
.separator span:after {
  left: 100%;
  margin-left: 15px;
}

.separator span  i{
font-size:6px;
padding:0;
margin:0;
float:none;
}

.separator span i.fa-3x{
	font-size:18px;
}

.de_light .separator span:before,
.de_light .separator span:after {
  border-bottom: 1px solid rgba(0,0,0,.1);
}

.text-light .separator span:before,
.text-light .separator span:after {
  border-bottom: 1px solid rgba(255,255,255,.1);
}


/* css attributes */

/* margin top */
.mt0{margin-top:0;}.mt10{margin-top:10px;}.mt20{margin-top:20px;}.mt30{margin-top:30px;}.mt40{margin-top:40px;}.mt50{margin-top:50px;}.mt60{margin-top:60px;}.mt70{margin-top:70px;}.mt80{margin-top:80px;}.mt90{margin-top:90px;}.mt100{margin-top:100px;}

/* margin bottom */
.mb0{margin-bottom:0;}.mb5{margin-bottom:5px};.mb10{margin-bottom:10px;}.mb20{margin-bottom:20px;}.mb30{margin-bottom:30px;}.mb40{margin-bottom:40px;}.mb50{margin-bottom:50px;}.mb60{margin-bottom:60px;}.mb70{margin-bottom:70px;}.mb80{margin-bottom:80px;}.mb90{margin-bottom:90px;}.mb100{margin-bottom:100px;}

.pt0{padding-top:0;} 
.pt10{padding-top:10px;} 
.pt20{padding-top:20px;} 
.pt30{padding-top:30px;} 
.pt40{padding-top:40px;} 
.pt50{padding-top:50px;} 
.pt60{padding-top:60px;} 
.pt80{padding-top:80px;}

.pb0{padding-bottom:0;} 
.pb10{padding-bottom:10px;} 
.pb20{padding-bottom:20px;} 
.pb30{padding-bottom:30px;} 
.pb40{padding-bottom:40px;} 
.pb50{padding-bottom:50px;} 
.pb60{padding-bottom:60px;} 
.pb70{padding-bottom:40px;} 
.pb80{padding-bottom:70px;}


.pl20{padding-left: 20px;}
.pl30{padding-left: 30px;}
.pl40{padding-left: 40px;}

.pr20{padding-right: 20px;}
.pr30{padding-right: 30px;}
.pr40{padding-right: 40px;}

.bg-dark-6{background: rgba(0,0,0,.6);}
.bg-dark-8{background: rgba(0,0,0,.8);}

/* margin top */
.mt-10{margin-top:-10px;}.mt-20{margin-top:-20px;}.mt-30{margin-top:-30px;}.mt-40{margin-top:-40px;}.mt-50{margin-top:-50px;}.mt-60{margin-top:-60px;}.mt-70{margin-top:-70px;}.mt-80{margin-top:-80px;}.mt-90{margin-top:-90px;}.mt-100{margin-top:-100px;}.mt-110{margin-top:-110px;}.mt-120{margin-top:-120px;}.mt-120{margin-top:-120px;}.mt-130{margin-top:-130px;}
	
.mr10{margin-right:10px;}.mr20{margin-right:20px;}.mr30{margin-right:30px;}
	
.ml10{margin-left:10px;}.ml20{margin-left:20px;}.ml30{margin-left:30px;}


.absolute{position:absolute; z-index:1;}
.overflow-hidden{overflow:hidden !important;}
.width100{width:100%;}

.abs,.absolute {
  position: absolute;
}

.abs-center {
  left: 50%;
  transform: translateX(-50%);
}

.abs-middle{
  top: 50%;
  transform: translateY(-50%);
}

.abs-centered{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.relative{
	position: relative;
}

.z-index1000{
	position:relative;
	z-index:1000;
}

.op-1 { opacity: .1; }
.op-2 { opacity: .2; }
.op-3 { opacity: .3; }
.op-4 { opacity: .4; }
.op-5 { opacity: .5; }
.op-6 { opacity: .6; }
.op-7 { opacity: .7; }
.op-8 { opacity: .8; }
.op-9 { opacity: .9; }
.op-10 { opacity: 1; }


.border-white-5{
	border: solid 5px white;
}

.border1{
border-width:1px !important;
}

.display-table{
display:table;
}

.display-table [class*="col-"] {
    float: none;
    display: table-cell;
    vertical-align: top;
	margin:0;
	padding:0;

}

.text-middle, .display-table [class*="col-"].text-middle {
	vertical-align: middle;
}

.overlay30{background:rgba(0,0,0,.3); height:100%;}
.overlay40{background:rgba(0,0,0,.4); height:100%;}
.overlay50{background:rgba(0,0,0,.5); height:100%;}
.overlay60{background:rgba(0,0,0,.6); height:100%;}
.overlay70{background:rgba(0,0,0,.7); height:100%;}
.overlay80{background:rgba(0,0,0,.8); height:100%;}
.overlay90{background:rgba(0,0,0,.9); height:100%;}


.shadow-soft{
	-webkit-box-shadow: 2px 2px 20px 0px rgba(0,0,0,0.4);
	-moz-box-shadow: 2px 2px 20px 0px rgba(0,0,0,0.4);
	box-shadow: 2px 2px 20px 0px rgba(0,0,0,0.4);
}

.shadow-light{
	-webkit-box-shadow: 2px 2px 40px 0px rgba(0,0,0,0.1);
	-moz-box-shadow: 2px 2px 40px 0px rgba(0,0,0,0.1);
	box-shadow: 2px 2px 40px 0px rgba(0,0,0,0.1);
}

.overflow-hidden{
	overflow:hidden;
}

.height-auto{
	height:auto;
}

/* supersized begin */

#slidecaption {
    position: fixed;
    bottom: 150px;
    height: auto;
	text-align: center;
	width: 100%;
}

.slide_text.center{text-align:center;}
.slide_text.left{text-align:left; margin-left:-10px;}
.slide_text.right{text-align:right; margin-left:-20px;}

#slidecaption h2,.slide-desc{
	border-radius:3px;
	font-weight:600;
}


#slidecaption h2 {
    display: block;
    color: #fff;
    text-shadow: none;
    margin-bottom: 20px;
    font-weight: lighter;
    width: 100%;
    float: right;
    text-align: right;
    font-weight: bold;
}

#slidecaption p{
	font-size: 15px;
	font-weight: lighter;
	line-height: 1.8em;
	text-shadow:none;
	text-align: right;
	margin-bottom: 60px;	
    width: 350px;
   	float: right;
}

#slidecaption .btn-wrap{
	width:100%;
	display: block;
	float: right;
	text-align: right;

}


#slidecaption h2, #slidecaption, #slidecaption .btn-wrap{
	right:90px;
}

#slidecaption a.btn-slide{
	padding: 5px 20px;
	text-decoration: none;
	font-weight: 600;
	text-transform: uppercase;
	margin-top: 30px;
	font-size: 12px;
	background: #ffffff;
	color:#000000;
	position: absolute;
	z-index: 1000;
	right: 0px;
	bottom: 0px;

}

#slidecaption .wm-num{
	-webkit-text-stroke: 1px rgba(255,255,255,.5);
	bottom:80px;
	color:rgba(0,0,0,0);
	font-size: 400px;
	font-weight: bold;
	margin-top: 0;
	position: fixed;
	left: -40px;
}


.slide-desc {
    display: block;
	font-size: 32px;
	background:#342621;
	margin-bottom:10px;
}

.slide_text .btn-slider{
	display:inline-block;
	font-size:14px;
	background:none;
	color:#fff;
	padding:3px 25px 3px 25px;
	font-weight:bold;
	text-transform:uppercase;
	border:solid 2px #fff;
}

.slidenumber{
	font-size: 24px;
}

.right-slide-list #slide-list{
	position: fixed;
	right: 40px;
}

.supersized-no-nav #prevslide,
.supersized-no-nav #nextslide{
	display: none !important;
}

ul#slide-list{
	position: absolute;
	z-index: 1001;
}

/* supersized close */
	
	header.force-header-mobile{
		display: block !important;
		background:#000000;
		height:auto !important;
		overflow: hidden;
	}

	header.force-header-mobile #menu-btn{
		display:block;
		position:relative;
		float:right;
	}

	header.force-header-mobile div#logo{
		height: 50px;
	}

	header.force-header-mobile #de-extra-menu{
		display: block;
		position: absolute;
		right: 50px;
		margin-top: 10px;
	}
	
	header.force-header-mobile .d-cart-icon{
		display: block;
		width:60px;
		position: relative;
	}

	header.force-header-mobile .d-cart-icon span{
		float:none;
		margin-left:20px;
	}

	header.force-header-mobile #mo-button-open{
	margin-top:10px;
	}
	
	header.force-header-mobile{
	display:none;
	}
	
	header.force-header-mobile .info{
	display:none !important;
	}
	
	header.force-header-mobile,header.force-header-mobile.fixed {
	display:block;
	position:inherit;
	margin:0;
	padding:0;
	margin-top:0;	
	background:#000000;
	padding:15px 0 15px 0;
	}
	
	.de_light.de-navbar-left header #mainmenu > li{
	border-bottom:solid 1px rgba(255,255,255,.1);
	}
	
	header.force-header-mobile.autoshow{
	top:0 !important;
	}
	
	header.force-header-mobile.autoshow #mainmenu li a{
	background:none !important;
	}
	
	header.force-header-mobile.header-mobile-sticky{
	position:fixed;
	}
	
	header.force-header-mobile.de_header_2{
	height:auto;
	padding-bottom:0;
	}
	header.force-header-mobile nav{
	width:100%;
	}
	
	header.force-header-mobile #mainmenu{
	display:none;
	float:none;
	z-index:200;
	width:100%;
	margin:0;
	padding:0;
	}
	
	header.force-header-mobile #mainmenu a{
	text-align:left;
	padding-left:0;
	padding-top:10px !important;
	padding-bottom:10px !important;
	}
	
	header.force-header-mobile #mainmenu li li a,
	header.force-header-mobile #mainmenu li li li a{
	padding-left:0;
	}
	
	header.force-header-mobile #mainmenu a:hover{
	background:#111 !important;
	}
	
	
	header.force-header-mobile #mainmenu li ul{
	background:none;
	display:block;
	position:inherit;
	margin:0;
	width:100%;
	opacity: 1;
	}
	
	header.force-header-mobile #mainmenu li{
	border-bottom:solid 1px #333;
	margin:0;
	width:100%;
	display:block;
	letter-spacing:3px;
	}
	
	header.force-header-mobile #mainmenu li a:after{
	display:none;
	}
	
	header.force-header-mobile #mainmenu li:last-child{
	margin-bottom:30px;
	}
	
	header.force-header-mobile #mainmenu li ul{
	border-top:solid 1px #333;
	top:auto;
	}
	
	header.force-header-mobile #mainmenu li ul a{
	width:100%;
	background:none;
	border:none;
	}
	
	header.force-header-mobile #mainmenu li ul li{
	border:none;
	padding-left: 40px !important;
	}
	
	header.force-header-mobile #mainmenu li ul li a{
	display:block;
	}
	
	header.force-header-mobile #mainmenu li ul li:last-child{
	border-bottom:none;
	margin:0;
	}
	
	header.force-header-mobile #mainmenu li ul li:last-child a{
	border-bottom:none;
	}
	header.force-header-mobile #mainmenu li a{
	color:#eceff3;
	}
	
	header.force-header-mobile #mainmenu  li li a{
	font-size:10px;
	}
	
	header.force-header-mobile #mainmenu  li li a:hover{
	color:#fff;
	}
	
	
	header.force-header-mobile #mainmenu{
	display:none;
	float:none;
	z-index:200;
	width:100%;
	margin:0;
	padding:0;
	}
	
	header.force-header-mobile.header-custom #mainmenu{
	padding:0 40px 0 40px;
	}
	
	header.force-header-mobile #mainmenu a{
	text-align:left;
	padding-top:10px !important;
	padding-bottom:10px !important;
	}
	
	header.force-header-mobile #mainmenu a:hover{
	background:none !important;
	}
	
	
	header.force-header-mobile #mainmenu li ul{
	display:block;
	position:inherit;
	margin:0;
	width:100%;
	}
	
	header.force-header-mobile #mainmenu li{
	border-bottom:solid 1px #333;
	margin:0;
	width:100%;
	display:block;
	letter-spacing:3px;
	}
	
	header.force-header-mobile.header-light #mainmenu li{
	border-bottom-color:#eee;
	}
	
	header.force-header-mobile #mainmenu li a:after{
	display:none;
	}
	
	header.force-header-mobile #mainmenu li:last-child{
	margin-bottom:30px;
	}
	
	header.force-header-mobile #mainmenu li ul{
	border-top:none;
	top:auto;
	}
	
	header.force-header-mobile #mainmenu li ul a{
	width:100%;
	background:none;
	border:none;
	}
	
	header.force-header-mobile #mainmenu li ul li{
	border:none;
	padding-left: 40px !important;
	}
	
	header.force-header-mobile #mainmenu li ul li:first-child{
	border-top:solid 1px #333;
	}
	header.force-header-mobile.header-light #mainmenu li ul li:first-child{
	border-top-color:#eee;
	}
	
	header.force-header-mobile #mainmenu li ul li a{
	display:block;
	border-bottom:solid 1px #333;
	}
	header.force-header-mobile.header-light #mainmenu li ul li a{
	border-bottom-color:#eee;
	}
	
	header.force-header-mobile #mainmenu li ul li:last-child{
	border-bottom:none;
	margin:0;
	}
	
	header.force-header-mobile #mainmenu li ul li:last-child a{
	border-bottom:none;
	}
	
	header.force-header-mobile #mainmenu li a{
	color:#eceff3;
	}
	
	header.force-header-mobile.header-light #mainmenu li a{
	color:#404040;
	}
	
	header.force-header-mobile #mainmenu  li li a{
	font-size:10px;
	}
	
	header.force-header-mobile #mainmenu  li li a:hover{
	color:#fff;
	}
	
	header.force-header-mobile #mainmenu li ul{
	height:0;
	overflow:hidden;
	position:relative;
	left:0;
	}
	
	
	header.force-header-mobile #mainmenu li ul li ul li:last-child{
	border-bottom:solid 1px #333;	
	}
	header.force-header-mobile.header-light #mainmenu li ul li ul li:last-child{
	border-bottom-color: #eee;	
	}
	
	header.force-header-mobile #mainmenu li ul li ul{
	margin-bottom:10px;
	}
	
	header.force-header-mobile #mainmenu > li > span{
		width:36px;
		height:36px;
		background:url(../images/ui/arrow-down.png) center no-repeat;
		position:absolute;
		right:0;
		margin-top:10px;
		z-index:1000;
		cursor:pointer;
	}
	header.force-header-mobile.header-light #mainmenu > li > span{
		background:url(../images/ui/arrow-down-invert.png) center no-repeat;
	}
	
	header.force-header-mobile #mainmenu li span.active{
		background:url(../images/ui/arrow-up.png) center no-repeat;
	}
	header.force-header-mobile.header-light #mainmenu li span.active{
		background:url(../images/ui/arrow-up-invert.png) center no-repeat;
	}
	
	header.force-header-mobile #mainmenu li > ul > li > span{
		width:36px;
		height:36px;
		background:url(../images/ui/arrow-down.png) center no-repeat;
		position:absolute;
		right:0;
		margin-top:-45px;
		z-index:1000;
		cursor:pointer;
	}
	header.force-header-mobile.header-light #mainmenu li > ul > li > span{
		background:url(../images/ui/arrow-down-invert.png) center no-repeat;
	}
	
	header.force-header-mobile #mainmenu > li > ul > li > span.active{
		background:url(../images/ui/arrow-up.png) center no-repeat;
	}
	header.force-header-mobile.header-light #mainmenu > li > ul > li > span.active{
		background:url(../images/ui/arrow-up-invert.png) center no-repeat;
	}
	
	header.force-header-mobile #mainmenu li ul li a{
		border-bottom:solid 1px #333;
	}
	header.force-header-mobile.header-light #mainmenu li ul li a{
		border-bottom-color:#eee;
	}
	header.force-header-mobile #mainmenu li ul li:last-child > a{
		border-bottom:none !important;
	}
	
	header.force-header-mobile #mainmenu li ul.mega ul {
		height: auto;
		opacity: 1;
	}
	
	header.force-header-mobile #mainmenu ul.mega li{
		border-bottom:solid 1px #333;
		padding-left:0 !important;
	}
	
	header.force-header-mobile #mainmenu ul.mega li.title{
		border-bottom:solid 1px #777 !important;
	}
	
	header.force-header-mobile #mainmenu ul.mega li:first-child{
		border:none;
	}
	
	header.force-header-mobile #mainmenu li ul.mega .menu-content{
		padding:0;
		padding-left:40px;
	}
	
	header.force-header-mobile .mega [class*="col-"] {
		margin-bottom:0;
	}
	
	header.force-header-mobile .mega .spacer-single{
		height:0;
	}
	
	header.force-header-mobile #mainmenu li ul.mega li.title{
		border-top:solid 1px #333333;
		padding-top:15px;
	}
	
	header.force-header-mobile #mainmenu li ul.mega li ul li:last-child{
		border-bottom:none;
		margin-bottom:0;
	}
	
	header.force-header-mobile #mainmenu li ul.mega li ul{
		margin-bottom:0;
	}

/* -------------------------------------------------- 
	design for 480px
/* -------------------------------------------------- */
@media only screen and (max-width: 767px) {
    .slide_text {
        display: none;
        margin: 0 auto;
    }
}

@media (min-width: 768px) and (max-width: 979px) {
    #slidecaption h2 ,.slide-desc {
        font-size:22px;
    }
}

@media only screen and (min-width: 980px) {
	.md-flex{
		display: flex;
		justify-content: space-between;
	}

	.md-flex > .md-flex-col{
		display: flex;
		justify-content: center;
		align-items: center;
	}
}

@media only screen and (max-width: 1199px) {
	.md-flex-col.col-extra{
		display: none;
	}
}


/* ================================================== */
/* R E S P O N S I V E */
/* ================================================== */

	@media(min-width:980px) and (max-width: 1199px) {
	
	header #mainmenu a{
	padding-left:5px;
	padding-right:5px;
	}
	
	#mainmenu li a:after{
	margin-left:15px;
	}
	
	}

	/* -------------------------------------------------- 
	design for 768px
	/* ================================================== */
	@media (min-width: 768px) and (max-width: 979px) {
	.slider_text {
	padding-top: 0px;
	}
	
	}
	
	/* mobile */
	
	@media only screen and (max-width: 992px) {

	.de-navbar-left #subheader{
		background-size: cover !important;
	}
	.de-navbar-left #subheader h1{
		margin-left: 80px;
		margin-bottom: 60px;
	}

	.de_large-portfolio h2 {
		font-size: 10vw;
	}

	.de__quick-view{
	  	overflow-y: auto;
	}
	.de__qv-content{
			position: absolute;
			width: 100%;
		  top: 0;
		  left: 0;
		  -ms-transform: translate(0, 0);
		  transform: translate(0, 0);
	}

	.de__qv-content .d-col-half{
		width: 100%;
		float: none;
	}

	.de__pic-hover h3{
		top: 30px;
		bottom: auto;
	}
		
	#menu-btn{
	display:block;
	position:relative;
	float:right;
	}

	.sm-mt-0{
		margin-top: 0;
	}

	.pp-section.pp-table{
	display: block;
	}

	.pp-scrollable .pp-inner{
	display: block;
	}
	
	.de-header-flex{
		display: block;
	}

	#de-extra-menu{
		display: block;
		position: absolute;
		right: 60px;
		margin-top: 10px;
	}

	#de-extra-menu.de-search-wrapper{
		margin-top: 6px;
		width: 200px;
		float: right;
	}
	
	.d-cart-icon{
		display: block;
		width:60px;
		position: relative;
	}

	.d-cart-icon span{
		float:none;
		margin-left:20px;
	}

	#mo-button-open{
	margin-top:10px;
	}

	.sm-auto-height{
		height:auto !important;
	}
	.sm-auto-height .center-y{
		margin: 90px 0 !important;
	}
	
	header{
	display:none;
	}
	
	header .info{
	display:none !important;
	}
	
	header.header-bg{
	background:rgba(0,0,0,1);
	}
	
	header,header.fixed {
	display:block;
	position:inherit;
	margin:0;
	padding:0;
	margin-top:0;	
	background:#000000;
	padding:15px 0 15px 0;
	}
	
	#de-sidebar{
		position:absolute !important;
		width:100%;
		right:1px;
	}
	
	
	header.side-header,
	.de_light header.side-header{
	position:absolute !important;
	display:block;
	height:60px;
	top:0;
	background:#000;
	}
	
	header.side-header #mainmenu{
	position:absolute;
	background:#000;
	margin:0;
	top:60px;
	left:0;
	width:100%;
	}
	
	header.side-header #logo .logo{
	display:none;
	}
	
	header.side-header #logo .logo-2{
	display:inline-block;
	position:absolute;
	height:30px;
	top:15px;
	left:40px;
	}
	
	header.side-header #menu-btn{
	position:absolute;
	top:8px;
	right:30px;
	height:0;
	z-index:2000;
	height:35px;
	}
	
	
	header.side-header #mainmenu li{
	display:block;
	}
	
	header.side-header #mainmenu a,
	.de_light.de-navbar-left header #mainmenu > li > a{
	display:block;
	text-align:center;
	color:#fff;
	}
	
	.de_light.de-navbar-left header #mainmenu > li{
	border-bottom:solid 1px rgba(255,255,255,.1);
	}
	
	header.side-header #mainmenu a:hover{
	background:none !important;
	}
	
	header.side-header #mainmenu a:hover{
	background:none !important;
	}
	
	header.side-header .social-icons-2{
	display:none;
	}
	
	header.autoshow{
	top:0 !important;
	}
	
	header.autoshow #mainmenu li a{
	background:none !important;
	}
	
	header.header-mobile-sticky{
	position:fixed;
	}
	
	header.de_header_2{
	height:auto;
	padding-bottom:0;
	}

	header.force-header-mobile{
	max-height:80px;
	overflow: hidden;
	position: absolute;
	}

	header.force-header-mobile div#logo{
	height:80px;
	}
	
	#subheader,.de-navbar-left  #subheader{
		padding:0;
		margin:0;
	}
	#subheader h1{
		margin:60px 0 30px 0;
	}
	#subheader span{
	display:none;
	}
	#subheader .crumb{
	display:none;
	}
	
	.de-navbar-left  #subheader{
	padding-top:70px;
	}
	
	.slider_text h1 {
	font-size: 32px;
	}
	
	.slider_text .description {
	display: none;
	}
	div#logo{
	margin-top:-15px;
	}
	#logo, #logo .inner {
	 vertical-align:middle;
	 height:auto;
	}
	
	#domain-check .text, #domain-check .button {
	width: 100%;
	}
	
	.container-3 .de-team-list,
	.container-4 .de-team-list{
	width:49.9%;
	float:left;
	position:relative;
	}
	
	#testimonial-full blockquote {
	padding: 20px;
	}
	
	nav{
	width:100%;
	}
	
	#mainmenu{
	display:none;
	float:none;
	z-index:200;
	width:100%;
	margin:0;
	padding:0;
	}
	
	#mainmenu a{
	text-align:left;
	padding-left:0;
	padding-top:10px !important;
	padding-bottom:10px !important;
	}
	
	#mainmenu li li a,
	#mainmenu li li li a{
	padding-left:0;
	}
	
	#mainmenu a:hover{
	background:#111 !important;
	}
	
	
	#mainmenu li ul{
	background:none;
	display:block;
	position:inherit;
	margin:0;
	width:100%;
	}
	
	#mainmenu li{
	border-bottom:solid 1px #333;
	margin:0;
	width:100%;
	display:block;
	letter-spacing:3px;
	}
	
	#mainmenu li a:after{
	display:none;
	}
	
	#mainmenu li:last-child{
	margin-bottom:30px;
	}
	
	#mainmenu li ul{
	border-top:solid 1px #333;
	top:auto;
	}
	
	#mainmenu li ul a{
	width:100%;
	background:none;
	border:none;
	}
	
	#mainmenu li ul li{
	border:none;
	padding-left: 40px !important;
	}
	
	#mainmenu li ul li a{
	display:block;
	}
	
	#mainmenu li ul li:last-child{
	border-bottom:none;
	margin:0;
	}
	
	#mainmenu li ul li:last-child a{
	border-bottom:none;
	}
	#mainmenu li a{
	color:#eceff3;
	}
	
	#mainmenu  li li a{
	font-size:10px;
	}
	
	#mainmenu  li li a:hover{
	color:#fff;
	}
	
	
	header.header-mobile #mainmenu{
	display:none;
	float:none;
	z-index:200;
	width:100%;
	margin:0;
	padding:0;
	}
	
	header.header-mobile.header-custom #mainmenu{
	padding:0 40px 0 40px;
	}
	
	header.header-mobile #mainmenu a{
	text-align:left;
	padding-top:10px !important;
	padding-bottom:10px !important;
	}
	
	header.header-mobile #mainmenu a:hover{
	background:none !important;
	}
	
	
	header.header-mobile #mainmenu li ul{
	display:block;
	position:inherit;
	margin:0;
	width:100%;
	}
	
	header.header-mobile #mainmenu li{
	border-bottom:solid 1px #333;
	margin:0;
	width:100%;
	display:block;
	letter-spacing:3px;
	}
	
	header.header-mobile.header-light #mainmenu li{
	border-bottom-color:#eee;
	}

	header.header-mobile.header-light #mainmenu li a:hover{
	color:#222;
	}
	
	header.header-mobile #mainmenu li a:after{
	display:none;
	}
	
	header.header-mobile #mainmenu li:last-child{
	margin-bottom:30px;
	}
	
	header.header-mobile #mainmenu li ul{
	border-top:none;
	top:auto;
	}
	
	header.header-mobile #mainmenu li ul a{
	width:100%;
	background:none;
	border:none;
	}
	
	header.header-mobile #mainmenu li ul li{
	border:none;
	padding-left: 40px !important;
	}
	
	header.header-mobile #mainmenu li ul li:first-child{
	border-top:solid 1px #333;
	}
	header.header-mobile.header-light #mainmenu li ul li:first-child{
	border-top-color:#eee;
	}
	
	header.header-mobile #mainmenu li ul li a{
	display:block;
	border-bottom:solid 1px #eee;
	}
	header.header-mobile.header-light #mainmenu li ul li a{
	border-bottom-color:#eee;
	}
	
	header.header-mobile #mainmenu li ul li:last-child{
	border-bottom:none;
	margin:0;
	}
	
	header.header-mobile #mainmenu li ul li:last-child a{
	border-bottom:none;
	}
	
	header.header-mobile #mainmenu li a{
	color:#eceff3;
	}
	
	header.header-mobile.header-light #mainmenu li a{
	color:#404040;
	}
	
	header.header-mobile #mainmenu  li li a{
	font-size:10px;
	}
	
	header.header-mobile #mainmenu  li li a:hover{
	color:#fff;
	}
	
	header.header-mobile #mainmenu li ul{
	height:0;
	overflow:hidden;
	position:relative;
	left:0;
	}
	
	
	header.header-mobile #mainmenu li ul li ul li:last-child{
	border-bottom:solid 1px #333;	
	}
	header.header-mobile.header-light #mainmenu li ul li ul li:last-child{
	border-bottom-color: #eee;	
	}
	
	header.header-mobile #mainmenu li ul li ul{
	margin-bottom:10px;
	}
	
	header.header-mobile #mainmenu > li > span{
		width:36px;
		height:36px;
		background:url(../images/ui/arrow-down.png) center no-repeat;
		position:absolute;
		right:0;
		margin-top:10px;
		z-index:1000;
		cursor:pointer;
	}
	header.header-mobile.header-light #mainmenu > li > span{
		background:url(../images/ui/arrow-down-invert.png) center no-repeat;
	}
	
	header.header-mobile #mainmenu li span.active{
		background:url(../images/ui/arrow-up.png) center no-repeat;
	}
	header.header-mobile.header-light #mainmenu li span.active{
		background:url(../images/ui/arrow-up-invert.png) center no-repeat;
	}
	
	header.header-mobile #mainmenu li > ul > li > span{
		width:36px;
		height:36px;
		background:url(../images/ui/arrow-down.png) center no-repeat;
		position:absolute;
		right:0;
		margin-top:-45px;
		z-index:1000;
		cursor:pointer;
	}
	header.header-mobile.header-light #mainmenu li > ul > li > span{
		background:url(../images/ui/arrow-down-invert.png) center no-repeat;
	}
	
	header.header-mobile #mainmenu > li > ul > li > span.active{
		background:url(../images/ui/arrow-up.png) center no-repeat;
	}
	header.header-mobile.header-light #mainmenu > li > ul > li > span.active{
		background:url(../images/ui/arrow-up-invert.png) center no-repeat;
	}
	
	header.header-mobile #mainmenu li ul li a{
		border-bottom:solid 1px #333;
	}
	header.header-mobile.header-light #mainmenu li ul li a{
		border-bottom-color:#eee;
	}
	header.header-mobile #mainmenu li ul li:last-child > a{
		border-bottom:none !important;
	}
	
	header.header-mobile #mainmenu li ul.mega ul {
		height: auto;
	}
	
	#mainmenu li ul.mega{
	position:fixed;
	left:0;
	width:100%;
	margin-top:30px;
	display:block;
	padding:0;
	}
	#mainmenu li ul.mega > li{
		width:100%;
	}
	#mainmenu li ul.mega > li ul{
		position:static;
		visibility: visible;
		opacity: 1;
		left:0;
		float:none;		
		width:100%;
	}
	#mainmenu ul.mega > li ul li{
		margin:0;
		padding:0;
	}

	#mainmenu li ul.mega .menu-content{
		background:none;
		padding:30px;
	}
	
	header.header-mobile #mainmenu ul.mega li{
		border-bottom:solid 1px #333;
		padding-left:0 !important;
	}

	header.header-mobile.header-light #mainmenu ul.mega li{
		border-bottom:solid 1px #eee;
	}
	
	header.header-mobile #mainmenu ul.mega li.title{
		border-bottom:solid 1px #777 !important;
	}
	
	.de_tab.tab_steps  .de_nav{
	text-align:center;
	}
	
	.de_tab.tab_steps .de_nav li{
	display:block;
	margin:0;
	padding:0;
	}
	
	.de_tab.tab_steps .de_nav li span{
	margin:0;
	margin-bottom:40px;
	display:inline-block;
	}
	
	.de_tab.tab_steps .de_nav li .v-border{
	border:none;
	}
	
	.container .col-md-3{ margin-bottom:30px; }
	.container .col-md-4{ margin-bottom:30px; }
	.container .col-md-5{ margin-bottom:30px; }
	.container .col-md-6{ margin-bottom:30px; }
	.container .col-md-7{ margin-bottom:30px; }
	.container .col-md-8{ margin-bottom:30px; }
	.container .col-md-9{ margin-bottom:30px; }
	.container .col-md-10{ margin-bottom:30px; }
	.container .col-md-11{ margin-bottom:30px; }
	.container .col-md-12{ margin-bottom:30px; }
	
	.hidden-phone{
		display:none;
	}

	.grid_gallery .item{
	width:100%;
	}
	
	.de-navbar-left #wrapper{
	overflow:hidden;
	width:100%;
	}
	
	.de-navbar-left .inner-padding{
	padding:30px;
	}
	
	.de-navbar-left header #mainmenu > li > a {
	padding-left:40px;
	}
	
	.side-bg .image-container{ 
	position:relative; 
	width:100%; 
	height:400px !important; 
	top:0;
	margin-bottom:60px;
	}
	
	.mobile-hide{
	display:none;
	}
	
	.display-table{
	display:block;
	}

	.display-table [class*="col-"] {
	float: none;
	display: block;
	vertical-align: top;
	}
	
	h2.hero{
	font-size:28px;
	letter-spacing:5px;
	}

	#filters li.pull-right{
	float:none !important;
	}
	
	.sm-hide{
	display:none;
	}
	
	#mainmenu li ul.mega .menu-content{
		padding:0;
		padding-left:40px;
	}
	
	.mega [class*="col-"] {
		margin-bottom:0;
	}
	
	.mega .spacer-single{
		height:0;
	}
	
	header.header-mobile #mainmenu li ul.mega li.title{
		padding-top:15px;
	}
	
	header.header-mobile #mainmenu li ul.mega li ul li:last-child{
		border-bottom:none;
		margin-bottom:0;
	}
	
	header.header-mobile #mainmenu li ul.mega li ul{
		margin-bottom:0;
	}
	
	.sm-mt0{
		margin-top:0;
	}
	
	.sm-mb-30{
		margin-bottom:30px;
	}
	
	.sm-no-padding{
		padding:0;
	}

	.sm-pt-0{
		padding-top: 0;
	}

	.d-slide-item .dsi-desc{
		margin-left: 0%;
		float: right;
	}

	.d-slide-item .wm{
		line-height: 1em;
	}

	h1.ultra-big{
		font-size: 12vw;
	}

	.sm-spacer-single{
	width:100%;
	height:30px;
	display:block;
	clear:both;
	}
	
	.sm-spacer-double{
	width:100%;
	height:60px;
	display:block;
	clear:both;
	}

	.pp-scrollable{
		display: block;
	}

	.float-text{
		display: none;
	}

	.de-hero-block{
		height: 350px;
	}
	.d-hero-item-1 h3, .d-hero-item-2 h3,  .d-hero-item-3 h3{
	 	font-size: 16px;
	 }

	 .d-hero-item-2 .d-attr, .d-hero-item-3 .d-attr, .d-hero-item-4 .d-attr{
	 	display: none;
	 }

	 header.header-s2{
	 	padding: 0;
	 	margin: 0;
	 }

	 header.header-light.header-s2 .d-menu-wrap{
	 	background: none;
	 	padding: 0;
	 }


}

	/* -------------------------------------------------- 
	custom for 320px & 480px 
	/* -------------------------------------------------- */
	@media only screen and (max-width: 767px) {
	.container{padding-left:30px; padding-right:30px;}
	.feature-box-image,.pricing-box{margin-bottom:30px;}
	
	.de_tab .de_nav li {
	display: block;
	width: 100%;
	}
	
	.pf_full_width .item{
	float:left;
	width:49.9% !important;
	}

	/*.item{
	font-size:48px;
	line-height:48px;
	}*/
	
	.item i{
	font-size:36px;
	}
	
	#de-sidebar{
	width:100%;
	display:block;
	position:relative;	
	}	
		
	.pricing-2-col .pricing-box, .pricing-3-col .pricing-box, .pricing-4-col .pricing-box, .pricing-5-col .pricing-box {
	width: 100%;
	}
	
	.container-3 .de-team-list,
	.container-4 .de-team-list{
	width:100%;
	float:left;
	position:relative;
	}
	
	.countdown-section {
	font-size: 12px;
	}
	.countdown-amount {
		font-size: 36px;
	}
	
	.de-navbar-left header #mainmenu > li > a {
	padding-left:40px;
	}
	
	.de-navbar-left .inner-padding{
	padding:0px;
	}
	
	h1.title-2{
	font-size:16px;
	letter-spacing:10px;
	line-height:2em;
	}
	
	
	header.de_header_2{
		height:auto;	
	}
	
	.sm-no-padding{
		margin-top:0;
	}
	
	.mt-sm-none{
		margin-top:0;
	}
	
	.text-slider{	
	font-size:5vh;
	letter-spacing: 1vh;
	}
	
	.schedule-item .sc-time {
		width: 100%;
		padding-bottom: 20px;
		float: none;
	}
	.schedule-item .sc-pic {
		width: 80px;
	}
	.schedule-item .sc-pic img {
		width: 60px;
	}
	.schedule-item .sc-name {
		padding-top: 5px;
	}
	.schedule-item .sc-info {
		float: none;
		display: block;
		width: 100%;
		clear: both;
		padding-top: 30px;
	}
	.schedule-item .sc-info h3 {
		margin-bottom: 10px;
	}
	
	h1.title-3{
		font-size:10vw;
	}


	.owl-custom-nav.nav-in-col .btn-next{
	right:0;
	}

	.de-hero-block{
		height:auto;
	}
	.de-hero-block .d-hero-item-1,
	.de-hero-block .d-hero-item-2,
	.de-hero-block .d-hero-item-3,
	.de-hero-block .d-hero-item-4{
		position: relative;
	 	display: block;
	 	height: 300px;
	 	width: 100%;
	 	left: 0;
	 	margin-bottom: 10px;
	 }

	 .de-hero-block .d-hero-item-4 .d-image img{
	 	width:calc(100% +  50px);
	 	height: auto;
	 }

	 .de-blogpost-2{
	 	position: relative;
	 	margin-bottom: 30px;
	 }
	 .de-blogpost-2 .d-content{
	 	overflow: hidden;
	 	width: 100%;
	 }
	 .de-blogpost-2 .d-image{
	 	width: 100%;
	 	margin-bottom: 20px;
	 }

}
	
	
	/* -------------------------------------------------- 
	design for 480px
	/* -------------------------------------------------- */
	@media only screen and (min-width: 480px) and (max-width: 767px) {
	.container{padding-left:30px; padding-right:30px;}
	.feature-box-image,.pricing-box{margin-bottom:30px;}
	
	}
	
	
	/* -------------------------------------------------- 
	design for 320px
	/* -------------------------------------------------- */
	@media only screen and (max-width: 480px) {

	#de-extra-menu.de-search-wrapper{
		display: none;
	}

	.pf_full_width .item{
	float:left;
	width:100% !important;
	}

	.text-slider.fontsize40{
	font-size: 10vw !important;
	letter-spacing: 1vw;
	line-height: 15vw;
	}
	
	/*.item{
	font-size:32px;
	line-height:32px;
	}*/
	
	.item i{
	font-size:24px;
	}
	
	.grid-item .pf_title{
		display:none;
	}

	.de__banner h3{
	    font-size: 24px;
	    margin-bottom: 5px;
	}

	.de__banner h4{
	    font-size: 12px;
	    margin-bottom: 5px;
	}
	.de__banner small{
			font-size: 12px;
	    margin-top: 0;
	    display: none;
	}

	.de__banner a.btn-custom{
	    padding: 5px;
	}
	}

	/* -------------------------------------------------- 
	LOGO NAVBAR
	/* -------------------------------------------------- */

	#logo img.logo-herraplas {
    max-height: 60px;
    height: auto;
    width: auto;
}

@media (max-width: 767.98px) {
    #logo img.logo-herraplas {
        max-height: 60px;
    }
}

	/* -------------------------------------------------- 
	LOGO FOOTER
	/* -------------------------------------------------- */
	.logo-footer {
    max-height: 60px;  /* ajusta el tamaño que quieras para el footer */
    height: auto;
    width: auto;
	}


	/* -------------------------------------------------- 
	CSS PERSONALIZADO
	/* -------------------------------------------------- */

	


/* ===========================
   SABÍAS QUÉ - COMPONENTE
   =========================== */

.sabias-que {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 2rem 0 1.5rem; /* separa del contenido de arriba y de abajo */
}

/* Botón principal */
.sabias-que-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem 1.2rem;
  border-radius: 999px;
  border: 2px solid #cf1b16;
  background: #ffffff;
  cursor: pointer;
  text-align: left;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 0 rgba(207, 27, 22, 0.4);
  animation: sq-pulse 1.8s ease-in-out infinite;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.sabias-que-trigger:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  background-color: #fff5f4;
}

.sabias-que-trigger:focus-visible {
  outline: 3px solid #cf1b16;
  outline-offset: 3px;
}

/* Icono lupa */
.sabias-que-icon {
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 999px;
  background: #cf1b16;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}

.sabias-que-icon::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: inherit;
  box-shadow: 0 0 0 0 rgba(207, 27, 22, 0.35);
  animation: sq-icon-pulse 1.8s ease-out infinite;
}

.sabias-que-icon-svg {
  width: 1.3rem;
  height: 1.3rem;
  fill: none;
  stroke: #ffffff;
}

/* Texto */
.sabias-que-text {
  display: flex;
  flex-direction: column;
}

.sabias-que-label {
  font-weight: 800;
  letter-spacing: 0.09em;
  font-size: 0.85rem;
  text-transform: uppercase;
  color: #cf1b16;
}

.sabias-que-subtitle {
  font-size: 0.95rem;
  color: #333333;
}

/* Animaciones */
@keyframes sq-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(207, 27, 22, 0.4);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(207, 27, 22, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(207, 27, 22, 0);
  }
}

@keyframes sq-icon-pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(207, 27, 22, 0.35);
  }
  70% {
    transform: scale(1.06);
    box-shadow: 0 0 0 7px rgba(207, 27, 22, 0);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(207, 27, 22, 0);
  }
}

/* ===========================
   MODAL SABÍAS QUÉ
   =========================== */

.sabias-que-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.18s ease-out;
  z-index: 999;
}

.sabias-que-modal.is-open {
  pointer-events: auto;
  opacity: 1;
}

/* Fondo */
.sabias-que-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

/* Contenedor del diálogo */
.sabias-que-modal-dialog {
  position: relative;
  max-width: 520px;
  width: 92%;
  background: #ffffff;
  border-radius: 14px;
  padding: 1.6rem 1.5rem 1.4rem;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
  z-index: 1;
  transform: translateY(10px);
  opacity: 0;
  transition: transform 0.18s ease-out, opacity 0.18s ease-out;
}

.sabias-que-modal.is-open .sabias-que-modal-dialog {
  transform: translateY(0);
  opacity: 1;
}

/* Cerrar */
.sabias-que-modal-close {
  position: absolute;
  top: 0.4rem;
  right: 0.7rem;
  border: none;
  background: transparent;
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
  color: #999999;
  padding: 0.2rem;
}

.sabias-que-modal-close:hover {
  color: #cf1b16;
}

/* Contenido del modal */
.sabias-que-modal-title {
  margin: 0 0 0.9rem;
  font-size: 1.3rem;
  color: #cf1b16;
}

.sabias-que-modal-list {
  margin: 0 0 0.9rem 1.2rem;
  padding: 0;
  font-size: 0.95rem;
  color: #333333;
}

.sabias-que-modal-list li {
  margin-bottom: 0.4rem;
}

/* Negritas dentro del modal en rojo corporativo */
.sabias-que-modal strong {
  color: #cf1b16;
}

.sabias-que-modal-footer {
  font-size: 0.85rem;
  color: #777777;
  margin: 0;
}

/* Responsivo */
@media (max-width: 600px) {
  .sabias-que-trigger {
    width: 100%;
  }

  .sabias-que-subtitle {
    font-size: 0.9rem;
  }

  .sabias-que-modal-dialog {
    padding: 1.4rem 1.2rem 1.2rem;
  }
}

/* =========================================================
   HOME: Servicios (3 cards) - Encapsulado hp-home-services
   - 3 tarjetas mismo alto en escritorio
   - Título rojo #cf1b16
   - Textos blancos en tarjetas
   - Botón blanco con texto rojo
   - Anti-choques (specific + !important)
========================================================= */

#hp-home-services.hp-home-services{
  padding: 60px 0;
}

/* Título */
#hp-home-services .hp-home-services__title{
  margin: 0 0 24px !important;
  color: #cf1b16 !important;
  font-weight: 900 !important;
}

/* Card: ocupa todo el alto de la columna */
#hp-home-services .hp-home-services__card{
  height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  overflow: hidden;
  background: #ffffff !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.08);
}

/* Imagen consistente */
#hp-home-services .hp-home-services__media{
  aspect-ratio: 4 / 3; /* ajusta si quieres más alta: 3/2 o 16/10 */
  width: 100%;
  overflow: hidden;
  background: #eeeeee;
}

#hp-home-services .hp-home-services__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Bloque rojo */
#hp-home-services .hp-home-services__body{
  background: #b32227 !important;
  color: #ffffff !important;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  flex: 1 !important; /* hace parejas las 3 tarjetas */
}

/* Título de tarjeta */
#hp-home-services .hp-home-services__cardTitle{
  margin: 0 !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  font-size: 18px !important;
  color: #ffffff !important;
}

/* Por si el theme mete estilos en textos internos */
#hp-home-services .hp-home-services__body *{
  color: #ffffff;
}
#hp-home-services .hp-home-services__body a.hp-home-services__btn{
  color: #cf1b16 !important; /* el botón es la excepción */
}

/* Botón blanco con texto rojo */
#hp-home-services .hp-home-services__btn{
  margin-top: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  border: 2px solid #ffffff !important;
  color: #cf1b16 !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  transition: transform .12s ease, filter .12s ease;
}

#hp-home-services .hp-home-services__btn:hover{
  transform: translateY(-1px);
  filter: brightness(.95);
}

/* Responsive */
@media (max-width: 991px){
  #hp-home-services .hp-home-services__card{
    margin-bottom: 18px;
  }
}

/* =========================================================
   MUNSCH - Bombas plásticas (categorías + tabs)
   Color marca: #f7741a
   - Tabs sticky
   - Cards con imagen como Miller
========================================================= */

.hp-munsch{
  --ms: #f7741a;
  --ink: #1f2937;
  --muted: #6b7280;
  --border: rgba(0,0,0,.10);
  --shadow: 0 16px 34px rgba(0,0,0,.10);

  background:
    radial-gradient(900px 280px at 12% 0%, rgba(247,116,26,.16), transparent 60%),
    radial-gradient(900px 280px at 88% 35%, rgba(247,116,26,.10), transparent 60%),
    #fff;

  padding: 56px 0;
  scroll-margin-top: 120px;
}

.hp-munsch__wrap{
  width: min(1180px, 92%);
  margin: 0 auto;
}

/* Head */
.hp-munsch__head{
  border-left: 6px solid var(--ms);
  padding-left: 14px;
  margin-bottom: 16px;
}

.hp-munsch__kicker{
  margin: 0 0 6px;
  color: var(--ms);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .10em;
  font-size: 12px;
}

.hp-munsch__title{
  margin: 0 0 10px;
  color: var(--ink);
  font-weight: 900;
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.15;
}

.hp-munsch__intro{
  color: var(--muted);
  line-height: 1.7;
  max-width: 110ch;
}

.hp-munsch__intro p{
  margin: 0 0 10px;
}

.hp-munsch__intro strong{
  color: var(--ms);
}

/* Nav tabs */
.hp-munsch__nav{
  position: sticky;
  top: 96px; /* ajusta si tu navbar es más alto */
  z-index: 5;

  display: flex;
  flex-wrap: wrap;
  gap: 10px;

  margin: 12px 0 18px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(6px);
}

.hp-munsch__tab{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 12px;
  border-radius: 999px;
  text-decoration: none;

  border: 1px solid rgba(247,116,26,.35);
  background: rgba(247,116,26,.10);
  color: var(--ink);
  font-weight: 900;
  font-size: 13px;

  transition: transform .12s ease, filter .12s ease, background-color .12s ease;
}

.hp-munsch__tab:hover{
  transform: translateY(-1px);
  filter: brightness(.98);
}

.hp-munsch__tab.is-active{
  background: var(--ms);
  border-color: var(--ms);
  color: #fff;
  box-shadow: 0 14px 26px rgba(247,116,26,.22);
}

/* Categoría */
.hp-munsch__cat{
  scroll-margin-top: 160px;
  margin-bottom: 18px;
}

.hp-munsch__catHead{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
}

.hp-munsch__catTitle{
  margin: 0;
  color: var(--ink);
  font-weight: 900;
  font-size: 16px;
}

/* Cards grid (por categoría) */
.hp-munsch__cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.hp-munsch__cards--two{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Card */
.hp-munsch__card{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  box-shadow: var(--shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.hp-munsch__media{
  aspect-ratio: 16 / 10;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.hp-munsch__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hp-munsch__body{
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  position: relative;
}

.hp-munsch__body::before{
  content:"";
  position:absolute;
  left:0; top:0;
  height:5px;
  width:100%;
  background: var(--ms);
  opacity:.85;
}

.hp-munsch__name{
  margin: 8px 0 0;
  color: var(--ms);
  font-weight: 900;
  font-size: 15px;
  line-height: 1.25;
}

/* Actions: PDF + Ver más */
.hp-munsch__actions{
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* PDF button */
.hp-munsch__pdf{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 10px 12px;
  border-radius: 14px;
  text-decoration: none;

  background: rgba(247,116,26,.10);
  color: var(--ink);
  font-weight: 900;
  border: 1px solid rgba(247,116,26,.35);
  transition: transform .12s ease, filter .12s ease;
}

.hp-munsch__pdf:hover{
  transform: translateY(-1px);
  filter: brightness(.98);
}

/* Primary CTA */
.hp-munsch__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 10px 12px;
  border-radius: 14px;
  text-decoration: none;

  background: #fff;
  color: var(--ms);
  font-weight: 900;

  border: 2px solid var(--ms);
  box-shadow: 0 14px 26px rgba(247,116,26,.18);
  transition: transform .12s ease, filter .12s ease, background-color .12s ease;
}

.hp-munsch__btn:hover{
  transform: translateY(-1px);
  background: rgba(247,116,26,.08);
  filter: brightness(.98);
}

.hp-munsch__btnIcon{
  font-weight: 900;
}

/* Hover suave */
@media (prefers-reduced-motion: no-preference){
  .hp-munsch__card{
    transition: transform .14s ease, box-shadow .14s ease;
  }
  .hp-munsch__card:hover{
    transform: translateY(-2px);
    box-shadow: 0 20px 46px rgba(0,0,0,.14);
  }
}

/* Responsive */
@media (max-width: 980px){
  .hp-munsch__cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .hp-munsch{
    padding: 46px 0;
    scroll-margin-top: 140px;
  }

  .hp-munsch__nav{
    top: 86px;
  }

  .hp-munsch__cards,
  .hp-munsch__cards--two{
    grid-template-columns: 1fr;
  }

  .hp-munsch__actions{
    flex-direction: column;
  }
}


/* =========================================================
   CERTIFICACIÓN DVS
   Encapsulado: .hp-dvs
   Color base (rojo Herraplas): #cf1b16
========================================================= */

.hp-dvs{
  --dvs: #cf1b16;
  --ink: #1f2937;
  --muted: #6b7280;
  --border: rgba(0,0,0,.10);
  --shadow: 0 18px 42px rgba(0,0,0,.12);

  padding: 64px 0;
  background:
    radial-gradient(900px 320px at 15% 0%, rgba(207,27,22,.18), transparent 62%),
    radial-gradient(900px 320px at 85% 25%, rgba(0,0,0,.06), transparent 60%),
    linear-gradient(180deg, #ffffff, #fafafa);

  scroll-margin-top: 120px;
}

.hp-dvs__wrap{
  width: min(1180px, 92%);
  margin: 0 auto;
}

/* =========================================================
   HERO
========================================================= */

.hp-dvs__hero{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 16px;
}

.hp-dvs__heroLeft{
  border-radius: 22px;
  padding: 22px;
  background:
    linear-gradient(180deg, rgba(17,17,17,.92), rgba(17,17,17,.92)),
    radial-gradient(900px 280px at 20% 0%, rgba(207,27,22,.20), transparent 60%);
  color: #fff;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}

.hp-dvs__heroLeft::after{
  content:"";
  position:absolute;
  right:-120px;
  top:-120px;
  width: 280px;
  height: 280px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(207,27,22,.85), rgba(207,27,22,0) 65%);
  opacity: .85;
}

.hp-dvs__kicker{
  margin: 0 0 8px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(255,255,255,.85);
}

.hp-dvs__title{
  margin: 0 0 10px;
  font-weight: 950;
  line-height: 1.08;
  font-size: clamp(26px, 2.9vw, 44px);
  color: #fff !important;
  position: relative;
  z-index: 1;
}

.hp-dvs__lead{
  margin: 0 0 16px;
  line-height: 1.7;
  color: rgba(255,255,255,.92);
  max-width: 78ch;
  position: relative;
  z-index: 1;
}

.hp-dvs__lead strong{ color: #fff; }

/* CTAs */
.hp-dvs__heroCtas{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.hp-dvs__chips{
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.hp-dvs__chip{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12.5px;
}

/* Botones */
.hp-dvs__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 14px;
  font-weight: 900;
  text-decoration: none !important;
  border: 2px solid transparent;
  transition: transform .12s ease, filter .12s ease, background-color .12s ease, border-color .12s ease;
  white-space: nowrap;
  color: #fff !important;
}

.hp-dvs__btn:visited,
.hp-dvs__btn:hover,
.hp-dvs__btn:active,
.hp-dvs__btn:focus{
  color: #fff !important;
  text-decoration: none !important;
}

.hp-dvs__btn--primary{
  background: var(--dvs);
  box-shadow: 0 16px 30px rgba(207,27,22,.30);
}

.hp-dvs__btn--primary:hover{
  transform: translateY(-1px);
  filter: brightness(.96);
}

.hp-dvs__btn--ghost{
  background: transparent;
  border-color: rgba(255,255,255,.40);
}

.hp-dvs__btn--ghost:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.70);
  background: rgba(255,255,255,.06);
}

/* =========================================================
   CARD derecha (stats)
========================================================= */

.hp-dvs__heroRight{ display: grid; }

.hp-dvs__statsCard{
  border-radius: 22px;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}

.hp-dvs__statsCard::before{
  content:"";
  position:absolute;
  left:0; top:0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, var(--dvs), #111);
}

.hp-dvs__statsHead{
  padding: 16px 16px 10px;
}

.hp-dvs__statsTitle{
  margin: 0;
  color: #111;
  font-weight: 950;
  font-size: 16px;
}

.hp-dvs__statsSub{
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.hp-dvs__statsGrid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 0 16px 14px;
}

.hp-dvs__stat{
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: start;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 12px;
  background:
    radial-gradient(600px 220px at 0% 0%, rgba(207,27,22,.10), transparent 60%),
    #fff;
}

.hp-dvs__statIcon{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(207,27,22,.10);
  border: 1px solid rgba(207,27,22,.25);
  color: var(--dvs);
  font-weight: 950;
}

.hp-dvs__statTitle{
  margin: 0 0 3px;
  color: #111;
  font-weight: 950;
  font-size: 13.5px;
}

.hp-dvs__statText{
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 13px;
}

.hp-dvs__statsFoot{
  padding: 0 16px 16px;
}

/* =========================================================
   PANEL base
========================================================= */

.hp-dvs__panel{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 18px;
  position: relative;
  overflow: hidden;
}

.hp-dvs__panel + .hp-dvs__panel{ margin-top: 14px; }

.hp-dvs__panel::before{
  content:"";
  position:absolute;
  left:0; top:0;
  height: 6px;
  width: 100%;
  background: var(--dvs);
  opacity: .9;
}

.hp-dvs__panelTitle{
  margin: 0 0 12px;
  color: var(--ink);
  font-weight: 950;
  font-size: 18px;
}

.hp-dvs__cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.hp-dvs__card{
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  padding: 14px;
  position: relative;
  transition: transform .12s ease, box-shadow .12s ease;
}

@media (prefers-reduced-motion: no-preference){
  .hp-dvs__card:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(0,0,0,.10);
  }
}

.hp-dvs__badge{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--dvs);
  color: #fff;
  font-weight: 950;
  position: absolute;
  top: 12px;
  right: 12px;
  box-shadow: 0 12px 22px rgba(207,27,22,.30);
}

.hp-dvs__cardTitle{
  margin: 0 44px 8px 0;
  color: var(--dvs);
  font-weight: 950;
  font-size: 14px;
  line-height: 1.25;
}

.hp-dvs__cardText{
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 13.5px;
}

.hp-dvs__cardText strong{ color: var(--dvs); }

/* Métodos */
.hp-dvs__methods{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed rgba(0,0,0,.12);
}

.hp-dvs__methodsLabel{
  margin: 0 0 10px;
  color: var(--ink);
  font-weight: 950;
}

.hp-dvs__methodChips{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hp-dvs__method{
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(207,27,22,.08);
  border: 1px solid rgba(207,27,22,.18);
  color: #111;
  font-weight: 900;
  font-size: 12.5px;
}

/* =========================================================
   Panel oscuro (usos) + Bullets
========================================================= */

.hp-dvs__panel--dark{
  background: linear-gradient(180deg, rgba(17,17,17,.96), rgba(17,17,17,.96));
  border-color: rgba(255,255,255,.10);
}

.hp-dvs__panelTitle--light{
  color: #fff;
}

.hp-dvs__usesBox{
  margin-top: 10px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  padding: 14px 14px 14px 16px;
}

/* LISTA (sin emojis, con bullets) */
.hp-dvs__usesList{
  margin: 0;
  padding-left: 18px; /* bullets */
  color: #111;
  line-height: 1.7;
}

.hp-dvs__usesList li{
  margin: 8px 0;
}

.hp-dvs__usesList strong{
  color: #cf1b16;
}

.hp-dvs__bottomCta{
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 1020px){
  .hp-dvs__hero{ grid-template-columns: 1fr; }
  .hp-dvs__cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px){
  .hp-dvs{ padding: 52px 0; scroll-margin-top: 140px; }
  .hp-dvs__cards{ grid-template-columns: 1fr; }
  .hp-dvs__heroCtas{ flex-direction: column; align-items: stretch; }
  .hp-dvs__btn{ width: 100%; }
}

/* =========================================================
   CERTIFICACIÓN IAGI
   Encapsulado: .hp-iagi
   Base color (rojo Herraplas): #cf1b16
========================================================= */

.hp-iagi{
  --iagi: #cf1b16;
  --ink: #1f2937;
  --muted: #6b7280;
  --border: rgba(0,0,0,.10);
  --shadow: 0 18px 42px rgba(0,0,0,.12);

  padding: 64px 0;
  background:
    radial-gradient(900px 320px at 15% 0%, rgba(207,27,22,.18), transparent 62%),
    radial-gradient(900px 320px at 85% 25%, rgba(0,0,0,.06), transparent 60%),
    linear-gradient(180deg, #ffffff, #fafafa);

  scroll-margin-top: 120px;
}

.hp-iagi__wrap{
  width: min(1180px, 92%);
  margin: 0 auto;
}

/* =========================================================
   HERO
========================================================= */

.hp-iagi__hero{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 16px;
}

.hp-iagi__heroLeft{
  border-radius: 22px;
  padding: 22px;
  background:
    linear-gradient(180deg, rgba(17,17,17,.92), rgba(17,17,17,.92)),
    radial-gradient(900px 280px at 20% 0%, rgba(207,27,22,.20), transparent 60%);
  color: #fff;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}

.hp-iagi__heroLeft::after{
  content:"";
  position:absolute;
  right:-120px;
  top:-120px;
  width: 280px;
  height: 280px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(207,27,22,.85), rgba(207,27,22,0) 65%);
  opacity: .85;
}

.hp-iagi__kicker{
  margin: 0 0 8px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(255,255,255,.85);
}

.hp-iagi__title{
  margin: 0 0 10px;
  font-weight: 950;
  line-height: 1.08;
  font-size: clamp(26px, 2.9vw, 44px);
  color: #fff !important;
  position: relative;
  z-index: 1;
}

.hp-iagi__lead{
  margin: 0 0 14px;
  line-height: 1.7;
  color: rgba(255,255,255,.92);
  max-width: 82ch;
  position: relative;
  z-index: 1;
}

.hp-iagi__lead--thin{
  margin-top: -6px;
  color: rgba(255,255,255,.86);
}

.hp-iagi__lead strong{ color: #fff; }

/* CTAs */
.hp-iagi__heroCtas{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.hp-iagi__chips{
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.hp-iagi__chip{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12.5px;
}

/* Botones */
.hp-iagi__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 14px;
  font-weight: 900;
  text-decoration: none !important;
  border: 2px solid transparent;
  transition: transform .12s ease, filter .12s ease, background-color .12s ease, border-color .12s ease;
  white-space: nowrap;
  color: #fff !important;
}

.hp-iagi__btn:visited,
.hp-iagi__btn:hover,
.hp-iagi__btn:active,
.hp-iagi__btn:focus{
  color: #fff !important;
  text-decoration: none !important;
}

.hp-iagi__btn--primary{
  background: var(--iagi);
  box-shadow: 0 16px 30px rgba(207,27,22,.30);
}

.hp-iagi__btn--primary:hover{
  transform: translateY(-1px);
  filter: brightness(.96);
}

.hp-iagi__btn--ghost{
  background: transparent;
  border-color: rgba(255,255,255,.40);
}

.hp-iagi__btn--ghost:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.70);
  background: rgba(255,255,255,.06);
}

/* =========================================================
   Tarjeta derecha (summary)
========================================================= */

.hp-iagi__heroRight{ display: grid; }

.hp-iagi__summaryCard{
  border-radius: 22px;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}

.hp-iagi__summaryCard::before{
  content:"";
  position:absolute;
  left:0; top:0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, var(--iagi), #111);
}

.hp-iagi__summaryHead{
  padding: 16px 16px 10px;
}

.hp-iagi__summaryTitle{
  margin: 0;
  color: #111;
  font-weight: 950;
  font-size: 16px;
}

.hp-iagi__summarySub{
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.hp-iagi__summaryList{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 0 16px 14px;
}

.hp-iagi__summaryItem{
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 10px;
  align-items: start;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 12px;
  background:
    radial-gradient(600px 220px at 0% 0%, rgba(207,27,22,.10), transparent 60%),
    #fff;
}

.hp-iagi__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  margin-top: 4px;
  background: var(--iagi);
  box-shadow: 0 10px 18px rgba(207,27,22,.25);
}

.hp-iagi__summaryItemTitle{
  margin: 0 0 3px;
  color: #111;
  font-weight: 950;
  font-size: 13.5px;
}

.hp-iagi__summaryItemText{
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 13px;
}

.hp-iagi__summaryFoot{
  padding: 0 16px 16px;
}

/* =========================================================
   PANEL base
========================================================= */

.hp-iagi__panel{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 18px;
  position: relative;
  overflow: hidden;
}

.hp-iagi__panel + .hp-iagi__panel{ margin-top: 14px; }

.hp-iagi__panel::before{
  content:"";
  position:absolute;
  left:0; top:0;
  height: 6px;
  width: 100%;
  background: var(--iagi);
  opacity: .9;
}

.hp-iagi__panelTitle{
  margin: 0 0 12px;
  color: var(--ink);
  font-weight: 950;
  font-size: 18px;
}

.hp-iagi__grid2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* Caja */
.hp-iagi__box{
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  padding: 14px;
}

.hp-iagi__box--accent{
  background:
    radial-gradient(800px 260px at 15% 0%, rgba(207,27,22,.12), transparent 62%),
    #fff;
}

.hp-iagi__boxTitle{
  margin: 0 0 10px;
  font-weight: 950;
  color: var(--iagi);
}

.hp-iagi__list{
  margin: 0;
  padding-left: 18px;
  color: var(--ink);
}

.hp-iagi__list li{
  margin: 8px 0;
  line-height: 1.6;
}

.hp-iagi__list strong{ color: var(--iagi); }

/* Métricas (dinámico) */
.hp-iagi__metrics{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.hp-iagi__metric{
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  padding: 12px;
  text-align: center;
}

.hp-iagi__metricNum{
  margin: 0;
  font-weight: 950;
  font-size: 22px;
  color: var(--iagi);
  letter-spacing: .02em;
}

.hp-iagi__metricLabel{
  margin: 4px 0 0;
  color: var(--muted);
  font-weight: 900;
  font-size: 12.5px;
}

.hp-iagi__boxNote{
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.6;
  font-size: 13px;
}

/* Cards (importancia) */
.hp-iagi__cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.hp-iagi__card{
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  padding: 14px;
  position: relative;
  transition: transform .12s ease, box-shadow .12s ease;
}

@media (prefers-reduced-motion: no-preference){
  .hp-iagi__card:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(0,0,0,.10);
  }
}

.hp-iagi__badge{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--iagi);
  color: #fff;
  font-weight: 950;
  position: absolute;
  top: 12px;
  right: 12px;
  box-shadow: 0 12px 22px rgba(207,27,22,.30);
}

.hp-iagi__cardTitle{
  margin: 0 44px 8px 0;
  color: var(--iagi);
  font-weight: 950;
  font-size: 14px;
  line-height: 1.25;
}

.hp-iagi__cardText{
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 13.5px;
}

.hp-iagi__cardText strong{ color: var(--iagi); }

/* Beneficios (panel oscuro) */
.hp-iagi__panel--dark{
  background: linear-gradient(180deg, rgba(17,17,17,.96), rgba(17,17,17,.96));
  border-color: rgba(255,255,255,.10);
}

.hp-iagi__panelTitle--light{ color: #fff; }

.hp-iagi__benefits{
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.hp-iagi__benefit{
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  padding: 14px;
}

.hp-iagi__benefitTitle{
  margin: 0 0 6px;
  color: #111;
  font-weight: 950;
  font-size: 14px;
}

.hp-iagi__benefitText{
  margin: 0;
  color: #111;
  line-height: 1.6;
  font-size: 13.5px;
}

.hp-iagi__bottomCta{
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 1020px){
  .hp-iagi__hero{ grid-template-columns: 1fr; }
  .hp-iagi__grid2{ grid-template-columns: 1fr; }
  .hp-iagi__cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hp-iagi__benefits{ grid-template-columns: 1fr; }
}

@media (max-width: 640px){
  .hp-iagi{ padding: 52px 0; scroll-margin-top: 140px; }
  .hp-iagi__cards{ grid-template-columns: 1fr; }
  .hp-iagi__heroCtas{ flex-direction: column; align-items: stretch; }
  .hp-iagi__btn{ width: 100%; }
  .hp-iagi__metrics{ grid-template-columns: 1fr; }
}

/* =========================================================
  SUBHEADER REUTILIZABLE (CSS CORREGIDO)
  - Desktop: izquierda
  - Móvil: TODO centrado (título + subtítulo + logo)
========================================================= */

.hp-subhero{
  --sh-pad-y: 92px;
  --sh-minh: 280px;
  --sh-logo-max: 240px;

  position: relative;
  overflow: hidden;
  background: #111;

  padding: var(--sh-pad-y) 0;
  min-height: var(--sh-minh);

  color: #fff;
  scroll-margin-top: 110px;
}

/* Imagen */
.hp-subhero__bg{
  position: absolute;
  inset: 0;
  background-image: var(--hp-subhero-bg, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.03);
  z-index: 0;
}

/* Overlay sobre la imagen */
.hp-subhero__overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.80) 0%,
      rgba(0,0,0,.55) 52%,
      rgba(0,0,0,.72) 100%
    ),
    radial-gradient(900px 380px at 12% 35%, rgba(0,0,0,.45), transparent 62%);
}

/* Contenido arriba del overlay */
.hp-subhero .container,
.hp-subhero .row,
.hp-subhero .col-md-12{
  position: relative;
  z-index: 2;
}

/* Layout */
.hp-subhero__inner{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 18px;
  justify-items: start; /* desktop: izquierda */
}

.hp-subhero__left{
  text-align: left;
  justify-self: start;
  display: inline-block;
}

.hp-subhero__title{
  margin: 0;
  font-weight: 950;
  letter-spacing: .01em;
  line-height: 1.04;
  font-size: clamp(30px, 3.2vw, 52px);
  color: #fff !important;
}

.hp-subhero__subtitle{
  margin: 6px 0 0;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.4;
  font-size: clamp(14px, 1.25vw, 18px);
  color: rgba(255,255,255,.88) !important;
  max-width: 72ch;
}

/* Logo */
.hp-subhero__right{
  justify-self: end;
}

.hp-subhero__logo{
  display: block;
  width: 100%;
  max-width: var(--sh-logo-max);
  height: auto;
  filter: drop-shadow(0 16px 26px rgba(0,0,0,.45));
}

/* Tablet */
@media (max-width: 980px){
  .hp-subhero{
    --sh-pad-y: 74px;
    --sh-minh: 260px;
  }

  .hp-subhero__inner{
    grid-template-columns: 1fr;
    gap: 14px;
    justify-items: start;
  }

  .hp-subhero__right{
    justify-self: start;
  }

  .hp-subhero__logo{ max-width: 200px; }
}

/* Móvil: centra textos SÍ o SÍ */
@media (max-width: 640px){
  .hp-subhero{
    --sh-pad-y: 62px;
    --sh-minh: 240px;
    scroll-margin-top: 140px;
  }

  .hp-subhero__inner{
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .hp-subhero__left{
    text-align: center !important;
    justify-self: center;
  }

  .hp-subhero__title,
  .hp-subhero__subtitle{
    text-align: center !important;
  }

  .hp-subhero__right{
    justify-self: center;
  }

  .hp-subhero__logo{ max-width: 180px; }
}

/* =========================================================
  SUBHEADER SIN LOGO (DVS) - CENTRADO SIEMPRE
  - Solo degradado sobre la imagen de fondo
========================================================= */

.hp-subhero-dvs{
  --dvs-pad-y: 96px;
  --dvs-minh: 320px;

  position: relative;
  overflow: hidden;
  background: #111;

  padding: var(--dvs-pad-y) 0;
  min-height: var(--dvs-minh);

  color: #fff;
  scroll-margin-top: 110px;
}

/* Imagen */
.hp-subhero-dvs__bg{
  position: absolute;
  inset: 0;
  background-image: var(--hp-subhero-dvs-bg, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.03);
  z-index: 0;
}

/* Degradado/overlay SOLO sobre la imagen */
.hp-subhero-dvs__overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.52) 55%,
      rgba(0,0,0,.72) 100%
    ),
    radial-gradient(900px 420px at 50% 35%, rgba(0,0,0,.38), transparent 60%);
}

/* Contenido arriba */
.hp-subhero-dvs .container,
.hp-subhero-dvs .row,
.hp-subhero-dvs .col-md-12{
  position: relative;
  z-index: 2;
}

/* Centrado SIEMPRE */
.hp-subhero-dvs__inner{
  min-height: calc(var(--dvs-minh) - (var(--dvs-pad-y) * 0.6));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;
  gap: 10px;
}

/* Título */
.hp-subhero-dvs__title{
  margin: 0;
  font-weight: 1000;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.02;
  font-size: clamp(34px, 4.2vw, 64px);
  color: #fff !important;

  /* sombra suave para legibilidad */
  text-shadow: 0 14px 30px rgba(0,0,0,.40);
}

/* Subtítulo */
.hp-subhero-dvs__subtitle{
  margin: 0;
  max-width: 78ch;
  font-weight: 650;
  line-height: 1.6;
  font-size: clamp(14px, 1.25vw, 18px);
  color: rgba(255,255,255,.90) !important;
  text-shadow: 0 14px 30px rgba(0,0,0,.35);
}

/* Responsive */
@media (max-width: 980px){
  .hp-subhero-dvs{
    --dvs-pad-y: 76px;
    --dvs-minh: 290px;
  }
}

@media (max-width: 640px){
  .hp-subhero-dvs{
    --dvs-pad-y: 62px;
    --dvs-minh: 260px;
    scroll-margin-top: 140px;
  }
}

/* =========================================================
   HERRAPLAS HERO SLIDER
========================================================= */
.ha-hero {
    --ha-red: #d9251c;
    --ha-ink: #ffffff;
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.ha-hero__viewport {
    position: relative;
    width: 100%;
    min-height: clamp(520px, 70vh, 760px);
}

.ha-hero__slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.6s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ha-hero__slide.is-active {
    opacity: 1;
}

/* Fondo con imagen */
.ha-hero__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Overlay oscuro */
.ha-hero__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1;
}

/* Contenido */
.ha-hero__content {
    position: relative;
    z-index: 2;
    width: min(1100px, 92%);
    text-align: center;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ha-hero__kicker {
    margin: 0 0 10px;
    color: rgba(255, 255, 255, 0.90);
    font-weight: 400;
    font-size: clamp(14px, 1.4vw, 20px);
    letter-spacing: 0.02em;
}

.ha-hero__title {
    margin: 0;
    line-height: 1.05;
    font-weight: 900;
    font-size: clamp(34px, 5.2vw, 78px);
}

.ha-hero__titleWhite {
    color: var(--ha-ink);
}

.ha-hero__titleAccent {
    color: var(--ha-red);
}

.ha-hero__btn {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 24px;
    border-radius: 999px;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.90);
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: all 0.3s ease;
    cursor: pointer;
}

.ha-hero__btn:hover {
    transform: translateY(-2px);
    background-color: var(--ha-red);
    border-color: var(--ha-red);
    color: #ffffff;
}

/* Controles */
.ha-hero__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.40);
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    font-weight: 900;
    font-size: 26px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: all 0.2s ease;
}

.ha-hero__nav:hover {
    background: rgba(0, 0, 0, 0.45);
}

.ha-hero__nav--prev {
    left: 16px;
}

.ha-hero__nav--next {
    right: 16px;
}

/* Dots */
.ha-hero__dots {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.ha-hero__dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.75);
    background: rgba(255, 255, 255, 0.20);
    cursor: pointer;
    transition: all 0.2s ease;
}

.ha-hero__dot:hover {
    transform: scale(1.15);
}

.ha-hero__dot.is-active {
    background: #ffffff;
    border-color: #ffffff;
}

/* Responsive */
@media (max-width: 860px) {
    .ha-hero__viewport {
        min-height: 520px;
    }

    .ha-hero__nav {
        width: 42px;
        height: 42px;
        font-size: 24px;
    }

    .ha-hero__nav--prev {
        left: 10px;
    }

    .ha-hero__nav--next {
        right: 10px;
    }
}

@media (max-width: 560px) {
    .ha-hero__kicker {
        margin-bottom: 8px;
    }

    .ha-hero__dots {
        bottom: 14px;
    }
}

/* =========================
   HERRAPLAS ABOUT (HPA)
   ========================= */
.hpa-about{
  position: relative;
  padding: clamp(26px, 4vw, 64px) 0;
  background:
    radial-gradient(900px 300px at 75% 30%, rgba(207,27,22,.10), transparent 60%),
    linear-gradient(180deg, #ffffff, #fbfbfb);
  overflow: visible;
}

.hpa-about__wrap{
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: clamp(24px, 3.6vw, 64px);
  align-items: center;
  overflow: visible;
}

/* FIGURE: NO recorta (para que el badge sobresalga) */
.hpa-about__media{
  margin: 0;
  position: relative;
  overflow: visible;
}

/* Este wrapper SÍ recorta la imagen y mantiene borde + sombra */
.hpa-about__media-clip{
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,.10);
  transform: translateZ(0);
}

.hpa-about__media-clip img{
  width: 100%;
  height: auto;
  display: block;
  transform: scale(1.02);
  transition: transform .6s ease;
}

@media (hover:hover){
  .hpa-about__media:hover .hpa-about__media-clip img{
    transform: scale(1.06);
  }
}

/* Contenido */
.hpa-about__content{
  position: relative;
  padding: clamp(8px, 1vw, 18px);
  padding-left: clamp(0px, 2.2vw, 70px); /* evita que el badge tape el texto */
}

.hpa-about__title{
  margin: 0 0 12px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.02em;
  font-size: clamp(18px, 2.0vw, 30px);
  color: #1e1e1e;
}

.hpa-about__brand{
  color: #cf1b16;
}

.hpa-about__text{
  margin: 0;
  color: #5a5a5a;
  font-size: 15px;
  line-height: 1.65;
  max-width: 56ch;
}

/* Badge contador (se sale hacia el gap, NO se recorta) */
.hpa-badge{
  position: absolute;
  right: clamp(-90px, -6vw, -50px);
  bottom: 18px;
  width: 240px;
  max-width: calc(100% - 36px);
  background: linear-gradient(135deg, #cf1b16, #a81412);
  color: #fff;
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: 0 16px 40px rgba(207,27,22,.25);
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid rgba(255,255,255,.16);
  z-index: 3;
}

.hpa-badge__top{
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .95;
  margin-bottom: 4px;
}

.hpa-badge__num{
  line-height: 1;
  margin: 2px 0 6px;
}

.hpa-counter{
  display: inline-block;
  font-weight: 900;
  font-size: clamp(56px, 5.2vw, 82px);
  letter-spacing: -.02em;
}

.hpa-badge__bottom{
  font-size: 14px;
  opacity: .95;
}

/* Responsive */
@media (max-width: 980px){
  .hpa-about__wrap{
    grid-template-columns: 1fr;
  }

  .hpa-about__content{
    padding-left: 0;
  }

  .hpa-badge{
    position: static;
    width: 100%;
    max-width: none;
    margin-top: 14px;
  }
}

/* =========================
VIDEOS (LOCAL) + MODAL
(3 POR FILA EN ESCRITORIO)
========================= */
.hp-videos { padding: 30px 0; }

.hp-videos__container{
  width: min(1280px, 92%);
  margin: 0 auto;
}

/* 3 columnas en escritorio */
.hp-videos__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

/* Tablet: 2 columnas */
@media (max-width: 980px){
  .hp-videos__grid{ grid-template-columns: repeat(2, 1fr); }
}

/* Móvil: 1 columna */
@media (max-width: 560px){
  .hp-videos__grid{ grid-template-columns: 1fr; }
}

/* Tarjeta (sin meta, PERO con altura consistente) */
.hp-video-card{
  appearance:none;
  border: 0;
  padding: 0;
  text-align:left;
  border-radius: 0;
  overflow:hidden;
  cursor:pointer;
  position:relative;
  background:#111;
  color:#fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.16);
  transition: transform .18s ease, box-shadow .18s ease;

  /* 👇 Esto “repone” la franja que antes daba el meta */
  padding-bottom: 56px; /* ajusta 48–70px según te guste */
}

.hp-video-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0,0,0,.22);
}

/* Thumb ocupa toda el área visible (menos el padding inferior) */
.hp-video-card__thumb{
  display:block;
  width: 100%;
  height: calc(100% - 0px);
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;
}

/* Botón play siempre abajo-derecha sobre la “franja” */
.hp-video-card__play{
  position:absolute;
  right: 12px;
  bottom: 12px;
  width: 42px;
  height: 42px;
  display:grid;
  place-items:center;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  backdrop-filter: blur(6px);
  font-size: 16px;
}

/* =========================
MODAL (CENTRADO REAL)
========================= */
.hp-video-modal{
  position:fixed;
  inset:0;
  display:none;
  z-index: 9999;
}

.hp-video-modal.is-open{
  display:grid;
  place-items:center;
  padding: 16px;
}

.hp-video-modal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.62);
}

.hp-video-modal__panel{
  position:relative;
  width: min(980px, 100%);
  background: #0f0f0f;
  border-radius: 0;
  overflow:hidden;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  z-index: 1;
}

.hp-video-modal__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.hp-video-modal__title{
  margin:0;
  font-size: 16px;
  color:#fff;
}

.hp-video-modal__close{
  border:0;
  background: rgba(255,255,255,.1);
  color:#fff;
  border-radius: 0;
  width: 40px;
  height: 40px;
  cursor:pointer;
}

.hp-video-modal__frame{
  aspect-ratio: 16 / 9;
  background:#000;
}

.hp-video-modal__frame video{
  width:100%;
  height:100%;
  display:block;
  background:#000;
}


/* =========================
   TAMAÑO DE LETRA DE NUESTROS VALORES
   ========================= */
/* Solo afecta esta sección */
#nuestros-valores .de_tab_content > div{
  font-size: 1.15rem;
  line-height: 1.7;
}

/* opcional: en desktop un poco más grande */
@media (min-width: 992px){
  #nuestros-valores .de_tab_content > div{
    font-size: 1.25rem;
  }
}


/* =========================================================
  NUEVO DISEÑO
========================================================= */

/* =========================
   SOLDAPLAS - CSS MODERNO
   Rojo/Negro/Blanco (#cf1b16)
   ========================= */

:root {
    --soldaplas-primary: #cf1b16;
    --soldaplas-primary-dark: #a31512;
    --soldaplas-dark-bg: #0b0b0c;
    --soldaplas-text-dark: #111111;
    --soldaplas-text-light: #ffffff;
    --soldaplas-gray-bg: #f5f5f5;
}

/* Sección */
.soldaplas-section {
    background: var(--soldaplas-gray-bg);
    padding: clamp(60px, 8vw, 100px) 0;
}

.soldaplas-container {
    width: min(1400px, 92%);
    margin: 0 auto;
}

/* Hero */
.soldaplas-hero {
    text-align: center;
    margin-bottom: 60px;
}

.soldaplas-badge {
    display: block;
    color: var(--soldaplas-primary);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.soldaplas-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(36px, 6vw, 56px);
    font-weight: 900;
    color: var(--soldaplas-text-dark);
    margin: 0;
    line-height: 1.1;
}

/* Secciones de ancho completo */
.soldaplas-full-width {
    width: 100%;
    padding: clamp(60px, 8vw, 100px) 0;
}

.soldaplas-full-width--black {
    background: var(--soldaplas-dark-bg);
    color: white;
}

.soldaplas-full-width--red {
    background: var(--soldaplas-primary);
    color: white;
}

/* Títulos en secciones de ancho completo */
.soldaplas-content-title--white {
    color: white !important;
}

.soldaplas-content-title--white::before {
    background: white;
}

.soldaplas-intro--white {
    color: rgba(255, 255, 255, 0.9) !important;
}

.soldaplas-intro--white strong {
    color: white;
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

/* Content Blocks */
.soldaplas-content-block {
    margin-bottom: 60px;
}

.soldaplas-content-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    color: var(--soldaplas-primary);
    margin: 0 0 24px;
    padding-left: 20px;
    position: relative;
}

.soldaplas-content-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: var(--soldaplas-primary);
    border-radius: 3px;
}

.soldaplas-intro {
    font-size: 18px;
    color: var(--soldaplas-text-dark);
    line-height: 1.8;
    margin: 0 0 20px;
    font-weight: 500;
}

.soldaplas-text {
    font-size: 17px;
    color: var(--soldaplas-text-dark);
    line-height: 1.7;
    margin: 0 0 16px;
}

.soldaplas-text strong {
    color: var(--soldaplas-primary);
    font-weight: 700;
}

/* Tiles */
.soldaplas-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    margin: 24px 0;
}

.soldaplas-tile {
    background: var(--soldaplas-dark-bg);
    color: white;
    border: 3px solid var(--soldaplas-primary);
    border-radius: 12px;
    padding: 20px 16px;
    text-align: center;
    font-weight: 800;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.soldaplas-tile:hover {
    transform: translateY(-4px);
    background: var(--soldaplas-primary);
    box-shadow: 0 8px 24px rgba(207, 27, 22, 0.3);
}

/* Features Grid */
.soldaplas-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}

.soldaplas-feature-card {
    background: var(--soldaplas-dark-bg);
    border: 2px solid #1b1b1c;
    border-left: 8px solid var(--soldaplas-primary);
    border-radius: 12px;
    padding: 24px;
    transition: all 0.3s ease;
}

.soldaplas-feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

.soldaplas-feature-icon {
    font-size: 32px;
    margin-bottom: 12px;
}

.soldaplas-feature-title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: white;
    margin: 0 0 8px;
}

.soldaplas-feature-text {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    font-size: 16px;
}

.soldaplas-feature-text strong {
    color: white;
    font-weight: 700;
}

/* Callout */
.soldaplas-callout {
    background: var(--soldaplas-dark-bg);
    border: 3px solid var(--soldaplas-primary);
    border-radius: 16px;
    padding: 32px;
    margin: 40px 0;
}

.soldaplas-callout-title {
    font-family: 'Sora', sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: white;
    margin: 0 0 16px;
}

.soldaplas-callout-text {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.8;
    font-size: 17px;
}

.soldaplas-callout-text strong {
    color: white;
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

/* Video YouTube */
.soldaplas-video {
    background: white;
    border: 3px solid var(--soldaplas-primary);
    border-radius: 20px;
    padding: 28px;
    margin: 40px 0;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.soldaplas-video-title {
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--soldaplas-primary);
    margin: 0 0 20px;
}

.soldaplas-video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    border-radius: 16px;
    background: #000;
}

.soldaplas-video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Info Box */
.soldaplas-info-box {
    background: white;
    border: 3px solid var(--soldaplas-primary);
    border-radius: 20px;
    padding: 32px;
    margin: 40px 0;
    display: flex;
    gap: 24px;
    align-items: start;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.soldaplas-info-icon {
    font-size: 48px;
    flex-shrink: 0;
}

.soldaplas-info-content {
    flex: 1;
}

.soldaplas-info-title {
    font-family: 'Sora', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--soldaplas-primary);
    margin: 0 0 16px;
}

.soldaplas-info-list {
    margin: 0;
    padding-left: 20px;
    color: var(--soldaplas-text-dark);
    line-height: 1.8;
}

.soldaplas-info-list li {
    margin: 12px 0;
    font-size: 16px;
}

.soldaplas-info-list strong {
    color: var(--soldaplas-primary);
}

/* Split layout para proceso */
.soldaplas-split {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 32px;
    align-items: start;
    margin-top: 30px;
}

/* Video vertical */
.soldaplas-video-vertical {
    border: 3px solid var(--soldaplas-primary);
    border-radius: 16px;
    overflow: hidden;
    background: #000;
    aspect-ratio: 9 / 16;
    max-height: 680px;
}

.soldaplas-video-vertical video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Steps */
.soldaplas-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: steps;
    display: grid;
    gap: 16px;
}

.soldaplas-step {
    counter-increment: steps;
    padding: 20px 20px 20px 80px;
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    position: relative;
    line-height: 1.7;
    font-size: 16px;
}

.soldaplas-step::before {
    content: counter(steps, decimal-leading-zero);
    position: absolute;
    left: 16px;
    top: 16px;
    width: 48px;
    height: 48px;
    background: var(--soldaplas-primary);
    color: white;
    border: 2px solid white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 18px;
}

/* Tipos de soldadura */
.soldaplas-types-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
    margin-top: 30px;
}

.soldaplas-type-card {
    position: relative;
}

.soldaplas-type-media {
    width: 100%;
    border: 3px solid white;
    border-radius: 16px;
    overflow: hidden;
    background: #000;
    padding: 0;
    cursor: pointer;
    position: relative;
    display: block;
    transition: all 0.3s ease;
}

.soldaplas-type-media:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

.soldaplas-type-media img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
}

.soldaplas-type-tag {
    position: absolute;
    left: 16px;
    bottom: 16px;
    background: var(--soldaplas-dark-bg);
    color: white;
    border: 2px solid white;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.5px;
}

/* Control de calidad */
.soldaplas-quality-list {
    margin: 0 0 30px;
    padding-left: 20px;
    color: var(--soldaplas-text-dark);
    line-height: 1.8;
}

.soldaplas-quality-list li {
    margin: 12px 0;
    font-size: 17px;
}

.soldaplas-quality-list strong {
    color: var(--soldaplas-primary);
}

.soldaplas-table-wrapper {
    width: 100%;
    overflow-x: auto;
    border: 3px solid var(--soldaplas-primary);
    border-radius: 16px;
    background: white;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.soldaplas-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 800px;
}

.soldaplas-table thead {
    background: var(--soldaplas-primary);
}

.soldaplas-table th {
    padding: 16px;
    text-align: left;
    color: white;
    font-family: 'Sora', sans-serif;
    font-weight: 800;
    font-size: 15px;
    border-right: 2px solid rgba(255, 255, 255, 0.2);
}

.soldaplas-table th:last-child {
    border-right: none;
}

.soldaplas-table tbody tr {
    border-bottom: 2px solid #e5e7eb;
    transition: background 0.3s ease;
}

.soldaplas-table tbody tr:hover {
    background: rgba(207, 27, 22, 0.05);
}

.soldaplas-table tbody tr:last-child {
    border-bottom: none;
}

.soldaplas-table td {
    padding: 16px;
    color: var(--soldaplas-text-dark);
    font-size: 15px;
    border-right: 1px solid #e5e7eb;
}

.soldaplas-table td:first-child {
    font-weight: 700;
}

.soldaplas-table td:last-child {
    border-right: none;
}

/* Acordeón */
.soldaplas-accordion {
    border: 3px solid var(--soldaplas-primary);
    border-radius: 16px;
    overflow: hidden;
    margin-top: 30px;
}

.soldaplas-accordion-item {
    border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}

.soldaplas-accordion-item:last-child {
    border-bottom: none;
}

.soldaplas-accordion-btn {
    width: 100%;
    display: grid;
    grid-template-columns: 80px 1fr 50px;
    gap: 16px;
    align-items: center;
    padding: 20px;
    background: #000;
    color: white;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.3s ease;
}

.soldaplas-accordion-btn:hover {
    background: rgba(207, 27, 22, 0.1);
}

.soldaplas-accordion-num {
    width: 64px;
    height: 48px;
    background: var(--soldaplas-primary);
    color: white;
    border: 2px solid white;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 18px;
}

.soldaplas-accordion-title {
    font-weight: 700;
    font-size: 17px;
}

.soldaplas-accordion-icon {
    font-size: 28px;
    font-weight: 700;
    text-align: center;
}

.soldaplas-accordion-panel {
    display: none;
    background: #0f0f10;
    color: rgba(255, 255, 255, 0.9);
    padding: 24px;
    border-top: 2px solid rgba(255, 255, 255, 0.1);
}

.soldaplas-accordion-panel.is-open {
    display: block;
}

.soldaplas-accordion-panel p {
    margin: 0 0 12px;
    line-height: 1.7;
    font-size: 16px;
}

.soldaplas-accordion-panel ul {
    margin: 12px 0;
    padding-left: 20px;
    line-height: 1.7;
}

.soldaplas-accordion-panel strong {
    color: white;
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

/* Carrusel */
.soldaplas-carousel {
    position: relative;
    margin-top: 30px;
}

.soldaplas-carousel-viewport {
    overflow: hidden;
    border-radius: 16px;
}

.soldaplas-carousel-track {
    display: flex;
    gap: 20px;
    transition: transform 0.35s ease;
}

.soldaplas-carousel-slide {
    flex: 0 0 calc(33.333% - 14px);
}

.soldaplas-carousel-media {
    width: 100%;
    border: 3px solid var(--soldaplas-primary);
    border-radius: 16px;
    overflow: hidden;
    background: #000;
    padding: 0;
    cursor: pointer;
    display: block;
    transition: all 0.3s ease;
}

.soldaplas-carousel-media:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(207, 27, 22, 0.3);
}

.soldaplas-carousel-media img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

.soldaplas-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 3px solid white;
    background: var(--soldaplas-dark-bg);
    color: white;
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
}

.soldaplas-nav--prev {
    left: -26px;
}

.soldaplas-nav--next {
    right: -26px;
}

.soldaplas-nav:hover {
    background: var(--soldaplas-primary);
    transform: translateY(-50%) scale(1.1);
}

/* Lightbox */
.soldaplas-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}

.soldaplas-lightbox.is-open {
    display: flex;
}

.soldaplas-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
}

.soldaplas-lightbox-dialog {
    position: relative;
    width: min(1200px, 92%);
    max-height: 90vh;
    background: var(--soldaplas-dark-bg);
    border: 3px solid var(--soldaplas-primary);
    border-radius: 20px;
    padding: 20px;
    z-index: 1;
    display: grid;
    grid-template-columns: 60px 1fr 60px;
    gap: 20px;
    align-items: center;
}

.soldaplas-lightbox-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 48px;
    height: 48px;
    background: var(--soldaplas-dark-bg);
    color: white;
    border: 2px solid white;
    border-radius: 8px;
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    z-index: 10;
}

.soldaplas-lightbox-nav {
    width: 60px;
    height: 60px;
    border: 2px solid white;
    border-radius: 8px;
    background: var(--soldaplas-dark-bg);
    color: white;
    font-size: 32px;
    font-weight: 700;
    cursor: pointer;
}

.soldaplas-lightbox-content {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 20px;
    align-items: start;
}

.soldaplas-lightbox-figure {
    margin: 0;
    background: #000;
    border-radius: 12px;
    overflow: hidden;
}

.soldaplas-lightbox-img {
    width: 100%;
    height: min(70vh, 680px);
    object-fit: contain;
    display: block;
}

.soldaplas-lightbox-info {
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 24px;
    color: rgba(255, 255, 255, 0.9);
    overflow: auto;
    max-height: min(70vh, 680px);
}

.soldaplas-lightbox-title {
    font-family: 'Sora', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: white;
    margin: 0 0 16px;
}

.soldaplas-lightbox-text {
    margin: 0;
    line-height: 1.8;
    font-size: 16px;
}

.soldaplas-lightbox-caption {
    grid-column: 1 / -1;
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
    padding-top: 16px;
    border-top: 2px solid rgba(255, 255, 255, 0.1);
}

/* Lightbox modo galería (solo foto) */
.soldaplas-lightbox[data-mode="gallery"] .soldaplas-lightbox-content {
    grid-template-columns: 1fr;
}

.soldaplas-lightbox[data-mode="gallery"] .soldaplas-lightbox-info {
    display: none;
}

/* Responsive */
@media (max-width: 1024px) {
    .soldaplas-split {
        grid-template-columns: 1fr;
    }

    .soldaplas-types-grid {
        grid-template-columns: 1fr;
    }

    /* Tipos: imágenes más grandes en tablet/móvil */
    .soldaplas-type-media img {
        height: 400px;
    }

    .soldaplas-carousel-slide {
        flex: 0 0 calc(50% - 10px);
    }

    .soldaplas-lightbox-content {
        grid-template-columns: 1fr;
    }

    .soldaplas-lightbox-info {
        max-height: none;
    }
}

@media (max-width: 768px) {
    .soldaplas-tiles {
        grid-template-columns: repeat(2, 1fr);
    }

    .soldaplas-features-grid {
        grid-template-columns: 1fr;
    }

    .soldaplas-info-box {
        flex-direction: column;
        text-align: center;
    }

    /* Tipos: imágenes grandes en móvil */
    .soldaplas-type-media img {
        height: 450px;
    }

    /* Galería: slides más grandes en móvil */
    .soldaplas-carousel-slide {
        flex: 0 0 calc(85% - 10px);
    }

    /* Galería: imágenes más altas */
    .soldaplas-carousel-media img {
        height: 360px;
    }

    .soldaplas-nav--prev {
        left: 8px;
    }

    .soldaplas-nav--next {
        right: 8px;
    }

    .soldaplas-accordion-btn {
        grid-template-columns: 60px 1fr 40px;
        gap: 12px;
        padding: 16px;
    }

    .soldaplas-accordion-num {
        width: 52px;
        height: 44px;
        font-size: 16px;
    }

    .soldaplas-accordion-title {
        font-size: 15px;
    }

    /* Lightbox móvil: imágenes grandes con scroll en texto */
    .soldaplas-lightbox-dialog {
        grid-template-columns: 1fr;
        padding: 16px;
        max-height: 94vh;
        overflow: hidden;
    }

    .soldaplas-lightbox-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 5;
    }

    .soldaplas-lightbox-nav--prev {
        left: 12px;
    }

    .soldaplas-lightbox-nav--next {
        right: 12px;
    }

    .soldaplas-lightbox-content {
        grid-template-rows: auto 1fr;
        gap: 16px;
        max-height: calc(94vh - 100px);
        overflow: hidden;
    }

    .soldaplas-lightbox-figure {
        position: relative;
    }

    .soldaplas-lightbox-img {
        height: min(55vh, 500px);
        object-fit: cover;
    }

    .soldaplas-lightbox-info {
        max-height: calc(39vh - 60px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 480px) {
    .soldaplas-tiles {
        grid-template-columns: 1fr;
    }

    /* Tipos: imágenes más altas en móviles pequeños */
    .soldaplas-type-media img {
        height: 380px;
    }

    /* Galería: slides casi completos */
    .soldaplas-carousel-slide {
        flex: 0 0 calc(92% - 10px);
    }

    /* Galería: imágenes más altas */
    .soldaplas-carousel-media img {
        height: 320px;
    }
}

/* =========================================
   SOLDAPLAS - BOTONES CTA
   Agregar al CSS de Soldaplas
   ========================================= */

/* Contenedor de botones CTA */
.soldaplas-cta-buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 32px;
}

/* Botón CTA base */
.soldaplas-cta-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 28px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    border: 2px solid transparent;
}

.soldaplas-cta-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    text-decoration: none;
}

/* Icono del botón */
.soldaplas-cta-icon {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

/* Texto del botón */
.soldaplas-cta-text {
    flex: 1;
    text-align: left;
}

/* Botón primario (rojo) */
.soldaplas-cta-btn--primary {
    background: linear-gradient(135deg, #d9251c 0%, #b91e15 100%);
    color: white;
}

.soldaplas-cta-btn--primary:hover {
    background: linear-gradient(135deg, #b91e15 0%, #9a1812 100%);
    color: white;
}

.soldaplas-cta-btn--primary .soldaplas-cta-icon {
    background: rgba(255, 255, 255, 0.25);
}

/* Botón secundario (borde rojo) */
.soldaplas-cta-btn--secondary {
    background: white;
    color: #d9251c;
    border-color: #d9251c;
}

.soldaplas-cta-btn--secondary:hover {
    background: #d9251c;
    color: white;
    border-color: #d9251c;
}

.soldaplas-cta-btn--secondary .soldaplas-cta-icon {
    background: rgba(217, 37, 28, 0.1);
}

.soldaplas-cta-btn--secondary:hover .soldaplas-cta-icon {
    background: rgba(255, 255, 255, 0.25);
}

/* Responsive */
@media (max-width: 768px) {
    .soldaplas-cta-buttons {
        grid-template-columns: 1fr;
    }

    .soldaplas-cta-btn {
        padding: 16px 24px;
        font-size: 15px;
    }

    .soldaplas-cta-icon {
        width: 28px;
        height: 28px;
        font-size: 16px;
    }
}

/* =========================================================
   MUNSCH (hp-munsch) — REDISEÑO MEJORADO
   - Mejor separación visual entre categorías
   - Imágenes más pequeñas y proporcionadas
   - Diseño similar a munsch.de/en/products
========================================================= */

.hp-munsch{
  --ms:#f7741a;
  --ink:#111827;
  --muted:#4b5563;
  --soft:#6b7280;
  --white:#ffffff;
  --gray:#f3f4f6;
  --line:rgba(17,24,39,.12);
  --shadow:0 18px 38px rgba(0,0,0,.10);

  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
}

/* Head wrapper */
.hp-munsch__wrap{
  width:min(1400px, calc(100% - 2.5rem));
  margin:0 auto;
  padding: 56px 0 18px;
}

/* Head */
.hp-munsch__head{
  margin: 0 0 16px;
  padding-left: 14px;
  border-left: 6px solid var(--ms);
}

.hp-munsch__kicker{
  margin:0 0 6px;
  color: var(--ms);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
}

.hp-munsch__title{
  margin:0 0 10px;
  font-weight: 950;
  line-height: 1.1;
  font-size: clamp(26px, 3vw, 42px);
}

.hp-munsch__intro{
  max-width: 115ch;
  color: var(--muted);
  line-height: 1.8;
  font-size: 1.06rem;
}

.hp-munsch__intro p{ margin:0 0 10px; }
.hp-munsch__intro strong{ color: var(--ms); }

/* Tabs */
.hp-munsch__nav{
  position: sticky;
  top: 96px;
  z-index: 10;

  display:flex;
  flex-wrap:wrap;
  gap:10px;

  margin: 18px 0 0;
  padding: 12px;

  border-radius: 16px;
  border: 1px solid rgba(17,24,39,.10);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(6px);
}

.hp-munsch__tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 14px;

  border-radius: 999px;
  text-decoration:none;

  border: 1px solid rgba(247,116,26,.35);
  background: rgba(247,116,26,.10);

  color: var(--ink);
  font-weight: 950;
  font-size: 14px;

  transition: transform .14s ease, background-color .14s ease, box-shadow .14s ease, color .14s ease;
}

.hp-munsch__tab:hover{
  transform: translateY(-1px);
  background: rgba(247,116,26,.14);
}

.hp-munsch__tab.is-active{
  background: var(--ms);
  border-color: var(--ms);
  color:#fff;
  box-shadow: 0 16px 30px rgba(247,116,26,.22);
}

/* =========================================================
   BANDAS MEJORADAS - Fondos completos alternados
========================================================= */
.hp-munsch__band{
  padding: 72px 0;
  position: relative;
  width: 100%;
}

.hp-munsch__band--white{ 
  background: var(--white) !important;
  background-color: #ffffff !important;
}

.hp-munsch__band--gray{ 
  background: var(--gray) !important;
  background-color: #f3f4f6 !important;
}

/* Forzar transparencia en TODOS los hijos de las bandas grises */
.hp-munsch__band--gray *:not(.hp-munsch-carousel__btn):not(.hp-munsch-slide__btn):not(.hp-munsch__catTitle) {
  background: transparent !important;
  background-color: transparent !important;
}

/* Excepciones específicas para mantener funcionalidad */
.hp-munsch__band--gray .hp-munsch-carousel__btn {
  background: rgba(17,24,39,.75) !important;
}

.hp-munsch__band--gray .hp-munsch-slide__btn {
  background: var(--ms) !important;
}

/* Contenedor interno de cada banda */
.hp-munsch__inner{
  width:min(1400px, calc(100% - 2.5rem));
  margin:0 auto;
  color: var(--ink) !important;
}

.hp-munsch__inner *{
  color: inherit;
}

/* Categoria */
.hp-munsch__cat{
  scroll-margin-top: 160px;
}

.hp-munsch__catHead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 12px;
  margin: 0 0 32px;
  padding-bottom: 16px;
  border-bottom: 2px solid rgba(247,116,26,.15);
}

.hp-munsch__catTitle{
  margin:0;
  font-weight: 950;
  letter-spacing: .01em;
  line-height: 1.15;
  font-size: clamp(20px, 2vw, 28px);
  color: var(--ms) !important; /* Naranja siempre */
}

/* =========================================================
   CARRUSEL MEJORADO - Imágenes más pequeñas
========================================================= */
.hp-munsch-carousel{
  position: relative;
  background: transparent !important;
}

.hp-munsch-carousel__viewport{
  overflow: hidden;
  border-radius: 0;
  background: transparent !important;
}

.hp-munsch-carousel__track{
  display:flex;
  width: 100%;
  transform: translateX(0);
  transition: transform .42s ease;
  will-change: transform;
  background: transparent !important;
}

/* Slide mejorado: imagen más pequeña (45% vs 52%) */
.hp-munsch-slide{
  flex: 0 0 100%;
  display:grid;
  grid-template-columns: 0.85fr 1.15fr; /* imagen más pequeña */
  gap: 32px;
  align-items: center;

  padding: 24px;
  background: transparent !important; /* Sin fondo para que se vea el de la banda */
  border-radius: 0; /* Sin bordes redondeados */
  box-shadow: none !important;
}

/* Mantener el slide sin fondo adicional */
.hp-munsch__band--gray .hp-munsch-slide{
  background: transparent !important;
  box-shadow: none !important;
}

/* Media (imagen) - Más pequeña y compacta */
.hp-munsch-slide__media{
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: transparent !important; /* Sin fondo para que respete el color de la banda */
  box-shadow: none !important;
  /* Altura más controlada */
  height: 320px;
}

/* En bandas blancas, mantener fondo blanco en la imagen */
.hp-munsch__band--white .hp-munsch-slide__media{
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
}

/* En bandas grises, mantener fondo gris en la imagen */
.hp-munsch__band--gray .hp-munsch-slide__media{
  background: transparent !important;
  box-shadow: none !important;
}

.hp-munsch-slide__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit: contain; /* contain en vez de cover para ver productos completos */
  object-position: center;
  padding: 16px; /* espacio alrededor de la imagen */
  transform: scale(1);
  transition: transform .35s ease;
}

@media (prefers-reduced-motion: no-preference){
  .hp-munsch-slide__media:hover img{
    transform: scale(1.05);
  }
}

/* Flechas: dentro de la imagen */
.hp-munsch-carousel__btn{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 999px;

  border: 1px solid rgba(255,255,255,.85);
  background: rgba(17,24,39,.75);
  color:#fff;

  font-size: 26px;
  line-height: 1;
  font-weight: 950;

  display:grid;
  place-items:center;

  cursor:pointer;
  z-index: 3;

  transition: transform .14s ease, background-color .14s ease, filter .14s ease;
}

.hp-munsch-carousel__btn:hover{
  transform: translateY(-50%) scale(1.08);
  background: rgba(17,24,39,.85);
}

.hp-munsch-carousel__btn--prev{ left: 10px; }
.hp-munsch-carousel__btn--next{ right: 10px; }

/* Body (texto) - Más espacio y legible */
.hp-munsch-slide__body{
  display:flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;

  padding: 8px 12px 8px 0;
  background: transparent !important;
}

.hp-munsch-slide__title{
  margin: 0;
  font-weight: 950;
  line-height: 1.2;
  font-size: clamp(20px, 1.6vw, 26px);
  color: var(--ink) !important;
}

.hp-munsch-slide__desc{
  margin: 0;
  color: var(--muted) !important;
  line-height: 1.75;
  font-size: 1.04rem;
}

/* CTA */
.hp-munsch-slide__btn{
  margin-top: 6px;
  width: fit-content;

  display:inline-flex;
  align-items:center;
  gap: 8px;

  padding: 13px 18px;
  border-radius: 14px;
  text-decoration:none;

  background: var(--ms);
  color: #fff !important; /* Texto blanco siempre */
  font-weight: 950;
  font-size: 15px;
  border: 0;

  box-shadow: 0 12px 28px rgba(247,116,26,.22);
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}

.hp-munsch-slide__btn:hover{
  transform: translateY(-2px);
  filter: brightness(.98);
  box-shadow: 0 16px 36px rgba(247,116,26,.28);
}

/* Asegurar que los elementos dentro del botón también sean blancos */
.hp-munsch-slide__btn *{
  color: #fff !important;
}

/* Thumbs mejoradas */
.hp-munsch-carousel__thumbs{
  margin-top: 20px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.hp-munsch-thumb{
  width: 92px;
  height: 60px;
  border-radius: 12px;
  overflow:hidden;
  background: transparent !important; /* Sin fondo por defecto */

  border: 2px solid rgba(17,24,39,.10);
  padding: 0;
  cursor:pointer;

  opacity: .75;
  transform: translateY(0);
  transition: transform .14s ease, opacity .14s ease, border-color .14s ease, box-shadow .14s ease;
}

/* En bandas blancas, fondo blanco */
.hp-munsch__band--white .hp-munsch-thumb{
  background: #fff !important;
}

/* En bandas grises, sin fondo (completamente transparente) */
.hp-munsch__band--gray .hp-munsch-thumb{
  background: transparent !important;
  border-color: rgba(17,24,39,.15);
}

.hp-munsch-thumb img{
  width:100%;
  height:100%;
  object-fit: contain;
  padding: 6px;
  display:block;
}

.hp-munsch-thumb:hover{
  transform: translateY(-2px);
  opacity: .95;
  border-color: rgba(17,24,39,.18);
}

.hp-munsch-thumb.is-active{
  opacity: 1;
  border-color: var(--ms);
  box-shadow: 0 8px 20px rgba(247,116,26,.25);
}

/* =========================================================
   Responsive
========================================================= */
@media (max-width: 980px){
  .hp-munsch__wrap{
    width:min(1400px, calc(100% - 2rem));
  }
  .hp-munsch__inner{
    width:min(1400px, calc(100% - 2rem));
  }

  .hp-munsch__band{
    padding: 56px 0;
  }

  .hp-munsch-slide{
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }

  .hp-munsch-slide__media{
    height: 280px;
  }

  /* Flechas en mobile */
  .hp-munsch-carousel__btn{
    top: auto;
    bottom: 10px;
    transform: none;
    width: 40px;
    height: 40px;
    font-size: 24px;
  }
  .hp-munsch-carousel__btn:hover{
    transform: scale(1.05);
  }
  .hp-munsch-carousel__btn--prev{ left: 10px; }
  .hp-munsch-carousel__btn--next{ right: 10px; }

  .hp-munsch-slide__desc{
    font-size: 1.02rem;
  }

  .hp-munsch__catHead{
    margin-bottom: 24px;
  }
}

@media (max-width: 640px){
  .hp-munsch__nav{
    top: 86px;
    padding: 10px;
  }

  .hp-munsch__tab{
    width: 100%;
    justify-content: flex-start;
  }

  .hp-munsch__band{
    padding: 42px 0;
  }

  .hp-munsch-slide{
    padding: 16px;
  }

  .hp-munsch-slide__media{
    height: 240px;
  }

  .hp-munsch-thumb{
    width: 80px;
    height: 54px;
  }

  .hp-munsch__catTitle{
    font-size: clamp(18px, 4vw, 22px);
  }
}

/* =========================================================
   Animación simple de aparición (opcional)
========================================================= */
.hp-anim{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .6s ease;
}
.hp-anim.is-inview{
  opacity: 1;
  transform: translateY(0);
}

/* =========================
   MILLER WELDMASTER - CSS MODERNO
   Verde corporativo #3cb54a
   ========================= */

:root {
    --miller-primary: #3cb54a;
    --miller-primary-dark: #2d9139;
    --miller-secondary: #f7741a;
    --miller-dark-bg: #0f172a;
    --miller-text-dark: #1a1a1a;
    --miller-text-muted: #64748b;
    --miller-gray-bg: #f5f5f5;
}

/* Sección */
.miller-section {
    background: var(--miller-gray-bg);
    padding: 0 0 clamp(60px, 8vw, 100px);
    position: relative;
}

/* Franjas verdes decorativas */
.miller-stripe {
    width: 100%;
    height: 60px;
    background: linear-gradient(135deg, var(--miller-primary-dark) 0%, var(--miller-primary) 100%);
    position: relative;
    overflow: hidden;
}

.miller-stripe::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        repeating-linear-gradient(
            45deg,
            transparent,
            transparent 10px,
            rgba(255, 255, 255, 0.05) 10px,
            rgba(255, 255, 255, 0.05) 20px
        );
}

.miller-stripe--top {
    margin-bottom: clamp(40px, 6vw, 60px);
}

.miller-stripe--bottom {
    margin-top: clamp(40px, 6vw, 60px);
}

/* Sección de ancho completo verde */
.miller-full-width {
    width: 100%;
    padding: clamp(60px, 8vw, 100px) 0;
    position: relative;
}

.miller-full-width--green {
    background: linear-gradient(180deg, #2d9139 0%, var(--miller-primary) 100%);
}

.miller-full-width--green::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.12) 0%, transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 40%),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 50px,
            rgba(255, 255, 255, 0.03) 50px,
            rgba(255, 255, 255, 0.03) 100px
        );
    pointer-events: none;
}

/* Sección de productos */
.miller-products-section {
    background: var(--miller-gray-bg);
    padding: clamp(60px, 8vw, 100px) 0;
    position: relative;
}

.miller-products-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(60, 181, 74, 0.15) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.miller-products-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(60, 181, 74, 0.12) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

/* Sección de galería */
.miller-gallery-section {
    background: var(--miller-gray-bg);
    padding: clamp(60px, 8vw, 100px) 0;
}

.miller-container {
    width: min(1400px, 92%);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
}

.miller-stripe--bottom {
    margin-top: clamp(40px, 6vw, 60px);
}

/* Sección de productos con fondo verde */
.miller-products-section {
    background: linear-gradient(180deg, var(--miller-primary) 0%, var(--miller-primary-dark) 100%);
    padding: clamp(60px, 8vw, 100px) 0;
    position: relative;
}

.miller-products-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.08) 0%, transparent 50%);
    pointer-events: none;
}

/* Sección de galería con fondo gris */
.miller-gallery-section {
    background: var(--miller-gray-bg);
    padding: clamp(60px, 8vw, 100px) 0;
}

.miller-container {
    width: min(1400px, 92%);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* Hero */
.miller-hero {
    text-align: center;
    margin-bottom: 60px;
}

.miller-badge {
    display: block;
    color: var(--miller-primary);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.miller-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(36px, 6vw, 56px);
    font-weight: 900;
    color: var(--miller-text-dark);
    margin: 0 0 16px;
    line-height: 1.1;
}

.miller-intro {
    font-size: 18px;
    color: var(--miller-text-muted);
    line-height: 1.7;
    margin: 0;
    max-width: 800px;
    margin: 0 auto;
}

/* Producto destacado */
.miller-featured {
    background: white;
    border: 4px solid transparent;
    border-radius: 24px;
    padding: 40px;
    margin-bottom: 0;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    align-items: center;
    position: relative;
}

.miller-featured::before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.4) 100%);
    border-radius: 24px;
    z-index: -1;
}

.miller-featured::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, var(--miller-secondary) 0%, var(--miller-primary) 50%, var(--miller-secondary) 100%);
    border-radius: 24px 24px 0 0;
}

.miller-featured-badge {
    display: inline-block;
    background: var(--miller-primary);
    color: white;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.miller-featured-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    color: var(--miller-text-dark);
    margin: 0 0 12px;
    line-height: 1.2;
}

.miller-featured-subtitle {
    font-size: 17px;
    font-weight: 600;
    color: var(--miller-text-muted);
    margin: 0 0 16px;
    line-height: 1.4;
}

.miller-featured-text {
    font-size: 16px;
    color: var(--miller-text-muted);
    line-height: 1.7;
    margin: 0 0 24px;
}

.miller-featured-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* Botones */
.miller-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    border-radius: 12px;
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.miller-btn svg {
    width: 18px;
    height: 18px;
}

.miller-btn--primary {
    background: var(--miller-secondary);
    color: white;
    border-color: var(--miller-secondary);
    box-shadow: 0 4px 12px rgba(247, 116, 26, 0.3);
}

.miller-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(247, 116, 26, 0.4);
    background: #e86610;
}

.miller-btn--secondary {
    background: white;
    color: var(--miller-secondary);
    border-color: var(--miller-secondary);
}

.miller-btn--secondary:hover {
    background: var(--miller-secondary);
    color: white;
    transform: translateY(-2px);
}

/* Carrusel destacado */
.miller-featured-carousel {
    position: relative;
}

.miller-carousel {
    position: relative;
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.miller-carousel-viewport {
    overflow: hidden;
}

.miller-carousel-track {
    display: flex;
    transition: transform 0.35s ease;
}

.miller-carousel-slide {
    flex: 0 0 100%;
    aspect-ratio: 16 / 9;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: white;
}

.miller-carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.miller-carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid white;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
}

.miller-carousel-nav--prev {
    left: 12px;
}

.miller-carousel-nav--next {
    right: 12px;
}

.miller-carousel-nav:hover {
    background: rgba(0, 0, 0, 0.9);
    transform: translateY(-50%) scale(1.1);
}

/* Productos */
.miller-products {
    background: white;
    border: 3px solid var(--miller-primary);
    border-radius: 24px;
    padding: 32px;
    margin-bottom: 60px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.miller-products-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 3px solid var(--miller-primary);
}

.miller-products-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    color: var(--miller-text-dark);
    margin: 0;
}

.miller-products-nav {
    display: flex;
    gap: 12px;
}

.miller-products-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid var(--miller-primary);
    background: rgba(60, 181, 74, 0.1);
    color: var(--miller-text-dark);
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.miller-products-btn:hover {
    background: var(--miller-primary);
    color: white;
    transform: scale(1.05);
}

.miller-products-carousel {
    overflow: hidden;
}

.miller-products-track {
    display: flex;
    transition: transform 0.35s ease;
}

.miller-product-card {
    flex: 0 0 100%;
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    gap: 32px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.miller-product-image {
    flex: 0 0 45%;
    background: #f9fafb;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.miller-product-image img {
    width: 100%;
    height: 400px;
    object-fit: contain;
    display: block;
}

.miller-product-content {
    flex: 1;
    padding: 32px 32px 32px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.miller-product-title {
    font-family: 'Sora', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--miller-text-dark);
    margin: 0;
    line-height: 1.3;
}

.miller-product-desc {
    font-size: 16px;
    color: var(--miller-text-muted);
    line-height: 1.7;
    margin: 0;
    flex: 1;
}

.miller-product-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 12px;
    background: var(--miller-secondary);
    color: white;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    align-self: flex-start;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(247, 116, 26, 0.3);
}

.miller-product-link svg {
    width: 18px;
    height: 18px;
}

.miller-product-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(247, 116, 26, 0.4);
    background: #e86610;
    color: white;
}

/* Galería */
.miller-gallery {
    background: white;
    border: 3px solid var(--miller-primary);
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.miller-gallery-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    color: var(--miller-text-dark);
    margin: 0 0 24px;
    padding-bottom: 20px;
    border-bottom: 3px solid var(--miller-primary);
}

.miller-gallery-carousel {
    display: grid;
    grid-template-columns: 60px 1fr 60px;
    gap: 16px;
    align-items: center;
}

.miller-gallery-nav {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 2px solid var(--miller-primary);
    background: rgba(60, 181, 74, 0.1);
    color: var(--miller-text-dark);
    font-size: 26px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.miller-gallery-nav:hover {
    background: var(--miller-primary);
    color: white;
    transform: scale(1.05);
}

.miller-gallery-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

.miller-gallery-viewport::-webkit-scrollbar {
    height: 8px;
}

.miller-gallery-viewport::-webkit-scrollbar-thumb {
    background: var(--miller-primary);
    border-radius: 4px;
}

.miller-gallery-viewport::-webkit-scrollbar-track {
    background: #e5e7eb;
    border-radius: 4px;
}

.miller-gallery-track {
    display: flex;
    gap: 16px;
    padding: 8px 0;
}

.miller-gallery-item {
    flex: 0 0 auto;
    width: clamp(280px, 28vw, 380px);
    border: 3px solid transparent;
    border-radius: 16px;
    overflow: hidden;
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.miller-gallery-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
    border-color: var(--miller-primary);
}

.miller-gallery-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

/* Lightbox */
.miller-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}

.miller-lightbox[aria-hidden="false"] {
    display: flex;
}

.miller-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
}

.miller-lightbox-dialog {
    position: relative;
    width: min(1200px, 94%);
    max-height: 90vh;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border-radius: 24px;
    padding: 20px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}

.miller-lightbox-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(0, 0, 0, 0.6);
    color: white;
    font-size: 32px;
    font-weight: 700;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.miller-lightbox-close:hover {
    background: rgba(0, 0, 0, 0.8);
}

.miller-lightbox-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    position: relative;
}

.miller-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.1);
    color: white;
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
}

.miller-lightbox-nav--prev {
    left: 20px;
}

.miller-lightbox-nav--next {
    right: 20px;
}

.miller-lightbox-nav:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-50%) scale(1.1);
}

.miller-lightbox-figure {
    margin: 0;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    width: 100%;
    max-width: 1200px;
}

.miller-lightbox-img {
    width: 100%;
    height: min(78vh, 800px);
    object-fit: contain;
    display: block;
}

@media (min-width: 1025px) {
    .miller-lightbox-dialog {
        width: min(1600px, 96%);
        max-width: 1600px;
    }

    .miller-lightbox-content {
        padding: 0 80px;
    }

    .miller-lightbox-figure {
        height: 82vh;
        max-width: 100%;
    }

    .miller-lightbox-img {
        height: 82vh;
    }

    .miller-lightbox-nav {
        width: 64px;
        height: 64px;
        font-size: 32px;
    }
}

.miller-lightbox-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 14px;
    font-weight: 600;
}

.miller-lightbox-counter {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
}

.miller-lightbox-thumbs {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 8px 0;
}

.miller-lightbox-thumb {
    flex: 0 0 auto;
    width: 120px;
    border: 3px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

.miller-lightbox-thumb.is-active {
    border-color: var(--miller-primary);
}

.miller-lightbox-thumb img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    display: block;
}

/* Responsive */
@media (max-width: 1024px) {
    .miller-featured {
        grid-template-columns: 1fr;
    }

    .miller-product-card {
        flex-direction: column;
    }

    .miller-product-image {
        flex: 0 0 auto;
        width: 100%;
    }

    .miller-product-image img {
        height: 320px;
    }

    .miller-product-content {
        padding: 24px;
    }

    .miller-gallery-carousel {
        grid-template-columns: 1fr;
    }

    .miller-gallery-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
    }

    .miller-gallery-nav--prev {
        left: 8px;
    }

    .miller-gallery-nav--next {
        right: 8px;
    }
}

@media (max-width: 768px) {
    .miller-featured {
        padding: 28px;
    }

    .miller-featured-ctas {
        flex-direction: column;
    }

    .miller-btn {
        width: 100%;
        justify-content: center;
    }

    .miller-products {
        padding: 24px;
    }

    .miller-product-image img {
        height: 280px;
    }

    .miller-gallery {
        padding: 24px;
    }

    .miller-gallery-item {
        width: 280px;
    }

    .miller-lightbox-content {
        padding: 0 60px;
    }

    .miller-lightbox-nav {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .miller-lightbox-nav--prev {
        left: 12px;
    }

    .miller-lightbox-nav--next {
        right: 12px;
    }

    .miller-lightbox-img {
        height: min(65vh, 600px);
    }

    .miller-lightbox-figure {
        height: min(65vh, 600px);
    }
}

@media (max-width: 480px) {
    .miller-carousel-slide {
        padding: 12px;
    }

    .miller-product-title {
        font-size: 20px;
    }

    .miller-product-desc {
        font-size: 15px;
    }

    .miller-gallery-item {
        width: 240px;
    }

    .miller-gallery-item img {
        height: 200px;
    }
}

/* =========================================
   CISPLA - ESTILOS CSS
   ========================================= */

:root {
    --cispla-primary: #e85d34;
    --cispla-primary-dark: #d24d24;
    --cispla-dark-bg: #1a3a47;
    --cispla-darker-bg: #0f2530;
    --cispla-light-bg: #f8f9fa;
    --cispla-text-dark: #1a1a1a;
    --cispla-text-light: #ffffff;
    --cispla-text-muted: #6b7280;
    --cispla-border-light: rgba(255, 255, 255, 0.1);
    --cispla-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.05);
    --cispla-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);
    --cispla-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.15);
}

/* Hero Section */
.cispla-hero {
    background: linear-gradient(135deg, var(--cispla-dark-bg) 0%, var(--cispla-darker-bg) 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.cispla-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 50%, rgba(232, 93, 52, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(232, 93, 52, 0.05) 0%, transparent 50%);
    pointer-events: none;
}

.cispla-hero__content {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.cispla-hero__text {
    animation: cisplaSlideInLeft 0.8s ease-out;
}

.cispla-hero__badge {
    display: inline-block;
    background: rgba(232, 93, 52, 0.15);
    color: var(--cispla-primary);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 24px;
    border: 1px solid rgba(232, 93, 52, 0.3);
}

.cispla-hero__title {
    font-family: 'Sora', sans-serif;
    font-size: 56px;
    font-weight: 800;
    line-height: 1.1;
    color: var(--cispla-text-light);
    margin-bottom: 24px;
    letter-spacing: -0.02em;
}

.cispla-hero__description {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 40px;
    line-height: 1.7;
}

.cispla-hero__features {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--cispla-border-light);
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 40px;
    backdrop-filter: blur(10px);
}

.cispla-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
}

.cispla-feature-item:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cispla-feature-item__icon {
    width: 8px;
    height: 8px;
    background: var(--cispla-primary);
    border-radius: 50%;
    flex-shrink: 0;
}

.cispla-feature-item__text {
    color: rgba(255, 255, 255, 0.9);
    font-size: 15px;
    font-weight: 500;
}

.cispla-hero__buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.cispla-btn {
    padding: 16px 32px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    border: none;
}

.cispla-btn--primary {
    background: var(--cispla-primary);
    color: white;
    box-shadow: 0 4px 16px rgba(232, 93, 52, 0.3);
}

.cispla-btn--primary:hover {
    background: var(--cispla-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(232, 93, 52, 0.4);
    color: white;
    text-decoration: none;
}

.cispla-btn--secondary {
    background: transparent;
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.cispla-btn--secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    color: white;
    text-decoration: none;
}

/* Stats Grid */
.cispla-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    animation: cisplaSlideInRight 0.8s ease-out;
}

.cispla-stat-card {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid var(--cispla-border-light);
    border-radius: 20px;
    padding: 28px 24px;
    text-align: center;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.cispla-stat-card:hover {
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

.cispla-stat-card__number {
    font-family: 'Sora', sans-serif;
    font-size: 48px;
    font-weight: 800;
    color: var(--cispla-primary);
    margin-bottom: 8px;
    display: block;
}

.cispla-stat-card__label {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.cispla-instructor {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--cispla-border-light);
    border-radius: 16px;
    padding: 20px 24px;
    margin-top: 24px;
    backdrop-filter: blur(10px);
}

.cispla-instructor p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    margin-bottom: 8px;
}

.cispla-instructor p:last-child {
    margin-bottom: 0;
}

/* Objectives Section */
.cispla-objectives {
    padding: 80px 0;
    background: white;
}

.cispla-section-title {
    font-family: 'Sora', sans-serif;
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 48px;
    text-align: center;
    color: var(--cispla-text-dark);
}

.cispla-objectives__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 32px;
}

.cispla-objective-card {
    background: linear-gradient(135deg, var(--cispla-dark-bg) 0%, var(--cispla-darker-bg) 100%);
    border-radius: 24px;
    padding: 40px;
    color: white;
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
}

.cispla-objective-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--cispla-primary) 0%, #ff9068 100%);
}

.cispla-objective-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--cispla-shadow-lg);
}

.cispla-objective-card__title {
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
}

.cispla-objective-card__text {
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
}

/* About Section */
.cispla-about {
    padding: 80px 0;
    background: var(--cispla-light-bg);
}

.cispla-about__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.cispla-about__title {
    font-family: 'Sora', sans-serif;
    font-size: 38px;
    font-weight: 800;
    margin-bottom: 24px;
    color: var(--cispla-text-dark);
}

.cispla-about__description {
    font-size: 17px;
    line-height: 1.8;
    color: var(--cispla-text-muted);
    margin-bottom: 40px;
}

.cispla-highlight {
    color: var(--cispla-primary);
    font-weight: 600;
}

.cispla-services {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}

.cispla-service-card {
    background: white;
    border-radius: 16px;
    padding: 28px;
    box-shadow: var(--cispla-shadow-sm);
    transition: all 0.3s ease;
    border: 1px solid #e5e7eb;
}

.cispla-service-card:hover {
    box-shadow: var(--cispla-shadow-md);
    transform: translateY(-4px);
}

.cispla-service-card__title {
    font-family: 'Sora', sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--cispla-text-dark);
}

.cispla-service-card__text {
    font-size: 14px;
    color: var(--cispla-text-muted);
    line-height: 1.6;
}

/* Projects Section */
.cispla-projects {
    background: var(--cispla-dark-bg);
    border-radius: 24px;
    padding: 48px;
    color: white;
}

.cispla-projects__title {
    font-family: 'Sora', sans-serif;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 32px;
}

.cispla-projects__list {
    display: grid;
    gap: 16px;
}

.cispla-project-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
}

.cispla-project-item__bullet {
    width: 6px;
    height: 6px;
    background: var(--cispla-primary);
    border-radius: 50%;
    flex-shrink: 0;
}

.cispla-project-item__text {
    color: rgba(255, 255, 255, 0.9);
    font-size: 16px;
}

.cispla-project-item__text strong {
    color: white;
    font-weight: 700;
}

/* Benefits Section */
.cispla-benefits {
    padding: 80px 0;
    background: white;
}

.cispla-benefits__header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 60px;
}

.cispla-benefits__subtitle {
    font-size: 18px;
    color: var(--cispla-text-muted);
}

.cispla-benefits__layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 60px;
    align-items: start;
}

.cispla-benefits__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.cispla-benefit-card {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 36px 28px;
    position: relative;
    transition: all 0.3s ease;
}

.cispla-benefit-card:hover {
    border-color: var(--cispla-primary);
    box-shadow: var(--cispla-shadow-md);
    transform: translateY(-4px);
}

.cispla-benefit-card__number {
    position: absolute;
    top: -20px;
    left: 28px;
    width: 48px;
    height: 48px;
    background: var(--cispla-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(232, 93, 52, 0.3);
}

.cispla-benefit-card__title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 12px;
    margin-top: 16px;
    color: var(--cispla-text-dark);
}

.cispla-benefit-card__text {
    color: var(--cispla-text-muted);
    font-size: 15px;
    line-height: 1.7;
}

/* Video Container - Diseñado para video vertical */
.cispla-benefits__video-container {
    position: sticky;
    top: 100px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.cispla-video-wrapper {
    width: 100%;
    max-width: 400px;
    background: linear-gradient(135deg, var(--cispla-dark-bg) 0%, var(--cispla-darker-bg) 100%);
    border-radius: 24px;
    padding: 16px;
    box-shadow: var(--cispla-shadow-lg);
    position: relative;
    overflow: hidden;
}

.cispla-video-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 50% 50%, rgba(232, 93, 52, 0.1) 0%, transparent 70%);
    pointer-events: none;
    z-index: 1;
}

.cispla-video {
    width: 100%;
    height: auto;
    aspect-ratio: 9/16; /* Proporción vertical típica de videos móviles */
    border-radius: 16px;
    display: block;
    background: #000;
    position: relative;
    z-index: 2;
}

.cispla-video::-webkit-media-controls-panel {
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
}

/* CTA Section */
.cispla-cta {
    padding: 80px 0;
    background: var(--cispla-light-bg);
}

.cispla-cta__grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
}

.cispla-cta-card {
    background: linear-gradient(135deg, var(--cispla-dark-bg) 0%, var(--cispla-darker-bg) 100%);
    border-radius: 24px;
    padding: 48px;
    color: white;
    position: relative;
    overflow: hidden;
}

.cispla-cta-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(232, 93, 52, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

.cispla-cta-card__title {
    font-family: 'Sora', sans-serif;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 16px;
    position: relative;
}

.cispla-cta-card__text {
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 24px;
    font-size: 16px;
    line-height: 1.7;
    position: relative;
}

.cispla-contact-info {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--cispla-border-light);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
    position: relative;
}

.cispla-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    color: rgba(255, 255, 255, 0.9);
}

.cispla-contact-item__label {
    font-weight: 600;
    min-width: 80px;
}

.cispla-contact-item__value {
    color: rgba(255, 255, 255, 0.7);
}

/* Animations */
@keyframes cisplaSlideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes cisplaSlideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Responsive */
@media (max-width: 1024px) {
    .cispla-hero__content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .cispla-about__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .cispla-cta__grid {
        grid-template-columns: 1fr;
    }
    
    .cispla-services {
        grid-template-columns: 1fr;
    }
    
    .cispla-benefits__layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .cispla-benefits__video-container {
        position: relative;
        top: 0;
        order: -1; /* Mover el video arriba en móvil */
    }
    
    .cispla-video-wrapper {
        max-width: 350px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .cispla-hero__title {
        font-size: 40px;
    }
    
    .cispla-section-title {
        font-size: 32px;
    }
    
    .cispla-objectives__grid {
        grid-template-columns: 1fr;
    }
    
    .cispla-benefits__grid {
        grid-template-columns: 1fr;
    }
    
    .cispla-hero {
        padding: 60px 0;
    }
    
    .cispla-objectives,
    .cispla-about,
    .cispla-benefits,
    .cispla-cta {
        padding: 60px 0;
    }
    
    .cispla-video-wrapper {
        max-width: 300px;
    }
}

/* =========================================
   CERTIFICACIONES Y GALERÍA CISPLA
   ========================================= */

/* Certificaciones Base */
.cispla-cert {
    padding: 80px 0;
    position: relative;
}

.cispla-cert--dvs {
    background: linear-gradient(135deg, #e8f4f8 0%, #ffffff 100%);
}

.cispla-cert--iagi {
    background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);
}

/* Logo Certificación */
.cispla-cert-logo {
    text-align: center;
    margin-bottom: 48px;
}

.cispla-cert-logo-img {
    max-width: 280px;
    height: auto;
    display: inline-block;
}

/* Hero Certificación */
.cispla-cert-hero {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 48px;
    margin-bottom: 60px;
    align-items: start;
}

.cispla-cert-badge {
    display: inline-block;
    background: rgba(232, 93, 52, 0.1);
    color: var(--cispla-primary);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.cispla-cert-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 800;
    color: var(--cispla-text-dark);
    margin: 0 0 24px;
    line-height: 1.1;
}

.cispla-cert-lead {
    font-size: 17px;
    color: var(--cispla-text-muted);
    line-height: 1.8;
    margin: 0 0 16px;
}

.cispla-cert-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 32px 0;
}

.cispla-cert-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.cispla-cert-chip {
    background: white;
    border: 2px solid #e5e7eb;
    padding: 10px 18px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    color: var(--cispla-text-dark);
    transition: all 0.3s ease;
    cursor: default;
    position: relative;
    overflow: hidden;
}

.cispla-cert-chip::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(232, 93, 52, 0.1), transparent);
    transition: left 0.5s ease;
}

.cispla-cert-chip:hover {
    border-color: var(--cispla-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(232, 93, 52, 0.2);
}

.cispla-cert-chip:hover::before {
    left: 100%;
}

/* Animación de entrada */
@keyframes chipSlideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cispla-cert-chip {
    animation: chipSlideIn 0.4s ease forwards;
}

.cispla-cert-chip:nth-child(1) { animation-delay: 0.1s; opacity: 0; }
.cispla-cert-chip:nth-child(2) { animation-delay: 0.2s; opacity: 0; }
.cispla-cert-chip:nth-child(3) { animation-delay: 0.3s; opacity: 0; }

/* Card Lateral */
.cispla-cert-card {
    background: white;
    border: 3px solid var(--cispla-primary);
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    position: sticky;
    top: 120px;
}

.cispla-cert-card-title {
    font-family: 'Sora', sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: var(--cispla-text-dark);
    margin: 0 0 12px;
}

.cispla-cert-card-subtitle {
    font-size: 15px;
    color: var(--cispla-text-muted);
    margin: 0 0 24px;
}

.cispla-cert-benefits {
    display: grid;
    gap: 20px;
}

.cispla-cert-benefit {
    display: flex;
    gap: 16px;
    align-items: start;
}

.cispla-cert-benefit-icon {
    width: 32px;
    height: 32px;
    background: var(--cispla-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 16px;
    flex-shrink: 0;
}

.cispla-cert-benefit-icon--dot {
    width: 12px;
    height: 12px;
    background: var(--cispla-primary);
    margin-top: 4px;
}

.cispla-cert-benefit-title {
    font-weight: 700;
    font-size: 16px;
    color: var(--cispla-text-dark);
    margin: 0 0 4px;
}

.cispla-cert-benefit-text {
    font-size: 14px;
    color: var(--cispla-text-muted);
    margin: 0;
    line-height: 1.6;
}

/* Secciones */
.cispla-cert-section {
    margin-bottom: 60px;
}

.cispla-cert-section--dark {
    background: linear-gradient(135deg, var(--cispla-dark-bg) 0%, var(--cispla-darker-bg) 100%);
    border-radius: 24px;
    padding: 48px;
    margin-top: 60px;
}

.cispla-cert-section-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 800;
    color: var(--cispla-text-dark);
    margin: 0 0 40px;
    text-align: center;
}

.cispla-cert-section--dark .cispla-cert-section-title {
    color: white;
}

/* Grid Items */
.cispla-cert-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

/* Layout con imagen */
.cispla-cert-with-image {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.cispla-cert-with-image--reverse {
    grid-template-columns: 1fr 1fr;
}

.cispla-cert-with-image .cispla-cert-grid {
    grid-template-columns: 1fr;
}

.cispla-cert-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    transition: all 0.4s ease;
}

.cispla-cert-image:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.cispla-cert-image::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(232, 93, 52, 0.1) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
}

.cispla-cert-image:hover::before {
    opacity: 1;
}

.cispla-cert-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.cispla-cert-image:hover img {
    transform: scale(1.05);
}

/* Featured Layout (estilo "Quiénes somos") */
.cispla-cert-featured {
    display: grid;
    grid-template-columns: 45% 55%;
    gap: 60px;
    align-items: start;
}

.cispla-cert-featured--reverse {
    grid-template-columns: 55% 45%;
}

.cispla-cert-featured-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    transition: all 0.4s ease;
}

.cispla-cert-featured-image:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
}

.cispla-cert-featured-image img {
    width: 100%;
    height: 100%;
    min-height: 500px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.cispla-cert-featured-image:hover img {
    transform: scale(1.03);
}

.cispla-cert-featured-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.cispla-cert-featured-item {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 24px;
    align-items: start;
}

.cispla-cert-featured-num {
    font-family: 'Sora', sans-serif;
    font-size: 64px;
    font-weight: 800;
    color: var(--cispla-primary);
    line-height: 1;
    display: block;
}

.cispla-cert-featured-title {
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--cispla-text-dark);
    margin: 0 0 12px;
    line-height: 1.3;
}

.cispla-cert-featured-text {
    font-size: 16px;
    color: var(--cispla-text-muted);
    line-height: 1.7;
    margin: 0;
}

.cispla-cert-featured-text strong {
    color: var(--cispla-text-dark);
    font-weight: 600;
}

.cispla-cert-item {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 32px 28px;
    position: relative;
    transition: all 0.3s ease;
}

.cispla-cert-item:hover {
    border-color: var(--cispla-primary);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}

.cispla-cert-number {
    position: absolute;
    top: -18px;
    left: 28px;
    width: 44px;
    height: 44px;
    background: var(--cispla-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(232, 93, 52, 0.3);
}

.cispla-cert-item-title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--cispla-text-dark);
    margin: 8px 0 12px;
}

.cispla-cert-item-text {
    font-size: 15px;
    color: var(--cispla-text-muted);
    line-height: 1.7;
    margin: 0;
}

/* Métodos */
.cispla-cert-methods {
    margin-top: 48px;
    text-align: center;
}

.cispla-cert-methods-label {
    font-weight: 700;
    font-size: 16px;
    color: var(--cispla-text-dark);
    margin: 0 0 24px;
}

.cispla-cert-methods-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.cispla-cert-method {
    background: white;
    border: 2px solid var(--cispla-primary);
    padding: 10px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    color: var(--cispla-text-dark);
    transition: all 0.3s ease;
}

.cispla-cert-method:hover {
    background: var(--cispla-primary);
    color: white;
}

/* Lista de usos */
.cispla-cert-uses-list {
    max-width: 900px;
    margin: 0 auto 40px;
    padding-left: 24px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 2;
}

.cispla-cert-uses-list li {
    margin: 12px 0;
    font-size: 17px;
}

.cispla-cert-uses-list strong {
    color: white;
    font-weight: 700;
}

/* Split Layout (IAGI) */
.cispla-cert-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.cispla-cert-box {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 32px;
}

.cispla-cert-box--accent {
    background: linear-gradient(135deg, var(--cispla-dark-bg) 0%, var(--cispla-darker-bg) 100%);
    border-color: var(--cispla-primary);
    color: white;
}

.cispla-cert-box-title {
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 20px;
    color: var(--cispla-text-dark);
}

.cispla-cert-box--accent .cispla-cert-box-title {
    color: white;
}

.cispla-cert-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cispla-cert-list li {
    padding-left: 28px;
    position: relative;
    margin: 16px 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--cispla-text-muted);
}

.cispla-cert-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--cispla-primary);
    font-weight: 800;
    font-size: 20px;
}

/* Métricas (contadores IAGI) */
.cispla-cert-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 24px 0;
}

.cispla-cert-metric {
    text-align: center;
}

.cispla-cert-metric-num {
    font-family: 'Sora', sans-serif;
    font-size: 48px;
    font-weight: 800;
    color: var(--cispla-primary);
    margin: 0;
}

.cispla-cert-metric-num::after {
    content: '%';
}

.cispla-cert-metric-label {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin: 8px 0 0;
    font-weight: 600;
}

.cispla-cert-box-note {
    margin: 24px 0 0;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
}

/* Benefits Grid (IAGI final) */
.cispla-cert-benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-bottom: 32px;
}

.cispla-cert-benefit-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    padding: 28px 24px;
    transition: all 0.3s ease;
}

.cispla-cert-benefit-card:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-4px);
}

.cispla-cert-benefit-card-title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: white;
    margin: 0 0 12px;
}

.cispla-cert-benefit-card-text {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
    line-height: 1.6;
}

/* Galería CISPLA */
.cispla-gallery {
    padding: 80px 0;
    background: var(--cispla-light-bg);
}

.cispla-gallery-wrapper {
    position: relative;
    margin-top: 40px;
    display: grid;
    grid-template-columns: 60px 1fr 60px;
    gap: 20px;
    align-items: center;
}

.cispla-gallery-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 8px 0;
}

.cispla-gallery-viewport::-webkit-scrollbar {
    height: 8px;
}

.cispla-gallery-viewport::-webkit-scrollbar-thumb {
    background: var(--cispla-primary);
    border-radius: 4px;
}

.cispla-gallery-viewport::-webkit-scrollbar-track {
    background: #e5e7eb;
    border-radius: 4px;
}

.cispla-gallery-track {
    display: flex;
    gap: 20px;
}

.cispla-gallery-nav {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 2px solid var(--cispla-primary);
    background: var(--cispla-primary);
    color: white;
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.cispla-gallery-nav:hover {
    background: var(--cispla-primary-dark);
    transform: scale(1.1);
    box-shadow: 0 4px 16px rgba(232, 93, 52, 0.4);
}

.cispla-gallery-item {
    flex: 0 0 auto;
    width: clamp(300px, 32vw, 420px);
    border: 3px solid transparent;
    border-radius: 16px;
    overflow: hidden;
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.cispla-gallery-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
    border-color: var(--cispla-primary);
}

.cispla-gallery-item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

/* Lightbox Galería */
.cispla-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}

.cispla-lightbox[aria-hidden="false"] {
    display: flex;
}

.cispla-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
}

.cispla-lightbox-dialog {
    position: relative;
    width: min(1400px, 94%);
    max-height: 90vh;
    background: rgba(26, 58, 71, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 24px;
    padding: 20px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}

.cispla-lightbox-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(0, 0, 0, 0.6);
    color: white;
    font-size: 32px;
    font-weight: 700;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.cispla-lightbox-close:hover {
    background: rgba(0, 0, 0, 0.8);
}

.cispla-lightbox-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    position: relative;
}

.cispla-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.1);
    color: white;
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
}

.cispla-lightbox-nav--prev {
    left: 20px;
}

.cispla-lightbox-nav--next {
    right: 20px;
}

.cispla-lightbox-nav:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-50%) scale(1.1);
}

.cispla-lightbox-figure {
    margin: 0;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    width: 100%;
    max-width: 1200px;
}

.cispla-lightbox-img {
    width: 100%;
    height: min(75vh, 750px);
    object-fit: contain;
    display: block;
}

.cispla-lightbox-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 14px;
    font-weight: 600;
}

.cispla-lightbox-counter {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
}

.cispla-lightbox-thumbs {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 8px 0;
}

.cispla-lightbox-thumb {
    flex: 0 0 auto;
    width: 120px;
    border: 3px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

.cispla-lightbox-thumb.is-active {
    border-color: var(--cispla-primary);
}

.cispla-lightbox-thumb img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    display: block;
}

/* Responsive */
@media (max-width: 1024px) {
    .cispla-cert-hero {
        grid-template-columns: 1fr;
    }

    .cispla-cert-card {
        position: relative;
        top: 0;
    }

    .cispla-cert-split {
        grid-template-columns: 1fr;
    }

    .cispla-cert-with-image,
    .cispla-cert-with-image--reverse {
        grid-template-columns: 1fr;
    }

    .cispla-cert-image {
        order: -1;
    }

    .cispla-cert-featured,
    .cispla-cert-featured--reverse {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .cispla-cert-featured-image {
        order: -1;
    }

    .cispla-cert-featured-image img {
        min-height: 350px;
    }
}

@media (max-width: 768px) {
    .cispla-cert {
        padding: 60px 0;
    }

    .cispla-cert-logo-img {
        max-width: 220px;
    }

    .cispla-cert-grid {
        grid-template-columns: 1fr;
    }

    .cispla-cert-metrics {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .cispla-cert-featured-item {
        grid-template-columns: 60px 1fr;
        gap: 16px;
    }

    .cispla-cert-featured-num {
        font-size: 48px;
    }

    .cispla-cert-featured-title {
        font-size: 18px;
    }

    .cispla-cert-featured-text {
        font-size: 15px;
    }

    .cispla-cert-featured-image img {
        min-height: 280px;
    }

    .cispla-gallery-wrapper {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .cispla-gallery-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 48px;
        height: 48px;
        font-size: 24px;
        z-index: 10;
    }

    .cispla-gallery-nav--prev {
        left: 8px;
    }

    .cispla-gallery-nav--next {
        right: 8px;
    }

    .cispla-gallery-viewport {
        padding: 0;
    }

    .cispla-gallery-item {
        width: 280px;
    }

    .cispla-gallery-item img {
        height: 220px;
    }

    .cispla-lightbox-content {
        padding: 0 60px;
    }

    .cispla-lightbox-nav {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .cispla-lightbox-nav--prev {
        left: 12px;
    }

    .cispla-lightbox-nav--next {
        right: 12px;
    }
}

/* =========================================
   RASOR COMPLETO - CSS CON VIDEOS REDISEÑADOS
   ========================================= */

:root {
    --rasor-primary: #f9a350;
    --rasor-primary-dark: #e88d35;
    --rasor-dark-bg: #1f2937;
    --rasor-darker-bg: #111827;
    --rasor-light-bg: #f8f9fa;
    --rasor-text-dark: #1a1a1a;
    --rasor-text-light: #ffffff;
    --rasor-text-muted: #6b7280;
    --rasor-border-light: rgba(255, 255, 255, 0.1);
    --rasor-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.05);
    --rasor-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);
    --rasor-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.15);
}

/* ===== HERO SECTION ===== */
.rasor-hero {
    background: linear-gradient(135deg, var(--rasor-dark-bg) 0%, var(--rasor-darker-bg) 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.rasor-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 50%, rgba(249, 163, 80, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(249, 163, 80, 0.05) 0%, transparent 50%);
    pointer-events: none;
}

.rasor-hero__content {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.rasor-hero__badge {
    display: inline-block;
    background: rgba(249, 163, 80, 0.15);
    color: var(--rasor-primary);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 24px;
    border: 1px solid rgba(249, 163, 80, 0.3);
}

.rasor-hero__title {
    font-family: 'Sora', sans-serif;
    font-size: 56px;
    font-weight: 800;
    line-height: 1.1;
    color: var(--rasor-text-light);
    margin-bottom: 24px;
    letter-spacing: -0.02em;
}

.rasor-hero__description {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 40px;
    line-height: 1.7;
}

.rasor-highlight {
    color: var(--rasor-primary);
    font-weight: 600;
}

.rasor-hero__buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.rasor-btn {
    padding: 16px 32px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    border: none;
}

.rasor-btn--primary {
    background: var(--rasor-primary);
    color: white;
    box-shadow: 0 4px 16px rgba(249, 163, 80, 0.3);
}

.rasor-btn--primary:hover {
    background: var(--rasor-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(249, 163, 80, 0.4);
    color: white;
    text-decoration: none;
}

.rasor-btn--secondary {
    background: transparent;
    color: white;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.rasor-btn--secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    color: white;
    text-decoration: none;
}

/* Stats Grid */
.rasor-stats-grid {
    display: grid;
    gap: 20px;
}

.rasor-stat-feature {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid var(--rasor-border-light);
    border-radius: 20px;
    padding: 28px;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.rasor-stat-feature:hover {
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

.rasor-stat-feature__icon {
    width: 56px;
    height: 56px;
    background: var(--rasor-primary);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    color: white;
}

.rasor-stat-feature__icon svg {
    width: 28px;
    height: 28px;
}

.rasor-stat-feature__title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: white;
    margin-bottom: 8px;
}

.rasor-stat-feature__text {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    line-height: 1.6;
}

/* ===== PANORAMA SECTION ===== */
.rasor-panorama {
    padding: 80px 0;
    background: white;
}

.rasor-section-title {
    font-family: 'Sora', sans-serif;
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 48px;
    text-align: center;
    color: var(--rasor-text-dark);
}

.rasor-panorama__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

.rasor-panorama-card {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 36px 28px;
    position: relative;
    transition: all 0.3s ease;
}

.rasor-panorama-card:hover {
    border-color: var(--rasor-primary);
    box-shadow: var(--rasor-shadow-md);
    transform: translateY(-4px);
}

.rasor-panorama-card__number {
    position: absolute;
    top: -20px;
    left: 28px;
    width: 48px;
    height: 48px;
    background: var(--rasor-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(249, 163, 80, 0.3);
}

.rasor-panorama-card__title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 12px;
    margin-top: 16px;
    color: var(--rasor-text-dark);
}

.rasor-panorama-card__text {
    color: var(--rasor-text-muted);
    font-size: 15px;
    line-height: 1.7;
}

/* ===== SOLUCIONES SECTION ===== */
.rasor-soluciones {
    padding: 80px 0;
    background: var(--rasor-light-bg);
}

.rasor-soluciones__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 32px;
}

.rasor-solucion-card {
    background: linear-gradient(135deg, var(--rasor-dark-bg) 0%, var(--rasor-darker-bg) 100%);
    border-radius: 24px;
    padding: 40px;
    color: white;
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
}

.rasor-solucion-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--rasor-primary) 0%, #ffb875 100%);
}

.rasor-solucion-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--rasor-shadow-lg);
}

.rasor-solucion-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--rasor-primary);
    border-radius: 50%;
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(249, 163, 80, 0.3);
}

.rasor-solucion-card__title {
    font-family: 'Sora', sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 16px;
}

.rasor-solucion-card__text {
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
    margin-bottom: 20px;
}

.rasor-solucion-card--download .rasor-btn--primary {
    background: white;
    color: var(--rasor-primary);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.rasor-solucion-card--download .rasor-btn--primary:hover {
    background: #f0f0f0;
    color: var(--rasor-primary-dark);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

/* ===== PRODUCTOS SECTION ===== */
.rasor-productos {
    padding: 80px 0;
    background: white;
}

.rasor-productos__header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 60px;
}

.rasor-productos__subtitle {
    font-size: 18px;
    color: var(--rasor-text-muted);
}

.rasor-productos__list {
    display: grid;
    gap: 16px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Producto Item (Acordeón) */
.rasor-producto-item {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.rasor-producto-item:hover {
    box-shadow: var(--rasor-shadow-md);
}

.rasor-producto-item__toggle {
    width: 100%;
    background: transparent;
    border: none;
    padding: 24px 28px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    text-align: left;
    position: relative;
    transition: background 0.3s ease;
}

.rasor-producto-item__toggle::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--rasor-primary);
}

.rasor-producto-item__toggle:hover {
    background: rgba(249, 163, 80, 0.05);
}

.rasor-producto-item__header {
    flex: 1;
    min-width: 0;
}

.rasor-producto-item__name {
    display: block;
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--rasor-text-dark);
    margin-bottom: 6px;
}

.rasor-producto-item__meta {
    display: block;
    font-size: 14px;
    color: var(--rasor-text-muted);
}

.rasor-producto-item__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(249, 163, 80, 0.15);
    border: 2px solid var(--rasor-primary);
    color: var(--rasor-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.rasor-producto-item__toggle[aria-expanded="true"] .rasor-producto-item__icon {
    background: var(--rasor-primary);
    color: white;
    transform: rotate(45deg);
}

.rasor-producto-item__panel {
    border-top: 1px solid #e5e7eb;
    padding: 32px 28px;
}

.rasor-producto-item__grid {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 40px;
    align-items: start;
}

/* Galería de producto */
.rasor-producto-gallery__main {
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    background: #fff;
    aspect-ratio: 4 / 3;
    margin-bottom: 16px;
}

.rasor-producto-gallery__main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rasor-producto-gallery__thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 12px;
}

.rasor-producto-gallery__thumb {
    border: 2px solid transparent;
    background: transparent;
    padding: 0;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
}

.rasor-producto-gallery__thumb img {
    width: 100%;
    height: 90px;
    object-fit: cover;
    display: block;
}

.rasor-producto-gallery__thumb.is-active {
    border-color: var(--rasor-primary);
}

.rasor-producto-gallery__thumb:hover {
    border-color: var(--rasor-primary);
    opacity: 0.8;
}

/* Contenido del producto */
.rasor-producto-content__desc {
    font-size: 17px;
    line-height: 1.7;
    color: var(--rasor-text-dark);
    margin-bottom: 24px;
}

.rasor-producto-content__desc strong {
    color: var(--rasor-primary);
}

.rasor-producto-content__specs {
    display: grid;
    gap: 16px;
    margin-bottom: 24px;
}

.rasor-producto-spec {
    background: var(--rasor-light-bg);
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 20px;
}

.rasor-producto-spec__title {
    font-family: 'Sora', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--rasor-primary);
    margin-bottom: 12px;
}

.rasor-producto-spec__list {
    margin: 0;
    padding-left: 20px;
    color: var(--rasor-text-dark);
}

.rasor-producto-spec__list li {
    margin: 8px 0;
    line-height: 1.6;
}

.rasor-producto-spec__list strong {
    color: var(--rasor-primary);
}

/* Video de YouTube en productos */
.rasor-producto-video {
    margin: 24px 0;
    background: var(--rasor-light-bg);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid #e5e7eb;
}

.rasor-producto-video__title {
    font-family: 'Sora', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--rasor-primary);
    margin-bottom: 16px;
}

.rasor-producto-video__container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 12px;
    background: #000;
}

.rasor-producto-video__container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* =========================================
   RASOR COMPLETO - PARTE 2
   VIDEOS REDISEÑADOS + RESPONSIVE
   ========================================= */

/* ===== VIDEOS SECTION REDISEÑADA ===== */
.rasor-videos {
    padding: 80px 0;
    background: var(--rasor-light-bg);
}

.rasor-videos__subtitle {
    text-align: center;
    font-size: 18px;
    color: var(--rasor-text-muted);
    margin-bottom: 48px;
}

/* Wrapper del carrusel */
.rasor-videos-wrapper {
    position: relative;
    margin-top: 40px;
    display: grid;
    grid-template-columns: 60px 1fr 60px;
    gap: 20px;
    align-items: center;
}

/* Viewport scroll */
.rasor-videos-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 8px 0;
}

.rasor-videos-viewport::-webkit-scrollbar {
    height: 8px;
}

.rasor-videos-viewport::-webkit-scrollbar-thumb {
    background: var(--rasor-primary);
    border-radius: 4px;
}

.rasor-videos-viewport::-webkit-scrollbar-track {
    background: #e5e7eb;
    border-radius: 4px;
}

/* Track de videos */
.rasor-videos-track {
    display: flex;
    gap: 20px;
}

/* Flechas de navegación */
.rasor-videos-nav {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 2px solid var(--rasor-primary);
    background: var(--rasor-primary);
    color: white;
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.rasor-videos-nav:hover {
    background: var(--rasor-primary-dark);
    transform: scale(1.1);
    box-shadow: 0 4px 16px rgba(249, 163, 80, 0.4);
}

.rasor-videos-nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

/* Item de video */
.rasor-video-item {
    flex: 0 0 auto;
    width: clamp(280px, 28vw, 380px);
    aspect-ratio: 9 / 16;
    border: 3px solid transparent;
    border-radius: 20px;
    overflow: hidden;
    background: #000;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    position: relative;
}

.rasor-video-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
    border-color: var(--rasor-primary);
}

.rasor-video-item__thumb {
    width: 100%;
    height: 100%;
}

.rasor-video-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.rasor-video-item:hover .rasor-video-item__thumb img {
    transform: scale(1.05);
}

.rasor-video-item__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}

.rasor-video-item:hover .rasor-video-item__overlay {
    background: rgba(0, 0, 0, 0.6);
}

.rasor-video-item__play {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--rasor-primary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    padding-left: 4px;
    box-shadow: 0 4px 20px rgba(249, 163, 80, 0.5);
    transition: all 0.3s ease;
}

.rasor-video-item:hover .rasor-video-item__play {
    transform: scale(1.1);
    box-shadow: 0 8px 30px rgba(249, 163, 80, 0.7);
}

/* Modal de video */
.rasor-video-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}

.rasor-video-modal[aria-hidden="false"] {
    display: flex;
}

.rasor-video-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    cursor: pointer;
}

.rasor-video-modal__dialog {
    position: relative;
    width: min(500px, 94%);
    max-height: 90vh;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 24px;
    padding: 20px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}

.rasor-video-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(0, 0, 0, 0.6);
    color: white;
    font-size: 32px;
    font-weight: 700;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.rasor-video-modal__close:hover {
    background: var(--rasor-primary);
}

.rasor-video-modal__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rasor-video-modal__title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: white;
    margin: 0;
    text-align: center;
}

.rasor-video-modal__player {
    position: relative;
    background: #000;
    border-radius: 16px;
    overflow: hidden;
}

.rasor-video-modal__player video {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 9 / 16;
    object-fit: contain;
    max-height: calc(90vh - 140px);
}

.rasor-video-modal__counter {
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
}

/* Navegación del modal */
.rasor-video-modal__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(249, 163, 80, 0.9);
    color: white;
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
}

.rasor-video-modal__nav:hover {
    background: var(--rasor-primary);
    transform: translateY(-50%) scale(1.1);
}

.rasor-video-modal__nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.rasor-video-modal__nav--prev {
    left: -70px;
}

.rasor-video-modal__nav--next {
    right: -70px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    .rasor-hero__content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .rasor-producto-item__grid {
        grid-template-columns: 1fr;
    }

    .rasor-videos-wrapper {
        grid-template-columns: 1fr;
    }

    .rasor-videos-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
    }

    .rasor-videos-nav--prev {
        left: 8px;
    }

    .rasor-videos-nav--next {
        right: 8px;
    }

    .rasor-video-modal__nav--prev {
        left: 12px;
    }

    .rasor-video-modal__nav--next {
        right: 12px;
    }
}

@media (max-width: 768px) {
    .rasor-hero__title {
        font-size: 40px;
    }
    
    .rasor-section-title {
        font-size: 32px;
    }
    
    .rasor-hero,
    .rasor-panorama,
    .rasor-soluciones,
    .rasor-productos,
    .rasor-videos {
        padding: 60px 0;
    }
    
    .rasor-panorama__grid,
    .rasor-soluciones__grid {
        grid-template-columns: 1fr;
    }
    
    .rasor-producto-item__toggle {
        padding: 20px;
    }
    
    .rasor-producto-item__panel {
        padding: 24px 20px;
    }

    .rasor-videos-nav {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .rasor-video-item {
        width: 240px;
    }

    .rasor-video-modal__dialog {
        max-width: 90%;
    }

    .rasor-video-modal__nav {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }
}


/* =========================================
   SOLDADURA PLÁSTICA - CSS MODERNO
   Estilo Herraplas con gris tenue y rojo corporativo
========================================= */

:root {
    --soldadura-primary: #b32227;
    --soldadura-primary-dark: #8a1a1e;
    --soldadura-gray-bg: #f5f5f5;
    --soldadura-dark-bg: #1a1a1a;
    --soldadura-text-dark: #1a1a1a;
    --soldadura-text-light: #ffffff;
}

/* Sección principal - Fondo GRIS TENUE */
.soldadura-section {
    background: var(--soldadura-gray-bg);
    padding: 80px 0;
}

.container {
    width: min(1200px, 92%);
    margin: 0 auto;
}

/* Hero - Sobre fondo gris tenue */
.soldadura-hero {
    text-align: center;
    margin-bottom: 60px;
    animation: soldaduraSlideUp 0.8s ease-out;
}

.soldadura-hero__badge {
    background: var(--soldadura-primary);
    color: white;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 20px;
    display: inline-block;
}

.soldadura-hero__title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(32px, 5vw, 48px);
    font-weight: 800;
    line-height: 1.1;
    color: var(--soldadura-text-dark);
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

.soldadura-hero__description {
    font-size: 18px;
    color: #4a5568;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.7;
}

/* Tabs - Fondo NEGRO */
.soldadura-tabs {
    display: flex;
    gap: 12px;
    background: var(--soldadura-dark-bg);
    padding: 16px;
    border-radius: 20px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    margin-bottom: 40px;
    overflow-x: auto;
}

.soldadura-tabs__tab {
    flex: 1;
    min-width: 200px;
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid transparent;
    border-radius: 14px;
    padding: 16px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.8);
}

.soldadura-tabs__tab:hover {
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-2px);
    color: white;
}

.soldadura-tabs__tab.is-active {
    background: white;
    color: var(--soldadura-primary);
    box-shadow: 0 8px 24px rgba(255, 255, 255, 0.2);
}

.soldadura-tabs__icon {
    font-size: 24px;
}

.soldadura-tabs__text {
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
}

/* Panels */
.soldadura-panels {
    position: relative;
    min-height: 600px;
}

.soldadura-panel {
    display: none;
    opacity: 0;
}

.soldadura-panel.is-active {
    display: block;
    animation: soldaduraFadeIn 0.5s ease-out forwards;
}

.soldadura-panel__header {
    margin-bottom: 40px;
}

.soldadura-panel__title {
    font-family: 'Sora', sans-serif;
    font-size: 36px;
    font-weight: 800;
    color: var(--soldadura-text-dark);
    margin-bottom: 16px;
}

.soldadura-panel__intro {
    font-size: 17px;
    color: #4a5568;
    line-height: 1.7;
    max-width: 90ch;
}

/* Video - Fondo BLANCO */
.soldadura-video {
    background: white;
    border-radius: 20px;
    padding: 28px;
    margin-bottom: 40px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e7eb;
}

.soldadura-video__title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--soldadura-primary);
    margin-bottom: 20px;
}

.soldadura-video__container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 16px;
    background: #000;
}

.soldadura-video__container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Content Blocks */
.soldadura-content-block {
    margin-bottom: 40px;
}

.soldadura-content-block__title {
    font-family: 'Sora', sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: var(--soldadura-text-dark);
    margin-bottom: 24px;
    padding-left: 20px;
    position: relative;
}

.soldadura-content-block__title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: var(--soldadura-primary);
    border-radius: 3px;
}

/* Process Cards - Fondo BLANCO */
.soldadura-process-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
}

.soldadura-process-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 28px;
    position: relative;
    transition: all 0.3s ease;
}

.soldadura-process-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
    border-color: var(--soldadura-primary);
}

.soldadura-process-card__number {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: var(--soldadura-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(179, 34, 39, 0.3);
}

.soldadura-process-card__title {
    font-family: 'Sora', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--soldadura-primary);
    margin-bottom: 12px;
    margin-right: 50px;
    line-height: 1.3;
}

.soldadura-process-card__list {
    margin: 0;
    padding-left: 20px;
    color: var(--soldadura-text-dark);
}

.soldadura-process-card__list li {
    margin: 8px 0;
    line-height: 1.6;
}

.soldadura-process-card__list strong {
    color: var(--soldadura-primary);
}

/* Benefit Cards - Fondo NEGRO */
.soldadura-benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.soldadura-benefits-grid--4col {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.soldadura-benefit-card {
    background: var(--soldadura-dark-bg);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    padding: 24px;
    transition: all 0.3s ease;
}

.soldadura-benefit-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    border-color: rgba(255, 255, 255, 0.3);
}

.soldadura-benefit-card__icon {
    width: 44px;
    height: 44px;
    background: var(--soldadura-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 16px;
    box-shadow: 0 4px 12px rgba(179, 34, 39, 0.3);
}

.soldadura-benefit-card__title {
    font-family: 'Sora', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: white;
    margin-bottom: 8px;
}

.soldadura-benefit-card__text {
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    font-size: 14px;
}

/* Info Box - Fondo BLANCO */
.soldadura-info-box {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 32px;
    margin: 40px 0;
    display: flex;
    gap: 24px;
    align-items: start;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.soldadura-info-box__icon {
    font-size: 48px;
}

.soldadura-info-box__title {
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--soldadura-primary);
    margin-bottom: 12px;
}

.soldadura-info-box__text,
.soldadura-info-box__list {
    color: var(--soldadura-text-dark);
    line-height: 1.7;
}

.soldadura-info-box__list {
    margin: 0;
    padding-left: 20px;
}

.soldadura-info-box__list li {
    margin: 10px 0;
}

.soldadura-info-box__list strong {
    color: var(--soldadura-primary);
}

/* CTA Section - ELIMINADA */
.soldadura-cta {
    display: none;
}

/* Animations */
@keyframes soldaduraSlideUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes soldaduraFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Responsive */
@media (max-width: 768px) {
    .soldadura-section { padding: 60px 0; }
    .soldadura-tabs { flex-direction: column; gap: 10px; }
    .soldadura-tabs__tab { min-width: 100%; flex-direction: row; justify-content: center; }
    .soldadura-process-grid,
    .soldadura-benefits-grid,
    .soldadura-benefits-grid--4col { grid-template-columns: 1fr; }
    .soldadura-info-box { flex-direction: column; text-align: center; }
}

/* =========================================
   NUEVOS ESTILOS - BLOQUE DE APLICACIONES
   Añadir al final del CSS existente de soldadura
========================================= */

/* Título principal "Aplicaciones" */
.soldadura-applications-heading {
    font-family: 'Sora', sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: var(--soldadura-text-dark);
    margin-bottom: 32px;
    padding-left: 20px;
    position: relative;
}

.soldadura-applications-heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: var(--soldadura-primary);
    border-radius: 3px;
}

/* Bloque contenedor de cada aplicación */
.soldadura-application-block {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 24px;
    padding: 36px;
    margin-bottom: 32px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

/* Encabezado de la aplicación */
.soldadura-application-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 2px solid #f0f0f0;
}

/* NÚMERO FUERTE — sin opacidad baja */
.soldadura-application-header__number {
    font-family: 'Sora', sans-serif;
    font-size: 36px;
    font-weight: 900;
    color: var(--soldadura-primary);
    line-height: 1;
    min-width: 52px;
    /* opacity eliminada — se ve sólido */
}

.soldadura-application-header__title {
    font-family: 'Sora', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--soldadura-text-dark);
    line-height: 1.3;
    margin: 0;
    padding-top: 4px;
}

/* Sección interna */
.soldadura-app-section {
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #f0f0f0;
}

.soldadura-app-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.soldadura-app-section__label {
    font-family: 'Sora', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--soldadura-primary);
    margin-bottom: 12px;
}

.soldadura-app-section__text {
    color: #374151;
    line-height: 1.7;
    margin-bottom: 12px;
}

.soldadura-app-section__text:last-child {
    margin-bottom: 0;
}

/* ── TAGS / PASTILLAS ANIMADAS ──────────────────────── */
.soldadura-app-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Tag de equipos — hover: fondo negro + texto blanco */
.soldadura-app-tag {
    background: #f5f5f5;
    border: 1px solid #e5e7eb;
    color: var(--soldadura-text-dark);
    border-radius: 50px;
    padding: 7px 16px;
    font-size: 14px;
    font-weight: 600;
    cursor: default;
    /* Transición suave */
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.soldadura-app-tag:hover {
    background: var(--soldadura-dark-bg);
    color: white;
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

/* Tag de beneficios — base negra, hover: rojo corporativo */
.soldadura-app-tags--benefits .soldadura-app-tag--benefit {
    background: var(--soldadura-dark-bg);
    color: white;
    border-color: transparent;
    transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.soldadura-app-tags--benefits .soldadura-app-tag--benefit:hover {
    background: var(--soldadura-primary);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(179, 34, 39, 0.35);
}

/* Grid "¿Dónde se aplica?" */
.soldadura-app-where-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}

.soldadura-app-where-card {
    background: var(--soldadura-gray-bg);
    border-radius: 16px;
    padding: 20px 24px;
    border-left: 4px solid var(--soldadura-primary);
}

.soldadura-app-where-card__title {
    font-family: 'Sora', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--soldadura-text-dark);
    margin-bottom: 8px;
}

.soldadura-app-where-card__text {
    font-size: 14px;
    color: #4a5568;
    line-height: 1.6;
    margin: 0;
}

/* Tarjetas de pruebas hermeticidad */
.soldadura-app-test-card {
    background: #f0f7ff;
    border: 1px solid #bfdbfe;
    border-radius: 16px;
    padding: 20px 24px;
}

.soldadura-app-test-card--destructive {
    background: #fff7f0;
    border-color: #fde8c8;
}

.soldadura-app-test-card__name {
    font-family: 'Sora', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--soldadura-text-dark);
    margin-bottom: 10px;
}

.soldadura-app-test-card__text {
    font-size: 14px;
    color: #374151;
    line-height: 1.7;
    margin: 0;
}

/* Pasos numerados */
.soldadura-app-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
}

.soldadura-app-step {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    font-size: 14px;
    color: #374151;
    line-height: 1.6;
}

.soldadura-app-step__num {
    min-width: 28px;
    height: 28px;
    background: var(--soldadura-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Sora', sans-serif;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 1px;
    box-shadow: 0 2px 8px rgba(179, 34, 39, 0.25);
}

/* Tarjetas de métodos */
.soldadura-app-methods {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
}

.soldadura-app-method-card {
    display: flex;
    gap: 16px;
    background: var(--soldadura-gray-bg);
    border-radius: 14px;
    padding: 18px 20px;
    font-size: 14px;
    color: #374151;
    line-height: 1.6;
}

.soldadura-app-method-card p {
    margin: 4px 0 0;
}

.soldadura-app-method-card__num {
    min-width: 32px;
    height: 32px;
    background: var(--soldadura-dark-bg);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
}

.soldadura-app-method-card__title {
    color: var(--soldadura-primary);
    display: block;
    margin-bottom: 4px;
}

/* Responsive */
@media (max-width: 768px) {
    .soldadura-application-block { padding: 24px 20px; }
    .soldadura-application-header { flex-direction: column; gap: 8px; }
    .soldadura-application-header__number { font-size: 28px; }
    .soldadura-application-header__title { font-size: 18px; }
    .soldadura-app-where-grid { grid-template-columns: 1fr; }
}

/* =========================================
   SOLDADURA - ACORDEÓN ESTILO RASOR
   Añadir al final del CSS existente
========================================= */

/* ── ACORDEÓN ITEM ── */
.soldadura-accordion-item {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 14px;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.soldadura-accordion-item:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.soldadura-accordion-item:has(.soldadura-accordion-toggle[aria-expanded="true"]) {
    border-color: var(--soldadura-primary);
    box-shadow: 0 4px 24px rgba(179, 34, 39, 0.12);
}

/* ── TOGGLE BUTTON ── */
.soldadura-accordion-toggle {
    width: 100%;
    background: transparent;
    border: none;
    padding: 22px 28px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    text-align: left;
    position: relative;
    transition: background 0.25s ease;
}

/* Barra superior roja — igual que Rasor */
.soldadura-accordion-toggle::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--soldadura-primary);
    border-radius: 0;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.soldadura-accordion-item:has(.soldadura-accordion-toggle[aria-expanded="true"]) .soldadura-accordion-toggle::before {
    opacity: 1;
}

.soldadura-accordion-toggle:hover {
    background: rgba(179, 34, 39, 0.03);
}

/* ── HEADER dentro del toggle ── */
.soldadura-accordion-toggle__header {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.soldadura-accordion-toggle__number {
    font-family: 'Sora', sans-serif;
    font-size: 28px;
    font-weight: 900;
    color: var(--soldadura-primary);
    line-height: 1;
    min-width: 44px;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}

.soldadura-accordion-toggle:hover .soldadura-accordion-toggle__number {
    transform: scale(1.05);
}

.soldadura-accordion-toggle__title {
    font-family: 'Sora', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--soldadura-text-dark);
    line-height: 1.3;
}

/* ── ÍCONO +/− ── */
.soldadura-accordion-toggle__icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(179, 34, 39, 0.1);
    border: 2px solid var(--soldadura-primary);
    color: var(--soldadura-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    flex-shrink: 0;
    transition: all 0.3s ease;
    line-height: 1;
}

.soldadura-accordion-toggle[aria-expanded="true"] .soldadura-accordion-toggle__icon {
    background: var(--soldadura-primary);
    color: white;
    transform: rotate(45deg);
}

/* ── PANEL ── */
.soldadura-accordion-panel {
    border-top: 1px solid #e5e7eb;
}

.soldadura-accordion-panel[hidden] {
    display: none;
}

.soldadura-accordion-panel__inner {
    padding: 28px 32px 32px;
}

/* =========================================
   SOLDADURA - CARRUSELES DE FOTOS
========================================= */

/* Carrusel contenedor */
.soldadura-carousel {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 28px;
    margin-bottom: 40px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.soldadura-carousel--equipos {
    margin-top: 40px;
    margin-bottom: 0;
    background: var(--soldadura-dark-bg);
    border-color: transparent;
}

/* Header del carrusel */
.soldadura-carousel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.soldadura-carousel__title {
    font-family: 'Sora', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--soldadura-text-dark);
    padding-left: 14px;
    position: relative;
}

.soldadura-carousel__title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--soldadura-primary);
    border-radius: 2px;
}

.soldadura-carousel--equipos .soldadura-carousel__title {
    color: white;
}

.soldadura-carousel--equipos .soldadura-carousel__title::before {
    background: var(--soldadura-primary);
}

/* Controles de navegación */
.soldadura-carousel__controls {
    display: flex;
    gap: 10px;
}

.soldadura-carousel__nav {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 2px solid var(--soldadura-primary);
    background: transparent;
    color: var(--soldadura-primary);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.soldadura-carousel__nav:hover {
    background: var(--soldadura-primary);
    color: white;
    transform: scale(1.08);
}

.soldadura-carousel__nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    transform: none;
}

/* Track wrapper con overflow hidden */
.soldadura-carousel__track-wrap {
    overflow: hidden;
    border-radius: 12px;
}

/* Track — flex que se desplaza */
.soldadura-carousel__track {
    display: flex;
    gap: 14px;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* Cada slide */
.soldadura-carousel__slide {
    flex: 0 0 calc(33.333% - 10px);
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid transparent;
    padding: 0;
    background: #f0f0f0;
    cursor: pointer;
    transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    position: relative;
}

.soldadura-carousel__slide:hover {
    border-color: var(--soldadura-primary);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(179, 34, 39, 0.2);
}

.soldadura-carousel__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
    pointer-events: none;
}

.soldadura-carousel__slide:hover img {
    transform: scale(1.04);
}

/* Overlay al hover — ícono SVG lupa limpio */
.soldadura-carousel__slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        rgba(179, 34, 39, 0.55)
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='22' y2='22'/%3E%3C/svg%3E")
        center / 36px no-repeat;
    opacity: 0;
    transition: opacity 0.25s ease;
    border-radius: 10px;
}

.soldadura-carousel__slide:hover::after {
    opacity: 1;
}

/* Equipos slide — ligeramente más grande */
.soldadura-carousel--equipos .soldadura-carousel__slide {
    flex: 0 0 calc(25% - 11px);
    background: #2a2a2a;
}

/* =========================================
   SOLDADURA - LIGHTBOX MODAL
========================================= */

.soldadura-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}

.soldadura-lightbox[aria-hidden="false"] {
    display: flex;
}

.soldadura-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
    cursor: pointer;
}

.soldadura-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 94vw;
    max-height: 92vh;
    padding: 0 60px;
}

.soldadura-lightbox__img-wrap {
    position: relative;
    max-width: min(900px, 80vw);
    max-height: 85vh;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.6);
}

.soldadura-lightbox__img {
    display: block;
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 16px;
}

/* Botón cerrar */
.soldadura-lightbox__close {
    position: absolute;
    top: -16px;
    right: 50px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.4);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    font-size: 28px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    z-index: 10;
    line-height: 1;
}

.soldadura-lightbox__close:hover {
    background: var(--soldadura-primary);
    border-color: var(--soldadura-primary);
    transform: scale(1.1);
}

/* Navegación del lightbox */
.soldadura-lightbox__nav {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.35);
    background: rgba(179, 34, 39, 0.85);
    color: white;
    font-size: 22px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.soldadura-lightbox__nav:hover {
    background: var(--soldadura-primary);
    transform: scale(1.1);
    box-shadow: 0 4px 16px rgba(179, 34, 39, 0.5);
}

.soldadura-lightbox__nav:disabled {
    opacity: 0.25;
    cursor: not-allowed;
    transform: none;
}

/* Contador + Caption */
.soldadura-lightbox__counter {
    position: absolute;
    bottom: -56px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
    width: max-content;
    max-width: 90vw;
}

.soldadura-lightbox__counter-num {
    font-family: 'Sora', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.04em;
}

.soldadura-lightbox__counter-caption {
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    white-space: nowrap;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1024px) {
    .soldadura-carousel__slide {
        flex: 0 0 calc(50% - 7px);
    }
    .soldadura-carousel--equipos .soldadura-carousel__slide {
        flex: 0 0 calc(33.333% - 10px);
    }
}

@media (max-width: 768px) {
    .soldadura-accordion-toggle {
        padding: 18px 20px;
    }
    .soldadura-accordion-toggle__number {
        font-size: 22px;
        min-width: 34px;
    }
    .soldadura-accordion-toggle__title {
        font-size: 15px;
    }
    .soldadura-accordion-toggle__icon {
        width: 34px;
        height: 34px;
        font-size: 18px;
    }
    .soldadura-accordion-panel__inner {
        padding: 20px;
    }
    .soldadura-carousel__slide {
        flex: 0 0 calc(100% - 0px);
    }
    .soldadura-carousel--equipos .soldadura-carousel__slide {
        flex: 0 0 calc(50% - 7px);
    }
    .soldadura-lightbox__dialog {
        padding: 0 10px;
        gap: 10px;
    }
    .soldadura-lightbox__nav {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
    .soldadura-lightbox__close {
        top: -10px;
        right: 10px;
        width: 40px;
        height: 40px;
        font-size: 22px;
    }
}

/* =========================
   CONTACTO REDISEÑADO (HPA)
   Estilo moderno y llamativo
   ========================= */

.hpa-contact {
    padding: clamp(60px, 8vw, 100px) 0;
    background: #f5f5f5;
    position: relative;
}

.hpa-contact__wrap {
    width: min(1200px, 92%);
    margin: 0 auto;
}

/* Header de la sección */
.hpa-contact__header {
    text-align: center;
    margin-bottom: 50px;
}

.hpa-contact__badge {
    display: inline-block;
    background: #b32227;
    color: white;
    padding: 8px 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.hpa-contact__title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(32px, 5vw, 44px);
    font-weight: 800;
    color: #1a1a1a;
    margin: 0 0 20px;
    line-height: 1.2;
}

/* Intro: texto más grande y legible */
.hpa-contact__intro {
    width: 100%;
    max-width: 900px;
    margin: 0 auto clamp(40px, 5vw, 60px);
    color: #4a5568;
    font-size: 17px;
    line-height: 1.8;
    text-align: center;
}

.hpa-contact__intro p {
    margin: 0 0 16px;
}

.hpa-contact__intro p:last-child {
    margin-bottom: 0;
}

/* Rojo para negritas */
.hpa-contact strong {
    color: #b32227;
    font-weight: 700;
}

/* Grid: tarjeta + mapa */
.hpa-contact__grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 30px;
    align-items: start;
    margin-bottom: 30px;
}

/* Cards */
.hpa-contact__card {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 32px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    position: relative;
}

.hpa-contact__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
    border-color: #b32227;
}

/* Bandera */
.hpa-contact__flag {
    font-size: 36px;
    margin-bottom: 16px;
}

/* Ciudad */
.hpa-contact__city {
    font-family: 'Sora', sans-serif;
    margin: 0 0 24px;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    color: #1a1a1a;
}

/* Info container */
.hpa-contact__info {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.hpa-contact__info--horizontal {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
}

/* Cada item de contacto */
.hpa-contact__item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

/* Iconos */
.hpa-contact__icon {
    width: 44px;
    height: 44px;
    background: rgba(179, 34, 39, 0.1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #b32227;
}

.hpa-contact__icon svg {
    width: 22px;
    height: 22px;
}

/* Icono especial de WhatsApp */
.hpa-contact__icon--whatsapp {
    background: rgba(37, 211, 102, 0.1);
    color: #25D366;
}

/* Contenido del item */
.hpa-contact__content {
    flex: 1;
}

.hpa-contact__content strong {
    display: block;
    font-family: 'Sora', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 6px;
}

.hpa-contact__content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #4a5568;
}

/* Enlaces */
.hpa-contact__link {
    color: #1a1a1a;
    text-decoration: none;
    border-bottom: 2px solid rgba(179, 34, 39, 0.3);
    transition: all 0.2s ease;
    font-weight: 500;
}

.hpa-contact__link:hover {
    color: #b32227;
    border-bottom-color: #b32227;
}

/* Link especial de WhatsApp */
.hpa-contact__link--whatsapp {
    color: #25D366;
    border-bottom-color: rgba(37, 211, 102, 0.3);
    font-weight: 700;
}

.hpa-contact__link--whatsapp:hover {
    color: #128C7E;
    border-bottom-color: #128C7E;
}

/* Mapa */
.hpa-contact__map {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    min-height: 400px;
    transition: all 0.3s ease;
}

.hpa-contact__map:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
    border-color: #b32227;
}

.hpa-contact__map iframe {
    width: 100%;
    height: 100%;
    min-height: 400px;
    border: 0;
    display: block;
}

/* Colombia - tarjeta ancha */
.hpa-contact__card--wide {
    max-width: 100%;
}

/* Responsive */
@media (max-width: 1024px) {
    .hpa-contact__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .hpa-contact__map {
        min-height: 350px;
    }

    .hpa-contact__map iframe {
        min-height: 350px;
    }

    .hpa-contact__info--horizontal {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .hpa-contact {
        padding: clamp(50px, 7vw, 80px) 0;
    }

    .hpa-contact__header {
        margin-bottom: 40px;
    }

    .hpa-contact__title {
        font-size: 28px;
    }

    .hpa-contact__intro {
        font-size: 16px;
        text-align: left;
    }

    .hpa-contact__card {
        padding: 24px;
    }

    .hpa-contact__city {
        font-size: 22px;
    }

    .hpa-contact__map {
        min-height: 300px;
    }

    .hpa-contact__map iframe {
        min-height: 300px;
    }
}

@media (max-width: 480px) {
    .hpa-contact__flag {
        font-size: 32px;
    }

    .hpa-contact__item {
        gap: 12px;
    }

    .hpa-contact__icon {
        width: 40px;
        height: 40px;
    }

    .hpa-contact__icon svg {
        width: 20px;
        height: 20px;
    }

    .hpa-contact__content strong {
        font-size: 14px;
    }

    .hpa-contact__content p {
        font-size: 15px;
    }
}

/* =========================
   RIKUTEC - CSS MODERNO
   Estilo limpio y profesional
   ========================= */

:root {
    --rikutec-primary: #1058b2;
    --rikutec-primary-dark: #0d4691;
    --rikutec-dark-bg: #1a1a1a;
    --rikutec-gray-bg: #f5f5f5;
    --rikutec-text-dark: #1a1a1a;
    --rikutec-text-light: #ffffff;
    --rikutec-text-muted: #6b7280;
}

/* Secciones */
.rikutec-section {
    padding: clamp(60px, 8vw, 100px) 0;
    position: relative;
}

.rikutec-depuracion {
    background: white;
}

.rikutec-at204 {
    background: var(--rikutec-gray-bg);
}

.rikutec-115 {
    background: white;
}

.rikutec-container {
    width: min(1200px, 92%);
    margin: 0 auto;
}

/* Hero */
.rikutec-hero {
    text-align: center;
    margin-bottom: 60px;
}

.rikutec-badge {
    display: inline-block;
    background: var(--rikutec-primary);
    color: white;
    padding: 8px 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.rikutec-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(32px, 5vw, 44px);
    font-weight: 800;
    color: var(--rikutec-text-dark);
    margin: 0 0 20px;
    line-height: 1.2;
}

.rikutec-intro {
    font-size: 18px;
    color: var(--rikutec-text-muted);
    line-height: 1.8;
    max-width: 900px;
    margin: 0 auto;
}

/* Content Blocks */
.rikutec-content-block {
    margin-bottom: 50px;
}

.rikutec-content-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    color: var(--rikutec-text-dark);
    margin: 0 0 16px;
    padding-left: 20px;
    position: relative;
}

.rikutec-content-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: var(--rikutec-primary);
    border-radius: 3px;
}

.rikutec-content-intro {
    font-size: 17px;
    color: var(--rikutec-text-muted);
    line-height: 1.7;
    margin: 0 0 30px;
    max-width: 900px;
}

/* Process Grid (5 cards) */
.rikutec-process-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

.rikutec-process-grid--2col {
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.rikutec-process-card {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 28px;
    position: relative;
    transition: all 0.3s ease;
}

.rikutec-process-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
    border-color: var(--rikutec-primary);
}

.rikutec-process-number {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: var(--rikutec-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(16, 88, 178, 0.3);
}

.rikutec-process-title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--rikutec-primary);
    margin: 0 60px 16px 0;
    line-height: 1.3;
}

.rikutec-process-list {
    margin: 0;
    padding-left: 20px;
    color: var(--rikutec-text-dark);
    line-height: 1.7;
}

.rikutec-process-list li {
    margin: 10px 0;
}

.rikutec-process-list strong {
    color: var(--rikutec-primary);
}

.rikutec-process-text {
    margin: 0;
    color: var(--rikutec-text-dark);
    line-height: 1.7;
    font-size: 16px;
}

.rikutec-process-text strong {
    color: var(--rikutec-primary);
}

/* Benefits Grid */
.rikutec-benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
}

.rikutec-benefits-grid--4col {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.rikutec-benefit-card {
    background: var(--rikutec-dark-bg);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 24px;
    display: flex;
    gap: 16px;
    align-items: start;
    transition: all 0.3s ease;
}

.rikutec-benefit-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    border-color: rgba(255, 255, 255, 0.3);
}

.rikutec-benefit-icon {
    width: 48px;
    height: 48px;
    background: var(--rikutec-primary);
    color: white;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 800;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(16, 88, 178, 0.3);
}

.rikutec-benefit-content {
    flex: 1;
}

.rikutec-benefit-title {
    font-family: 'Sora', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: white;
    margin: 0 0 8px;
}

.rikutec-benefit-text {
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    font-size: 15px;
}

.rikutec-benefit-text strong {
    color: white;
    font-weight: 700;
}

/* Info Box */
.rikutec-info-box {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 32px;
    margin: 40px 0;
    display: flex;
    gap: 24px;
    align-items: start;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.rikutec-info-icon {
    font-size: 48px;
    flex-shrink: 0;
}

.rikutec-info-content {
    flex: 1;
}

.rikutec-info-title {
    font-family: 'Sora', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--rikutec-primary);
    margin: 0 0 16px;
}

.rikutec-info-list {
    margin: 0;
    padding-left: 20px;
    color: var(--rikutec-text-dark);
    line-height: 1.7;
}

.rikutec-info-list li {
    margin: 12px 0;
}

.rikutec-info-list strong {
    color: var(--rikutec-primary);
}

/* Split Layout */
.rikutec-split {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 32px;
    align-items: start;
}

.rikutec-split-left {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 28px;
}

.rikutec-app-list {
    margin: 0;
    padding-left: 20px;
    color: var(--rikutec-text-dark);
    line-height: 1.8;
}

.rikutec-app-list li {
    margin: 12px 0;
    font-size: 16px;
}

/* Carousel */
.rikutec-carousel {
    position: relative;
}

.rikutec-stage {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    padding: 20px;
    position: relative;
    aspect-ratio: 16 / 10;
    margin: 0 60px;
}

.rikutec-main-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.rikutec-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 2px solid #e5e7eb;
    background: white;
    color: var(--rikutec-dark-bg);
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
}

.rikutec-nav--prev {
    left: 0;
}

.rikutec-nav--next {
    right: 0;
}

.rikutec-nav:hover {
    background: var(--rikutec-primary);
    color: white;
    border-color: var(--rikutec-primary);
}

.rikutec-counter {
    position: absolute;
    bottom: 16px;
    right: 16px;
    background: rgba(26, 26, 26, 0.9);
    color: white;
    font-weight: 700;
    font-size: 14px;
    padding: 8px 14px;
    border-radius: 50px;
}

.rikutec-thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.rikutec-thumb {
    border: 3px solid transparent;
    border-radius: 12px;
    padding: 0;
    background: transparent;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.3s ease;
}

.rikutec-thumb:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.rikutec-thumb.is-active {
    border-color: var(--rikutec-primary);
    box-shadow: 0 8px 20px rgba(16, 88, 178, 0.25);
}

.rikutec-thumb img {
    width: 100%;
    height: 80px;
    object-fit: contain;
    background: white;
    display: block;
    padding: 8px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
}

/* Table */
.rikutec-table-wrap {
    border: 2px solid #e5e7eb;
    border-radius: 20px;
    overflow: auto;
    background: white;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    margin-bottom: 24px;
}

.rikutec-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 980px;
}

.rikutec-table th,
.rikutec-table td {
    padding: 16px;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
    font-size: 15px;
    color: var(--rikutec-text-dark);
}

.rikutec-table thead th {
    background: var(--rikutec-dark-bg);
    color: white;
    font-weight: 700;
    font-family: 'Sora', sans-serif;
    position: sticky;
    top: 0;
    z-index: 10;
}

.rikutec-table tbody tr:nth-child(even) {
    background: rgba(16, 88, 178, 0.03);
}

.rikutec-table tbody tr:hover {
    background: rgba(16, 88, 178, 0.08);
}

/* CTA */
.rikutec-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 32px;
    border-radius: 16px;
    background: #25D366;
    color: white;
    text-decoration: none;
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 17px;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.3);
    transition: all 0.3s ease;
}

.rikutec-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(37, 211, 102, 0.4);
    background: #128C7E;
    color: white;
    text-decoration: none;
}

.rikutec-cta svg {
    width: 24px;
    height: 24px;
}

/* Responsive */
@media (max-width: 1024px) {
    .rikutec-split {
        grid-template-columns: 1fr;
    }

    .rikutec-stage {
        margin: 0;
    }

    .rikutec-nav {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .rikutec-nav--prev {
        left: 12px;
    }

    .rikutec-nav--next {
        right: 12px;
    }
}

@media (max-width: 768px) {
    .rikutec-section {
        padding: 50px 0;
    }

    .rikutec-hero {
        margin-bottom: 40px;
    }

    .rikutec-title {
        font-size: 28px;
    }

    .rikutec-intro {
        font-size: 16px;
    }

    .rikutec-process-grid,
    .rikutec-benefits-grid,
    .rikutec-benefits-grid--4col {
        grid-template-columns: 1fr;
    }

    .rikutec-process-grid--2col {
        grid-template-columns: 1fr;
    }

    .rikutec-info-box {
        flex-direction: column;
        text-align: center;
        padding: 24px;
    }

    .rikutec-stage {
        aspect-ratio: 4 / 3;
    }

    .rikutec-thumbs {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 480px) {
    .rikutec-process-card {
        padding: 20px;
    }

    .rikutec-process-number {
        width: 40px;
        height: 40px;
        font-size: 16px;
        top: 16px;
        right: 16px;
    }

    .rikutec-process-title {
        margin-right: 50px;
        font-size: 16px;
    }

    .rikutec-benefit-card {
        padding: 20px;
    }

    .rikutec-benefit-icon {
        width: 44px;
        height: 44px;
        font-size: 20px;
    }

    .rikutec-nav {
        width: 44px;
        height: 44px;
        font-size: 22px;
    }

    .rikutec-nav--prev {
        left: 8px;
    }

    .rikutec-nav--next {
        right: 8px;
    }
}

/* =========================
   BOTÓN FLOTANTE DE WHATSAPP
   Lado izquierdo con animaciones
   ========================= */

.whatsapp-float {
    position: fixed;
    left: 24px;
    bottom: 24px;
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
    z-index: 9999;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    overflow: visible;
}

.whatsapp-float:hover {
    transform: scale(1.1) translateY(-4px);
    box-shadow: 0 12px 32px rgba(37, 211, 102, 0.5);
    width: auto;
    padding-right: 20px;
    border-radius: 50px;
}

.whatsapp-float svg {
    width: 32px;
    height: 32px;
    color: white;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.whatsapp-float:hover svg {
    margin-left: 4px;
}

.whatsapp-float__text {
    color: white;
    font-family: 'Sora', sans-serif;
    font-weight: 700;
    font-size: 16px;
    opacity: 0;
    width: 0;
    overflow: hidden;
    white-space: nowrap;
    transition: all 0.3s ease;
    margin-left: 0;
}

.whatsapp-float:hover .whatsapp-float__text {
    opacity: 1;
    width: auto;
    margin-left: 12px;
}

/* Animación de pulso */
.whatsapp-float__pulse {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(37, 211, 102, 0.4);
    animation: whatsapp-pulse 2s ease-out infinite;
    pointer-events: none;
}

@keyframes whatsapp-pulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0;
    }
}

/* Animación de entrada */
@keyframes whatsapp-slide-in {
    from {
        transform: translateX(-100px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.whatsapp-float {
    animation: whatsapp-slide-in 0.6s ease-out 0.5s backwards;
}

/* Responsive */
@media (max-width: 768px) {
    .whatsapp-float {
        width: 56px;
        height: 56px;
        left: 16px;
        bottom: 16px;
    }

    .whatsapp-float svg {
        width: 28px;
        height: 28px;
    }

    .whatsapp-float:hover {
        width: 56px;
        height: 56px;
        padding-right: 0;
        border-radius: 50%;
    }

    .whatsapp-float__text {
        display: none;
    }

    .whatsapp-float:hover .whatsapp-float__text {
        display: none;
    }
}

/* Para evitar que tape contenido importante */
@media (max-height: 600px) {
    .whatsapp-float {
        bottom: 12px;
        left: 12px;
        width: 52px;
        height: 52px;
    }

    .whatsapp-float svg {
        width: 26px;
        height: 26px;
    }
}

/* Asegurar que esté por encima de todo */
.whatsapp-float {
    z-index: 999999 !important;
}

/* =========================================
   FABRICACIÓN DE SOLDADURA - CSS MODERNO
   ========================================= */

:root {
    --fab-red: #d9251c;
    --fab-red-dark: #b91e15;
    --fab-text-dark: #1a1a1a;
    --fab-text-muted: #6b7280;
    --fab-gray-bg: #f8f9fa;
}

/* Sección principal */
.fab-sold {
    background: linear-gradient(180deg, #ffffff 0%, var(--fab-gray-bg) 100%);
    padding: clamp(60px, 8vw, 100px) 0;
    position: relative;
}

.fab-sold::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(217, 37, 28, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

/* Hero */
.fab-sold-hero {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 60px;
}

.fab-sold-badge {
    display: inline-block;
    background: rgba(217, 37, 28, 0.1);
    color: var(--fab-red);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 20px;
    border: 1px solid rgba(217, 37, 28, 0.2);
}

.fab-sold-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 800;
    color: var(--fab-text-dark);
    margin: 0 0 20px;
    line-height: 1.2;
}

.fab-sold-intro {
    font-size: 18px;
    color: var(--fab-text-muted);
    line-height: 1.7;
    margin: 0;
}

.fab-sold-intro strong {
    color: var(--fab-red);
    font-weight: 600;
}

/* Productos con video */
.fab-sold-product {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr; /* Más espacio al texto, menos al video vertical */
    gap: 60px;
    align-items: center;
    margin-bottom: 80px;
    background: white;
    border-radius: 24px;
    padding: 48px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    position: relative;
}

.fab-sold-product::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--fab-red) 0%, #ff6b5a 100%);
    border-radius: 24px 24px 0 0;
}

.fab-sold-product--reverse {
    grid-template-columns: 0.8fr 1.2fr; /* Invertir para el segundo producto */
}

.fab-sold-product-title {
    font-family: 'Sora', sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: var(--fab-red);
    margin: 0 0 24px;
}

.fab-sold-product-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fab-sold-product-list li {
    padding-left: 32px;
    position: relative;
    margin: 16px 0;
    font-size: 16px;
    line-height: 1.7;
    color: var(--fab-text-dark);
}

.fab-sold-product-list li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--fab-red);
    font-weight: 800;
    font-size: 24px;
}

.fab-sold-product-list strong {
    color: var(--fab-red);
    font-weight: 600;
}

/* Video vertical */
.fab-sold-product-video {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    background: #000;
    max-width: 400px; /* Limitar ancho para formato vertical */
    margin: 0 auto; /* Centrar el video */
}

.fab-sold-video {
    width: 100%;
    height: auto;
    aspect-ratio: 9/16; /* VERTICAL - formato móvil */
    display: block;
    object-fit: cover; /* Llenar todo el espacio sin barras negras */
}

/* Ventajas */
.fab-sold-benefits {
    background: var(--fab-gray-bg);
    border-radius: 24px;
    padding: 48px;
    margin-bottom: 60px;
}

.fab-sold-section-title {
    font-family: 'Sora', sans-serif;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 800;
    color: var(--fab-text-dark);
    margin: 0 0 40px;
    text-align: center;
}

.fab-sold-benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

.fab-sold-benefit {
    display: flex;
    gap: 16px;
    align-items: start;
    background: white;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.fab-sold-benefit:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.fab-sold-benefit-icon {
    width: 36px;
    height: 36px;
    background: var(--fab-red);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 18px;
    flex-shrink: 0;
}

.fab-sold-benefit-title {
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--fab-text-dark);
    margin: 0 0 8px;
}

.fab-sold-benefit-text {
    font-size: 15px;
    color: var(--fab-text-muted);
    line-height: 1.7;
    margin: 0;
}

.fab-sold-benefit-text strong {
    color: var(--fab-red);
    font-weight: 600;
}

/* CTA Centrado */
.fab-sold-cta-center {
    text-align: center;
}

.fab-sold-btn {
    display: inline-block;
    background: var(--fab-red);
    color: white;
    padding: 16px 40px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(217, 37, 28, 0.3);
}

.fab-sold-btn:hover {
    background: var(--fab-red-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(217, 37, 28, 0.4);
    color: white;
    text-decoration: none;
}

/* Galería */
.fab-sold-gallery-section {
    margin-top: 60px;
}

.fab-sold-gallery-wrapper {
    position: relative;
    margin-top: 40px;
    display: grid;
    grid-template-columns: 60px 1fr 60px;
    gap: 20px;
    align-items: center;
}

.fab-sold-gallery-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 8px 0;
}

.fab-sold-gallery-viewport::-webkit-scrollbar {
    height: 8px;
}

.fab-sold-gallery-viewport::-webkit-scrollbar-thumb {
    background: var(--fab-red);
    border-radius: 4px;
}

.fab-sold-gallery-viewport::-webkit-scrollbar-track {
    background: #e5e7eb;
    border-radius: 4px;
}

.fab-sold-gallery-track {
    display: flex;
    gap: 20px;
}

.fab-sold-gallery-nav {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 2px solid var(--fab-red);
    background: var(--fab-red);
    color: white;
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.fab-sold-gallery-nav:hover {
    background: var(--fab-red-dark);
    transform: scale(1.1);
    box-shadow: 0 4px 16px rgba(217, 37, 28, 0.4);
}

.fab-sold-gallery-item {
    flex: 0 0 auto;
    width: clamp(300px, 32vw, 420px);
    border: 3px solid transparent;
    border-radius: 16px;
    overflow: hidden;
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.fab-sold-gallery-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
    border-color: var(--fab-red);
}

.fab-sold-gallery-item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
}

/* Lightbox */
.fab-sold-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
}

.fab-sold-lightbox[aria-hidden="false"] {
    display: flex;
}

.fab-sold-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
}

.fab-sold-lightbox-dialog {
    position: relative;
    width: min(1400px, 94%);
    max-height: 90vh;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 24px;
    padding: 20px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}

.fab-sold-lightbox-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(0, 0, 0, 0.6);
    color: white;
    font-size: 32px;
    font-weight: 700;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.fab-sold-lightbox-close:hover {
    background: rgba(0, 0, 0, 0.8);
}

.fab-sold-lightbox-content {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.fab-sold-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.1);
    color: white;
    font-size: 28px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
}

.fab-sold-lightbox-nav--prev {
    left: 20px;
}

.fab-sold-lightbox-nav--next {
    right: 20px;
}

.fab-sold-lightbox-nav:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-50%) scale(1.1);
}

.fab-sold-lightbox-figure {
    margin: 0;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    width: 100%;
    max-width: 1200px;
}

.fab-sold-lightbox-img {
    width: 100%;
    height: min(75vh, 750px);
    object-fit: contain;
    display: block;
}

.fab-sold-lightbox-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 14px;
    font-weight: 600;
}

.fab-sold-lightbox-counter {
    font-family: 'Sora', sans-serif;
    font-weight: 700;
}

.fab-sold-lightbox-thumbs {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 8px 0;
}

.fab-sold-lightbox-thumb {
    flex: 0 0 auto;
    width: 120px;
    border: 3px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

.fab-sold-lightbox-thumb.is-active {
    border-color: var(--fab-red);
}

.fab-sold-lightbox-thumb img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    display: block;
}

/* Responsive */
@media (max-width: 1024px) {
    .fab-sold-product,
    .fab-sold-product--reverse {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .fab-sold-benefits-grid {
        grid-template-columns: 1fr;
    }

    .fab-sold-gallery-wrapper {
        grid-template-columns: 1fr;
    }

    .fab-sold-gallery-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
    }

    .fab-sold-gallery-nav--prev {
        left: 8px;
    }

    .fab-sold-gallery-nav--next {
        right: 8px;
    }
}

@media (max-width: 768px) {
    .fab-sold {
        padding: 60px 0;
    }

    .fab-sold-product {
        padding: 32px 24px;
    }

    .fab-sold-benefits {
        padding: 32px 24px;
    }

    .fab-sold-gallery-nav {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .fab-sold-gallery-item {
        width: 280px;
    }

    .fab-sold-gallery-item img {
        height: 220px;
    }

    .fab-sold-lightbox-content {
        padding: 0 60px;
    }

    .fab-sold-lightbox-nav {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .fab-sold-lightbox-nav--prev {
        left: 12px;
    }

    .fab-sold-lightbox-nav--next {
        right: 12px;
    }
}

/* =========================================
   CSS ADICIONAL PARA SECCIÓN DE GALERÍA SEPARADA
   Agregar esto al CSS de Fabricación de Soldadura
   ========================================= */

/* Sección de galería (separada) */
.fab-sold-gallery-only {
    background: linear-gradient(180deg, var(--fab-gray-bg) 0%, #ffffff 100%);
    padding: clamp(60px, 8vw, 100px) 0;
}

/* El resto del CSS de galería ya está en tu archivo actual */
