/*
*
* PLATFORM.CSS - "NOME_SITO"
* DESIGN BY LINOOLMOSTUDIO
* BOOTSTRAP + NORMALIZE + CUSTOM
*
*/



/* CONTAINER _____________________________________________________________________ */

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; font-size: 22px; }
body { padding: 0; margin: 0; }
main { display: block; position: relative; width: 100%; }
.container { position: relative; width:100%; margin: 0 auto; max-width: 1920px; }
.rel { position: relative; }
.abs { position: absolute; }
.float_l { float: left; }
.float_r { float: right; }

body::-webkit-scrollbar {
	width: 9px;
	background-color:#fff;
}

body::-webkit-scrollbar-thumb {
	width: 9px;
	background-color:#ce221f;
}


/* SIMULATE BOOTSTRAP _____________________________________________________________________ */

.w2  { width: 2.5%; }
.w5  { width: 5%; }
.w7  { width: 7.5%; }
.w10 { width: 10%; }
.w15 { width: 15%;}
.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w33 { width: calc(100% / 3); }
.w35 { width: 35%; }
.w40 { width: 40%; }
.w45 { width: 45%; }
.w50 { width: 50%; }
.w55 { width: 55%; }
.w60 { width: 60%; }
.w65 { width: 65%; }
.w66 { width: calc((100% / 3) * 2); }
.w70 { width: 70%; }
.w75 { width: 75%; }
.w80 { width: 80%; }
.w85 { width: 85%; }
.w90 { width: 90%; }
.w95 { width: 95%; }
.w100 { width: 100%; }




/* DINAMIC HEIGHT _____________________________________________________________________ */

.h10   { height: 10vh; }
.h15   { height: 15vh; }
.h20   { height: 20vh; }
.h25   { height: 25vh; }
.h30   { height: 30vh; }
.h35   { height: 35vh; }
.h40   { height: 40vh; }
.h45   { height: 45vh; }
.h50   { height: 50vh; }
.h55   { height: 55vh; }
.h60   { height: 60vh; }
.h65   { height: 65vh; }
.h70   { height: 70vh; }
.h75   { height: 75vh; }
.h80   { height: 80vh; }
.h85   { height: 85vh; }
.h90   { height: 90vh; }
.h95   { height: 95vh; }
.h100 { height: 100vh; }




/* PADDING _____________________________________________________________________ */ 

.p1  { padding: 1.25%; } .p1t { padding-top: 1.25%; } .p1r { padding-right: 1.25%; } .p1b { padding-bottom: 1.25%; } .p1l { padding-left: 1.25%; }
.p2  { padding: 2.5%; }  .p2t { padding-top: 2.5%; }  .p2r { padding-right: 2.5%; }  .p2b { padding-bottom: 2.5%; }  .p2l { padding-left: 2.5%; }
.p5  { padding: 5%; }    .p5t { padding-top: 5%; }    .p5r { padding-right: 5%; }    .p5b { padding-bottom: 5%; }    .p5l { padding-left: 5%; }
.p7  { padding: 7.5%; }  .p7t { padding-top: 7.5%; }  .p7r { padding-right: 7.5%; }  .p7b { padding-bottom: 7.5%; }  .p7l { padding-left: 7.5%; }
.p10 { padding: 10%; }   .p10t { padding-top: 10%; }  .p10r { padding-right: 10%; }  .p10b { padding-bottom: 10%; }  .p10l { padding-left: 10%; }
.p15 { padding: 15%; }   .p15t { padding-top: 15%; }  .p15r { padding-right: 15%; }  .p15b { padding-bottom: 15%; }  .p15l { padding-left: 15%; }
.p20 { padding: 20%; }   .p20t { padding-top: 20%; }  .p20r { padding-right: 20%; }  .p20b { padding-bottom: 20%; }  .p20l { padding-left: 20%; }
.p25 { padding: 25%; }   .p25t { padding-top: 25%; }  .p25r { padding-right: 25%; }  .p25b { padding-bottom: 25%; }  .p25l { padding-left: 25%; }
.p30 { padding: 30%; }   .p30t { padding-top: 30%; }  .p30r { padding-right: 30%; }  .p30b { padding-bottom: 30%; }  .p30l { padding-left: 30%; }
.p35 { padding: 35%; }   .p35t { padding-top: 35%; }  .p35r { padding-right: 35%; }  .p35b { padding-bottom: 35%; }  .p35l { padding-left: 35%; }
.p40 { padding: 40%; }   .p40t { padding-top: 40%; }  .p40r { padding-right: 40%; }  .p40b { padding-bottom: 40%; }  .p40l { padding-left: 40%; }
.p45 { padding: 45%; }   .p45t { padding-top: 45%; }  .p45r { padding-right: 45%; }  .p45b { padding-bottom: 45%; }  .p45l { padding-left: 45%; }
.p50 { padding: 50%; }   .p50t { padding-top: 50%; }  .p50r { padding-right: 50%; }  .p50b { padding-bottom: 50%; }  .p50l { padding-left: 50%; }


