/*
Theme Name: Vent-2020
Author: Joshua Phillips
Description: The Vent For Change theme template
Version: 1
Text Domain: vent
*/

/******************
* GLOBAL ELEMENTS *
******************/
* {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  font-size: inherit;
  line-height: inherit;
  text-align: inherit;
}

html {
  font-size: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

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

img {
  display: block;
  border: 0;
  position: relative;
}

img.animate {
  /*chrome fix for animations */
  -webkit-backface-visibility: hidden;
}

img.fitted.background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

a,
.link {
  outline: none;
  text-decoration: underline;
  color: #0d1c3d;
  transition: all 0.15s linear;
}

a.no-underline,
.link.no-underline,
.no-underline > a {
  text-decoration: none !important;
}

a:hover,
a:focus,
.link:hover {
  color: #1e4290;
}

body {
  font-family: "futura-pt", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  color: #666;
  line-height: 1;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  /* Prevent font scaling in landscape */
  -ms-text-size-adjust: 100%;
  background-color: #fff;
  letter-spacing: 1px;
}

.font-title {
  font-family: "noto serif", Georgia, "Times New Roman", Times, serif !important;
}

.font-content {
  font-family: "futura-pt", Arial, "Helvetica Neue", Helvetica, sans-serif !important;
}

.uppercase {
  text-transform: uppercase !important;
}

.capitalize {
  text-transform: capitalize !important;
}

.lowercase {
  text-transform: lowercase !important;
}

.no-padding {
  padding: 0 !important;
}

.no-margin {
  margin: 0 !important;
}

.inject-me.injected-svg {
  display: block;
}

.icon .inject-me {
  width: 100%;
  height: 100%;
}

.has-yellow-color {
  color: #edc66f !important;
}

.has-blue-color {
  color: #0d1c3d !important;
}

.has-light-grey-color {
  color: #f4f4f4 !important;
}

.has-grey-color {
  color: #707070 !important;
}

.has-light-blue-color {
  color: #1e4290 !important;
}

.has-white-color {
  color: #fff !important;
}

.has-white-color {
  color: #000 !important;
}

.has-yellow-background-color {
  background-color: #edc66f !important;
}

.has-blue-background-color {
  background-color: #0d1c3d !important;
}

.has-light-grey-background-color {
  background-color: #f4f4f4 !important;
}

.has-grey-background-color {
  background-color: #707070 !important;
}

.has-light-blue-background-color {
  background-color: #1e4290 !important;
}

.has-white-background-color {
  background-color: #fff !important;
}

.has-black-background-color {
  background-color: #000 !important;
}

/********
* FORMS *
********/
form * {
  font-family: inherit;
}

form ::-webkit-input-placeholder {
  /* WebKit browsers */
  color: #6a6e74;
}

form :-moz-placeholder {
  /* Firefox 18- */
  color: #6a6e74;
  opacity: 1;
}

form ::-moz-placeholder {
  /* Firefox 19+ */
  color: #6a6e74;
  opacity: 1;
}

form :-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: #6a6e74;
}

/**********
* WRAPPER *
**********/
.wrapper,
.alignwide,
.alignsmall,
.alignmedium {
  width: 100%;
  max-width: 1440px;
  max-width: 90rem;
  margin: 0 auto;
  padding: 0 20px;
  padding: 0 1.25rem;
}

.wrapper.small,
.alignsmall {
  max-width: 840px;
  max-width: 52.5rem;
}

.wrapper.medium,
.alignmedium {
  max-width: 1240px;
  max-width: 77.5rem;
}

.content .alignfull {
  width: 100%;
  max-width: 100vw;
  padding-left: 0;
  padding-right: 0;
}

