/* Tool Classes */

.btn {
    border-radius: 0.25rem;
    padding: 0.25rem 0.5rem;
    background-color: var(--gray)
}

.row {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
}
.col {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

.container {
  width: 100%;
  padding: 0.375rem;
  margin: 0.375rem auto;
}

.overlay {
  opacity: 0.95;
  top: 0; left: 0;
  position: absolute;
  background: var(--black);
  width: 100%; height: 100%;
}

.gap {
  width: 100%;
  display: block;
  margin: 0.5rem;
}

.card {
  -webkit-border-radius: 0.375em !important;
  -moz-border-radius: 0.375em !important;
  border-radius: 0.375em !important; 

  box-shadow: 0 0 2px var(--black) !important
}
.outline {
  outline-width: 3px;
  outline-color: red;
  outline-style: auto;
}

.full {
  height: 100%;
  width: 100%;
}

.full-v {
  height: 100vh;
  width: 100vw;
}

.link {
  color: var(--col);
  text-decoration: underline !important
}

.bold {   letter-spacing: 1.1px; font-weight: bold !important}
.bolder {   letter-spacing: 1.1px; font-weight: bolder !important}

.overline { text-decoration: overline !important}
.underline { text-decoration: underline !important}
.line-through { text-decoration: line-through !important}
.strike-through { text-decoration: line-through !important}

.underline-col { 
    text-decoration: underline !important; 
    text-decoration-color: var(--col) !important;
}


/* Display  */
 
.dp-flex { display: flex !important}
.dp-none { display: none !important}
.dp-block { display: block !important}


/* Position */

.pos-fixed { position: fixed !important}
.pos-static { position: static !important}
.pos-sticky { position: sticky !important}
.pos-absolute { position: absolute !important}
.pos-relative { position: relative !important}


/* Position Angle */

.top-left { top: 0 !important; left: 0 !important;}
.top-right { top: 0 !important; right: 0 !important;}

.bottom-left { bottom: 0 !important; left: 0 !important;}
.bottom-right { bottom: 0 !important; right: 0 !important;}

.center { 
  top: 50% !important; left: 50% !important; 
  transform: translate(-50%, -50%) !important;
}


/* Flex Attr */

.fd-c { flex-direction: column !important;}
.fd-r { flex-direction: row !important;}

.fw-w { flex-wrap: wrap !important }
.fw-wr { flex-wrap: wrap-reverse !important }

.jc-c { justify-content: center !important}
.jc-sb { justify-content: space-between !important}
.jc-sa { justify-content: space-around !important}
.jc-se { justify-content: space-evenly !important}

.ai-c { align-items: center !important}
.ai-fe { align-items: flex-end !important}
.ai-fs { align-items: flex-start !important}

.as-c { align-self: center !important}
.as-fe { align-self: flex-end !important}
.as-fs { align-self: flex-start !important}


/* Text */

.ta-c { text-align: center !important}
.ta-l { text-align: left !important}
.ta-r { text-align: right !important}

.tt-n { text-transform: none !important}
.tt-l { text-transform: lowercase !important}
.tt-u { text-transform: uppercase !important}
.tt-c { text-transform: capitalize !important}

.fw-b {   letter-spacing: 1.1px; font-weight: bold !important}
.fw-br {   letter-spacing: 1.1px; font-weight: bolder !important}

.td-u { text-decoration: underline !important }
.td-w { text-decoration: wavy !important }
.td-lt { text-decoration: line-through !important }
.td-o { text-decoration: overline !important }

.td-u-col { text-decoration-color: var(--col); text-decoration: underline !important }
.td-w-col { text-decoration-color: var(--col); text-decoration: wavy !important }
.td-lt-col  { text-decoration-color: var(--col); text-decoration: line-through !important }
.td-o-col { text-decoration-color: var(--col); text-decoration: overline !important }

.tsh { text-shadow: 1px 1px 0 var(--black); }


/* Misc */

.o-hide { overflow: hidden !important}
.o-scroll { overflow: scroll !important}
.oy-scroll { overflow-y: scroll !important}
.ox-scroll { overflow-x: scroll !important}

.trans { transition: all 250ms ease }
.trans-3 { transition: all 300ms ease-in-out }
.trans-5 { transition: all 500ms ease-in-out }

.rotate-90 { transform: rotate(90deg); }
.rotate-180 { transform: rotate(90deg); }
.rotate-270 { transform: rotate(90deg); }
.rotate-360 { transform: rotate(90deg); }

/* Opacity */

.o-9 { opacity: 0.9 }
.o-8 { opacity: 0.8 }
.o-7 { opacity: 0.7 }
.o-6 { opacity: 0.6 }
.o-5 { opacity: 0.5 }
.o-4 { opacity: 0.4 }
.o-3 { opacity: 0.3 }
.o-2 { opacity: 0.2 }
.o-1 { opacity: 0.1 }
.o-0 { opacity: 0 }


/* Scale */
.scale-200 { transform: scale(200%) !important}
.scale-175 { transform: scale(175%) !important}
.scale-150 { transform: scale(150%) !important}
.scale-125 { transform: scale(125%) !important}
.scale-100 { transform: scale(100%) !important}
.scale-75 { transform: scale(75%) !important}
.scale-50 { transform: scale(50%) !important}
.scale-25 { transform: scale(25%) !important}


/* Z-Index */


.zi-2 { z-index: 2 !important }
.zi-3 { z-index: 3 !important }
.zi-4 { z-index: 4 !important }
.zi-5 { z-index: 5 !important }
.zi-6 { z-index: 6 !important }
.zi-7 { z-index: 7 !important }
.zi-8 { z-index: 8 !important }
.zi-9 { z-index: 9 !important }
.zi-10 { z-index: 10 !important }
.zi-20 { z-index: 20 !important }
.zi-30 { z-index: 30 !important }
.zi-40 { z-index: 40 !important }
.zi-50 { z-index: 50 !important }
.zi-60 { z-index: 60 !important }
.zi-70 { z-index: 70 !important }
.zi-80 { z-index: 80 !important }
.zi-90 { z-index: 90 !important }
.zi-100 { z-index: 100 !important }



/* Boxes */

.bdrs {
  -webkit-border-radius: 0.375em !important;
  -moz-border-radius: 0.375em !important;
  border-radius: 0.375em !important; 
}
.bdrs-0 {
  -webkit-border-radius: 0.375em !important;
  -moz-border-radius: 0.375em !important;
  border-radius: 0.375em !important; 
}
.bdrs-1 {
  -webkit-border-radius: 0.375em !important;
  -moz-border-radius: 0.375em !important;
  border-radius: 0.375em !important; 
}
.bdrs-2 {
  -webkit-border-radius: 0.5em !important;
  -moz-border-radius: 0.5em !important;
  border-radius: 0.5em !important; 
}
.bdrs-3 {
  -webkit-border-radius: 0.7em !important;
  -moz-border-radius: 0.7em !important;
  border-radius: 0.7em !important; 
}
.bdrs-4 {
  -webkit-border-radius: 0.9em !important;
  -moz-border-radius: 0.9em !important;
  border-radius: 0.9em !important; 
}
.bdrs-5 {
  -webkit-border-radius: 1em !important;
  -moz-border-radius: 1em !important;
  border-radius: 1em !important; 
}
.bdrs-6 {
  -webkit-border-radius: 1.2em !important;
  -moz-border-radius: 1.2em !important;
  border-radius: 1.2em !important; 
}
.bdrs_bl {
  -webkit-border-bottom-left-radius: 0.375em !important;
  -moz-border-bottom-left-radius: 0.375em !important;
  border-bottom-left-radius: 0.375em !important; 
}
.bdrs_br {
  -webkit-border-bottom-right-radius: 0.375em !important;
  -moz-border-bottom-right-radius: 0.375em !important;
  border-bottom-right-radius: 0.375em !important; 
}
.bdrs_tl {
  -webkit-border-top-left-radius: 0.375em !important;
  -moz-border-top-left-radius: 0.375em !important;
  border-top-left-radius: 0.375em !important; 
}
.bdrs_tr {
  -webkit-border-top-right-radius: 0.375em !important;
  -moz-border-top-right-radius: 0.375em !important;
  border-top-right-radius: 0.375em !important; 
}
.bdrs-md {
  -webkit-border-radius: 0.5em !important;
  -moz-border-radius: 0.5em !important;
  border-radius: 0.5em !important; 
}
.bdrs-lg {
  -webkit-border-radius: 0.785em !important;
  -moz-border-radius: 0.785em !important;
  border-radius: 0.785em !important; 
}
.bdrs-circle {
  border-radius: 50% !important;
  overflow: hidden !important;
}
.bdrs-pill {
  border-radius: 50em !important;
}

.bxsh-n { box-shadow: none !important}
.bx-sh { box-shadow: 0 0 2px var(--black) !important}
.bx-sh-2 { box-shadow: 0 0 4px var(--black) !important}
.bx-sh-col { box-shadow: 0 0 2px var(--col) !important}
.bx-sh-2-col { box-shadow: 0 0 4px var(--col) !important}

.bx-sh-rb { box-shadow: 2px 2px 2px var(--black) !important}
.bx-sh-2-rb { box-shadow: 2px 2px 4px var(--black) !important}
.bx-sh-col-rb { box-shadow: 2px 2px 2px var(--col) !important}
.bx-sh-2-col-rb { box-shadow: 2px 2px 4px var(--col) !important}

.bx-sh-lb { box-shadow: -2px 2px 2px var(--black) !important}
.bx-sh-2-lb { box-shadow: -2px 2px 4px var(--black) !important}
.bx-sh-col-lb { box-shadow: -2px 2px 2px var(--col) !important}
.bx-sh-2-col-lb { box-shadow: -2px 2px 4px var(--col) !important}

.bd-0 { border: 0 !important }

.bd-1 { border: 1px solid var(--black) !important}
.bd-2 { border: 2px solid var(--black) !important}
.bd-5 { border: 5px solid var(--black) !important}

.bd-1-col { border: 1px solid var(--col) !important}
.bd-2-col { border: 2px solid var(--col) !important}
.bd-5-col { border: 5px solid var(--col) !important}

.bd-1-white { border: 1px solid var(--white) !important}
.bd-2-white { border: 2px solid var(--white) !important}
.bd-5-white { border: 5px solid var(--white) !important}

.bd-1-red { border: 1px solid var(--red) !important}
.bd-2-red { border: 2px solid var(--red) !important}
.bd-5-red { border: 5px solid var(--red) !important}

.bd-1-green { border: 1px solid var(--green) !important}
.bd-2-green { border: 2px solid var(--green) !important}
.bd-5-green { border: 5px solid var(--green) !important}

.bdb { border-bottom: 1px solid }
.bdb-2 { border-bottom: 2px solid }
.bdb-5 { border-bottom: 5px solid }


/* Padding */

.p-0 { padding: 0 !important}

.p-1 { padding: 0.25rem !important}
.p-2 { padding: 0.5rem !important}
.p-3 { padding: 1rem !important}
.p-4 { padding: 1.5rem !important}
.p-5 { padding: 2rem !important}
.p-6 { padding: 3rem !important}

.pt-0 { padding-top: 0 !important}
.pt-1 { padding-top: 0.25rem !important}
.pt-2 { padding-top: 0.5rem !important}
.pt-3 { padding-top: 1rem !important}
.pt-4 { padding-top: 1.5rem !important}
.pt-5 { padding-top: 2rem !important}
.pt-6 { padding-top: 3rem !important}

.pb-0 { padding-bottom: 0 !important}
.pb-1 { padding-bottom: 0.25rem !important}
.pb-2 { padding-bottom: 0.5rem !important}
.pb-3 { padding-bottom: 1rem !important}
.pb-4 { padding-bottom: 1.5rem !important}
.pb-5 { padding-bottom: 2rem !important}
.pb-6 { padding-bottom: 3rem !important}

.pl-0 { padding-left: 0 !important}
.pl-1 { padding-left: 0.25rem !important}
.pl-2 { padding-left: 0.5rem !important}
.pl-3 { padding-left: 1rem !important}
.pl-4 { padding-left: 1.5rem !important}
.pl-5 { padding-left: 2rem !important}
.pl-6 { padding-left: 3rem !important}

.pr-0 { padding-right: 0 !important}
.pr-1 { padding-right: 0.25rem !important}
.pr-2 { padding-right: 0.5rem !important}
.pr-3 { padding-right: 1rem !important}
.pr-4 { padding-right: 1.5rem !important}
.pr-5 { padding-right: 2rem !important}
.pr-6 { padding-right: 3rem !important}

.plr-0 { padding-left: 0 !important; padding-right: 0 !important}
.plr-1 { padding-left: 0.25rem !important; padding-right: 0.25rem !important}
.plr-2 { padding-left: 0.5rem !important; padding-right: 0.5rem !important}
.plr-3 { padding-left: 1rem !important; padding-right: 1rem !important}
.plr-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important}
.plr-5 { padding-left: 2rem !important; padding-right: 2rem !important}
.plr-6 { padding-left: 3rem !important; padding-right: 3rem !important}

