/* CSS Document */


/* Table of contents
--------------------------------------------------
- Imports
- Fonts
- Base Styles
- Typography
- Links
- Images
- Buttons
- Forms
- Lists
- Code
- Tables
- Misc
- Utilities
- Post Formats
- WordPress Core
- Media Queries
*/


/* Imports
-------------------------------------------------- */
@import url('grids.css');
@import url('margin.css');
@import url('padding.css');


/* Fonts
-------------------------------------------------- */


/* Base Styles
-------------------------------------------------- */
/* NOTE
html is set to 62.5% so that all the REM measurements 
are based on 10px sizing. So basically 1.5rem = 15px :) */
* {
  box-sizing: border-box; }
html, body {
  height: 100%; }
html {
  font-size: 62.5%; }
body {
  font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  font-weight: 400;
  font-family: Helvetica, sans-serif;
  overflow-y: scroll;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  background-color: #fff;
  color: #222; }

/* global print */
@media print {    
  html, body{
    height: auto !important; }
  body {
    -webkit-print-color-adjust: exact; /* Force printing of background colors and images in browsers based on the WebKit engine */
    overflow: visible !important; }
}


/* Typography
-------------------------------------------------- */
h1, h2, h3, h4, h5, h6 { 
  font-weight: 300;
  margin-bottom: 1.5rem; }
h1 { font-size: 4.6rem; line-height: 1.2;  letter-spacing: -.1rem;}
h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; }
h3 { font-size: 2.8rem; line-height: 1.3;  letter-spacing: -.1rem; }
h4 { font-size: 2.2rem; line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
h6 { font-size: 1.6rem; line-height: 1.6;  letter-spacing: 0; }

address {
	display: block;
	margin-bottom: 0;
	font-style: normal;
	line-height: 20px;
}
em { 
  font-style: italic; }
small {
  font-size: 0.85rem; }
strong {
  font-weight: 600; }

p {
  margin-bottom: 2.5rem; }


/* Links
-------------------------------------------------- */
a,
a:visited {
  color: #111623; }
a:hover {
  color: #111623; }


/* Images
-------------------------------------------------- */
img {
  max-width: 100%;
  height: auto;
  page-break-inside: avoid; }
object,
video {
  max-width: 100%;
  width: 100%; }


/* Buttons
-------------------------------------------------- */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  background-color: #fff;
  color: #189DEF;
  border: 3px solid #189DEF;
  border-radius: 30px;
  margin-bottom: 1rem;
  padding: 0 30px;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: 0.1rem;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  box-sizing: border-box;
  transition: all 0.35s ease-in-out; }
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  color: #fff;
  background-color: #189DEF;
}
  

/* Forms
-------------------------------------------------- */
form {
  margin-bottom: 2.5rem; }
input[type="date"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  font-family: inherit;
  height: 38px;
  margin-bottom: 1.5rem;
  padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff;
  border: 0 none;
  border: 1px solid #d1d1d1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box; }
/* Removes awkward default styles on some inputs for iOS */
input[type="date"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
select {
  background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHBvbHlnb24gY2xhc3M9ImNscy0yIiBwb2ludHM9IjEuNDEgNC42NyAyLjQ4IDMuMTggMy41NCA0LjY3IDEuNDEgNC42NyIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIzLjU0IDUuMzMgMi40OCA2LjgyIDEuNDEgNS4zMyAzLjU0IDUuMzMiLz48L3N2Zz4=);
  background-repeat: no-repeat;
  background-position: 99% 50%; }
textarea {
  resize: none;
  min-height: 65px;
  padding-top: 6px;
  padding-bottom: 6px; }
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid #33c3f0;
  outline: 0; }
label,
legend {
  display: block;
  margin-bottom: .5rem;
  font-weight: 600; }
fieldset {
  margin-bottom: 1.5rem;
  padding: 0;
  border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
  display: inline; }
label > .label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: normal; }


/* Lists
-------------------------------------------------- */
ul {
  list-style: disc outside; }
ol {
  list-style: decimal outside; }
ol, ul {
  padding-left: 20px;
  margin-top: 0;
  margin-bottom: 2.5rem; }
ul ul,
ul ol,
ol ol,
ol ul {
  margin: 0.5rem 0 0.5rem 0.5rem; }
li {
  margin-bottom: 0.25rem; }

ol.decimal {
  list-style-type: none;
  counter-reset: item;
  margin-left: 0;
  padding-left: 0;
}
  ol.decimal > li {
    display: table;
    counter-increment: item;
  }
  ol.decimal > li:before {
    content: counters(item, ".") ". ";
    display: table-cell;
    padding-right: 0.6em;    
  }
    ol.decimal li ol > li:before {
      content: counters(item, ".") " ";
    }

dl {
  margin-bottom: 2.5rem; }
dt {
  font-weight: 600;
  margin-top: 1rem; }
dd {
  margin: 5px 0 0 20px; }


/* Code
-------------------------------------------------- */
code,
pre {
  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
  font-size: 90%;
  color: #333333;
  border-radius: 4px; }

