/*
Theme Name: PlatForm
Author: DonPig
Author URI: https://donpig.com/
Description: Plantilla de wordpress a la medida para PlatForm
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: DonPigTemplate
*/

@font-face {
	font-family: "MaisonNeueWeb";
	src: url(fonts/fonnts.com-Maison_Neue_Book.ttf);
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "MaisonNeueWeb";
	src: url(fonts/fonnts.com-Maison_Neue_Bold.ttf);
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: "MaisonNeueWeb";
	src: url(fonts/fonnts.com-Maison_Neue_Light.ttf);
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: "MaisonNeueWeb";
	src: url(fonts/fonnts.com-Maison_Neue_Mono.ttf);
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: "DentonWeb";
	src: url(fonts/DentonTest-Regular.otf);
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "DentonWeb";
	src: url(fonts/DentonTest-RegularItalic.otf);
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: "DentonWeb";
	src: url(fonts/DentonTest-Bold.otf);
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: "DentonWeb";
	src: url(fonts/DentonTest-BoldItalic.otf);
	font-weight: bold;
	font-style: italic;
}
@font-face {
	font-family: "DentonWeb";
	src: url(fonts/DentonTest-Light.otf);
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: "DentonWeb";
	src: url(fonts/DentonTest-LightItalic.otf);
	font-weight: 300;
	font-style: italic;
}
@font-face {
	font-family: "DentonWeb";
	src: url(fonts/DentonTest-Medium.otf);
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: "DentonWeb";
	src: url(fonts/DentonTest-MediumItalic.otf);
	font-weight: 600;
	font-style: italic;
}


body{
	font-family: 'MaisonNeueWeb','Maison Neue', Poppins, Helvetica, sans-serif;
	text-align: left;
	margin:0 0 0 0;
	cursor:default;
	font-size: max(1vw,12px);
	background: #f3f4f9;
}
input[type="button"],button{
	border:none;
	background:none;
	font-size:1em;
	cursor:pointer;
}
img{
	border:none;
}
a{
	color: inherit;
	text-decoration: none;
}
*[onclick],*[href]{
	cursor: pointer;
}
textarea{
	resize:none;
}
.clr{
	clear:both;
}
.columnas2{
	-webkit-column-count:2;
	-moz-column-count:2;
	column-count:2;
}
.columnas3{
	-webkit-column-count:3;
	-moz-column-count:3;
	column-count:3;
}
.columnas4{
	-webkit-column-count:4;
	-moz-column-count:4;
	column-count:4;
}
.columnas5{
	-webkit-column-count:5;
	-moz-column-count:5;
	column-count:5;
}
.grid2{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 0;
}
.grid3{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 0;
}
.grid4{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 0;
}
.grid5{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 0;
}
.flex{
	display: flex;
	flex-flow: row wrap;
	align-content: space-between;
	justify-content: space-between;
}
.flex>*{
	flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
    text-align: center;
}

.site_error>div{
	margin: 0 auto;
	padding: 0.5em;
	color: #C44;
	border:#C44 solid 1px;
	background: #EDD;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_error{
	position: fixed;
	top:-20em;
	opacity: 0;
	z-index: 10;
	width: 100%;
	
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

.site_success>div{
	margin: 0 auto;
	padding: 0.5em;
	color: #494;
	border:#494 solid 1px;
	background: #DED;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_success{
	position: fixed;
	top:-20em;
	opacity: 0;
	z-index: 10;
	width: 100%;
	
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

@keyframes siteError{
	0%{opacity:1;top:5em;}
	90%{opacity:1}
	99%{opacity:0;top:5em;}
	100%{opacity:0;top:-20em;}
}

.hide_me{
	height: 0;
	width: 0;
	overflow: hidden;
	opacity: 0;
	font-size: 1px;
}

a,input,button,*[onclick],*[href]{
	transition: all .25s ease-in-out;
	cursor: pointer;
}
h1,h2,h3{
	font-family: 'DentonWeb','DentonText','Bodoni Moda','Times New Roman', Times, serif;
	font-weight: normal;
}

/* GENERALES */

footer a{
	display: inline-block;
	margin-left: 2em;
}

nav{
	color: white;
	font-weight:600;
}
.orange_button{
	font: inherit;
	color: white;
	font-weight: 600;
	padding: 1em 1.5em;
	background: #ff6800;
	border: black solid 2px;
	box-shadow: black -3px 3px 0 0;
	transition: all 0.25s ease;
	border-radius: 0.5em;
}
.orange_button:hover{
	background: #6cc;
}
.marquee{
	overflow: hidden;
	max-width: 100vw;
}
.marquee p{
	white-space: nowrap;
	position: relative;
	left: 0;
	animation: marqueeAnim 10s infinite linear;
}
@keyframes marqueeAnim{
	from{ left:0; }
	to{ left:-20.5em; }
}

.service_gallery{
	display: none;
}
.service_gallery.active{
	display: grid;
}
.service_button{
	font: inherit;
	color: black;
	font-weight: 600;
	padding: 1em 0;
	background: #fff;
	border: black solid 2px;
	box-shadow: blue -3px 3px 0 0;
	transition: all 0.25s ease;
	border-radius: 0.5em;
	width: 100%;
}
.service_button:hover{
	background: #CCC;
}
.service_button.active{
	background: #ff6800;
	border: black solid 2px;
	box-shadow: black -3px 3px 0 0;
	color:white;
}
.elementor-widget-text-editor :is(ul,li){
	margin: 0; padding: 0;
	line-height: 1.5em;
}

#caracteristics p{
	text-wrap: balance;
}

#client_list h3{
	margin:0.5em 0 0 0;
	font-size: 1em;
	font-weight: 300;
}
iframe{
	border-radius: 2zzem !important;
}