.p1tb { padding-top: 1.25%; padding-bottom: 1.25%; } .p1lr { padding-left: 1.25%; padding-right: 1.25%; }
.p2tb { padding-top: 2.5%; padding-bottom: 2.5%; }   .p2lr { padding-left: 2.5%; padding-right: 2.5%; }
.p5tb { padding-top: 5%; padding-bottom: 5%; }       .p5lr { padding-left: 5%; padding-right: 5%; }
.p7tb { padding-top: 7.5%; padding-bottom: 7.5%; }   .p7lr { padding-left: 7.5%; padding-right: 7.5%; }
.p10tb { padding-top: 10%; padding-bottom: 10%; }    .p10lr { padding-left: 10%; padding-right: 10%; }
.p15tb { padding-top: 15%; padding-bottom: 15%; }    .p15lr { padding-left: 15%; padding-right: 15%; }
.p20tb { padding-top: 20%; padding-bottom: 20%; }    .p20lr { padding-left: 20%; padding-right: 20%; }
.p25tb { padding-top: 25%; padding-bottom: 25%; }    .p25lr { padding-left: 25%; padding-right: 25%; }
.p30tb { padding-top: 30%; padding-bottom: 30%; }    .p30lr { padding-left: 30%; padding-right: 30%; }
.p35tb { padding-top: 35%; padding-bottom: 35%; }    .p35lr { padding-left: 35%; padding-right: 35%; }
.p40tb { padding-top: 40%; padding-bottom: 40%; }    .p40lr { padding-left: 40%; padding-right: 40%; }
.p45tb { padding-top: 45%; padding-bottom: 45%; }    .p45lr { padding-left: 45%; padding-right: 45%; }
.p50tb { padding-top: 50%; padding-bottom: 50%; }    .p50lr { padding-left: 50%; padding-right: 50%; }


.notop { padding-top: 0 !important; }
.noright { padding-right: 0 !important; }
.nobottom { padding-bottom: 0 !important; }
.noleft	{ padding-left: 0 !important; }




/* TABLE _____________________________________________________________________ */

.t_flex { display: flex; align-items: center; justify-content: center; }
.t_top { display: flex; align-items: flex-start; justify-content: center; }
.t_right { display: flex; align-items: center; justify-content: flex-end; }
.t_bottom { display: flex; align-items: flex-end; justify-content: center; }
.t_left { display: flex; align-items: center; justify-content: flex-start; }




.v_flex { display: flex; align-items: center; justify-content: center; flex-direction: column; }
.v_top { display: flex; align-items: center; justify-content: flex-start; flex-direction: column; }
.v_right { display: flex; align-items: flex-end; justify-content: center; flex-direction: column; }
.v_bottom { display: flex; align-items: center; justify-content: flex-end; flex-direction: column; }
.v_left { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; }




.t_center { text-align: center; }


/* ELEMENTS _____________________________________________________________________ */

.only_screen{ display: inline-block; }
.only_mobile{ display: none; }




/*__ GENERAL __*/

.clr { clear: both; }
.none { display: none !important; }
.display { display: initial !important; }
.hidden { visibility: hidden !important; }
.non-hidden { visibility: visible !important; }

.grid_item:nth-of-type(1n+1) { clear: both; }

#iubenda-cs-banner .iubenda-banner-content a, #iubenda-cs-banner .iubenda-banner-content-padded a { display: inline-block; }