.absolute-wrapper {
  position: absolute !important;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/**********
* CONTENT *
**********/
.content-section {
  clear: both;
  width: 100%;
  padding-top: 40px;
  padding-top: 2.5rem;
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
}

.content-section.entry-content {
  padding-top: 0 !important;
}

.content-section.small-padding {
  padding-top: 30px;
  padding-top: 1.875rem;
  padding-bottom: 30px;
  padding-bottom: 1.875rem;
}

.content-section.large-padding {
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
}

.outer-content {
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
}

.content-section img {
  border-radius: 8px;
  border-radius: 0.5rem;
}

.content-section .is-style-rounded img {
  border-radius: 50% !important;
}

.content h1,
.content .h1,
.content h2,
.content .h2,
.content h3,
.content .h3,
.content h4,
.content .h4,
.content h5,
.content .h5,
.content h6,
.content .h6 {
  font-family: "noto serif", Georgia, "Times New Roman", Times, serif;
  line-height: 1.5;
  padding: 24px 0;
  padding: 1.5rem 0;
  font-weight: 400;
  color: #0d1c3d;
}

.content h1 + .entry-title,
.content .h1 + .entry-title,
.content h2 + .entry-title,
.content .h2 + .entry-title,
.content h3 + .entry-title,
.content .h3 + .entry-title,
.content h4 + .entry-title,
.content .h4 + .entry-title,
.content h5 + .entry-title,
.content .h5 + .entry-title,
.content h6 + .entry-title,
.content .h6 + .entry-title {
  margin-top: -16px;
  margin-top: -1rem;
}

.content h1 a,
.content .h1 a,
.content h2 a,
.content .h2 a,
.content h3 a,
.content .h3 a,
.content h4 a,
.content .h4 a,
.content h5 a,
.content .h5 a,
.content h6 a,
.content .h6 a {
  text-decoration: none;
}

.content h1,
.content .h1 {
  font-size: 36px;
  font-size: 2.25rem;
}

.content h1.jumbo,
.content .h1.jumbo {
  font-size: 42px;
  font-size: 2.625rem;
}

.content h2,
.content .h2 {
  font-size: 30px;
  font-size: 1.875rem;
}

.content h3,
.content .h3 {
  font-size: 24px;
  font-size: 1.5rem;
}

.content h4,
.content .h4 {
  font-size: 20px;
  font-size: 1.25rem;
}

.content h5,
.content .h5 {
  font-size: 18px;
  font-size: 1.125rem;
}

.content h6,
.content .h6 {
  font-size: 14px;
  font-size: 0.875rem;
}

.content .page-title,
.content .entry-title {
  padding-top: 0 !important;
}

.content p,
.content .p {
  padding: 0 0 20px;
  padding: 0 0 1.25rem;
  line-height: 1.7;
  font-size: 18px;
  font-size: 1.125rem;
}

.content p.has-xs-font-size,
.content .p.has-xs-font-size,
.content ul.has-xs-font-size,
.content ol.has-xs-font-size {
  padding: 0 0 20px;
  padding: 0 0 1.25rem;
  font-size: 14px;
  font-size: 0.875rem;
}

.content p.has-small-font-size,
.content .p.has-small-font-size,
.content ul.has-small-font-size,
.content ol.has-small-font-size {
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
  font-size: 16px;
  font-size: 1rem;
}

.content p.has-large-font-size,
.content .p.has-large-font-size,
.content ul.has-large-font-size,
.content ol.has-large-font-size {
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
  font-size: 20px;
  font-size: 1.25rem;
}

.content ul:not([class]),
.content ol:not([class]) {
  padding: 0 0 20px 40px;
  padding: 0 0 1.25rem 2.5rem;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
}

.content ul:not([class]) li,
.content ol:not([class]) li {
  padding: 2px 0;
  padding: 0.125rem 0;
}

.content ul:not([class]) li:last-child,
.content ol:not([class]) li:last-child {
  padding-bottom: 0;
}

.content ul:not([class]) ul,
.content ol:not([class]) ol {
  padding-bottom: 0;
}

.content blockquote {
  font-style: italic;
  padding: 0 0 0 40px;
  padding: 0 0 0 2.5rem;
  margin: 0 0 20px 20px;
  margin: 0 0 1.25rem 1.25rem;
  border-left: 4px solid #222;
  border-left: 0.25rem solid #222;
}

.content hr {
  border: none;
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
  display: block;
  clear: both;
  border-bottom: 1px solid #e5e5e5;
}

.content iframe {
  padding: 0 0 20px;
  padding: 0 0 1.25rem;
}

.content img {
  max-width: 100%;
  height: auto;
}

/**********
* SIDEBAR *
**********/
.sidebar {
  padding: 0 0 40px;
  padding: 0 0 2.5rem;
}

.sidebar .section {
  padding: 0 0 24px;
  padding: 0 0 1.5rem;
}

.sidebar .section:last-child {
  padding-bottom: 0;
}

.sidebar .section h5,
.sidebar .section h6 {
  line-height: 1.25;
  padding: 0 0 20px;
  padding: 0 0 1.25rem;
  font-size: 18px;
  font-size: 1.125rem;
}

.sidebar .section ul.basic-list {
  list-style: none;
  border-top: 1px dotted #ccc;
}

.sidebar .section ul.basic-list li {
  list-style: none;
  border-bottom: 1px dotted #ccc;
}

.sidebar .section ul.basic-list li a {
  line-height: 1.5;
  padding: 8px 0;
  padding: 0.5rem 0;
  display: block;
  text-decoration: none;
  transition: all 0.15s linear;
  font-size: 14px;
  font-size: 0.875rem;
}

.sidebar .section ul.basic-list li a:hover,
.sidebar .section ul.basic-list li a:focus {
  padding-left: 4px;
  padding-left: 0.25rem;
}

.sidebar ul.menu {
  padding: 0 0 20px 20px;
  padding: 0 0 1.25rem 1.25rem;
  line-height: 1.5;
  font-size: 14px;
  font-size: 0.875rem;
}

.sidebar ul.menu li {
  padding: 2px 0;
  padding: 0.125rem 0;
}

.sidebar ul.menu li:last-child {
  padding-bottom: 0;
}

/* Second Level */
.sidebar ul.menu li ul {
  padding-bottom: 0;
  padding-left: 20px;
  padding-left: 1.25rem;
}

/**********
* ARCHIVE * 
**********/
.content .button-nav {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: baseline;
  flex-wrap: wrap;
  align-content: flex-start;
  margin: 0 -3px;
  margin: 0 -0.1875rem;
  padding-bottom: 32px;
  padding-bottom: 2rem;
}

.content .button-nav a {
  margin: 0 3px 4px;
  margin: 0 0.1875rem 0.25rem;
}

.content .button-nav p {
  padding-bottom: 4px;
  padding-bottom: 0.25rem;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  margin: 0 3px;
  margin: 0 0.1875rem;
}

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

.page-links a {
  display: inline-block;
  border: 1px solid #ddd;
  padding: 5px 10px;
  line-height: 1;
  margin-right: 10px;
  text-decoration: none;
  border-radius: 4px;
  border-radius: 0.25rem;
}

.page-links a:hover {
  background: #222;
  color: #fff;
  border-color: #222;
}

/*********
* SINGLE *
*********/
.single-post .content-container.main-content .wrapper {
  display: block;
  max-width: 1000px;
}

.single-post .content-container.main-content .wrapper .page-title {
  line-height: 1.1;
}

.single-post .content-container.main-content .wrapper .date {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
}

.single-post .content-container.main-content .wrapper .featured-image {
  position: relative;
  height: 200px;
  height: 12.5rem;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}

.single-post .share-icons {
  padding: 20px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.single-post .share-icons > p {
  font-weight: 600;
  padding-bottom: 4px;
}

.single-post .share-icons .links {
  display: flex;
}

.single-post .share-icons .links a {
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: solid 1px #0d1c3d;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0d1c3d;
  padding: 10px;
  margin-right: 10px;
}

.single-post .share-icons .links a:hover {
  border-color: #1e4290;
}

.single-post .share-icons .links a svg {
  max-width: 30px;
}

.single-post .share-icons .links a svg * {
  fill: #0d1c3d;
}

.single-post .share-icons .links a:hover svg * {
  fill: #1e4290;
}

.latest-news {
  background-color: #f4f4f4;
}

.latest-news .wrapper .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.latest-news .wrapper .flex .button {
  display: none;
}

/*******
* MISC *
*******/
.show-640,
.show-768,
.show-1024,
.show-1280 {
  display: none;
}

.hide {
  display: none;
}

.fade-up-in {
  opacity: 0;
  transition: all 0.3s linear;
  transform: translateY(80px);
  transform: translateY(5rem);
}

.fade-up-in.show {
  transform: translateY(0);
  opacity: 1;
}

.overlay.fill {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.center-vertical {
  display: flex;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  position: relative;
}

.align-center {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.flex-blocks {
  overflow: hidden;
  display: -webkit-flex;
  display: flex;
  -webkit-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: auto;
  margin-left: -20px;
  margin-left: -1.25rem;
  margin-right: -20px;
  margin-right: -1.25rem;
}

.flex-blocks .flex-block {
  padding: 0 20px;
  padding: 0 1.25rem;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -webkit-flex-basis: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%;
}

.animate,
.animate:hover,
.animate:focus,
.animate:active {
  transition: all 0.15s linear;
}

/**********
* BUTTONS *
**********/
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s linear;
}

button::-moz-focus-inner {
  /* Remove stupid button padding in FF */
  border: 0;
  padding: 0;
}

.button,
.wp-block-button__link,
.wp-block-button__link:visited,
.c-accordion__title--button,
.nf-form-content button,
.nf-form-content input[type="button"],
.nf-form-content input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #review_form #submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #review_form #submit.alt,
.woocommerce #review_form #submit.disabled,
.woocommerce a.button.alt.disabled,
.woocommerce button.button.alt.disabled,
.woocommerce input.button.alt.disabled,
.woocommerce #review_form #submit.alt.disabled,
.woocommerce button.button:disabled[disabled],
.wpforms-container form .wpforms-submit-container button.wpforms-submit {
  -webkit-appearance: none;
  -moz-appearance: none;
  color: #0d1c3d;
  font-weight: 500;
  font-size: 18px;
  font-size: 1.125rem;
  padding: 10px 16px;
  padding: 0.625rem 1rem;
  width: auto;
  background-color: #edc66f;
  text-decoration: none;
  border-radius: 100px;
  border-radius: 6.25rem;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  text-align: center;
  line-height: 1.45;
  border: 1px solid #edc66f;
  border: 0.0625rem solid #edc66f;
}

.button.active,
.button:hover,
.button:focus,
.wp-block-button__link.active,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.c-accordion__title--button:hover,
.c-accordion__title--button:focus,
.nf-form-content button,
.nf-form-content input[type="button"]:hover,
.nf-form-content button,
.nf-form-content input[type="button"]:focus,
.nf-form-content input[type="submit"]:hover,
.nf-form-content input[type="submit"]:focus,
.woocommerce .button.active,
.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce #review_form #submit:hover,
.woocommerce #review_form #submit:focus .woocommerce a.button.alt:hover,
.woocommerce a.button.alt:focus,
.woocommerce button.button.alt:hover,
.woocommerce button.button.alt:focus,
.woocommerce input.button.alt:hover,
.woocommerce input.button.alt:focus,
.woocommerce #review_form #submit.alt:hover,
.woocommerce #review_form #submit.alt:focus,
.woocommerce a.button.disabled,
.woocommerce a.button.disabled:hover,
.woocommerce a.button.disabled:focus,
.woocommerce button.button.disabled,
.woocommerce button.button.disabled:hover,
.woocommerce button.button.disabled:focus,
.woocommerce input.button.disabled .woocommerce input.button.disabled:hover,
.woocommerce input.button.disabled:focus,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover .woocommerce #review_form #submit.disabled,
.woocommerce #review_form #submit.disabled:hover,
.woocommerce #review_form #submit.disabled:focus,
.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt.disabled:hover,
.woocommerce a.button.alt.disabled:focus,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt.disabled:focus,
.woocommerce input.button.alt.disabled,
.woocommerce input.button.alt.disabled:hover,
.woocommerce input.button.alt.disabled:focus,
.woocommerce #review_form #submit.alt.disabled,
.woocommerce #review_form #submit.alt.disabled:hover,
.woocommerce #review_form #submit.alt.disabled:focus,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button:disabled[disabled]:hover,
.woocommerce button.button:disabled[disabled]:focus,
.wpforms-container form .wpforms-submit-container button.wpforms-submit:hover,
.wpforms-container form .wpforms-submit-container button.wpforms-submit:focus {
  background: #ecdcb9;
  border-color: #ecdcb9;
  color: #0d1c3d;
}

.nf-form-content button,
.nf-form-content input[type="button"],
.nf-form-content input[type="submit"] {
  color: #0d1c3d !important;
  background-color: #edc66f !important;
  border: 1px solid #edc66f !important;
  border: 0.0625rem solid #edc66f !important;
  cursor: pointer !important;
}

.nf-form-content button,
.nf-form-content input[type="button"]:hover,
.nf-form-content button,
.nf-form-content input[type="button"]:focus,
.nf-form-content input[type="submit"]:hover,
.nf-form-content input[type="submit"]:focus {
  background: #ecdcb9 !important;
  border-color: #ecdcb9 !important;
  color: #0d1c3d !important;
}

.button.tiny,
.woocommerce a.button.tiny,
.wp-block-button.tiny .wp-block-button__link,
.button.product_type_simple.add_to_cart_button {
  font-size: 14px;
  font-size: 0.875rem;
  padding: 2px 8px 0;
  padding: 0.125rem 0.5rem 0;
  line-height: 1.2;
  letter-spacing: auto;
  font-weight: 500;
  border-radius: 50px;
  border-radius: 3.125rem;
}

.button.tiny.active {
  background: #0d1c3d;
  border-color: #0d1c3d;
  color: #fff;
}

.button.large,
.wp-block-button.large .wp-block-button__link,
.wp-block-pb-accordion-item.large .c-accordion__title--button {
  font-size: 20px;
  font-size: 1.25rem;
  padding: 10px 24px;
  padding: 0.625rem 1.5rem;
}

.button.ghost,
.wp-block-button.ghost .wp-block-button__link,
.woocommerce a.button.ghost,
.woocommerce button.button.ghost,
.woocommerce input.button.ghost,
.woocommerce #review_form #submit.ghost {
  background-color: transparent;
  color: #0d1c3d;
  border-color: #0d1c3d;
}

.button.ghost.active,
.button.ghost:hover,
.button.ghost:focus,
.wp-block-button.ghost .wp-block-button__link:hover,
.wp-block-button.ghost
  .wp-block-button__link:focus
  .woocommerce
  a.button.ghost:hover,
.woocommerce a.button.ghost:focus,
.woocommerce button.button.ghost:hover,
.woocommerce button.button.ghost:focus,
.woocommerce input.button.ghost:hover,
.woocommerce input.button.ghost:focus,
.woocommerce
  #review_form
  #submit.ghost:hover
  .woocommerce
  #review_form
  #submit.ghost:focus {
  border-color: #666;
  color: #666;
}

.wp-block-pb-accordion-item.center .c-accordion__title--button {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.c-accordion__title--button {
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}

.c-accordion__title--button::after {
  position: relative;
  top: 0;
  right: 0;
  color: #0d1c3d;
  font-weight: inherit;
  transform: translateY(0);
  margin-left: 4px;
  margin-left: 0.25rem;
}

/********
* CARDS *
********/
.cards-container .card,
.responsive .card {
  padding: 32px 0;
  padding: 2rem 0;
}

.cards-container .card .inner,
.responsive .card .inner {
  overflow: hidden;
  text-decoration: none;
  display: block;
  overflow: hidden;
}

.cards-container .card a.inner:hover,
.cards-container .card a.inner:focus,
.responsive .card a.inner:hover,
.responsive .card a.inner:focus {
  opacity: 0.7;
}

.cards-container .card .inner .thumbnail {
  position: relative;
  width: 100%;
  height: 12.5rem;
  overflow: hidden;
  border-radius: 4px;
  border-radius: 0.25rem;
}

.cards-container .card .inner .thumbnail img,
.responsive .card .inner .thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.cards-container .card .inner .info,
.responsive .card .inner .info {
  padding-top: 24px;
  padding-top: 1.5rem;
  width: 100%;
}

.cards-container .card .inner .info h3,
.responsive .card .inner .info h3 {
  font-size: 18px;
  font-size: 1.125rem;
  padding: 0;
}

.cards-container .card .inner .info .date,
.responsive .card .inner .info .date {
  font-weight: 400;
  padding-top: 0;
  font-size: 14px;
  font-size: 0.875rem;
  padding-bottom: 6px;
  padding-bottom: 0.375rem;
}

.cards-container .card .inner .info p:not([class]),
.responsive .card .inner .info p:not([class]) {
  font-size: 16px;
  font-size: 1rem;
  color: #666;
  /*prevent box color thief changing text color*/
}

.cards-container .card .inner .info p.excerpt .link,
.responsive .card .inner .info p.excerpt .link {
  text-decoration: underline;
}

/* LARGE CARD */
.cards-container .card-large {
  padding: 32px 0;
  padding: 2rem 0;
}

.cards-container .card-large .inner {
  overflow: hidden;
  text-decoration: none;
  display: block;
  overflow: hidden;
}

.cards-container .card-large a.inner:hover,
.cards-container .card-large a.inner:focus {
  opacity: 0.7;
}

.cards-container .card-large .inner .thumbnail {
  position: relative;
  width: 100%;
  height: 340px;
  overflow: hidden;
  border-radius: 4px;
  border-radius: 0.25rem;
}

.cards-container .card-large .inner .thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.cards-container .card-large .inner .info {
  padding-top: 24px;
  padding-top: 1.5rem;
  width: 100%;
}

.cards-container .card-large .inner .info h3 {
  font-size: 18px;
  font-size: 1.125rem;
  padding: 0;
}

.cards-container .card-large .inner .info .date {
  font-weight: 400;
  padding-top: 0;
  font-size: 14px;
  font-size: 0.875rem;
  padding-bottom: 6px;
  padding-bottom: 0.375rem;
}

.cards-container .card-large .inner .info p:not([class]) {
  font-size: 16px;
  font-size: 1rem;
  color: #666;
  /*prevent box color thief changing text color*/
}

.cards-container .card-large .inner .info .excerpt {
  text-decoration: none;
  display: none;
}

.cards-container .card-large .inner .info .button {
  margin-top: 10px;
}

/*************
* RESPONSIVE *
*************/
/* mobile landscape: > 640px */
@media (min-width: 40em) {
  .show-640 {
    display: block;
    opacity: 1;
  }

  .show-640.inline-block {
    display: inline-block;
  }

  .hide-640 {
    display: none !important;
  }

  /********
    * CARDS *
    ********/
  .cards-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    align-content: flex-start;
    margin: 0 -16px;
    margin: 0 -1rem;
  }

  .cards-container .card,
  .responsive .card {
    padding-left: 16px;
    padding-left: 1rem;
    padding-right: 16px;
    padding-right: 1rem;
  }

  .cards-container .card {
    width: 50%;
  }

  .cards-container .card .inner .thumbnail {
    height: 200px;
    height: 12.5rem;
  }

  .cards-container .card .inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .cards-container .card .inner .info {
    flex-grow: 1;
    flex-shrink: 1;
  }

  /* large cards */
  .cards-container .card-large {
    padding-left: 16px;
    padding-left: 1rem;
    padding-right: 16px;
    padding-right: 1rem;
    width: 100%;
  }

  .cards-container .card-large .inner {
    display: flex;
    align-items: center;
  }

  .cards-container .card-large .inner .thumbnail {
    width: 50%;
  }

  .cards-container .card-large .inner .info {
    padding: 20px;
    width: 50%;
  }

  /*********
  * SINGLE *
  *********/
  .single-post .content-container.main-content .wrapper .featured-image {
    height: 340px;
    height: 21.25rem;
  }
}

/* tablet portrait: > 768px */
@media (min-width: 48em) {
  .show-768 {
    display: block;
    opacity: 1;
  }

  .show-768.inline-block {
    display: inline-block;
  }

  .hide-768 {
    display: none !important;
  }

  /**********
  * CONTENT *
  **********/
  .content-container.main-content .wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap;
  }

  .main-content .outer-content {
    flex-basis: 66.66%;
  }

  /**********
  * SIDEBAR *
  **********/
  .main-content .sidebar {
    flex-basis: 33.33%;
    margin-left: 32px;
    margin-left: 2rem;
    position: relative;
  }

  /*********
  * SINGLE *
  *********/
  .single-post .content-container.main-content .wrapper .featured-image {
    height: 400px;
    height: 18.75rem;
  }

  .latest-news .wrapper .flex .button {
    display: inline-block;
  }
}

