/* ==========================================================================
   Basic Layout
   ========================================================================== */

/* Clear styles */

.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

* html .clearfix {
  zoom: 1;
} /* IE6 */

*:first-child + html .clearfix {
  zoom: 1;
} /* IE7 */

/* Section */

.main section {
  height: 100vh;
}

section {
  overflow: hidden;
}

/* Video */

video {
  width: 100%;
}

/* Text Alignment */

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

/* Containers */

.container-wide {
  width: 100%;
}

.container {
  width: 80%;
  margin: 0 auto;
  max-width: 1920px;
  position: relative;
}

.container-small {
  width: 1100px;
  margin: 0px auto;
}

.container-tiny {
  width: 800px;
  margin: 0px auto;
}

/* Columns width */

.w-100 {
  width: 100%;
}

.w-95 {
  width: 195%;
}

.w-90 {
  width: 90%;
}

.w-85 {
  width: 85%;
}

.w-80 {
  width: 80%;
}

.w-75 {
  width: 75%;
}

.w-70 {
  width: 70%;
}

.w-65 {
  width: 65%;
}

.w-60 {
  width: 60%;
}

.w-55 {
  width: 55%;
}

.w-50 {
  width: 50%;
}

.w-45 {
  width: 45%;
}

.w-40 {
  width: 40%;
}

.w-35 {
  width: 35%;
}

.w-30 {
  width: 30%;
}

.w-25 {
  width: 25%;
}

.w-20 {
  width: 20%;
}

.w-15 {
  width: 15%;
}

.w-10 {
  width: 10%;
}

.w-5 {
  width: 5%;
}

/* Columns width */

.w-max-1200 {
  max-width: 1200px;
}

.w-max-1100 {
  max-width: 1100px;
}

.w-max-1000 {
  max-width: 1000px;
}

.w-max-900 {
  max-width: 900px;
}

.w-max-800 {
  max-width: 800px;
}

.w-max-700 {
  max-width: 700px;
}

.w-max-600 {
  max-width: 700px;
}

.w-max-500 {
  max-width: 500px;
}

.w-max-400 {
  max-width: 400px;
}

.w-max-300 {
  max-width: 300px;
}

.w-max-200 {
  max-width: 200px;
}

.w-max-100 {
  max-width: 100px;
}

/* Columns height */

.vh-100 {
  height: 100vh;
}

.vh-90 {
  height: 90vh;
}

.vh-80 {
  height: 80vh;
}

.vh-70 {
  height: 70vh;
}

.vh-60 {
  height: 60vh;
}

.vh-50 {
  height: 50vh;
}

.vh-40 {
  height: 40vh;
}

.vh-30 {
  height: 30vh;
}

.vh-20 {
  height: 20vh;
}

.vh-10 {
  height: 10vh;
}

/* Positions */

.p-relative {
  position: relative;
}

.p-absolute {
  position: absolute;
}

.p-fixed {
  position: fixed;
}

.p-sticky {
  position: sticky;
}

.p-static {
  position: static;
}

/* Display */

.d-block {
  display: block;
}

.d-inline-block {
  display: inline-block;
}

.d-flex {
  display: flex;
}

.d-none {
  display: none;
}

.d-grid {
  display: grid;
}

.d-table {
  display: table;
}

/* Z-index */

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 4;
}

.z-4 {
  z-index: 4;
}

.z-5 {
  z-index: 5;
}

.z-6 {
  z-index: 6;
}

.z-7 {
  z-index: 7;
}

.z-8 {
  z-index: 8;
}

.z-9 {
  z-index: 9;
}

.z-99 {
  z-index: 99;
}

.z-999 {
  z-index: 999;
}

.z-9999 {
  z-index: 9999;
}

.z-99999 {
  z-index: 99999;
}

/* Flex Box
     ========================================================================== */

/* Flex Wrap */

.f-wrap {
  flex-wrap: wrap;
}

.f-nowrap {
  flex-wrap: nowrap;
}

/* Flex Direction */

.f-dir-row {
  flex-direction: row;
}

.f-dir-col {
  flex-direction: column;
}

