/* SCSS Framework boilerplate from Ristretto: https://github.com/kylelarkin/ristretto */
/* stylelint-disable order/properties-alphabetical-order */
/* stylelint-enable */
html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

body, select, input, textarea {
  color: #333; }

::-moz-selection {
  background: #ccc;
  color: #000;
  text-shadow: none; }

::selection {
  background: #ccc;
  color: #000;
  text-shadow: none; }

a:link {
  -webkit-tap-highlight-color: #ccc; }

ins {
  background-color: #ccc;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ccc;
  color: #000;
  font-style: italic;
  font-weight: bold; }

h2.form_title {
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  color: #333;
  font-size: 1.3125rem;
  margin-bottom: -1rem;
  padding: 1rem 0; }

#contact-form .gform_wrapper {
  background: #fff;
  border: 0 solid #ccc;
  margin-top: 3rem;
  padding: 0; }
  #contact-form .gform_wrapper.gform_body .gform_fields .gfield, #contact-form .gform_wrapper.gform_body .gform_fields .gfield.gf_left_half, #contact-form .gform_wrapper.gform_body .gform_fields .gfield.gf_right_half {
    margin-bottom: 1.5625rem; }
  #contact-form .gform_wrapper .gfield {
    margin-top: 1.5rem; }
  #contact-form .gform_wrapper .gfield_label {
    color: #333;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.5 !important;
    letter-spacing: 2px;
    text-transform: uppercase; }
    #contact-form .gform_wrapper .gfield_label .gfield_required {
      color: red;
      font-size: 1.5rem;
      line-height: 0;
      position: relative;
      top: 8px; }
  #contact-form .gform_wrapper .name_first label, #contact-form .gform_wrapper .name_last label {
    font-size: 0.6875rem;
    margin-top: .25rem;
    text-transform: uppercase; }
  #contact-form .gform_wrapper input[type="text"],
  #contact-form .gform_wrapper input[type="url"],
  #contact-form .gform_wrapper input[type="email"],
  #contact-form .gform_wrapper input[type="tel"],
  #contact-form .gform_wrapper input[type="number"],
  #contact-form .gform_wrapper input[type="password"],
  #contact-form .gform_wrapper input[type="file"],
  #contact-form .gform_wrapper textarea {
    background: #f2f2f2;
    border: 1px solid #ccc;
    border-radius: 0;
    padding: .5rem 1rem; }
  #contact-form .gform_wrapper textarea {
    width: 100%; }
  #contact-form .gform_wrapper select {
    -webkit-appearance: none;
    background: url("assets/images/svg-icons/caret-down.svg") no-repeat 97% transparent;
    background-color: #f2f2f2;
    background-size: 0.75rem;
    border-color: #ccc;
    border-radius: 0;
    line-height: 1.45;
    padding: 0.5rem 1rem;
    width: 100%; }
    @media only screen and (min-width: 580px) {
      #contact-form .gform_wrapper select {
        width: 49%; } }
  #contact-form .gform_wrapper .gfield_description {
    color: #999;
    font-style: italic;
    margin-top: 0; }
  #contact-form .gform_wrapper .gsection {
    border: none;
    margin: 0;
    margin-top: 3rem; }
  #contact-form .gform_wrapper .gsection_title {
    color: "Roboto", Helvetica, Arial, sans-serif;
    font-size: 1.3125rem;
    font-weight: 300;
    letter-spacing: 2px !important; }
  #contact-form .gform_wrapper #extensions_message {
    font-size: 0.8125rem;
    text-transform: uppercase; }
  #contact-form .gform_wrapper select[multiple="multiple"] {
    background: #f2f2f2; }
  #contact-form .gform_wrapper .validation_error {
    background: red;
    border: none;
    color: #fff;
    font-size: 0.875rem;
    font-weight: normal;
    letter-spacing: 1px;
    padding: 1rem;
    text-transform: uppercase;
    width: 97.5%; }
  #contact-form .gform_wrapper .top_label .gfield_error {
    background: none;
    border: none;
    width: 100%; }
    #contact-form .gform_wrapper .top_label .gfield_error textarea.textarea {
      max-width: 100%; }
  #contact-form .gform_wrapper li.gfield.gfield_error.gfield_contains_required {
    margin: none !important; }
    #contact-form .gform_wrapper li.gfield.gfield_error.gfield_contains_required .name_last {
      padding-right: 0; }
    #contact-form .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container, #contact-form .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
      margin: 0;
      max-width: 100%; }
    #contact-form .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_description {
      color: red;
      letter-spacing: 1px;
      margin: 0;
      margin-bottom: .5rem;
      margin-top: .25rem;
      padding: 0;
      padding-top: 0 !important;
      max-width: 100%;
      text-transform: uppercase; }
      #contact-form .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_description:before {
        color: #333;
        content: '\f0aa';
        font-family: 'FontAwesome';
        margin-right: .35rem; }
  #contact-form .gform_wrapper li.gfield_error input[type=email],
  #contact-form .gform_wrapper li.gfield_error input[type=number],
  #contact-form .gform_wrapper li.gfield_error input[type=password],
  #contact-form .gform_wrapper li.gfield_error input[type=tel],
  #contact-form .gform_wrapper li.gfield_error input[type=text],
  #contact-form .gform_wrapper li.gfield_error input[type=url],
  #contact-form .gform_wrapper li.gfield_error textarea {
    border-color: red; }

.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer input[type="submit"] {
  background: "Roboto", Helvetica, Arial, sans-serif;
  border: none;
  border-radius: 0;
  color: #fff;
  display: inline-block;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1.3125rem;
  font-weight: 600;
  letter-spacing: 2px;
  margin-bottom: 5rem;
  padding: 1rem 2rem;
  text-transform: uppercase;
  transition: all .25s ease-out; }
  .gform_wrapper .gform_footer input.button:hover,
  .gform_wrapper .gform_footer input[type="submit"]:hover {
    color: #fff;
    transform: scale(1.02); }