/*__ BACKGROUNDS __*/
.bkg { background-position: center; background-repeat: no-repeat; background-size: cover; }
.bkg_abs {
	position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto;
	width: 100%; height: 100%;
	background-repeat: no-repeat; background-position: center center; background-size: cover;
	transition: .5s ease-out;
}
.bkg_video {
	position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto;
	width: auto; height: auto; min-width: 100%; min-height: 100%;
}




/*__ FILTERS __*/
.filter { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 100%; height: 100%; }
.filter_black { background-color: #1e1e1e; opacity: 0.5; }
.filter_color { background-color: #ffffff; opacity: 0; }




/* TYPO & FONTS _____________________________________________________________________ */

h1, h2, h3, h4, p, a ,form, ul, ol, li {
	text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased !important;
	margin: 0; padding: 0;
}
/* INSERIRE FONT DI BACKUP CON E SENZA SERIF IN BASE ALL'ESIGENZA! */
h1 { font-family: 'Nunito', sans-serif; font-size: 90px; line-height: 1; color: #fff; font-weight: 600; }
h2 { font-family: 'Nunito', sans-serif; font-size: 80px; line-height: 1; color: #ce221f; font-weight: 600; margin-bottom: 30px; }
h3 { font-family: 'Nunito', sans-serif; font-size: 60px; line-height: 1; color: #1e1e1e; font-weight: 600; }
h4 { font-family: 'Nunito', sans-serif; font-size: 40px; line-height: 1; color: #fff; font-weight: 400; }
p, li { font-family: 'FuturaL'; font-size: 1rem; line-height: 1.4; color: #242424; }
li { line-height: 1; list-style: none; }
a, button {
	display: block; background-color: transparent;
	font-family: 'FuturaL'; font-size: 1rem; line-height: 1; color: #1e1e1e; text-decoration: none;
	transition: .25s ease;
}
span { color: #3e3e3e; }
b, strong { font-weight: 900; }
img { width: 100%; height: auto; border-style: none; }




/* PLACEHOLDER _____________________________________________________________________ */

::placeholder { color: rgba(30,30,30,0.8); transition: .25s ease; }
::-webkit-placeholder { color: rgba(230,30,30,0.8); transition: .25s ease; }
::-ms-input-placeholder { color: rgba(30,30,30,0.8); transition: .25s ease; }
:focus::placeholder { color: rgba(30,30,30,0.4); }
:focus::-webkit-placeholder { color: rgba(30,30,30,0.4); }
:focus::-ms-input-placeholder { color: rgba(30,30,30,0.4); }




/* BUTTONS _____________________________________________________________________ */

button, input, optgroup, select, textarea {
  font-family: inherit; font-size: 1rem; line-height: 1;
  padding: 0; margin: 0;
}
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] {
	-webkit-appearance: none; border: none; background-color: transparent;
	transition: .25s ease;
}
button:active, input:active, textarea:active, select:active { outline: none; }
button:focus, input:focus, textarea:focus, select:focus { outline: 0; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
select::-ms-expand { display: none; /* hide the default arrow in ie10 and ie11 */ }




/* SPECIAL TAGS _____________________________________________________________________ */

hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1rem; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1rem; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; resize: none; border: none; background-color: rgba(255,255,255,0.2); }
details { display: block; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }











/* responsive layout _____________________________________________________________________ */


/*__ FLUID RESPONSIVE __*/

/* RESP INVERTITO -> DA MOBILE SALENDO */
/* CALC BASE  ->  calc(12px + (24 - 12) * ((100vw - 480px) / (1680 - 480))); } */




/*__ ÜBER __*/
@media screen and ( min-width: 2560px ) {}




/*__ FULL_HD __*/
@media screen and ( min-width: 1920px ) {}




/*__ LAPTOP __*/
@media screen and ( min-width: 1440px ) {}




/*__ TABLET GRANDE __*/
@media screen and ( min-width: 1280px ) {}




/*__ TABLET __*/
@media screen and ( min-width: 1024px ) {}




/*__ TABLET PICCOLO __*/
@media screen and ( min-width: 768px ) {}




/*__ MOBILE PORT __*/
@media only screen and ( min-width: 480px ) {}








@media only screen and ( max-width: 768px ) {

	.only_screen{ display:none; }
	.only_mobile{ display:inline-block; }

}




@media only screen and ( max-width: 480px ) {}


