/* ___________________________________________

       CSS Guide
___________________________________________ */

/* 01. CSS Grid
   01-a. CSS Variables
   01-b. Mobile
   01-c. Mobile Landscape
   01-d. Tablet
   01-e. Small Desktop & Up

/* _____________________________________

   01-a. Variables
   _____________________________________ */

   :root {
      --main-padding: 0.9375em;
      --gap-size: 0.5em;
      --ml-gap-size: 1em;
   }

/* _____________________________________

   01-b. Mobile
   _____________________________________ */

   html {
      box-sizing: border-box;/* This makes width and height include padding and border by default */
   }

   *, *::before, *::after {
      box-sizing: inherit;
   }

   .hidden{
      display: none;
   }

   /*------------ start mobile ------------*/

   .site{ max-width: 48em;}

   .mobile{display: block;}
   .tablet{display: none;}
   .desktop{display: none;}

   /*------------ Grid Items mobile ------------*/
    
   .head, .main > *, .foot {
      display: grid;
      grid-template-columns: 1fr repeat(2, minmax(0, 24em)) 1fr;/* 4 equal columns *//* repeat(2, minmax(0, 24em)) creates 2 columns that are at least 0 and at most 24em wide */
      margin-left: var(--gap-size);
      margin-right: var(--gap-size);
   }

   .logo{ grid-column: 1 / span 1; }/* start at column line 1 and span 1 column */
   nav{ grid-column: 3 / span 1; }/* start at column line 3 and span 1 column */

   .one-item, .two-items, .three-items, .four-items {
      margin-bottom: 1em;
      display: grid;
      justify-items: stretch;
      grid-column-gap: var(--gap-size);
      grid-column: 2 / span 2;
   }

   .full{ grid-column: 1 / -1; }/* start at column line 1 and span to the last column line */

   .one-item{ grid-template-columns: 1fr; }/* 1 equal column */
   .two-items{ grid-template-columns: repeat(2, 1fr); }/* 2 equal columns */
   .three-items{ grid-template-columns: repeat(3, 1fr); }/* 3 equal columns */
   .four-items{ grid-template-columns: repeat(4, 1fr); }/* 4 equal columns */

     
   /* _____________________________________

   01-c. Mobile Landscape
   _____________________________________ */

   @media screen and (min-width: 48em) {/* for landscape on the mobile screen *//*48em is 768px*/

      .site{ max-width: 63.99em;}

      .mobile{display: block;}
      .tablet{display: none;}
      .desktop{display: none;}
      
      .head, .main > *, .foot {
         display: grid;
         grid-template-columns: 1fr repeat(4, minmax(auto, 15.99em)) 1fr;/* 6 equal columns *//* repeat(4, minmax(auto, 15.99em)) creates 4 columns that are at least 0 and at most 15.99em wide */
      }
      
      .logo{ grid-column: 1 / span 1; }/* start at column line 1 and span 1 column */
      nav{ grid-column: 2 / span 5; }/* start at column line 2 and span 5 columns */

      .sm-one-item, .sm-two-items, .sm-three-items, .sm-four-items, .sm-one-third, .sm-two-third, .sm-half-left, .sm-half-right {
         display: grid;
         justify-items: stretch;
         grid-column-gap: var(--gap-size);
         grid-column: 2 / span 4;
      }
      
      .sm-one-item{ grid-template-columns: 1fr; }/* 1 equal column */
      .sm-two-items{ grid-template-columns: repeat(2, 1fr); }/* 2 equal columns */
      .sm-three-items{ grid-template-columns: repeat(3, 1fr); }/* 3 equal columns */
      .sm-four-items{ grid-template-columns: repeat(4, 1fr); }/* 4 equal columns */
      .sm-one-third{ grid-template-columns: 1fr 3fr; }/* 1/3 and 2/3 columns */
      .sm-two-third{ grid-template-columns: 3fr 1fr; }/* 2/3 and 1/3 columns */
      .sm-half-left{ grid-template-columns: 2fr 1fr 1fr; }/* 1/4 and 1/4 and 1/2 columns */
      .sm-half-right{ grid-template-columns: 1fr 1fr 2fr; }/* 1/2 and 1/4 and 1/4 columns */

   }
   
   /* _____________________________________

   01-d. Tablet
   _____________________________________ */

   @media screen and (min-width: 64em) { /*64em is 1024px*/

      .site{ max-width: 119.99em;}

      .mobile{display: none;}
      .tablet{display: block;}
      .desktop{display: none;}
      
      .head, .main > *, .foot {
         display: grid;
         grid-template-columns: 1fr repeat(4, minmax(auto, 15.99em)) 1fr;/* 8 equal columns *//* repeat(4, minmax(auto, 15.99em)) creates 4 columns that are at least 0 and at most 15.99em wide */
      }

      .logo{ grid-column: 1 / span 1; }/* start at column line 1 and span 1 column */
      nav{ grid-column: 2 / span 5; }/* start at column line 2 and span 5 columns */

      .md-one-item, .md-two-items, .md-three-items, .md-four-items, .md-one-third, .md-two-third, .md-half-left, .md-half-right {
         display: grid;
         justify-items: stretch;
         grid-column-gap: var(--ml-gap-size);
         grid-column: 2 / span 4; /* span 4 columns or the full width */
      }

      .md-one-item{ grid-template-columns: 1fr; }/* 1 equal column */
      .md-two-items{ grid-template-columns: repeat(2, 1fr); }/* 2 equal columns */
      .md-three-items{ grid-template-columns: repeat(3, 1fr); }/* 3 equal columns */
      .md-four-items{ grid-template-columns: repeat(4, 1fr); }/* 4 equal columns */
      .md-five-items{ grid-template-columns: repeat(5, 1fr); }/* 5 equal columns */
      .md-one-third{ grid-template-columns: 1fr 3fr; }/* 1/3 and 2/3 columns */
      .md-two-third{ grid-template-columns: 3fr 1fr; }/* 2/3 and 1/3 columns */
      .md-half-left{ grid-template-columns: 2fr 1fr 1fr; }/* 1/4 and 1/4 and 1/2 columns */
      .md-half-right{ grid-template-columns: 1fr 1fr 2fr; }/* 1/2 and 1/4 and 1/4 columns */
      
   }

   /* _____________________________________

   01-e. Small Desktop & Up
   _____________________________________ */

   @media screen and (min-width: 120em) { /*120em is 1920px*/

      .site{ max-width: none;}

      .mobile{display: none;}
      .tablet{display: none;}
      .desktop{display: block;}
      
      .head, .main > *, .foot {
         display: grid;
         grid-template-columns: 1fr repeat(4, minmax(auto, 30em)) 1fr;/* 10 equal columns *//* repeat(4, minmax(auto, 30em)) creates 4 columns that are at least 0 and at most 30em wide */
      }

      .logo{ grid-column: 1 / span 1; }/* start at column line 1 and span 1 column */
      nav{ grid-column: 2 / span 5; }/* start at column line 2 and span 5 columns */

      .lg-one-item, .lg-two-items, .lg-three-items, .lg-four-items, .lg-one-third, .lg-two-third, .lg-half-left, .lg-half-right {
         display: grid;
         justify-items: stretch;
         grid-column: 2 / span 4; /* span 4 columns or the full width */
      }

      .lg-one-item{ grid-template-columns: 1fr; }/* 1 equal column */
      .lg-two-items{ grid-template-columns: repeat(2, 1fr); }/* 2 equal columns */
      .lg-three-items{ grid-template-columns: repeat(3, 1fr); }/* 3 equal columns */
      .lg-four-items{ grid-template-columns: repeat(4, 1fr); }/* 4 equal columns */
      .lg-five-items{ grid-template-columns: repeat(5, 1fr); }/* 5 equal columns */
      .lg-six-items{ grid-template-columns: repeat(6, 1fr); }/* 6 equal columns */
      .lg-one-third{ grid-template-columns: 1fr 3fr; }/* 1/3 and 2/3 columns */
      .lg-two-third{ grid-template-columns: 3fr 1fr; }/* 2/3 and 1/3 columns */
      .lg-half-left{ grid-template-columns: 2fr 1fr 1fr; }/* 1/4 and 1/4 and 1/2 columns */
      .lg-half-right{ grid-template-columns: 1fr 1fr 2fr; }/* 1/2 and 1/4 and 1/4 columns */
      
   }

   /* ---Mobile Library Grid Styles--- */


       .full-width-grid-con {
   /* set this container as a grid, with 3 columns
   the other grid will sit in the middle column, this allows for overlapping content */
   display: grid; 
	grid-template-columns: 1fr minmax(0, 1200px) 1fr;  
}


 .grid-con { 
   display: grid;
   width: 100%;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   grid-column-gap: 30px;
   max-width: 1200px;
   margin: 0 auto;
   padding-left: 15px;
   padding-right: 15px;
}