.f-dir-row-reverse {
  flex-direction: row-reverse;
}

.f-dir-col-reverse {
  flex-direction: column-reverse;
}

/* Flex Content */

.f-start {
  align-content: flex-start;
}

.f-center {
  align-content: center;
}

.f-space-around {
  align-content: space-around;
}

.f-space-between {
  align-content: space-between;
}

.f-end {
  align-content: flex-end;
}

/* Flex Justify */

.f-justify-center {
  justify-content: center;
}

.f-justify-start {
  justify-content: flex-start;
}

.f-justify-end {
  justify-content: flex-end;
}

.f-justify-between {
  justify-content: space-between;
}

.f-justify-around {
  justify-content: space-around;
}

.f-justify-even {
  justify-content: space-evenly;
}

/* Flex Align */

.f-align-start {
  align-items: flex-start;
}

.f-align-end {
  align-items: flex-end;
}

.f-align-center {
  align-items: center;
}

.f-align-stretch {
  align-items: stretch;
}

/* Flex Grid */

.f-grid-half {
  grid-template-columns: 48% 48%;
  column-gap: 4%;
}

.f-grid-one-third {
  grid-template-columns: 32% 32% 32%;
  column-gap: 2%;
}

.f-grid-one-forth {
  grid-template-columns: 22.75% 22.75% 22.75% 22.75%;
  column-gap: 3%;
}

.f-grid-one-fifth {
  grid-template-columns: 18.8% 18.8% 18.8% 18.8% 18.8%;
  column-gap: 1.5%;
}

/* Space Around
     ========================================================================== */

/* Margin General */

.m-0 {
  margin: 0;
}

.m-5 {
  margin: 5px;
}

.m-10 {
  margin: 10px;
}

.m-15 {
  margin: 15px;
}

.m-20 {
  margin: 20px;
}

.m-25 {
  margin: 25px;
}

.m-30 {
  margin: 30px;
}

.m-35 {
  margin: 35px;
}

.m-40 {
  margin: 40px;
}

.m-45 {
  margin: 45px;
}

.m-50 {
  margin: 50px;
}

/* Margin Top */

.mt-0 {
  margin-top: 0px;
}