.pbt-0 { padding-top: 0 !important; padding-bottom: 0 !important}
.pbt-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important}
.pbt-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important}
.pbt-3 { padding-top: 1rem !important; padding-bottom: 1rem !important}
.pbt-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important}
.pbt-5 { padding-top: 2rem !important; padding-bottom: 2rem !important}
.pbt-6 { padding-top: 3rem !important; padding-bottom: 3rem !important}


/* Margin */

.m-auto { 
    margin-left: auto !important;
    margin-right: auto !important;
}

.m-0 { margin: 0 !important}

.m-1 { margin: 0.25rem !important}
.m-2 { margin: 0.5rem !important}
.m-3 { margin: 1rem !important}
.m-4 { margin: 1.5rem !important}
.m-5 { margin: 2rem !important}
.m-6 { margin: 3rem !important}

.mt-0 { margin-top: 0 !important}
.mt-1 { margin-top: 0.25rem !important}
.mt-2 { margin-top: 0.5rem !important}
.mt-3 { margin-top: 1rem !important}
.mt-4 { margin-top: 1.5rem !important}
.mt-5 { margin-top: 2rem !important}
.mt-6 { margin-top: 3rem !important}

.mb-0 { margin-bottom: 0 !important}
.mb-1 { margin-bottom: 0.25rem !important}
.mb-2 { margin-bottom: 0.5rem !important}
.mb-3 { margin-bottom: 1rem !important}
.mb-4 { margin-bottom: 1.5rem !important}
.mb-5 { margin-bottom: 2rem !important}
.mb-6 { margin-bottom: 3rem !important}