code {
  padding: 2px 4px;
  color: #d14;
  background-color: #f7f7f9;
  border: 1px solid #e1e1e8; }

pre {
  display: block;
  font-size: 1.3rem;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  padding: 0.75rem 1rem;
  margin-bottom: 2.5rem;
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre-wrap; }


/* Tables
-------------------------------------------------- */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2.5rem; }
th,
td {
  padding: 12px 15px;
  text-align: left;
  vertical-align: top;
  word-break: normal !important;
  border-bottom: 1px solid #e1e1e1; }
thead th {
	background-color: #f4f4f4; }
tbody th {
	background-color: #fafafa; }
/*
th:first-child,
td:first-child {
  padding-left: 0; }
th:last-child,
td:last-child {
  padding-right: 0; }
*/


/* Misc
-------------------------------------------------- */
hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #e1e1e1; }
blockquote {
  position: relative;
  margin: 20px;
  padding: 5px 30px 20px 50px; }
  blockquote:before,
  blockquote:after {
    font-family: FontAwesome;
    position: absolute;
    font-size: 3rem; }
  blockquote:before {
    content: '\f10d'; /*quote left icon*/
    top: 0;
    left: 0; }
  blockquote:after {
    content: '\f10e'; /*quote right icon*/
    bottom: 0;
    right: 0; }


/* Utilities
-------------------------------------------------- */
/* Clearing */
.u-clear {
  content: "";
  display: table;
  clear: both; }

/* Position */
.u-absolute {
  position: absolute; }
.u-relative {
  position: relative; }

/* Text Styles */
.u-block {
  display: block; }
.u-inline {
  display: inline-block; }
.u-thin {
  font-weight: 100; }
.u-extralight {
  font-weight: 200; }
.u-light {
  font-weight: 300; }
.u-normal {
  font-weight: 400; }
.u-medium {
  font-weight: 500; }
.u-semibold {
  font-weight: 600; }
.u-bold {
  font-weight: 700; }
.u-extrabold {
  font-weight: 800; }
.u-heavy {
  font-weight: 900; }
.u-italic {
  font-style: italic; }
.u-no-italic {
  font-style: normal; }
.u-underline {
  text-decoration: underline; }
.u-no-underline {
  text-decoration: none; }
.u-nowrap {
  white-space: nowrap; }
.u-uppercase {
  text-transform: uppercase; }
.u-lowercase {
  text-transform: lowercase; }
.u-capitalize {
  text-transform: capitalize; }
.u-truncate {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }
.u-xx-small {
  font-size: 0.6em; }
.u-x-small {
  font-size: 0.75em; }
.u-small {
  font-size: 0.85em; }
.u-large {
  font-size: 1.15em; }
.u-x-large {
  font-size: 1.25em; }
.u-xx-large {
  font-size: 1.4em; }

/* Make element full width */
.u-fullwidth {
  width: 100%;
  box-sizing: border-box; }
.u-fullheight {
  height: 100%;
  box-sizing: border-box; }
.u-fullwidth-bar {
  margin: 0 -99rem;
  padding: 0.25rem 99rem;
  background-color: rgba(0, 0, 0, 0.05);
  /*
  position: relative;
  width: 100vw;
  left: calc(-50vw+50%);
  */
  }
/* Make sure elements don't run outside containers (great for images in columns) */
.u-max-fullwidth {
  max-width: 100%;
  box-sizing: border-box; }

/* Show/Hide print elements */
.u-visible-print {
  display: none !important; }
@media print {
  .u-visible-print {
    display: inherit !important; }
  .u-hidden-print {
    display: none !important; }
}

/* Alignment */
.u-align-left {
  text-align: left; }
.u-align-center {
  text-align: center; }
.u-align-right {
  text-align: right; }
.u-justify {
  text-align: justify;
  text-justify: inter-word; }
	/* ≥ 568px */
	@media screen and (min-width: 35.5em) {
		.u-align-left-sm {
		  text-align: left; }
		.u-align-center-sm {
		  text-align: center; }
		.u-align-right-sm {
		  text-align: right; }
		.u-justify-sm {
		  text-align: justify;
		  text-justify: inter-word; }
	}
	
	/* ≥ 768px */
	@media screen and (min-width: 48em) {
		.u-align-left-md {
		  text-align: left; }
		.u-align-center-md {
		  text-align: center; }
		.u-align-right-md {
		  text-align: right; }
		.u-justify-md {
		  text-align: justify;
		  text-justify: inter-word; }
	}
	/* ≥ 1024px */
	@media screen and (min-width: 64em) {
		.u-align-left-lg {
		  text-align: left; }
		.u-align-center-lg {
		  text-align: center; }
		.u-align-right-lg {
		  text-align: right; }
		.u-justify-lg {
		  text-align: justify;
		  text-justify: inter-word; }
	}
	/* ≥ 1280px */
	@media screen and (min-width: 80em) {
		.u-align-left-xl {
		  text-align: left; }
		.u-align-center-xl {
		  text-align: center; }
		.u-align-right-xl {
		  text-align: right; }
		.u-justify-xl {
		  text-align: justify;
		  text-justify: inter-word; }
	}

/* Floating */
.u-float-left {
  float: left; }
.u-float-right {
  float: right; }
.u-float-center {
  display: inline-block;
  margin-left: auto;
  margin-right: auto; }
	/* ≥ 568px */
	@media screen and (min-width: 35.5em) {
		.u-float-left-sm {
		  float: left; }
		.u-float-right-sm {
		  float: right; }
		.u-float-center-sm {
		  display: inline-block;
		  margin-left: auto;
		  margin-right: auto; }
	}
	/* ≥ 768px */
	@media screen and (min-width: 48em) {
		.u-float-left-md {
		  float: left; }
		.u-float-right-md {
		  float: right; }
		.u-float-center-md {
		  display: inline-block;
		  margin-left: auto;
		  margin-right: auto; }
	}
	/* ≥ 1024px */
	@media screen and (min-width: 64em) {
		.u-float-left-lg {
		  float: left; }
		.u-float-right-lg {
		  float: right; }
		.u-float-center-lg {
		  display: inline-block;
		  margin-left: auto;
		  margin-right: auto; }
	}
	/* ≥ 1280px */
	@media screen and (min-width: 80em) {
		.u-float-left-xl {
		  float: left; }
		.u-float-right-xl {
		  float: right; }
		.u-float-center-xl {
		  display: inline-block;
		  margin-left: auto;
		  margin-right: auto; }
	}

/* Show/Hide elements */
.u-show {
  display: block; }
.u-hide {
  display: none; }
.u-invisible {
  visibility: hidden; }
.u-hidden {
  display: none;
  visibility: hidden; }
	/* ≥ 568px */
	@media screen and (min-width: 35.5em) {
		.u-show-sm {
		  display: block; }
		.u-hide-sm {
		  display: none; }
		.u-invisible-sm {
		  visibility: hidden; }
		.u-hidden-sm {
		  display: none;
		  visibility: hidden; }
	}
	/* ≥ 768px */
	@media screen and (min-width: 48em) {
		.u-show-md {
		  display: block; }
		.u-hide-md {
		  display: none; }
		.u-invisible-md {
		  visibility: hidden; }
		.u-hidden-md {
		  display: none;
		  visibility: hidden; }
	}
	/* ≥ 1024px */
	@media screen and (min-width: 64em) {
		.u-show-lg {
		  display: block; }
		.u-hide-lg {
		  display: none; }
		.u-invisible-lg {
		  visibility: hidden; }
		.u-hidden-lg {
		  display: none;
		  visibility: hidden; }
	}
	/* ≥ 1280px */
	@media screen and (min-width: 80em) {
		.u-show-xl {
		  display: block; }
		.u-hide-xl {
		  display: none; }
		.u-invisible-xl {
		  visibility: hidden; }
		.u-hidden-xl {
		  display: none;
		  visibility: hidden; }
	}


/* Post Formats
-------------------------------------------------- */
.content-format-aside,
.content-format-chat ,
.content-format-gallery,
.content-format-image,
.content-format-link,
.content-format-quote,
.content-format-status,
.content-format-video,
.content-format-audio{
  margin: 0;
  padding: 0; }

.content-format-link p {
  font-size: 1.8rem; }
.content-format-link p:before {
  content: 'Link: ';
  font-weight: 600;
}

.content-format-status p {
  font-size: 1.8rem; }
.content-format-status p:before {
  content: 'Status: ';
  font-weight: 600;
}


/* WordPress Core
-------------------------------------------------- */
img.alignnone {}
img.alignleft {float:left; margin:0 1em 1em 0}
img.alignright {float:right; margin:0 0 1em 1em}
img.aligncenter {display: block; margin-left: auto; margin-right: auto}
a img.alignnone {}
a img.alignleft {float:left; margin:0 1em 1em 0}
a img.alignright {float:right; margin:0 0 1em 1em}
a img.aligncenter {display: block; margin-left: auto; margin-right: auto}
.size-auto, 
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
  max-width: 100%;
  height: auto;
}
.wp-caption {
  background-color: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%; /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  width: auto;
  max-width: 98.5%;
  height: auto;
  margin: 0;
  padding: 0;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}
.sticky {
}
.gallery-caption {
}
.bypostauthor {
}

/* Text meant only for screen readers */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar */
}

/* Gutenberg align wide and full classes */
.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: auto;
  max-width: 100vw;
}
/* ≥ 568px */
@media screen and (min-width: 35.5em) {
  .alignwide {
    margin-left: calc(25% - 25vw);
    margin-right: calc(25% - 25vw);
    width: auto;
    max-width: 100vw;
  }
  .alignwide img,
  .alignfull img {
    display: block;
    margin: 0 auto;
  }
}


/* Media Queries
-------------------------------------------------- */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/


/* ≥ 568px */
@media screen and (min-width: 35.5em) {}

/* ≥ 768px */
@media screen and (min-width: 48em) {}

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

/* ≥ 1280px */
@media screen and (min-width: 80em) {}