.gform_ajax_spinner {
  animation: spinner 1.1s infinite linear;
  border-radius: 50%;
  border: 4px solid rgba(255, 255, 255, 0.3);
  /* match with border-left */
  border-left: 4px solid red;
  clear: both;
  float: left;
  height: 30px;
  margin-left: 0;
  margin-right: 1.5rem;
  margin-top: .75rem;
  width: 30px;
  /* match with height for a circle */ }

@keyframes spinner {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.gform_wrapper .gform_body .gform_fields .gfield select,
.gform_wrapper.gf_browser_chrome .gform_body .gform_fields .gfield select {
  margin-left: 0;
  width: 100% !important; }
  @media only screen and (min-width: 580px) {
    .gform_wrapper .gform_body .gform_fields .gfield select,
    .gform_wrapper.gf_browser_chrome .gform_body .gform_fields .gfield select {
      width: 49% !important; } }
.gform_wrapper .gfield .chosen-container-single {
  font-size: 1rem; }
  .gform_wrapper .gfield .chosen-container-single .chosen-single {
    background: #f2f2f2;
    border-color: #ccc;
    border-radius: 0;
    height: auto;
    padding: 0.5rem 1rem; }
  .gform_wrapper .gfield .chosen-container-single .chosen-single div b {
    position: absolute;
    top: 40%;
    right: 0.6875rem;
    background: none; }
  .gform_wrapper .gfield .chosen-container-single .chosen-drop .chosen-search input[type="text"] {
    background: none; }
  .gform_wrapper .gfield .chosen-container-single .chosen-drop .chosen-results li {
    padding: 0.625rem 0.3125rem; }
  .gform_wrapper .gfield .chosen-container-single.chosen-container-single.chosen-with-drop .chosen-single {
    background-image: none; }
  .gform_wrapper .gfield .chosen-container-single.chosen-container-single.chosen-with-drop .chosen-single div b {
    border: none; }

#content .gform_wrapper {
  margin-right: 0;
  max-width: 100%; }
  #content .gform_wrapper input[type="text"],
  #content .gform_wrapper input[type="url"],
  #content .gform_wrapper input[type="email"],
  #content .gform_wrapper input[type="tel"],
  #content .gform_wrapper input[type="number"],
  #content .gform_wrapper input[type="password"],
  #content .gform_wrapper input[type="file"],
  #content .gform_wrapper textarea {
    padding: 0.5rem 1rem;
    width: 100%; }
    @media only screen and (min-width: 580px) {
      #content .gform_wrapper input[type="text"],
      #content .gform_wrapper input[type="url"],
      #content .gform_wrapper input[type="email"],
      #content .gform_wrapper input[type="tel"],
      #content .gform_wrapper input[type="number"],
      #content .gform_wrapper input[type="password"],
      #content .gform_wrapper input[type="file"],
      #content .gform_wrapper textarea {
        width: 49%; } }
  #content .gform_wrapper .chosen-search input[type="text"],
  #content .gform_wrapper textarea {
    width: 100%; }
  #content .gform_wrapper .gf_left_half,
  #content .gform_wrapper .gf_right_half {
    width: 100%; }
    @media only screen and (min-width: 580px) {
      #content .gform_wrapper .gf_left_half input[type="text"],
      #content .gform_wrapper .gf_left_half input[type="url"],
      #content .gform_wrapper .gf_left_half input[type="email"],
      #content .gform_wrapper .gf_left_half input[type="tel"],
      #content .gform_wrapper .gf_left_half input[type="number"],
      #content .gform_wrapper .gf_left_half input[type="password"],
      #content .gform_wrapper .gf_left_half input[type="file"],
      #content .gform_wrapper .gf_right_half input[type="text"],
      #content .gform_wrapper .gf_right_half input[type="url"],
      #content .gform_wrapper .gf_right_half input[type="email"],
      #content .gform_wrapper .gf_right_half input[type="tel"],
      #content .gform_wrapper .gf_right_half input[type="number"],
      #content .gform_wrapper .gf_right_half input[type="password"],
      #content .gform_wrapper .gf_right_half input[type="file"] {
        width: 100%; } }
    @media only screen and (min-width: 580px) {
      #content .gform_wrapper .gf_left_half,
      #content .gform_wrapper .gf_right_half {
        width: 49%; } }
  @media only screen and (min-width: 580px) {
    #content .gform_wrapper .gf_left_half {
      margin-right: 2%; } }
  #content .gform_wrapper .ginput_complex .name_first input[type="text"],
  #content .gform_wrapper .ginput_complex .name_last input[type="text"] {
    width: 100%; }

/*
HTML5 Reset ::style.css - via https://github.com/murtaugh/HTML5-Reset/blob/master/_/css/style.css
----------------------------------------------------------
We have learned much from/been inspired by/taken code where offered from:Eric Meyer ::http://ericmeyer.com
HTML5 Doctor ::http://html5doctor.com
and the HTML5 Boilerplate ::http://html5boilerplate.com
-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent; }

article, aside, figure, footer, header, hgroup, img, nav, section {
  display: block; }

/* Responsive images and other embedded objects
Note:keeping IMG here will cause problems if you're using foreground images as sprites.
If this default setting for images is causing issues,you might want to replace it with a .responsive class instead. */
img, object, embed {
  max-width: 100%;
  height: auto; }

/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll; }

/* we use a lot of ULs that aren't bulleted.
don't forget to restore the bullets within content. */
ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

th {
  font-weight: bold;
  vertical-align: bottom; }

td {
  font-weight: normal;
  vertical-align: top; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well,actually) */
  word-wrap: break-word;
  /* IE */ }

input[type="radio"] {
  vertical-align: text-bottom; }

input[type="checkbox"] {
  vertical-align: bottom;
  *vertical-align: baseline; }

.lt-ie7 input {
  vertical-align: text-bottom; }