.mt-5 {
  margin-top: 5px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-15 {
  margin-top: 15px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-25 {
  margin-top: 25px;
}

.mt-30 {
  margin-top: 30px;
}

.mt-35 {
  margin-top: 35px;
}

.mt-45 {
  margin-top: 45px;
}

.mt-50 {
  margin-top: 50px;
}

.mt-100 {
  margin-top: 100px;
}

/* Margin Bottom */

.mb-0 {
  margin-bottom: 0;
}

.mb-5 {
  margin-bottom: 5px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-15 {
  margin-bottom: 15px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-25 {
  margin-bottom: 25px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-35 {
  margin-bottom: 35px;
}

.mb-40 {
  margin-bottom: 40px;
}

.mb-45 {
  margin-bottom: 45px;
}

.mb-50 {
  margin-bottom: 50px;
}

.mb-100 {
  margin-bottom: 100px;
}

/* Margin Left */

.ml-0 {
  margin-left: 0;
}

.ml-5 {
  margin-left: 5px;
}

.ml-10 {
  margin-left: 10px;
}

.ml-15 {
  margin-left: 15px;
}

.ml-20 {
  margin-left: 20px;
}

.ml-25 {
  margin-left: 25px;
}

.ml-30 {
  margin-left: 30px;
}

.ml-35 {
  margin-left: 35px;
}

.ml-40 {
  margin-left: 40px;
}

.ml-45 {
  margin-left: 45px;
}

.ml-50 {
  margin-left: 50px;
}

.ml-100 {
  margin-left: 100px;
}

/* Margin Right */

.mr-0 {
  margin-right: 0;
}

.mr-5 {
  margin-right: 5px;
}

.mr-10 {
  margin-right: 10px;
}

.mr-15 {
  margin-right: 15px;
}

.mr-20 {
  margin-right: 20px;
}

.mr-25 {
  margin-right: 25px;
}

.mr-30 {
  margin-right: 30px;
}

.mr-35 {
  margin-right: 35px;
}

.mr-40 {
  margin-right: 40px;
}

.mr-45 {
  margin-right: 45px;
}

.mr-50 {
  margin-right: 50px;
}

.mr-100 {
  margin-right: 100px;
}

/* Padding General */

.p-0 {
  padding: 0;
}

.p-5 {
  padding: 5px;
}

.p-10 {
  padding: 10px;
}

.p-15 {
  padding: 15px;
}

.p-20 {
  padding: 20px;
}

.p-25 {
  padding: 25px;
}

.p-30 {
  padding: 30px;
}

.p-35 {
  padding: 35px;
}

.p-40 {
  padding: 40px;
}

.p-45 {
  padding: 45px;
}

.p-50 {
  padding: 50px;
}

.p-100 {
  padding: 100px;
}

/* Padding Top */

.pt-0 {
  padding-top: 0;
}

.pt-5 {
  padding-top: 5px;
}

.pt-5 {
  padding-top: 5px;
}

.pt-10 {
  padding-top: 10px;
}

.pt-15 {
  padding-top: 15px;
}

.pt-20 {
  padding-top: 20px;
}

.pt-25 {
  padding-top: 25px;
}

.pt-30 {
  padding-top: 30px;
}

.pt-35 {
  padding-top: 35px;
}

.pt-40 {
  padding-top: 40px;
}

.pt-45 {
  padding-top: 45px;
}

.pt-50 {
  padding-top: 50px;
}

.pt-100 {
  padding-top: 100px;
}

/* Padding Bottom */

.pb-0 {
  padding-bottom: 0;
}

.pb-5 {
  padding-bottom: 5px;
}

.pb-5 {
  padding-bottom: 5px;
}

.pb-10 {
  padding-bottom: 10px;
}

.pb-15 {
  padding-bottom: 15px;
}

.pb-20 {
  padding-bottom: 20px;
}

.pb-25 {
  padding-bottom: 25px;
}

.pb-30 {
  padding-bottom: 30px;
}

.pb-35 {
  padding-bottom: 35px;
}

.pb-40 {
  padding-bottom: 40px;
}

.pb-45 {
  padding-bottom: 45px;
}

.pb-50 {
  padding-bottom: 50px;
}

.pb-100 {
  padding-bottom: 100px;
}

/* Padding Right */

.pr-0 {
  padding-right: 0;
}

.pr-5 {
  padding-right: 5px;
}

.pr-5 {
  padding-right: 5px;
}

.pr-10 {
  padding-right: 10px;
}

.pr-15 {
  padding-right: 15px;
}

.pr-20 {
  padding-right: 20px;
}

.pr-25 {
  padding-right: 25px;
}

.pr-30 {
  padding-right: 30px;
}

.pr-35 {
  padding-right: 35px;
}

.pr-40 {
  padding-right: 40px;
}

.pr-45 {
  padding-right: 45px;
}

.pr-50 {
  padding-right: 50px;
}

.pr-100 {
  padding-right: 100px;
}

/* Padding Left */

.pl-0 {
  padding-left: 0;
}

.pl-5 {
  padding-left: 5px;
}

.pl-5 {
  padding-left: 5px;
}

.pl-10 {
  padding-left: 10px;
}

.pl-15 {
  padding-left: 15px;
}

.pl-20 {
  padding-left: 20px;
}

.pl-25 {
  padding-left: 25px;
}

.pl-30 {
  padding-left: 30px;
}

.pl-35 {
  padding-left: 35px;
}

.pl-40 {
  padding-left: 40px;
}

.pl-45 {
  padding-left: 45px;
}

.pl-50 {
  padding-left: 50px;
}

.pl-100 {
  padding-left: 100px;
}

/* Mobile Display */

.hide-desktop {
  display: none;
}

.show-desktop {
  display: block;
}

.hide-mobile {
  display: none;
}

.show-mobile {
  display: block;
}

.m-f-dir-row-rev {
  flex-direction: row-reverse;
}

.m-f-dir-col-rev {
  flex-direction: column-reverse;
}