.ml-0 { margin-left: 0 !important}
.ml-1 { margin-left: 0.25rem !important}
.ml-2 { margin-left: 0.5rem !important}
.ml-3 { margin-left: 1rem !important}
.ml-4 { margin-left: 1.5rem !important}
.ml-5 { margin-left: 2rem !important}
.ml-6 { margin-left: 3rem !important}

.mr-0 { margin-right: 0 !important}
.mr-1 { margin-right: 0.25rem !important}
.mr-2 { margin-right: 0.5rem !important}
.mr-3 { margin-right: 1rem !important}
.mr-4 { margin-right: 1.5rem !important}
.mr-5 { margin-right: 2rem !important}
.mr-6 { margin-right: 3rem !important}

.mlr-0 { margin-left: 0 !important; margin-right: 0 !important}
.mlr-1 { margin-left: 0.25rem !important; margin-right: 0.25rem !important}
.mlr-2 { margin-left: 0.5rem !important; margin-right: 0.5rem !important}
.mlr-3 { margin-left: 1rem !important; margin-right: 1rem !important}
.mlr-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important}
.mlr-5 { margin-left: 2rem !important; margin-right: 2rem !important}
.mlr-6 { margin-left: 3rem !important; margin-right: 3rem !important}

.mbt-0 { margin-top: 0 !important; margin-bottom: 0 !important}
.mbt-1 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important}
.mbt-2 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important}
.mbt-3 { margin-top: 1rem !important; margin-bottom: 1rem !important}
.mbt-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important}
.mbt-5 { margin-top: 2rem !important; margin-bottom: 2rem !important}
.mbt-6 { margin-top: 3rem !important; margin-bottom: 3rem !important}


/* Font Size */

.fs-1 { font-size: calc(1.375rem + 1.5vw) !important}
.fs-2 { font-size: calc(1.325rem + 0.9vw) !important}
.fs-3 { font-size: calc(1.3rem + 0.6vw) !important}
.fs-4 { font-size: calc(1.275rem + 0.3vw) !important}
.fs-5 { font-size: 1.25rem !important}
.fs-6 { font-size: 1rem !important}
.fs-7 { font-size: 0.7rem !important}

@media (min-width: 768px) {
  .fs-1 { font-size: 2rem !important}
  .fs-2 { font-size: 1.75rem !important}
  .fs-3 { font-size: 1.5rem !important}
  .fs-4 { font-size: calc(1.3rem + 0.3vw) !important}
}

@media (min-width: 1024px) {
  .fs-1 { font-size: 2.5rem !important}
  .fs-2 { font-size: 2rem !important}
  .fs-3 { font-size: 1.75rem !important}
  .fs-4 { font-size: 1.5rem !important}
}