select, input, textarea {
  font: 99% sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

/* Accessible focus treatment
people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active {
  outline: none; }

small {
  font-size: 85%; }

em, i {
  font-style: italic; }

strong, th, b {
  font-weight: bold; }

td, td img {
  vertical-align: top; }

/* Make sure sup and sub don't screw with your line-heights
gist.github.com/413930 */
sub, sup {
  font-size: 60%;
  line-height: 0;
  position: relative; }

sup {
  top: -0.75em; }

sub {
  bottom: -0.5em; }

/* standardize any monospaced elements */
pre, code, kbd, samp {
  font-family: monospace,sans-serif; }

/* hand cursor on clickable elements */
.clickable, label, input[type=button], input[type=submit], button {
  cursor: pointer; }

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {
  margin: 0; }

/* make buttons play nice in IE */
button {
  width: auto;
  overflow: visible; }

/* scale images in IE7 more attractively */
.lt-ie8 img {
  -ms-interpolation-mode: bicubic; }

/* let's clear some floats */
.clearfix:before, .clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden; }

.clearfix:after {
  clear: both; }

.clearfix {
  zoom: 1; }

html {
  -webkit-text-size-adjust: none; }

input[type='text'], input[type='submit'], textarea {
  -webkit-appearance: none;
  -moz-appearance: none; }

/* SCSS Framework boilerplate from Ristretto: https://github.com/kylelarkin/ristretto */
/* stylelint-disable order/properties-alphabetical-order */
/* stylelint-enable */
html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

