/* ====================================================

 @company: Siteimprove
 @contributors: Rickard Andersson, @.com
 @content: layout, colors, typography, margins & paddings, display and visibility, icons, other

TODO:
- Line heights

======================================================= */

/****************************************
  ==== LAYOUT
****************************************/

.mw100 {
  max-width: 100%;
}
.w100 {
  width: 100%;
}
.left {
  float: left !important;
}
.right {
  float: right !important;
}
.inbl {
  display: inline-block;
}
.rel {
  position: relative;
}
.in-img {
  margin-bottom: 30px !important;
}
.in-ico {
  margin-bottom: 30px !important;
}
.clear:after {
  visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0;
}
.clear {
  display: inline-table; clear: both;
}
/* Hides from IE-mac \*/ * html .clear { height: 1%; } .clear { display: block; } /* End hide from IE-mac */
.flex-wrap {
  display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
}
.flex-col {
  display: -webkit-flex; display: -ms-flexbox; display: flex;
}

/****************************************
  ==== COLORS
  https://snook.ca/technical/colour_contrast/colour.html
****************************************/

.bg-ch {
  background-color: #3c485e; /* Charcoal */
}
.bg-ch.dark {
  background-color: #283142;
}
.bg-ch.light {
  background-color: #e1e2e5;
}
.bg-aq {
  background-color: #0bbcd6; /* Aqua */
}
.bg-aq.dark {
  background-color: #088292;
}
.bg-aq.light {
  background-color: #52ddf2;
}
.bg-bl {
  background-color: #0e38b1; /* Blue */
}
.bg-bl.dark {
  background-color: #13317b;
}
.bg-bl.light {
  background-color: #1d55f7;
}
.bg-re {
  background-color: #f0134c; /* Red */
}
.bg-re.dark {
  background-color: #663366;
}
.bg-re.light {
  background-color: #ff688f;
}
.bg-gr {
  background-color: #71d645; /* Green */
}
.bg-gr.dark {
  background-color: #0d5a5a;
}
.bg-gr.light {
  background-color: #95f36d;
}
.bg-ye {
  background-color: #f5d027; /* Yellow */
}
.bg-ye.dark {
  background-color: #eeb200;
}
.bg-ye.light {
  background-color: #f5da5d;
}
.bg-lg {
  background-color: #f4f4f4; /* Light gray */
}
.bg-lg.dark {
  background-color: #8e8f92;
}
.bg-lg.light {
  background-color: #f7f8f9;
}
.bg-wh {
  background-color: #fff; /* White */
}

.c-ch {
  color: #3b475e; /* Charcoal */
}
.c-ch.dark {
  color: #272f42;
}
.c-ch.light {
  color: #d8dbde;
}
.c-aq {
  color: #06bcd8; /* Aqua */
}
.c-aq.dark {
  color: #068293;
}
.c-aq.light {
  color: #d1edf0;
}
.c-bl {
  color: #0e38b1; /* Blue */
}
.c-bl.dark {
  color: #13317b;
}
.c-bl.light {
  color: #1d55f7;
}
.c-re {
  color: #f30f48; /* Red */
}
.c-re.dark {
  color: #673067;
}
.c-re.light {
  color: #f4d3da;
}
.c-gr {
  color: #6dd838; /* Green */
}
.c-gr.dark {
  color: #095a5a;
}
.c-gr.light {
  color: #e0f1d8;
}
.c-ye {
  color: #f7d206; /* Yellow */
}
.c-ye.dark {
  color: #f0b300;
}
.c-ye.light {
  color: #f4f0d1;
}
.c-lg {
  color: #f4f5f4; /* Light gray */
}
.c-lg.dark {
  color: #a9abad;
}
.c-wh {
  color: #fff; /* White */
}

/****************************************
  ==== TYPOGRAPHY
****************************************/

.i {
  font-style: italic;
}
.b, .fw700 {
  font-weight: 700;
}
.fw400 {
  font-weight: 400;
}
.fw300 {
  font-weight: 300;
}
.fw100 {
  font-weight: 100;
}
.txt-r {
  text-align: right !important;
}
.txt-l {
  text-align: left !important;
}
.txt-c {
  text-align: center !important;
}
.txt-truncate {
  text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
}
.txt-upper {
  text-transform: uppercase;
}
.txt-noupper {
  text-transform: none;
}
.txt-tdu {
  text-decoration: underline; cursor: pointer;
}
.txt-tdu:hover {
  text-decoration: none;
}
.txt-tdn {
  text-decoration: none;
}
.txt-tdn:hover {
  text-decoration: none;
}
.txt-dim {
  color: #999 !important;
}
.has-meta {
  margin: 0;
}

/****************************************
  ==== MARGINS & PADDINGS
****************************************/

.m0a { margin-left: auto !important; margin-right: auto !important; }
.m0 { margin: 0 !important; }

.mb0 { margin-bottom: 0 !important; }
.mb1 { margin-bottom: 1px !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }

.mt0 { margin-top: 0 !important; }
.mt1 { margin-top: 1px !important; }
.mt5 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
 
.mr0 { margin-right: 0 !important; }
.mr1 { margin-right: 1px !important; }
.mr5 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr30 { margin-right: 30px !important; }

.ml0 { margin-left: 0 !important; }
.ml1 { margin-left: 1px !important; }
.ml5 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml30 { margin-left: 30px !important; }

.p0 { padding: 0 !important; }
.p1 { padding: 1px !important; }
.p5 { padding: 5px !important; }
.p10 { padding: 10px !important; }
.p15 { padding: 15px !important; }
.p20 { padding: 20px !important; }
.p30 { padding: 30px !important; }
.p60 { padding: 60px !important; }

.pr0 { padding-right: 0 !important; }
.pr1 { padding-right: 1px !important; }
.pr5 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr30 { padding-right: 30px !important; }

.pl0 { padding-left: 0 !important; }
.pl1 { padding-left: 1px !important; }
.pl5 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl30 { padding-left: 30px !important; }

.pb0 { padding-bottom: 0 !important; }
.pb1 { padding-bottom: 1px !important; }
.pb5 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb30 { padding-bottom: 30px !important; }

.pt0 { padding-top: 0 !important; }
.pt1 { padding-top: 1px !important; }
.pt5 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt30 { padding-top: 30px !important; }

/****************************************
  ==== DISPLAY & VISIBILITY
****************************************/

.hide {
  display: none !important;
}
.hidden {
  visibility: hidden !important; opacity: 0 !important;
}
.overflow-hidden {
  overflow: hidden;
}
.hide-large {
  display: none;
}
.hide-small {
  display: block;
}
td.hide-small {
  display: table-cell;
}

/****************************************
  ==== ICONS
****************************************/

.size-l {
  font-size: 300%;
}

/****************************************
  ==== OTHER
****************************************/

.ba {
  border: #e1e2e5 1px solid;
}
.bb {
  border-bottom: #e1e2e5 1px solid;
}
.shadow {
  -webkit-box-shadow: 0 10px 30px rgba(60,72,94,0.25); -moz-box-shadow: 0 10px 30px rgba(60,72,94,0.25); box-shadow: 0 10px 30px rgba(60,72,94,0.25);
}
/****************************************
  ==== BREAKPOINT: 768px
****************************************/

@media only screen and (max-width: 767px){

.hide-large {
  display: block;
}
.hide-small, td.hide-small {
  display: none;
}

}