/* tablet landscape: > 1024px */
@media (min-width: 64em) {
  .show-1024 {
    display: block;
    opacity: 1;
  }

  .show-1024.inline-block {
    display: inline-block;
  }

  .hide-1024 {
    display: none !important;
  }

  /**********
    * SIDEBAR *
    **********/
  .sidebar {
    will-change: min-height;
    height: auto !important;
  }

  .sidebar .inner {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    transform: translate(0, 0);
    /* For browsers don't support translate3d. */
    transform: translate3d(0, 0, 0);
    will-change: position, transform;
  }

  /********
    * CARDS *
    ********/
  .cards-container {
    margin-left: -20px;
    margin-left: -1.25rem;
    margin-right: -20px;
    margin-right: -1.25rem;
  }

  .cards-container .card {
    padding: 0 20px 40px;
    padding: 0 1.25rem 2.5rem;
    max-width: 33%;
  }

  .cards-container .card .inner .thumbnail {
    height: 230px;
    height: 14.375rem;
  }

  .cards-container .card .inner .info {
    padding-top: 32px;
    padding-top: 2rem;
    padding-bottom: 16px;
    padding-bottom: 1rem;
  }

  .cards-container .card .inner .info h3,
  .responsive .card .inner .info h3 {
    font-size: 26px;
    font-size: 1.625rem;
  }

  .cards-container .card .inner .info p:not([class]) {
    font-size: 14px;
    font-size: 0.875rem;
  }

  /* large cards */
  .cards-container .card-large {
    border-bottom: solid 1px #ccc;
  }

  .cards-container .card-large:last-of-type {
    border-bottom: none;
  }

  .cards-container .card-large .inner {
    display: flex;
    align-items: center;
  }

  .cards-container .card-large .inner .thumbnail {
    min-height: 500px;
  }

  .cards-container .card-large .inner .info {
    padding: 30px;
    width: 65%;
  }

  .cards-container .card-large .inner .info h3 {
    font-size: 26px;
    font-size: 1.625rem;
    padding-bottom: 20px;
  }

  .cards-container .card-large .inner .info .excerpt {
    padding-bottom: 20px;
    display: block;
  }

  .cards-container .card-large .inner .info .excerpt p {
    font-size: 18px;
    line-height: 1.3;
  }
}

