/* ---General Rules: scale images, videos to size of container--- */

img, embed, object, video, picture {
  max-width: 100%; 
}

a{
  text-decoration: none;
  color: inherit;
}

/* ---Change the way the box model works, tells the browser to account for any border and padding in the values you specify for an element's width and height.--- */

html {
  box-sizing: border-box; 
}

*, *::before, *::after {
  box-sizing: inherit; 
}

/* ---Mini CSS reset--- */

body, p, h1, h2, h3, h4, h5 {
   margin: 0px; 
   padding: 0px;
}

/* ---Utility Classes--- */

.hidden {
   display: none;
}

/* ---Mobile (First) Grid--- */
.full-width-grid-con {
    display: grid;
    grid-template-columns: 1fr minmax(0, 1200px) 1fr;
    position: relative;
    width: 100%;
    padding: 0 20px;
    
}

.column-start-2 {
  grid-column: 2;
}

.grid-con {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 30px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100%; /* Prevent overflow */
}

.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 Grid--- */
@media screen and (min-width: 768px) {

  .grid-con {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-column-gap: 20px;
    padding: 0 25px;
    margin: 0;
  }

  .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 Grid--- */
@media screen and (min-width: 1200px) {

  .grid-con {
    margin-left: 15px;
    margin-right: 15px;
    grid-column-gap: 30px;
  }

  .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; }
}
