/*
 * Gridism
 * A simple, responsive, and handy CSS grid by @cobyism
 * https://github.com/cobyism/gridism
 */

/* W SECTION */
.w-100 {margin:0 auto; max-width:100%; width:100%;}
.w-90 {margin:0 auto; max-width:91.6%; width:100%;}
.w-78  {margin:0 11.1111%; max-width:77.7778%; width:100%;}
.w-l  {margin:0 auto; max-width:1600px; width:100%; padding:5vw 7vw;}
.w-m  {margin:0 auto; max-width:1170px; width:100%;}
.w-s  {margin:0 auto; max-width:900px; width:100%;}

/* IMAGES */
img {
	display: block;
	height: auto;
	max-width: 100%;
	width: auto;
}

/* Preserve some sanity */
.grid,
.unit {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* Set up some rules to govern the grid */
.grid {
  display: block;
  clear: both;
  /*margin-bottom:40px;*/
}
.grid .unit {
  float: left;
  width: 100%;
  padding: 15px;
}

/* This ensures the outer gutters are equal to the (doubled) inner gutters. */
.grid .unit:first-child { padding-left: 15px; }
.grid .unit:last-child { padding-right: 15px; }


/* Nested grids already have padding though, so let’s nuke it */
.unit .unit:first-child { padding-left: 0; }
.unit .unit:last-child { padding-right: 0; }
.unit .grid:first-child > .unit { padding-top: 0; }
.unit .grid:last-child > .unit { padding-bottom: 0; }

/* Let people nuke the gutters/padding completely in a couple of ways */
.no-gutters .unit,
.unit.no-gutters {
  padding: 0 !important;
}

/* Width classes also have shorthand versions numbered as fractions
 * For example: for a grid unit 1/3 (one third) of the parent width,
 * simply apply class="w-1-3" to the element. */
.grid .whole,          .grid .w-1-1 { width: 100%; }
.grid .half,           .grid .w-1-2 { width: 50%; }
.grid .one-third,      .grid .w-1-3 { width: 33.33333333%; }
.grid .two-thirds,     .grid .w-2-3 { width: 66.66666667%; }
.grid .one-quarter,
.grid .one-fourth,     .grid .w-1-4 { width: 25%; }
.grid .three-quarters,
.grid .three-fourths,  .grid .w-3-4 { width: 75%; }
.grid .one-fifth,      .grid .w-1-5 { width: 20%; }
.grid .two-fifths,     .grid .w-2-5 { width: 40%; }
.grid .three-fifths,   .grid .w-3-5 { width: 60%; }
.grid .four-fifths,    .grid .w-4-5 { width: 80%; }
.grid .one-sixth,      .grid .w-1-6 {width: 16.66666667%;}
.grid .five-sixths,    .grid .w-5-6 {width: 83.33333333%;}
.grid .one-twelfth,    .grid .w-1-12 {width: 8.33333333%;}

.grid .golden-small,   .grid .w-g-s { width: 38.2716%; } /* Golden section: smaller piece */
.grid .golden-large,   .grid .w-g-l { width: 61.7283%; } /* Golden section: larger piece */

/* 12 colonnes */
.grid .c-1  {width: 8.33333333%;}
.grid .c-2  {width: 16.66666667%;}
.grid .c-3  {width: 25%;}
.grid .c-4  {width: 33.33333333%;}
.grid .c-5  {width: 41.66666667%;}
.grid .c-6  {width: 50%;}
.grid .c-7  {width: 58.33333333%;}
.grid .c-8  {width: 66.66666667%;}
.grid .c-9  {width: 75%;}
.grid .c-10 {width: 83.33333333%;}
.grid .c-11 {width: 91.66666667%;}
.grid .c-12 {width: 100%;}

/* Push It */
.grid .ml-1  {margin-left: 8.33333333%;}
.grid .ml-2  {margin-left: 16.66666667%;}
.grid .ml-3  {margin-left: 25%;}
.grid .ml-4  {margin-left: 33.33333333%;}
.grid .ml-5  {margin-left: 41.66666667%;}
.grid .ml-6  {margin-left: 50%;}
.grid .ml-7  {margin-left: 58.33333333%;}
.grid .ml-8  {margin-left: 66.66666667%;}
.grid .ml-9  {margin-left: 75%;}
.grid .ml-10 {margin-left: 83.33333333%;}
.grid .ml-11 {margin-left: 91.66666667%;}

/* Clearfix after every .grid */
.grid {
  *zoom: 1;
}
.grid:before, .grid:after {
  display: table;
  content: "";
  line-height: 0;
}
.grid:after {
  clear: both;
}

/* Utility classes */
.align-justify { text-align: justify; }
.align-center { text-align: center; }
.align-left   { text-align: left; }
.align-right  { text-align: right; }
.pull-left    { float: left; }
.pull-right   { float: right; }

/* Hide elements using this class by default */
.only-on-mobiles {
  display: none !important;
}

/* Responsive Stuff */
@media screen and (max-width: 768px) {
	/* Stack anything that isn’t full-width on smaller screens 
	and doesn't provide the no-stacking-on-mobiles class */
	.w-s, .w-m, .w-l, .w-78, .w-90 {margin:0 auto; max-width:100%; width:100%;}
	 
  	.grid:not(.no-stacking-on-mobiles) > .unit {
		width: 100% !important;
		padding-left: 30px;
		padding-right: 30px;
		margin-left:0;
  	}
  	.unit .grid .unit {
		padding-left: 0px;
		padding-right: 0px;
	}

  	/* Sometimes, you just want to be different on small screens */
  	.center-on-mobiles {
    	text-align: center !important;
  	}
  	.hide-on-mobiles {
    	display: none !important;
  	}
  	.only-on-mobiles {
    	display: block !important;
  	}
}

/* Expand the wrap a bit further on larger screens */
@media screen and (min-width: 1180px) {
  .wider .grid,
  .grid.wider {
    max-width: 100%;
    margin: 0 auto;
  }
}

/*****************************************************************************
* RESPONSIVE
*****************************************************************************/
/* Small screens ********/
@media only screen and (max-width: 736px) {

} /* max-width 640px, mobile-only styles, use when QAing mobile issues */

/* Medium screens ********/
@media only screen and (min-width: 40.063em) { } /* min-width 641px, medium screens */

@media only screen and (min-width: 40.063em) and (max-width: 64em) { } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */

/* Large screens ********/
/* min-width 1025px, large screens */
@media only screen and (min-width: 64.063em) { } 

/* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */
@media only screen and (min-width: 64.063em) and (max-width: 90em) { 

}

/* XLarge screens ********/
@media only screen and (min-width: 90.063em) { } /* min-width 1441px, xlarge screens */

@media only screen and (min-width: 90.063em) and (max-width: 120em) { } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */

// XXLarge screens
@media only screen and (min-width: 120.063em) { } /* min-width 1921px, xxlarge screens */


/* GRID FX ///////////////////////////////////////////// */
/* Styles to help demonstrate the grid */

code, pre {
  background: #AFEAD0;
  color: #333;
  padding: 20px 3px;
  border-radius: 5px;
}

pre {
  padding: 20px;
  text-align: center;
}

.demo p {
  margin: 0;
}

.demo .unit pre {
  margin: 0;
  padding: 20px 0;
  -webkit-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

.demo .unit pre:hover {
  background: #fac1c1;
}

.grid, .unit {
  -webkit-transition: all .25s ease-in-out;
  -moz-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out;
}

.demo .unit .grid {
  overflow: hidden;
  background: rgba(73,255,218,.5);
}

.demo .unit .grid:first-child {
  border-radius: 5px 5px 0 0;
}

.demo .unit .grid:last-child {
  border-radius: 0 0 5px 5px;
}