.full-width-grid-con > .grid-con {
  grid-column: 2 / 3;
}

/* A keyword indicating that the property contributes nothing to the grid item's placement, indicating auto-placement, an automatic span, or a default span of 1. */
.col-auto {grid-column: auto;}
.col-span-1	{grid-column: span 1 / span 1;}
.col-span-2	{grid-column: span 2 / span 2;}
.col-span-3	{grid-column: span 3 / span 3;}
.col-span-4	{grid-column: span 4 / span 4;}
.col-span-full {grid-column: 1 / -1;}

.col-start-1	{grid-column-start: 1;}
.col-start-2	{grid-column-start: 2;}
.col-start-3	{grid-column-start: 3;}
.col-start-4	{grid-column-start: 4;}
.col-start-auto {grid-column-start: auto;}

.col-end-1	{grid-column-end: 1;}
.col-end-2	{grid-column-end: 2;}
.col-end-3	{grid-column-end: 3;}
.col-end-4	{grid-column-end: 4;}
.col-end-5	{grid-column-end: 5;}
.col-end-auto	{grid-column-end: auto;}

/* ---Tablet Library Grid Styles--- */

@media screen and (min-width: 768px) { 
   
   .grid-con { 
      display: grid; 
      grid-template-columns: repeat(12, minmax(0, 1fr));
      grid-column-gap: 20px;
      padding-left: 20px;
      padding-right: 20px;
   }

   .m-col-auto {grid-column: auto;}
   .m-col-span-1	{grid-column: span 1 / span 1;}
   .m-col-span-2	{grid-column: span 2 / span 2;}
   .m-col-span-3	{grid-column: span 3 / span 3;}
   .m-col-span-4	{grid-column: span 4 / span 4;}
   .m-col-span-5	{grid-column: span 5 / span 5;}
   .m-col-span-6	{grid-column: span 6 / span 6;}
   .m-col-span-7	{grid-column: span 7 / span 7;}
   .m-col-span-8	{grid-column: span 8 / span 8;}
   .m-col-span-9	{grid-column: span 9 / span 9;}
   .m-col-span-10 {grid-column: span 10 / span 10;}
   .m-col-span-11 {grid-column: span 11 / span 11;}
   .m-col-span-12 {grid-column: span 12 / span 12;}
   .m-col-span-full {grid-column: 1 / -1;}

   .m-col-start-1	{grid-column-start: 1;}
   .m-col-start-2	{grid-column-start: 2;}
   .m-col-start-3	{grid-column-start: 3;}
   .m-col-start-4	{grid-column-start: 4;}
   .m-col-start-5	{grid-column-start: 5;}
   .m-col-start-6	{grid-column-start: 6;}
   .m-col-start-7	{grid-column-start: 7;}
   .m-col-start-8	{grid-column-start: 8;}
   .m-col-start-9	{grid-column-start: 9;}
   .m-col-start-10	{grid-column-start: 10;}
   .m-col-start-11	{grid-column-start: 11;}
   .m-col-start-12	{grid-column-start: 12;}
   .m-col-start-13	{grid-column-start: 13;}
   .m-col-start-auto {grid-column-start: auto;}

   .m-col-end-1	{grid-column-end: 1;}
   .m-col-end-2	{grid-column-end: 2;}
   .m-col-end-3	{grid-column-end: 3;}
   .m-col-end-4	{grid-column-end: 4;}
   .m-col-end-5	{grid-column-end: 5;}
   .m-col-end-6	{grid-column-end: 6;}
   .m-col-end-7	{grid-column-end: 7;}
   .m-col-end-8	{grid-column-end: 8;}
   .m-col-end-9	{grid-column-end: 9;}
   .m-col-end-10	{grid-column-end: 10;}
   .m-col-end-11	{grid-column-end: 11;}
   .m-col-end-12	{grid-column-end: 12;}
   .m-col-end-13	{grid-column-end: 13;}
   .m-col-end-auto	{grid-column-end: auto;}

}