/* laptop: > 1280px */
@media (min-width: 80em) {
  .show-1280 {
    display: block;
    opacity: 1;
  }

  .show-1280.inline-block {
    display: inline-block;
  }

  .hide-1280 {
    display: none !important;
  }

  /**********
    * WRAPPER *
    **********/
  .wrapper,
  .alignwide {
    padding-left: 60px;
    padding-left: 3.75rem;
    padding-right: 60px;
    padding-right: 3.75rem;
  }

  /**********
    * CONTENT *
    **********/
  .content-section {
    padding-top: 60px;
    padding-top: 3.75rem;
    padding-bottom: 60px;
    padding-bottom: 3.75rem;
  }

  .content-section.smallPadding {
    padding-top: 40px;
    padding-top: 2.5rem;
    padding-bottom: 40px;
    padding-bottom: 2.5rem;
  }

  .content-section.large-padding {
    padding-top: 140px;
    padding-top: 8.75rem;
    padding-bottom: 140px;
    padding-bottom: 8.75rem;
  }

  .content h1,
  .content .h1,
  .content h2,
  .content h2,
  .content h3,
  .content .h3,
  .content h4,
  .content .h4,
  .content h5,
  .content .h5,
  .content h6,
  .content .h6 {
    padding: 24px 0;
    padding: 1.5rem 0;
  }

  .content h1 + .entry-title,
  .content .h1 + .entry-title,
  .content h2 + .entry-title,
  .content .h2 + .entry-title,
  .content h3 + .entry-title,
  .content .h3 + .entry-title,
  .content h4 + .entry-title,
  .content .h4 + .entry-title,
  .content h5 + .entry-title,
  .content .h5 + .entry-title,
  .content h6 + .entry-title,
  .content .h6 + .entry-title {
    margin-top: -24px;
    margin-top: -1.5rem;
  }

  .content h1,
  .content .h1 {
    font-size: 64px;
    font-size: 4rem;
  }

  .content h1.jumbo,
  .content .h1.jumbo {
    font-size: 84px;
    font-size: 5.25rem;
  }

  .content h2,
  .content .h2 {
    font-size: 48px;
    font-size: 3rem;
  }

  .content h3,
  .content .h3 {
    font-size: 32px;
    font-size: 2rem;
  }

  .content h4,
  .content .h4 {
    font-size: 26px;
    font-size: 1.625rem;
  }

  .content h5,
  .content .h5 {
    font-size: 22px;
    font-size: 1.375rem;
  }

  .content h6,
  .content .h6 {
    font-size: 18px;
    font-size: 1.125rem;
    text-transform: uppercase;
    font-weight: 400;
  }

  .content p,
  .content .p,
  .content ul:not([class]),
  .content ol:not([class]) {
    padding-bottom: 28px;
    padding-bottom: 1.75rem;
    font-size: 22px;
    font-size: 1.375rem;
  }

  .content p.has-small-font-size,
  .content .p.has-small-font-size,
  .content ul.has-small-font-size,
  .content ol.has-small-font-size {
    padding-bottom: 24px;
    padding-bottom: 1.5rem;
    font-size: 18px;
    font-size: 1.125rem;
  }

  .content p.has-large-font-size,
  .content .p.has-large-font-size,
  .content ul.has-large-font-size,
  .content ol.has-large-font-size {
    font-size: 26px;
    font-size: 1.625rem;
    padding-bottom: 24px;
    padding-bottom: 1.5rem;
  }

  .content hr {
    margin: 0 0 28px;
    margin: 0 0 1.75rem;
  }

  /**********
    * SIDEBAR * 
    **********/
  .sidebar .section {
    padding: 0 0 32px;
    padding: 0 0 2rem;
  }

  .sidebar ul.menu {
    font-size: 22px;
    font-size: 1.375rem;
  }

  /**********
    * ARCHIVE * 
    **********/
  .content .button-nav p {
    padding-bottom: 6px;
    padding-bottom: 0.375rem;
    font-size: 18px;
    font-size: 1.125rem;
  }

  /*********
    * SINGLE *
    *********/
  .single .date {
    font-size: 18px;
    font-size: 1.125rem;
  }

  .single-post .content-container.main-content .wrapper .featured-image {
    height: 525px;
    height: 32.8125rem;
  }

  /**********
    * BUTTONS * 
    **********/
  .button,
  .wp-block-button__link,
  .wp-block-button__link:visited,
  .c-accordion__title--button,
  .nf-form-content button,
  .nf-form-content input[type="button"],
  .nf-form-content input[type="submit"],
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #review_form #submit .woocommerce a.button.alt,
  .woocommerce button.button.alt,
  .woocommerce input.button.alt,
  .woocommerce #review_form #submit.alt,
  .woocommerce #review_form #submit.disabled,
  .woocommerce a.button.alt.disabled,
  .woocommerce button.button.alt.disabled,
  .woocommerce input.button.alt.disabled,
  .woocommerce #review_form #submit.alt.disabled,
  .woocommerce button.button:disabled[disabled],
  .wpforms-container form .wpforms-submit-container button.wpforms-submit {
    font-size: 20px;
    font-size: 1.25rem;
    padding: 12px 24px;
    padding: 0.75rem 1.5rem;
    line-height: 1.5;
  }

  .button.tiny,
  .woocommerce a.button.tiny,
  .wp-block-button.tiny .wp-block-button__link,
  .button.product_type_simple.add_to_cart_button {
    font-size: 18px;
    font-size: 1.125rem;
    padding: 2px 12px 0;
    padding: 0.125rem 0.75rem 0;
  }

  .button.large,
  .wp-block-button.large .wp-block-button__link,
  .wp-block-pb-accordion-item.large .c-accordion__title--button {
    font-size: 24px;
    font-size: 1.5rem;
    padding: 16px 32px;
    padding: 1rem 2rem;
  }
}