body, select, input, textarea {
  color: #333; }

::-moz-selection {
  background: #ccc;
  color: #000;
  text-shadow: none; }

::selection {
  background: #ccc;
  color: #000;
  text-shadow: none; }

a:link {
  -webkit-tap-highlight-color: #ccc; }

ins {
  background-color: #ccc;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ccc;
  color: #000;
  font-style: italic;
  font-weight: bold; }

body {
  color: #333;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 100%;
  font-weight: normal;
  line-height: 1.5; }

a {
  color: #333; }
  a:hover, a:focus {
    color: #000; }
  nav a {
    text-decoration: none; }
    nav a:hover, nav a:active {
      text-decoration: none; }

h1 {
  color: #333;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
  line-height: 1.3; }

h2 {
  color: #333;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1.3125rem;
  line-height: 1.3; }

h3 {
  color: #333;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1.125rem;
  line-height: 1.3; }

h4 {
  color: #333;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.3; }

h5 {
  color: #333;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.3; }

h6 {
  color: #333;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  line-height: 1.3; }

p {
  font-size: 1rem;
  line-height: 1.4;
  margin: 0 0 1em 0; }

em, i {
  font-style: italic; }
  em strong, em b, i strong, i b {
    font-style: italic; }

strong, b {
  font-weight: bold; }
  strong em, strong i, b em, b i {
    font-weight: bold; }

ol {
  margin: 1em 0 1em 1.25em; }

ul {
  list-style: disc;
  margin: 1em 0 1em 1.1em; }
  nav ul {
    list-style: none;
    margin: 0;
    padding-left: 0; }
    nav ul a {
      text-decoration: none; }

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin: 2rem 0;
  max-width: 100%;
  height: auto; }

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.menu-toggle {
  background: transparent;
  border: none;
  display: block;
  height: 44px;
  position: absolute;
  padding-top: 2.3rem;
  left: 1.25rem;
  text-align: left;
  top: 0;
  width: 8rem;
  z-index: 100; }
  .menu-toggle:hover, .menu-toggle:active, .menu-toggle:focus {
    border: none; }

.menu-toggle .menu-button, .menu-toggle .menu-button:before, .menu-toggle .menu-button:after {
  background: #fff;
  content: '';
  cursor: pointer;
  display: block;
  height: 2px;
  left: 0rem;
  position: absolute;
  width: 24px; }

.menu-toggle .menu-button:before {
  top: -8px; }

.menu-toggle .menu-button:after {
  bottom: -8px; }

.menu-toggle .menu-button, .menu-toggle .menu-button:before, .menu-toggle .menu-button:after {
  transition: all .25s ease-out; }

.menu-toggle.active .menu-button {
  background-color: transparent; }

.menu-toggle.active .menu-button:before, .menu-toggle.active .menu-button:after {
  top: 0; }

.menu-toggle.active .menu-button:before {
  transform: rotate(45deg); }

.menu-toggle.active .menu-button:after {
  transform: rotate(-45deg); }

.flex-row:last-child {
  padding-bottom: 0; }

.flex-article-intro {
  background-position: top left;
  background-size: cover;
  position: relative; }
  .flex-article-intro .inner {
    align-items: center;
    display: flex;
    min-height: 70vh;
    padding: 6rem 1rem; }
    @media only screen and (min-width: 768px) {
      .flex-article-intro .inner {
        min-height: 90vh;
        padding-top: 0; } }
    .flex-article-intro .inner.small {
      min-height: 0;
      padding: 9rem 1rem 1rem 1rem; }
      @media only screen and (min-width: 768px) {
        .flex-article-intro .inner.small {
          padding: 7rem 0 1rem; } }
  .flex-article-intro .intro-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden; }
  .flex-article-intro .intro-video iframe {
    width: 100vw;
    height: 56.25vw;
    /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
    min-height: 100vh;
    min-width: 177.77vh;
    /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  @media only screen and (min-width: 580px) {
    .flex-article-intro .flex-intro-content {
      width: calc(83.3333333333% - 36.6666666667px);
      float: left;
      margin-left: 20px;
      left: calc(16.6666666667% - 23.3333333333px + 20px);
      position: relative; } }
  @media only screen and (min-width: 768px) {
    .flex-article-intro .flex-intro-content {
      width: calc(66.6666666667% - 33.3333333333px);
      float: left;
      margin-left: 20px;
      left: calc(33.3333333333% - 26.6666666667px + 20px);
      position: relative;
      margin-top: 3rem; } }
  @media only screen and (min-width: 1024px) {
    .flex-article-intro .flex-intro-content {
      width: calc(50% - 30px);
      float: left;
      margin-left: 20px;
      left: calc(50% - 30px + 20px);
      position: relative; } }
  @media only screen and (min-width: 580px) {
    .flex-article-intro .flex-intro-content.intro-left {
      width: calc(83.3333333333% - 36.6666666667px);
      float: left;
      margin-left: 20px;
      left: calc(0% - 20px + 20px);
      position: relative; } }
  @media only screen and (min-width: 768px) {
    .flex-article-intro .flex-intro-content.intro-left {
      width: calc(66.6666666667% - 33.3333333333px);
      float: left;
      margin-left: 20px;
      left: calc(0% - 20px + 20px);
      position: relative;
      margin-top: 3rem; } }
  @media only screen and (min-width: 1024px) {
    .flex-article-intro .flex-intro-content.intro-left {
      width: calc(50% - 30px);
      float: left;
      margin-left: 20px;
      left: calc(0% - 20px + 20px);
      position: relative; } }
  @media only screen and (min-width: 580px) {
    .flex-article-intro .flex-intro-content.intro-center {
      width: calc(83.3333333333% - 36.6666666667px);
      float: left;
      margin-left: 20px;
      left: calc(8.3333333333% - 21.6666666667px + 20px);
      position: relative; } }
  @media only screen and (min-width: 768px) {
    .flex-article-intro .flex-intro-content.intro-center {
      width: calc(66.6666666667% - 33.3333333333px);
      float: left;
      margin-left: 20px;
      left: calc(16.6666666667% - 23.3333333333px + 20px);
      position: relative;
      margin-top: 3rem; } }
  @media only screen and (min-width: 1024px) {
    .flex-article-intro .flex-intro-content.intro-center {
      width: calc(50% - 30px);
      float: left;
      margin-left: 20px;
      left: calc(25% - 25px + 20px);
      position: relative; } }
  .flex-article-intro img {
    margin-bottom: 2.5rem; }
  .flex-article-intro h2 {
    background: #fff;
    color: #000;
    display: inline;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .5px;
    line-height: 1.5;
    padding: 0 .25rem; }
    @media only screen and (min-width: 768px) {
      .flex-article-intro h2 {
        font-size: 2.4375rem; } }
  .flex-article-intro .byline-wrapper {
    color: #fff;
    margin-top: 2.5rem;
    padding-bottom: 2.5rem; }
    .flex-article-intro .byline-wrapper p {
      background: #000;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 1px;
      margin-bottom: 0;
      padding-bottom: .25rem;
      padding-left: .5rem; }
      @media only screen and (min-width: 768px) {
        .flex-article-intro .byline-wrapper p {
          font-size: 1.5rem;
          max-width: 23rem; } }
  .flex-article-intro .down-arrow {
    background: rgba(0, 0, 0, 0.75);
    border-radius: 100%;
    cursor: pointer;
    bottom: 3rem;
    height: 64px;
    left: 50%;
    padding-top: 1.5rem;
    position: absolute;
    text-align: center;
    transform: translateX(-32px);
    width: 64px;
    z-index: 10; }
    .flex-article-intro .down-arrow img {
      margin: 0 auto;
      width: 30px; }

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0); }
  40% {
    transform: translateY(-4px); }
  60% {
    transform: translateY(-4px); } }
  .flex-article-intro .bounce {
    animation: bounce 2s infinite; }

.flex-text-image {
  position: relative; }
  .flex-text-image .inner {
    padding: 3rem 1rem 3rem 1rem; }
    @media only screen and (min-width: 768px) {
      .flex-text-image .inner {
        padding: 5rem 1rem 5rem 1rem; } }
  .flex-text-image .flex-text-content {
    position: relative;
    z-index: 100; }
    @media only screen and (min-width: 768px) {
      .flex-text-image .flex-text-content {
        width: calc(45.8333333333% - 29.1666666667px);
        float: left;
        margin-left: 20px;
        margin-left: 0;
        min-height: 350px; } }
    .flex-text-image .flex-text-content p {
      font-size: 1.125rem; }
      @media only screen and (min-width: 768px) {
        .flex-text-image .flex-text-content p {
          font-size: 1.375rem; } }
    .flex-text-image .flex-text-content.drop-cap p:first-child:first-letter {
      float: left;
      font-size: 84px;
      font-weight: 700;
      line-height: 60px;
      padding-top: 9px;
      padding-right: 10px;
      padding-left: 3px; }
      @media only screen and (min-width: 768px) {
        .flex-text-image .flex-text-content.drop-cap p:first-child:first-letter {
          font-size: 104px;
          padding-top: 18px; } }
  .flex-text-image .image {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border: none !important;
    left: 50%;
    height: 350px; }
    @media only screen and (min-width: 768px) {
      .flex-text-image .image {
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        position: absolute;
        top: 0;
        left: 50%;
        height: 100%;
        width: 50%; } }
  @media only screen and (min-width: 768px) {
    .flex-text-image.left .flex-text-content {
      margin-left: calc(54.1666666667% - 30.8333333333px + 40px);
      padding-left: 1rem; } }
  .flex-text-image.left .image {
    left: 0; }
  .flex-text-image.behind {
    background-position: top center;
    background-size: cover; }
    .flex-text-image.behind .flex-text-content {
      background: rgba(255, 255, 255, 0.95);
      padding: 1.5rem; }
      @media only screen and (min-width: 768px) {
        .flex-text-image.behind .flex-text-content {
          width: calc(50% - 30px);
          float: left;
          margin-left: 20px;
          padding: 3rem; } }
.flex-text {
  position: relative; }
  .flex-text .inner {
    padding: 3rem 1rem 3rem 1rem; }
    @media only screen and (min-width: 768px) {
      .flex-text .inner {
        padding: 5rem 1rem 5rem 1rem; } }
  .flex-text .flex-text-content {
    position: relative;
    z-index: 100;
    width: calc(100% - 40px);
    float: left;
    margin-left: 20px; }
    @media only screen and (min-width: 768px) {
      .flex-text .flex-text-content {
        width: calc(83.3333333333% - 36.6666666667px);
        float: left;
        margin-left: 20px;
        left: calc(8.3333333333% - 21.6666666667px + 20px);
        position: relative; } }
    .flex-text .flex-text-content p {
      font-size: 1.125rem; }
      @media only screen and (min-width: 768px) {
        .flex-text .flex-text-content p {
          font-size: 1.375rem; } }
    .flex-text .flex-text-content.drop-cap p:first-child:first-letter {
      float: left;
      font-size: 84px;
      font-weight: 700;
      line-height: 60px;
      padding-bottom: 1rem;
      padding-top: 9px;
      padding-right: 10px;
      padding-left: 3px; }
      @media only screen and (min-width: 768px) {
        .flex-text .flex-text-content.drop-cap p:first-child:first-letter {
          font-size: 104px;
          padding-top: 18px; } }
.flex-parallax .jarallax {
  height: 500px;
  position: relative;
  z-index: 0; }

.flex-parallax #jarallax-container-0 {
  z-index: 0 !important; }

.flex-parallax .jarallax > .jarallax-img {
  position: absolute;
  object-fit: cover;
  /* support for plugin https://github.com/bfred-it/object-fit-images */
  font-family: 'object-fit: cover;';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; }

@media only screen and (min-width: 768px) {
  .flex-images .image-container {
    display: flex;
    justify-content: center; } }

@media only screen and (min-width: 768px) {
  .flex-images .image-container .item {
    margin-bottom: 0;
    padding-right: 0; }
    .flex-images .image-container .item:last-child {
      padding-right: 0; } }

.flex-images .image-container .item .caption {
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 1px;
  margin-top: .75rem;
  padding-bottom: .75rem;
  padding-left: 1rem; }

.flex-images .grid {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 1400px;
  padding: 2rem 1rem; }
  @media only screen and (min-width: 580px) {
    .flex-images .grid {
      flex-direction: row; } }
  .flex-images .grid .item {
    margin: .5rem 0;
    margin-bottom: 1rem; }
    @media only screen and (min-width: 580px) {
      .flex-images .grid .item {
        width: calc(50% - 30px);
        float: left;
        margin-left: 20px; } }
    @media only screen and (min-width: 768px) {
      .flex-images .grid .item {
        width: calc(33.3333333333% - 26.6666666667px);
        float: left;
        margin-left: 20px; } }
    @media only screen and (min-width: 1024px) {
      .flex-images .grid .item {
        width: calc(25% - 25px);
        float: left;
        margin-left: 20px; } }
    .flex-images .grid .item .caption {
      margin-bottom: 0rem; }
  .flex-images .grid img {
    margin-bottom: .5rem; }
  .flex-images .grid .caption {
    background: #000;
    display: inline;
    font-size: 0.875rem;
    color: #fff;
    letter-spacing: 1px;
    line-height: 2;
    margin-top: .5rem;
    padding: .25rem .5rem;
    width: 100%; }

.flex-images .image-slider .owl-nav {
  position: absolute;
  top: 50%;
  width: 100%; }
  .flex-images .image-slider .owl-nav button {
    background: #fff;
    color: #000;
    font-size: 1.3125rem;
    height: 44px;
    width: 44px;
    padding: .5rem .25rem !important;
    transition: all .25s ease-out; }
    @media only screen and (min-width: 1024px) {
      .flex-images .image-slider .owl-nav button {
        height: 60px;
        width: 60px;
        padding: 1rem .25rem !important; } }
    @media only screen and (min-width: 1344px) {
      .flex-images .image-slider .owl-nav button {
        height: 72px;
        width: 72px;
        padding: 1.35rem .25rem !important; } }
    .flex-images .image-slider .owl-nav button svg {
      transition: all .25s ease-out; }
  .flex-images .image-slider .owl-nav .disabled {
    opacity: .45; }
  .flex-images .image-slider .owl-nav button.owl-prev {
    float: left; }
    .flex-images .image-slider .owl-nav button.owl-prev:hover svg {
      transform: translateX(-0.25rem); }
  .flex-images .image-slider .owl-nav button.owl-next {
    float: right; }
    .flex-images .image-slider .owl-nav button.owl-next:hover svg {
      transform: translateX(0.25rem); }

.flex-quote .inner {
  padding: 3rem 1rem 3rem 1rem; }
  @media only screen and (min-width: 768px) {
    .flex-quote .inner {
      padding: 5rem 1rem 5rem 1rem; } }
.flex-quote .flex-quote-content {
  width: calc(91.6666666667% - 38.3333333333px);
  float: left;
  margin-left: 20px;
  left: calc(4.1666666667% - 20.8333333333px + 20px);
  position: relative;
  text-align: center; }

.flex-quote .quote p {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.5;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .flex-quote .quote p {
      font-size: 2.625rem; } }
.flex-quote .quote-author {
  border-left: 2px solid #333;
  display: inline-block;
  font-size: 1.125rem;
  letter-spacing: .5px;
  padding: .5rem 1rem;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .flex-quote .quote-author {
      font-size: 1.375rem;
      padding: .75rem 1.5rem; } }
.disrupt-flex-video::after {
  clear: both;
  content: "";
  display: block; }

.disrupt-flex-video .inner {
  padding: 3rem 1rem 2rem 1rem; }
  @media only screen and (min-width: 768px) {
    .disrupt-flex-video .inner {
      padding: 5rem 1rem 1rem 1rem; } }
.disrupt-flex-video .video-content {
  width: calc(91.6666666667% - 38.3333333333px);
  float: left;
  margin-left: 20px;
  left: calc(4.1666666667% - 20.8333333333px + 20px);
  position: relative; }
  @media only screen and (min-width: 768px) {
    .disrupt-flex-video .video-content {
      width: calc(75% - 35px);
      float: left;
      margin-left: 20px;
      left: calc(12.5% - 22.5px + 20px);
      position: relative; } }
  .disrupt-flex-video .video-content p {
    color: #fff;
    font-size: 1.125rem;
    line-height: 1.65; }
    @media only screen and (min-width: 768px) {
      .disrupt-flex-video .video-content p {
        font-size: 1.375rem; } }
.disrupt-flex-video .video-wrapper {
  width: calc(91.6666666667% - 38.3333333333px);
  float: left;
  margin-left: 20px;
  left: calc(4.1666666667% - 20.8333333333px + 20px);
  position: relative; }
  @media only screen and (min-width: 768px) {
    .disrupt-flex-video .video-wrapper {
      width: calc(75% - 35px);
      float: left;
      margin-left: 20px;
      left: calc(12.5% - 22.5px + 20px);
      position: relative;
      margin-top: -2.5rem; } }
@media only screen and (min-width: 768px) {
  .disrupt-flex-video.left .video-content {
    width: calc(33.3333333333% - 26.6666666667px);
    float: left;
    margin-left: 20px;
    left: calc(0% - 20px + 20px);
    position: relative; } }

@media only screen and (min-width: 768px) {
  .disrupt-flex-video.left .video-wrapper {
    width: calc(66.6666666667% - 33.3333333333px);
    float: left;
    margin-left: 20px;
    left: calc(0% - 20px + 20px);
    position: relative;
    margin-top: -2.5rem; } }

@media only screen and (min-width: 768px) {
  .disrupt-flex-video.right .video-content {
    width: calc(33.3333333333% - 26.6666666667px);
    float: left;
    margin-left: 20px;
    left: calc(66.6666666667% - 33.3333333333px + 20px);
    position: relative; } }

@media only screen and (min-width: 768px) {
  .disrupt-flex-video.right .video-wrapper {
    width: calc(66.6666666667% - 33.3333333333px);
    float: left;
    margin-left: 20px;
    left: calc(-33.3333333333% - 13.3333333333px + 20px);
    position: relative;
    margin-top: -2.5rem; } }

.article-navigation {
  position: fixed;
  top: 70vh;
  left: 0;
  width: 100%;
  z-index: 100; }
  @media only screen and (min-width: 768px) {
    .article-navigation {
      top: 80vh; } }
  .article-navigation .inner {
    position: relative; }

.article-nav {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  bottom: -3rem;
  right: 0; }

.article-nav-button a, .article-nav-button .addthis_inline_share_toolbox {
  background: rgba(0, 0, 0, 0.5);
  border: none;
  color: #fff;
  display: flex;
  height: 44px;
  padding: .65rem .5rem;
  padding-top: .7rem;
  margin-right: 1px; }
  .article-nav-button a:hover .direction-text, .article-nav-button .addthis_inline_share_toolbox:hover .direction-text {
    max-width: 300px; }
  .article-nav-button a:hover img, .article-nav-button .addthis_inline_share_toolbox:hover img {
    opacity: 1;
    transform: translateX(-0.25rem); }

.article-nav-button .nav-share {
  display: block;
  padding: .65rem 1rem;
  padding-top: .7rem; }
  .article-nav-button .nav-share .fa-share-alt {
    opacity: .75 !important; }
  .article-nav-button .nav-share:hover .fa-share-alt {
    opacity: 1 !important; }

.article-nav-button.next-post:hover img {
  display: block;
  transform: translateX(0.25rem); }

.article-nav-button .direction-text {
  backface-visibility: visible;
  color: #fff;
  letter-spacing: .5px;
  overflow: hidden;
  max-width: 0;
  transition: max-width .5s ease-out;
  z-index: 1000; }

.article-nav-arrow {
  opacity: .75;
  position: relative;
  transition: all .25s ease-out;
  width: 30px; }

.theme-navigation {
  background: #fff;
  display: none;
  left: 0;
  opacity: 0;
  padding-top: calc(7rem + 100px);
  padding-bottom: 3rem;
  position: absolute;
  top: 0;
  width: 100%;
  transition: all .25s ease-out;
  z-index: 90; }
  .theme-navigation.open {
    display: block;
    opacity: 1; }
  .theme-navigation .theme-nav-intro {
    font-size: 1rem; }
  .theme-navigation .theme-nav-title {
    border: none;
    font-size: 1.3125rem;
    font-weight: 700;
    letter-spacing: .5px;
    margin: 1rem 0;
    padding: 0; }
  .theme-navigation .theme-description {
    margin-bottom: 1rem; }
  .theme-navigation h4 {
    border: 3px solid #333;
    display: inline-block;
    font-weight: 700;
    letter-spacing: .5px;
    margin-bottom: 3rem;
    padding: .75rem 1rem;
    text-transform: uppercase; }
  .theme-navigation .article-list {
    list-style: none;
    margin: 0;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap; }
  .theme-navigation li {
    border: 3px solid #fff;
    width: 100%;
    position: relative; }
    @media only screen and (min-width: 580px) {
      .theme-navigation li {
        width: 50%; } }
    @media only screen and (min-width: 1024px) {
      .theme-navigation li {
        width: 33.33%; } }
    .theme-navigation li img {
      opacity: .6;
      position: relative;
      transition: all .25s ease-out;
      z-index: 1; }
    .theme-navigation li:hover img, .theme-navigation li.current-article img {
      opacity: 1; }
    .theme-navigation li:hover h5, .theme-navigation li.current-article h5 {
      border-top: 3px solid #FFC946; }
    .theme-navigation li:hover .issue-article-number, .theme-navigation li.current-article .issue-article-number {
      background: #FFC946;
      color: #fff; }
    .theme-navigation li .issue-article-link {
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.65) 100%);
      height: 100%;
      text-decoration: none;
      transition: all .25s ease-out;
      width: 100%;
      z-index: 10; }
  .theme-navigation h5 {
    border-top: 3px solid #999;
    color: #333;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.25;
    padding-left: 3.75rem;
    padding-right: .5rem;
    padding-top: .5rem;
    width: 100%;
    transition: all .25s ease-out;
    z-index: 10; }
  .theme-navigation .issue-article-number {
    background: #999;
    color: #fff;
    float: left;
    font-size: 1rem;
    font-weight: 700;
    height: 48px;
    margin-left: -3.75rem;
    margin-right: .5rem;
    margin-top: -.5rem;
    padding: .85rem 0;
    text-align: center;
    transition: all .25s ease-out;
    width: 48px; }

.issue-navigation {
  background: #fff;
  display: none;
  left: 0;
  opacity: 0;
  padding-top: 7rem;
  padding-bottom: 3rem;
  position: absolute;
  top: 100px;
  width: 100%;
  transition: all .25s ease-out;
  z-index: 90; }
  .issue-navigation.open {
    display: block;
    opacity: 1; }
  .issue-navigation .issue-list-nav {
    margin-bottom: 2rem; }
    .issue-navigation .issue-list-nav::after {
      clear: both;
      content: "";
      display: block; }
  .issue-navigation .issue-list-title {
    font-weight: 700;
    letter-spacing: .5px; }
    @media only screen and (min-width: 768px) {
      .issue-navigation .issue-list-title {
        float: left;
        margin-left: 2px;
        margin-right: 1.5rem;
        padding-top: 1.25rem; } }
  .issue-navigation .issue-list {
    list-style: none;
    margin: 0;
    padding-left: 0; }
    @media only screen and (min-width: 768px) {
      .issue-navigation .issue-list {
        float: left; } }
    .issue-navigation .issue-list li {
      display: inline-block;
      line-height: 1.25;
      margin-right: 1.5rem;
      text-align: center; }
      .issue-navigation .issue-list li.current-issue-nav a {
        border: 3px solid #FFC946;
        color: #333; }
      .issue-navigation .issue-list li a {
        border: 3px solid #999;
        border-radius: 8px;
        color: #999;
        display: block;
        font-weight: 700;
        padding: .5rem .5rem;
        text-decoration: none !important; }
        .issue-navigation .issue-list li a:hover {
          border-color: #FFC946;
          transition: all .25s ease-out; }
  .issue-navigation h4 {
    border: 3px solid #333;
    display: inline-block;
    font-weight: 700;
    letter-spacing: .5px;
    margin-bottom: 3rem;
    padding: .75rem 1rem;
    text-transform: uppercase; }
  .issue-navigation .article-list {
    list-style: none;
    margin: 0;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap; }
  .issue-navigation li {
    border: 3px solid #fff;
    width: 100%;
    position: relative; }
    @media only screen and (min-width: 580px) {
      .issue-navigation li {
        width: 50%; } }
    @media only screen and (min-width: 1024px) {
      .issue-navigation li {
        width: 33.33%; } }
    .issue-navigation li img {
      opacity: .6;
      position: relative;
      transition: all .25s ease-out;
      z-index: 1; }
    .issue-navigation li:hover img, .issue-navigation li.current-article img {
      opacity: 1; }
    .issue-navigation li:hover h5, .issue-navigation li.current-article h5 {
      border-top: 3px solid #ffc627; }
    .issue-navigation li:hover .issue-article-number, .issue-navigation li.current-article .issue-article-number {
      background: #ffc627;
      color: #fff; }
    .issue-navigation li .issue-article-link {
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.65) 100%);
      height: 100%;
      text-decoration: none;
      transition: all .25s ease-out;
      width: 100%;
      z-index: 10; }
  .issue-navigation h5 {
    border-top: 3px solid #999;
    color: #333;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.25;
    padding-left: 3.75rem;
    padding-right: .5rem;
    padding-top: .5rem;
    width: 100%;
    transition: all .25s ease-out;
    z-index: 10; }
  .issue-navigation .issue-article-number {
    background: #999;
    color: #fff;
    float: left;
    font-size: 1rem;
    font-weight: 700;
    height: 48px;
    margin-left: -3.75rem;
    margin-right: .5rem;
    margin-top: -.5rem;
    padding: .85rem 0;
    text-align: center;
    transition: all .25s ease-out;
    width: 48px; }

.related-articles {
  background: #000;
  padding: 3rem 0;
  padding-bottom: 6rem; }
  .related-articles h5 {
    background: #fff;
    color: #000;
    display: inline-block;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    margin-left: 3rem;
    padding: .25rem;
    letter-spacing: .5px; }
  .related-articles h6 {
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: .5px;
    margin-top: .75rem; }
    .related-articles h6 a {
      border-bottom: 1px solid #000;
      color: #fff;
      text-decoration: none !important;
      transition: all .25s ease-out; }
      .related-articles h6 a:hover {
        border-color: #fff; }
  .related-articles .owl-carousel {
    position: relative;
    width: calc(95.8333333333% - 39.1666666667px);
    float: left;
    margin-left: 20px;
    left: calc(2.0833333333% - 20.4166666667px + 20px);
    position: relative; }
    .related-articles .owl-carousel .owl-stage-outer {
      z-index: 1; }
    .related-articles .owl-carousel .owl-nav {
      position: absolute;
      top: 35%;
      width: 100%;
      z-index: 0; }
    .related-articles .owl-carousel .fa-chevron-left {
      color: #fff;
      float: left;
      font-size: 3.75rem;
      margin-left: -3rem; }
    .related-articles .owl-carousel .fa-chevron-right {
      color: #fff;
      font-size: 3.75rem; }
    .related-articles .owl-carousel .owl-next {
      float: right;
      margin-right: -3rem; }

.article-themes {
  background: #000;
  padding: 3rem 0; }
  .article-themes h5 {
    background: #fff;
    color: #000;
    display: inline-block;
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    margin-left: 3rem;
    margin-right: 1rem;
    padding: .25rem;
    letter-spacing: .5px; }
    @media only screen and (min-width: 580px) {
      .article-themes h5 {
        float: left; } }
    .article-themes h5 .fa-caret-right {
      font-size: 1.5rem; }
  .article-themes .theme-list {
    list-style: none;
    margin: 0;
    padding-left: 0; }
    @media only screen and (min-width: 580px) {
      .article-themes .theme-list {
        float: left;
        margin-left: 1.5rem;
        margin-top: .5rem; } }
    .article-themes .theme-list li {
      display: inline-block;
      margin-right: 2rem; }
    .article-themes .theme-list a {
      border-bottom: 1px solid #000;
      color: #fff;
      cursor: pointer;
      font-size: 1.3125rem;
      letter-spacing: .5px;
      text-decoration: none !important;
      transition: all .25s ease-out; }
      .article-themes .theme-list a:hover {
        border-color: #fff; }

.inner {
  margin: 0 auto;
  max-width: 1400px;
  padding: 0 1rem; }
  .inner::after {
    clear: both;
    content: "";
    display: block; }

.fixed {
  opacity: 0;
  position: fixed; }

.alignleft {
  float: right;
  margin: .5rem 0 1rem 2.5rem; }
  @media only screen and (min-width: 580px) {
    .alignleft {
      width: 50% !important; } }
  @media only screen and (min-width: 768px) {
    .alignleft {
      width: auto !important; } }
.alignleft {
  float: left;
  margin: .5rem 2.5rem 1rem 0; }
  @media only screen and (min-width: 580px) {
    .alignleft {
      width: 50% !important; } }
  @media only screen and (min-width: 768px) {
    .alignleft {
      width: auto !important; } }
.wp-caption p.wp-caption-text {
  border-bottom: 3px solid #ccc;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 1px;
  margin-top: .75rem;
  padding-bottom: .75rem; }

body.admin-bar header.body--header {
  top: 132px; }

header.body--header {
  background: rgba(0, 0, 0, 0.75);
  position: absolute;
  left: 0;
  padding: 1rem 0 1.5rem 0;
  top: 100px;
  width: 100%;
  z-index: 100; }
  header.body--header::after {
    clear: both;
    content: "";
    display: block; }
  header.body--header .logo {
    float: right;
    max-width: 200px;
    margin-top: .125rem; }
    @media only screen and (min-width: 580px) {
      header.body--header .logo {
        max-width: 240px; } }
  header.body--header h6 {
    color: #fff;
    float: left;
    font-size: 1.25rem;
    letter-spacing: .5px;
    margin: 0;
    margin-left: 1.5rem;
    margin-top: .5rem;
    position: relative; }
    header.body--header h6 .header-title {
      display: none; }
      @media only screen and (min-width: 580px) {
        header.body--header h6 .header-title {
          display: inline; } }
  header.body--header .browse-issue {
    display: none; }

.big-foot {
  display: none; }

footer.body--footer {
  clear: both;
  padding: 2rem 0; }
  footer.body--footer::after {
    clear: both;
    content: "";
    display: block; }
  footer.body--footer p {
    color: #000;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 0;
    padding: 0;
    text-transform: uppercase; }

.home .main, .tax-issue .main {
  background-position: top center;
  background-size: cover;
  min-height: 100vh;
  padding-bottom: 5rem;
  position: relative;
  width: 100vw; }
  .home .main .inner, .tax-issue .main .inner {
    position: relative; }
    .home .main .inner::after, .tax-issue .main .inner::after {
      clear: both;
      content: "";
      display: block; }

.home .cover-video, .tax-issue .cover-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden; }

.home .cover-video iframe, .tax-issue .cover-video iframe {
  width: 100vw;
  height: 56.25vw;
  /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
  min-height: 100vh;
  min-width: 177.77vh;
  /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.home .front-content, .tax-issue .front-content {
  padding-top: 12rem; }
  .home .front-content::after, .tax-issue .front-content::after {
    clear: both;
    content: "";
    display: block; }
  @media only screen and (min-width: 580px) {
    .home .front-content, .tax-issue .front-content {
      width: calc(75% - 35px);
      float: left;
      margin-left: 20px; } }
  @media only screen and (min-width: 768px) {
    .home .front-content, .tax-issue .front-content {
      width: calc(50% - 30px);
      float: left;
      margin-left: 20px; } }
  @media only screen and (min-width: 1024px) {
    .home .front-content, .tax-issue .front-content {
      width: calc(41.6666666667% - 28.3333333333px);
      float: left;
      margin-left: 20px; } }
.home .featured-articles, .tax-issue .featured-articles {
  list-style: none;
  margin: 0;
  padding-left: 0;
  margin-top: 3rem; }
  .home .featured-articles::after, .tax-issue .featured-articles::after {
    clear: both;
    content: "";
    display: block; }
  .home .featured-articles li, .tax-issue .featured-articles li {
    clear: both;
    float: left;
    line-height: 1;
    margin-bottom: 2rem;
    transition: all .25s ease-out; }
    .home .featured-articles li:hover, .tax-issue .featured-articles li:hover {
      transform: translateX(1rem); }
    .home .featured-articles li:hover a, .tax-issue .featured-articles li:hover a {
      background: #fff;
      color: #000; }
  .home .featured-articles a, .tax-issue .featured-articles a {
    background: #000;
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.35;
    padding: 0 .75rem;
    position: relative;
    top: .125rem;
    text-decoration: none;
    text-transform: lowercase;
    transition: all .25s ease-out; }
    @media only screen and (min-width: 580px) {
      .home .featured-articles a, .tax-issue .featured-articles a {
        font-size: 2.25rem; } }
    @media only screen and (min-width: 768px) {
      .home .featured-articles a, .tax-issue .featured-articles a {
        font-size: 2.625rem; } }
@media only screen and (min-width: 768px) {
  .home .details-wrapper, .tax-issue .details-wrapper {
    bottom: 3rem;
    right: 0;
    position: fixed;
    z-index: 100; } }

.home .open-magazine, .tax-issue .open-magazine {
  background: #fff;
  border: none;
  display: inline-block;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: 1px;
  margin-top: 1.5rem;
  padding: .75rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: all .25s ease-out; }
  .home .open-magazine:hover, .tax-issue .open-magazine:hover {
    background: #000;
    color: #fff; }

.home .issue-info, .tax-issue .issue-info {
  display: flex;
  margin-top: 3rem;
  margin-left: -.25rem; }
  .home .issue-info .issue-number, .tax-issue .issue-info .issue-number {
    border-right: 1px solid #fff;
    color: #ffe600;
    font-size: 5.25rem;
    font-weight: 700;
    line-height: .75;
    margin-bottom: 0;
    padding-right: 1rem; }
  .home .issue-info .issue-years, .tax-issue .issue-info .issue-years {
    color: #ffe600;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: .25rem;
    padding: 0 1rem; }

article {
  position: relative;
  z-index: 0; }

/*# sourceMappingURL=screen.css.map */