/* ---Desktop Library Grid Styles--- */

@media screen and (min-width: 1200px) { 

   .grid-con { 
      display: grid; 
      grid-template-columns: repeat(12, minmax(0, 1fr));
      grid-column-gap: 30px;
      padding-left: 15px;
      padding-right: 15px;
   }

   .l-col-auto {grid-column: auto;}
   .l-col-span-1	{grid-column: span 1 / span 1;}
   .l-col-span-2	{grid-column: span 2 / span 2;}
   .l-col-span-3	{grid-column: span 3 / span 3;}
   .l-col-span-4	{grid-column: span 4 / span 4;}
   .l-col-span-5	{grid-column: span 5 / span 5;}
   .l-col-span-6	{grid-column: span 6 / span 6;}
   .l-col-span-7	{grid-column: span 7 / span 7;}
   .l-col-span-8	{grid-column: span 8 / span 8;}
   .l-col-span-9	{grid-column: span 9 / span 9;}
   .l-col-span-10 {grid-column: span 10 / span 10;}
   .l-col-span-11 {grid-column: span 11 / span 11;}
   .l-col-span-12 {grid-column: span 12 / span 12;}
   .l-col-span-full {grid-column: 1 / -1;}

   .l-col-start-1	{grid-column-start: 1;}
   .l-col-start-2	{grid-column-start: 2;}
   .l-col-start-3	{grid-column-start: 3;}
   .l-col-start-4	{grid-column-start: 4;}
   .l-col-start-5	{grid-column-start: 5;}
   .l-col-start-6	{grid-column-start: 6;}
   .l-col-start-7	{grid-column-start: 7;}
   .l-col-start-8	{grid-column-start: 8;}
   .l-col-start-9	{grid-column-start: 9;}
   .l-col-start-10	{grid-column-start: 10;}
   .l-col-start-11	{grid-column-start: 11;}
   .l-col-start-12	{grid-column-start: 12;}
   .l-col-start-13	{grid-column-start: 13;}
   .l-col-start-auto {grid-column-start: auto;}

   .l-col-end-1	{grid-column-end: 1;}
   .l-col-end-2	{grid-column-end: 2;}
   .l-col-end-3	{grid-column-end: 3;}
   .l-col-end-4	{grid-column-end: 4;}
   .l-col-end-5	{grid-column-end: 5;}
   .l-col-end-6	{grid-column-end: 6;}
   .l-col-end-7	{grid-column-end: 7;}
   .l-col-end-8	{grid-column-end: 8;}
   .l-col-end-9	{grid-column-end: 9;}
   .l-col-end-10	{grid-column-end: 10;}
   .l-col-end-11	{grid-column-end: 11;}
   .l-col-end-12	{grid-column-end: 12;}
   .l-col-end-13	{grid-column-end: 13;}
   .l-col-end-auto	{grid-column-end: auto;}
}

   /* _____________________________________

       End of CSS Grid Layout   */