/* MODAL */

#modal{
	background:rgba(0,0,0,0.8);
	position:fixed;
	display:none;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:10;
	text-align:center;
}
#modal>div{
	width:max(30%,300px);
	height: 80vh;
	padding: 1.5em;
	box-sizing: border-box;
	border-radius: 1em;
	text-align: left;
	margin: 10vh auto;
	background: white;
	color: black;
}
#modal>div>i.fa{
	color: #6CC;
	font-size: 2.5em;
	float: right;
}
#modal h2{
	font-size: 2em;
	text-wrap: balance;
	margin: 0.5em 0;
}
#modal iframe{
	height: 55vh !important;
	overflow: auto;
}


#top_menu span{
	margin-right: 2em !important;
}
.criclenumber{
	font-family: 'DentonWeb','DentonText','Bodoni Moda','Times New Roman', Times, serif;
	font-weight: normal;
	max-width: 1em !important;
	max-height: 1em !important;
	padding: 1em !important;
	box-sizing: content-box !important;
	line-height: 1.1em !important;
}
.criclenumber p{
	margin: 0;
}

#faq_header .e-n-accordion-item-title-text{
	font-family: 'DentonWeb','DentonText','Bodoni Moda','Times New Roman', Times, serif !important;
}





/* RESPONSIVO */

.mobile_only{
	display:none !important;
}

@media all and (max-width:960px){
	.mobile_only{
		display:block !important;
	}
	.desktop_only{
		display:none !important;
	}
	.columnas2,.columnas3{
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
	}
	.columnas4{
		-webkit-column-count:2;
		-moz-column-count:2;
		column-count:2;
	}
	.columnas5{
		-webkit-column-count:3;
		-moz-column-count:3;
		column-count:3;
	}
	.grid2,.grid3,.grid4,.grid5,.flex{
		display: block;
	}
	.grid2mobile{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.grid3mobile{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
	
	header{
		height:60px;
	}
	#menu_opener{
		float:left;
		margin: 5px;
		width:48px;
		height:48px;
		border: solid white 1px;
	}
	#menu_opener>div{
		height:4px;
		margin: 4px auto 0 auto;
		background: white;
		width: 36px;
	}
	#menu_opener>div:first-child{
		margin-top: 14px;
	}
	footer{
		font-size: 1em;
	}
	footer a{
		margin: 0 1em;
		display: inline-block;
		line-height: 2em;
	}
	h1{
		text-wrap: balance;
	}

	#services_menu{
		display: flex !important;
		max-width: 100% !important;
		flex-wrap: wrap !important;
		gap:1em !important;
		align-items: center;
		align-content: center;
		justify-content: center;
	}
	#services_menu>div{
		min-width:28% !important;
	}
	.service_gallery.active{
		display: flex !important;
		max-width: 100% !important;
		overflow: scroll !important;
	}
	.service_gallery>div{
		min-width:85% !important;
	}
	.criclenumber{
		position: absolute;
	}

	#client_list{
		display: flex !important;
		max-width: 100% !important;
		overflow: scroll !important;
		padding: 5em 1em;
	}
	#client_list>div{
		min-width:65% !important;
	}
	h2{
		text-wrap: balance;
	}
	#caracteristics{
		padding-bottom: 3em;
	}
	#caracteristics>div{
		padding: 0 5% !important;
	}
	#caracteristics>div>div>figure{
		float: right;
		translate:0 2em;
	}
	#caracteristics>div>div>div{
		clear: both;
	}
	#caracteristics>div h3{
		width: 60%;
		text-wrap: balance;
	}
	iframe{
		border-radius: 2em !important;
	}
}