@import url('https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css');

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    max-width: 1440px;          /* nessun elemento può essere full-width, cioè a pieno browser */
                                /* Max larghezza consentita è indicata qui */
                                /* cancallare/commentare se invece si vogliono elementi full-width */
                                /* e poi andare qui sotto su .flex-row */ 
    margin: 0 auto;
    overflow-x: hidden;
}


.flex-wrapper {                    
	/*margin-bottom: 2rem;*/       
	/*margin-top: 2rem;*/          
}

.flex-row {
    /*max-width: 1080px;*/          /* stabilire una max-width qui anzichè nel body (vedere sopra)
                                    permette di avere elementi full-width, cioè a pieno browser
                                    basto solo siano al di fuori di un elemento .flex-row 
                                    cancellare/commentare sia qui che in body per avere tutto full-width */
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
}


/* forza le colonne di una riga (row) ad avere tutte la medesima altezza */
/* (cioè quella della colonna più alta) */
/* N.B. la classe sottostante va attribuita ad ogni colonna della riga */
.eq-height{
    height: inherit;    
}


@media (min-width: 980px) {
	.flex-wrapper {
        padding: 0 1%;      
    }                       
    
	
	.flex-row {margin-top: 0rem;}
	.flex-row:first-child {margin-top: 0;}
	
	.d-1 						{width: 7.05%;}
	.d-2 						{width: 15.5%;}
    .d-one-5                    {width: 18.75%;} /* un quinto */
	.d-3, 
	.d-thirds 					{width: 23.95%;}
	.d-4, 
	.d-quarters 				{width: 32.4%;}
    .d-45                       {width: 36.63%;}  /* schema "tipo": d-45 + d-45 + d-3 */
	.d-5 						{width: 40.85%;}
	.d-6, 
	.d-halfs					{width: 49.3%;}
	.d-7 						{width: 57.75%;}
	.d-8 						{width: 66.2%;}
	.d-9 						{width: 74.65%;}
	.d-10 						{width: 83.1%;}
	.d-11 						{width: 91.55%;}
	.d-12, 
	.d-full 					{width: 100%;}
    
    .no-d {
        display: none !important;
    }
}



@media only screen and (min-width: 661px) and (max-width: 979px) {	
	.flex-wrapper {
        padding: 0 2%;
	}
	
	.flex-row {-webkit-box-orient: horizontal;-webkit-box-direction: normal;flex-flow: row wrap;}
	
	.t-4,
    .t-4on10,
	.t-6,
    .t-6on10,
    .t-8,
	.t-12 {margin-top: 0rem}
	
	.t-4 		{width: 31.46%;}
    .t-4on10    {width: 37.88%;}
	.t-6 		{width: 48.6%;}
    .t-6on10    {width: 59.32%;}
    .t-8 		{width: 65.74%;}
	.t-12 		{width: 100%;}
	
	.flex-row:first-child .t-4,
    .flex-row:first-child .t-4on10,
	.flex-row:first-child .t-6,
    .flex-row:first-child .t-6on10,
    .flex-row:first-child .t-8,
	.flex-row:first-child .t-12 {
		 margin-top: 0;
	}
    
    .no-t {
        display: none !important;
    }
}




@media only screen and (min-width: 0px) and (max-width: 660px) {
	.flex-wrapper {
        padding: 0 3%;
	}
	
	.flex-row {-webkit-box-orient: horizontal;-webkit-box-direction: normal;flex-flow: row wrap;}
	
	.m-6,
	.m-12 {margin-top: 0rem;}
	
	.m-6 		{width: 47.2%;}
	.m-12 		{width: 100%;}
	
	.flex-row:first-child .m-6,
	.flex-row:first-child .m-12 {
		 margin-top: 0;
	}
    
    .no-m {
        display: none !important;
    }
}


/* 
Una griglia annidata dentro un'altra griglia vuole la classe "nested" aggunta a "flex-row".

Così: 

    <section class="flex-wrapper">
        <div class="flex-row">
            <div class="d-x t-x m-x">
                ...

                <div class="flex-row nested">
                    <div class="d-x t-x m-x">
                        ...

*/

/*
@media (max-width: 979px) {
    .nested {
        margin-top: 2rem;
    }
    .nested:first-child {
        margin-top: 0rem;
    }
}
*/


/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
  font-size: 62.5%; }
body {
  font-size: 1.4rem;
  line-height: 1.4;
}


/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 1.2rem;
  font-weight: 300; }
h1 { font-size: 3rem; line-height: 1.2;  letter-spacing: -.1rem;}
h2 { font-size: 2.6rem; line-height: 1.2; letter-spacing: -.1rem;}
h3 { font-size: 2.2rem; line-height: 1.2;  letter-spacing: -.1rem; }
h4 { font-size: 2rem; line-height: 1.2; letter-spacing: -.08rem;}
h5 { font-size: 1.8rem; line-height: 1.2;  letter-spacing: -.05rem;}
h6 { font-size: 1.6rem; line-height: 1.2;  letter-spacing: 0;}


@media (max-width: 480px) {
  h1 { font-size: 2.8rem; }
  h2 { font-size: 2.6rem; }
  h3 { font-size: 2.2rem; }
  h4 { font-size: 1.8rem; }
  h5 { font-size: 1.6rem; }
  h6 { font-size: 1.4rem; }
}
    
p {
    font-size: 1.45rem; 
    font-weight: 200;
    line-height: 1.9rem;
    margin-top: 0;
}


/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
  color: #0095DB; 
 /* text-decoration: none;*/
    font-weight: 400;
}
a:hover {
  color: #0095DB;
    /*text-decoration: underline;*/
    cursor: pointer;
}


/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  height: 38px;
  padding: 0 30px;
  color: #555;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: .1rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border-radius: 5px;
  border: 1px solid #bbb;
  cursor: pointer;
  box-sizing: border-box; }

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  color: #333;
  border-color: #888;
  outline: 0; }

.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
  color: #FFF;
   /*background: linear-gradient(#0095DB, #0075BE);*/
  background-color: #0095DB;
  border-color: #0095DB; }


.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
  color: #FFF;
  background-color: #0095DB;
  border-color: #0095DB; }


.button, .button-primary {
    height: 36px;
    line-height: 36px;
    padding: 0 16px;
}

/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  height: 38px;
  padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 5px;
  box-shadow: none;
  box-sizing: border-box; }
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
textarea {
  min-height: 65px;
  padding-top: 6px;
  padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid #0095DB;
  outline: 0; }
label,
legend {
  display: block;
  margin-bottom: .5rem;
  font-weight: 600; }
fieldset {
  padding: 0;
  border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
  display: inline; }
label > .label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: normal; }


/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: circle inside; }
ol {
  list-style: decimal inside; }
ol, ul {
  padding-left: 0;
  margin-top: 0; }
ul ul,
ul ol,
ol ol,
ol ul {
  /*margin: 1.5rem 0 1.5rem 3rem;*/
  font-size: 90%; }
li {
  /*margin-bottom: 1rem; */
}


/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #E1E1E1; }
th:first-child,
td:first-child {
  padding-left: 0; }
th:last-child,
td:last-child {
  padding-right: 0; }


/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
  margin-bottom: 1rem; }
input,
textarea,
select,
fieldset {
  margin-bottom: 1.5rem; }
pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
  margin-bottom: 2.5rem; }


/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
  width: 100%;
  box-sizing: border-box; }
.u-max-full-width {
  max-width: 100%;
  box-sizing: border-box; }
.u-pull-right {
  float: right; }
.u-pull-left {
  float: left; }


/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #E1E1E1; }
