﻿@charset "UTF-8";
/*
Theme Name: Piling Canada
Author: Some guy that used to work at Lester Communications, and Matt Rock :)
Author URI: http://lester.ca
Description: A responsive HTML5 theme built on Bootstrap 4
Version: 12.7
License: To Drive (Shout out to The Two Corey's!)
*/

:root {
	--primary-font: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	--secondary-font-wide: 'Montserrat', sans-serif;
	--secondary-font: 'Raleway', sans-serif;
	
	--brand-red: #e82c37;
	--brand-yellow: #f5c215;
	--green: #27ce23;
	--green-light: #9cfa9a;
	--black: #212529; 
	--black-rgba: 33, 37, 41;
	--white: #fff;
	--white-rgba: 255, 255, 255;
	--grey: #CDCDCD;
	--grey-dk: #9d9d9d;
	--grey-lt: #f8f9fa;
}

/* Theme Default Colour Pallette */

.has-primary-background-color { background-color: var(--brand-red) !important; }
.has-primary-color { color: var(--brand-red);}
.has-secondary-background-color { background-color: var(--brand-yellow); }
.has-secondary-color { color: var(--brand-yellow); }
.has-black-background-color { background-color: var(--black); }
.has-black-color { color: var(--black); }
.has-white-background-color { background-color: var(--white); }
.has-white-color { color: var(--white); }

/* END Theme Default Colour Pallette */

body,
body main,
footer,
body > footer,
#sign-up { font-family: var(--primary-font); }
body main { font-weight: 300; }
.content b, .content strong { font-weight: 500; }

img { height:auto; }

body > header > section {
  background-image: none !important;
	background-color: #000!important;
}
.bg-dark,
.border-dark, 
header .bg-dark {
  background-color: #000!important;
}

/* MENU */

body header nav { font-family: var(--secondary-font); }

/* /MENU */

.piling-red, 
a:not(footer a, header a, figcaption a),
article footer a:hover { color: var(--brand-red); }
body > footer a:hover { color: var(--brand-red) !important; }

.piling-yellow,
.sidebar a:hover,
table.has-white-color a,
blockquote a,
.textblock.bg-dark h1 { color: var(--brand-yellow); }
body > footer a { color: var(--brand-yellow) !important; }

main h1.page-title {
	text-align: center;
	font-family: var(--secondary-font);
	font-weight: 700;
	font-size: 40px;
	color: var(--black);
	margin-bottom: 1rem;
}

.feature-image {
	margin-bottom: 1.5rem;
	max-width: 100%;
  height: auto;
 }
 figure.feature-image:has(figcaption) { margin-bottom: 1rem; }
 figure.feature-image:has(+ div.wp-block-lazyblock-language-select) { margin-bottom: 0; }

h1.banner,
header h1 {
	font-family: var(--secondary-font-wide);
  font-size: 2.5rem;
	font-weight: 600;
	line-height: 1.1;
}

header h2 {
	margin: 0 4rem;
	font-family: var(--secondary-font);
	font-size:1.3rem;
  line-height: 1.3;
	color: #E2E2E2;
}

h1.banner,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.has-drop-cap:not(:focus)::first-letter { font-family: var(--secondary-font-wide); }

:is(article, main) :is(h2, a h2, h3, h4, h5, h6) {
	font-weight: 600;
	margin: 1em 0 .8em;
	text-transform: none !important;
}

article h3, article .h3 { font-size: 1.4rem; line-height: 1.4; }
article h4, article .h4 { font-size: 1.1rem; }
article h5, article .h5 { font-size: .9rem; }
article h6, article .h6 { font-size: .8rem; }

.content a:not(blockquote a, .wp-block-image a, .lswssp-logo-img-link, .sharedaddy a, .language),
figcaption a {
	color: var(--black);
	border-bottom: 2px solid var(--brand-yellow);
	transition: .2s;
}
.content a:not(.wp-block-image a, .lswssp-logo-img-link, .sharedaddy a, .language, .jp-relatedposts-post a):hover,
figcaption a:hover { border-bottom: 2px solid var(--brand-red); }

h1.banner { font-size: 2.6rem; }

.wp-block-separator {
  border-top: 1px solid rgba(0,0,0,0.2);
  margin: 2rem 0;
}

.tags, .categories { text-transform: none;  font-weight: 400; }
.tags a, .categories a { 
	font-weight: normal !important; 
	border-radius: 1px !important; 
	padding: 3px 4px !important;
}

.small-caps { font-variant: small-caps; }
.small-caps-tech { font-size: 70%; }

@media (max-width: 991px) 
{
  h1.banner {
    font-size: 1.5rem;
  }
}

/* Phone */
@media only screen and (max-width : 690px) 
{
  h1.banner {
    margin-top: revert;
    font-size: 1rem;
  }
}

/* Dropcaps */

.has-drop-cap:not(:focus)::first-letter {
	font-weight: 500 !important;
  margin: .05em .1em 0 0 !important;
	/* 4 lines tall */
	font-size: 8em !important;
  initial-letter: 4 !important;
}
/* can't apply color transition to psuedo element. So... */
.has-drop-cap:not(.has-link)::first-letter, /* apply to psuedo. JS class doesn't apply */
.content a .first-letter /* target JS applied class */ {
  color: var(--brand-yellow);
	transition: color .2s;
}
	.content a:hover .first-letter {
		color: var(--brand-red); 
	}

/* /Dropcaps */

@media (min-width: 992px) 
{
	header h1 { 
		font-size: 3rem;
	}
}

/* Home (& Archive) cards */

body.home > main > section article > header > a > figure > figcaption,
body.home > main > section article > footer,
body.archive article footer,
body.search-results article footer { 
    font-family: var(--primary-font); 
    font-weight: 300 !important; 
	color: inherit;
    font-size: 12px !important;
    text-transform: uppercase;
}
body.home > main > section article > footer .author,
body.archive article footer .author,
body.search-results article footer .author { color: var(--grey-dk) !important; }

body.home > main > section article > header h1,
body.archive article h1,
body.search-results article h1 {
  font-size: 1.3rem !important;
  font-weight: 600;
	line-height: 1.3;
	text-transform: none !important;
  margin: 1.2rem 0 .6rem;
}
body.home article p,
body.archive article p,
body.search-results article p  { 
	margin-bottom: .6rem;
	font-size: 17px;
  line-height: 1.3;
  opacity: .7;
}
body.archive article time,
body.search-results article time { 
	display: block; 
	margin-top: .6rem;
	font-size: 12px;
	text-transform: uppercase;
  color: var(--grey-dk) 
}
body.archive article p + time,
body.search-results article p + time { margin-top: 0; }
body.home > main > section article > footer hr { margin-top: .3rem; }
body.archive article figcaption,
body.search-results article figcaption { display: none; }
body.home h1 a,
body.home footer a.read-more,
body.archive article a,
body.search-results article a { color: var(--black); }
body.home h1 a:hover,
body.archive article a:hover > h1,
body.search-results article a:hover > h1{ text-decoration: underline; }

/* END Home page cards */

/* START Related Posts (Jetpack) */

#jp-relatedposts h3.jp-relatedposts-headline {
	font-size: 1.4rem;
  font-weight: 600;
  font-family: var(--secondary-font-wide);
}
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a {
	font-size: 1rem ;
  font-weight: 600;
  line-height: 1.3;
	text-transform: capitalize !important;
	border-bottom: none;
}
#jp-relatedposts h3.jp-relatedposts-headline em { font-weight: 600; }
#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img { margin-bottom: .6em; }
#jp-relatedposts .jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt { display: block; }
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date { margin-top: .3em; }

/* END Related Posts (Jetpack) */

.pagination .nav-links > span.current {
  font-weight: 500;
  color: #000 !important;
  background-color: #f5c215;
  border-color: #f5c215;
}
.pagination .nav-links > a:hover,
.pagination .nav-links > span.current:hover {
  color: var(--white) !important;
  background-color: var(--brand-red) !important;
  border-color: var(--brand-red) !important;
}
.pagination { font-weight: 300; }
.pagination .nav-links > a { font-weight: 300 !important; }
.pagination .nav-links > span, .pagination .nav-links > span.current { opacity: 1 !important; }

.tile > * { padding: 1rem .5rem !important; }
.tile {
  text-shadow: none !important;
  text-transform: none !important;
	line-height: 1.2;
}

figure.wp-block-image,
.wp-block-jetpack-slideshow .wp-block-jetpack-slideshow_container {
	margin: 1.5em 0;
}

.wp-block-button > a,
.wp-block-lazyblock-cta .button,
.textwidget .button {
	padding: 1rem 2rem !important;
}

.wp-block-lazyblock-cta .button,
.textwidget .button {
	display: inline-block;
	margin-top: .5rem;
	border-radius: 600px;
}

.wp-block-button > a.has-primary-background-color,
.wp-block-lazyblock-cta .button,
.textwidget .button {
  color: var(--white) !important;
  background-color: var(--brand-red) !important;
  border-color: var(--brand-red) !important;
}

.wp-block-button > a.has-primary-background-color:hover,
.wp-block-lazyblock-cta .button:hover,
.textwidget .button:hover {
  color: var(--brand-yellow) !important;
  background-color: var(--black) !important;
  border-color: var(--black) !important;
}

.wp-block-lazyblock-language-select {
	text-align: center;
	display: table;
	margin-top: .8em;
	margin-bottom: .6em;
	white-space: nowrap;
		&:before, &:after {
			border-top: 1px solid var(--brand-red); 
      content: '';
      display: table-cell;
      position: relative;
      top: 1em;
      width: 45%;
    }
    &:before { right: 1.5%; }
    &:after { left: 1.5%; }
}
a.language {
  color: var(--brand-red); 
	background-color: var(--white);
	border: 1px solid var(--brand-red); 
  padding: 6px 12px;
  margin-bottom: 1rem;
  display: inline flow-root;
  border-radius: .25rem;
	transition: color .1s, background-color .5s;
}
a.language i {
  color: inherit !important;
	margin-left: 2px;
}
a.language:hover {
  color: var(--white);
	background-color: var(--brand-red); 
}

.q-a strong  { 
	color: var(--black); /* Piling Black */
	background-color: var(--brand-yellow); /* Piling Yellow */
	padding: 2px;
}

hr {
  clear: both;
}

#back-to-top {
  opacity: 1 !important;
}

#back-to-top:hover {
  background-color: var(--brand-red); 
}

/* START Lazyblocks */

/* Aside */

.wp-block-lazyblock-aside {
	font-family: var(--secondary-font-wide);
  line-height: 1.5;
	color: var(--grey-lt);
  background-color: var(--brand-red); 
  margin-bottom: 1rem;
  padding: 2em;
}
.wp-block-lazyblock-aside :is(h1, h2, h3) {
	font-weight: 600;
  line-height: 1;
  color: var(--brand-yellow);
	margin-top: 0;
  margin-bottom: .5em;
}
.wp-block-lazyblock-aside a { color: var(--brand-yellow) !important; }
.wp-block-lazyblock-aside a:hover { color: var(--white); }

/* CTA */
.wp-block-lazyblock-cta {
	padding: 3rem;
	text-align: center;
	border-radius: 4px;
	background-color: #f2f2f2;
	margin-bottom: 1rem;
}
.wp-block-lazyblock-cta p {
	font-size: 19px;
}

/* Phone */
@media only screen and (max-width : 690px) 
{
	.wp-block-lazyblock-cta {
		padding: 2.5rem;
	}
}

/* END Lazyblocks */

/* Move reCAPTCHA v3 badge to the left */

.grecaptcha-badge {
	width: 70px !important;
	overflow: hidden !important;
	transition: all 0.3s ease !important;
	left: 4px !important;
}
.grecaptcha-badge:hover {
	width: 256px !important;
}

#banner {
	z-index: -1;
	font-family: var(--primary-font);
	border-bottom: 24px solid var(--brand-red);
}

/* If there isn't and ad banner present, add some more space between the navbar and the page title */
header + main.mt-5 { margin-top: 4.5rem !important; }
header + main.container > article.py-5 { margin-top: 2rem ;}

/* SIDEBAR */

/* Recent Posts */

.sidebar .recent-posts {
	font-size: 1.1rem;
  line-height: normal;
}
.sidebar .recent-posts a:hover {
	border-bottom: 2px solid var(--brand-yellow);
  color: #e82c37;
}

/* ADS */

.ad-container { 
	text-align: center;
	text-transform: uppercase;
	font-size: 0.5rem;
	line-height: normal;
	letter-spacing: 2px;
	color: #bdc3c8; 
}
.ad-container:before,
.ad-container:after {
	display: block ;
	content: "Advertisement";
	margin: 8px;
}
.sidebar .ad-container { margin: 30px 0; }
.sidebar .ad-container:before,
.sidebar .ad-container:after {
	margin: 20px;
}
.ad-container:after { content: "Continue reading below"; }
.ad-banner:before { margin-bottom: 12px; }
.ad-banner:after { margin-top: 12px; }

.ad-tile:before { margin-top: 4px; }
.ad-tile:after { margin-bottom: 4px; }
.ad-container:has(.ad-tile):before { content: "Advertisement"; }
.ad-container:has(.ad-tile ins + ins img):before  { content: "Advertisements"; margin-top: 0; } /* if 2 ads, make it plural and get rid of margin */
.ad-container:has(.ad-tile):after { content: none; }
.ad-tile ins { display: block; }
.ad-tile ins + ins { margin-top: 20px; }
body.home .ad-tile ins + ins { margin-top: 12px; }

.ad-container img { height: auto; }
.ad-banner img { width: 100%; max-width: 900px !important; }

.ad-banner.m-lg-5 { margin: 3rem 0 !important; }
body.home .ad-banner.m-lg-5 { margin-bottom: 2.5rem !important; }
.ad-banner.m-lg-5 + .my-5 { margin-top: 1.5rem !important; }

@media (min-width: 768px) 
{
	.ad-tile img { max-width: 300px !important; } /* If 1 ad, make it this wide */
	body.home .ad-tile:has(ins + ins img) img { max-width: 290px !important; } /* if 2 ads, make it this wide */
	.ad-mobile { display: none; }
}

/* Phone Landscape */
@media only screen and (min-width: 480px) and (max-width: 690px) 
{
	.ad-banner img { 
		max-width: 90% !important; 
	}
}

/* Tablet Landscape */
@media only screen and (min-device-width: 481px) and (max-device-width: 1080px) and (orientation:landscape)
{
	.ad-tile:has(ins + ins img) img { max-width: 300px !important; } /* if 2 ads, make it this wide */
}

/* Tablet Portrait */
@media only screen and (min-width : 691px) and (max-width : 999px) 
{
	.ad-desktop { display: block; }
	.ad-mobile { display: none; }
	.ad-container.ad-banner::before { margin-top: 2.5rem; }
	.ad-banner img { max-width: 80% !important; }
	.ad-tile:has(ins + ins img) img { max-width: 275px !important; } /* if 2 ads, make it this wide */
}

@media (max-width: 767px) 
{
	.ad-desktop { display: none; }
	.ad-container.ad-banner::before { 
		margin-top: 3rem;
	}
	.ad-banner img,
	.ad-tile img {
		width: 100%;
    max-width: 300px !important;
	}
	.ad-tile ins + ins { margin-top: 20px; }
	.ad-container::before { margin-bottom: 16px; }
	.ad-container::after { margin-top: 16px; }
	body.home .ad-container:has(.ad-tile):after { content: "Continue reading below"; }
}

/* END ADS */

.leaderboard {
	z-index:999 !important; 
	position:relative; 
	max-height: 100px;
}
.leaderboard img {
	max-width: 100%;
	height: auto;
}

.owl-carousel .owl-item img {
  -webkit-transform-style: flat;
  -moz-transform-style: flat;
  -ms-transform-style: flat;
  -o-transform-style: flat;
  transform-style: flat;
}

form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.form.contents > * {
	width: 47%;
}

/* Digital Editions */

body.page-id-21 .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: relative;
	font-size: 14px;
	color: inherit;
	background: none;
	text-shadow: none;
	text-transform: uppercase;
}

body.page-id-21 main .wp-block-column {
	max-width: none !important;
}

body.page-id-21 .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a {
	transition: all .2s ease-in-out;
}

body.page-id-21 .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a:hover {
	transform: scale(1.05);
	transform: rotate(2deg) scale(1.1);
	z-index: 2;
}

body.page-id-21 .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
  content: none;
}

@media (min-width: 600px) 
{
	body.page-id-21 .wp-block-gallery.has-nested-images.two-col figure.wp-block-image:not(#individual-image), 
	body.page-id-21 .wp-block-gallery.has-nested-images.two-col figure.wp-block-image:not(#individual-image):first-child:last-child {
		max-width: 49.4% !important;
	} 
	body.page-id-21 .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
    max-width: 33%;
  }
	body.page-id-21 .wp-block-gallery.has-nested-images.four-col figure.wp-block-image:not(#individual-image),
	body.page-id-21 .wp-block-gallery.has-nested-images.four-col figure.wp-block-image:not(#individual-image):first-child:last-child {
		max-width: 24.5%; !important;
	}
}

@media only screen and (max-width: 767px) 
{
	body.page-id-21 .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image), 
	body.page-id-21 .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):first-child:last-child {
		max-width: 49.4%;
	}
}

/* Contact Form 7 */

.wpcf7 hgroup h2 { font-size: 1.5rem; }
form.wpcf7-form .wpcf7-response-output { text-align: center; }
#sign-up form.wpcf7-form .wpcf7-response-output { margin: 0 !important; }

.alert-success, 
form.wpcf7-form.sent .wpcf7-response-output,
form.wpcf7-form.success .wpcf7-response-output{
	color: var(--black) !important;
	border-color: var(--green) !important;
	background: var(--green-light) !important;
}
.alert-warning,
.wpcf7 form.spam .wpcf7-response-output {
	color: var(--black) !important;
	border-color: var(--brand-red) !important;
	background-color: var(--brand-yellow)!important;
}
form.wpcf7-form.invalid .wpcf7-response-output {
	color:var(--white) !important;
	border-color: var(--brand-red) !important;
	background: var(--brand-red) !important;
}
form.wpcf7-form .wpcf7-not-valid-tip {
	color: var(--brand-red) !important;
}

/* BLOCKQUOTES / PULLQUOTES / COVERS */

.wp-block-pullquote { padding: 0; }
body:not(.page-id-21) .wp-block-columns,
.wp-block-pullquote,
.wp-block-quote { margin: 1em 0; }
.wp-block-quote { border-left: none !important; }
body:not(.page-id-21) .wp-block-columns > .wp-block-column { padding: 2em ; }
body:not(.page-id-21) .wp-block-columns > .wp-block-column h3 { margin-top: .75em; }

.wp-block-column.has-background p:last-of-type  { padding-bottom: 0; }
.wp-block-quote p:last-of-type { margin-bottom: 0; }

.wp-block-media-text { background: var(--brand-red);  }
.wp-block-media-text.blockquote,
.wp-block-cover,
.wp-block-quote {
	margin-top: 1em;
	margin-bottom: 1em;
  font-family: var(--secondary-font-wide);  
  font-size: 18px;
	line-height: 1.4;
	color: var(--white);
	background: var(--brand-red); 
}
.wp-block-media-text.blockquote h3,
.wp-block-cover,
.wp-block-quote {
  font-size: 26px;
	font-weight: 600;
	font-style: normal;
	line-height: 1.4;
}
.wp-block-cover {
	padding: 2em;
	line-height: 1.3;
	text-align: left !important;
}
.wp-block-quote {
	padding: 1.5em !important;
	line-height: 1.4;
	text-align: center;
}
.wp-block-cover.align-top {
  align-items: flex-start;
	padding-top: 2.5rem;
}
.wp-block-cover .has-medium-font-size {
  font-size: 28px !important;
}
.wp-block-media-text .wp-block-quote {
  padding: .5em !important;
}

/* increase header size after 600px */
@media all and (min-width: 600px) 
{
	.wp-block-pullquote blockquote{
		font-size: 60px;
   }
}

.wp-block-pullquote p {
    position: relative;
    color: var(--brand-red);
		font-size: 26px;
    font-weight: bold;
    line-height: 1.4;
    margin: 0;
		padding: 0;
    z-index: 1;
}
.wp-block-pullquote cite,
.wp-block-quote cite {
	display: block;
    position: relative;
    color: #292a2b;
    font-size: 18px !important;
    font-weight: normal;
    line-height: 1;
	text-transform: none !important;
    margin: 0;
    padding-top: 20px;
    z-index: 1;
}
.wp-block-quote cite {
  color: var(--white) !important;
	margin-bottom: 0 !important;
}

.wp-block-pullquote blockquote a {
  color: var(--brand-red);
	border-bottom: 2px solid var(--brand-red);
}

.wp-block-pullquote blockquote a:hover {
	color: var(--black);
	xborder: none!important;
}

.wp-block-pullquote blockquote {
    font-family: var(--secondary-font-wide);
    font-weight: 800;
    font-size: 40px;
    line-height: 1;
    padding: 35px 0 45px;
    margin: 10px auto;
    align-self: center;
    border-top: solid 1px;
    border-bottom: solid 1px;
}
.wp-block-pullquote.has-background cite {
	padding-bottom:10px;
}
.wp-block-quote,
blockquote.wp-block-quote {
	margin-bottom:1em !important;
}
.wp-block-quote cite,
blockquote.wp-block-quote cite {
  text-transform: none !important;
	text-align: center !important;
}

/* Solid bg pullquote */
.wp-block-pullquote.block-bg-dark  blockquote  {
  border-top: none;
  border-bottom: none;
	padding:2rem;
}
.wp-block-pullquote.block-bg-dark  blockquote p {
  padding: 0;
  line-height: 1.4;
  font-weight: 600;
	color:white;
}
.wp-block-pullquote.block-bg-dark cite {
  color: #fff;
}

body.single-post caption,
body.single-post figure figcaption {
	color: #acacac;
	font-style: normal;
	font-weight: 300!important;
	padding-bottom:5px;
	caption-side: bottom;
	width: 100%;
}
body.single-post figure figcaption a { color: #acacac; border-width: 1px; }
body.single-post figure figcaption em { font-style: normal; }
body.single-post figure.wp-block-gallery figcaption { margin: 0 !important; line-height: normal; }

/* make sure aligned images with caption display properly */
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption, 
.wp-block-image .alignright figcaption {
	display: table-caption;
}

figure.wp-block-gallery.has-nested-images {
  margin-top: 1.5rem;
}

/* Textblock */
.textblock {
	font-family: 'Montserrat', sans-serif;
	line-height: 1.5;
}
.textblock.bg-dark {
	background-color: var(--brand-red) !important;
	padding:2em;
	margin-bottom: 1rem;
}
.textblock.bg-dark a {
	color: var(--brand-yellow);
	font-weight: bold;
}
.textblock h1 {
	font-weight: 600;
	line-height: 1;
	margin-bottom: .5em;
}
.textblock li {
	margin-bottom: 1em;
}

/* Fix Media & Text block not working */
.wp-block-media-text {
	display: grid!important;
	margin-bottom: 1rem;
}
.wp-block-media-text__media {
	margin-right: 1rem;
}
.wp-block-media-text__content {
	align-self: center;
}
.wp-block-media-text .wp-block-media-text__content {
	padding: 1.5em;
}
.wp-block-media-text .wp-block-media-text__media {
	margin: 0;
}

/* increase header size after 600px */
@media all and (min-width: 600px) {
    .wp-block-pullquote blockquote { 
		font-size: 60px; 
	}
}

@media (max-width: 600px) {
	.wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100% !important;
	}
	.wp-block-media-text .wp-block-media-text__content {
		padding: 8%;
	}
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
	}
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
	.wp-block-media-text .wp-block-quote {
		padding: 0 !important;
	}
}

/* tables */
table.has-fixed-layout { width:100% !important; }
table.has-white-color a:hover { text-decoration:underline; }
.wp-block-table table { font-size: 90%; }
.wp-block-table table th { font-weight: 500; }

.adlogos table { width:100% }
.adlogos td:hover { opacity:55%; }
.adlogos img { max-width: 100%; object-fit: contain }

.table-tweak td { padding-right:60px; }

@media only screen and (max-width: 767px) 
{
	.table-tweak td { padding:0; } 
}

.update-table th,
.update-table td { 
	padding:4px 0 4px 20px; 
	vertical-align:top;
}
.update-table th {
	padding-top: 20px;
	font-size:120%;
	text-transform:uppercase;
}
.update-table tr:first-child td { padding-top:10px; }
.update-table tr:last-child td { padding-bottom:20px }
/* make first column fit content */
.update-table td { white-space: nowrap;}
.update-table td:last-child { width: 100%; }
/* /make first column fit content */

@media only screen and (max-width: 575px) {
	.update-table td { 
		white-space:normal; 
		padding: 2px 0 2px 20px; 
	}
	.update-table td:last-child { 
		width: auto; 
		padding-right:20px;
	}
}

/* Hide 'Chart by Visualizer' */
div.visualizer-front + div { display: none!important; }

/* Video Ad */
.ad-video small { 
    width: 100%;
    float: left; 
    padding: 10px 0;
    border-top: 1px solid #ddd;
    text-align: center;
    font-size: 10px;
    font-weight: normal;
    letter-spacing: 2px;
    color: #c8c8cb;
    /*opacity: 50%;*/
}

.ad-video-inside {
	border-bottom: 1px solid #ddd;
	padding-bottom: 30px;
}

/* Fix images with captions not floating */

.wp-block-image .aligncenter:has(figcaption), 
.wp-block-image .alignleft:has(figcaption), 
.wp-block-image .alignright:has(figcaption) {
  display: table;
}


/* Ensures caption wrapper takes the exact width of the image */
.wp-block-image figcaption {
    max-width: 100% !important;
    width: auto !important;
}
/* Ensures image inside caption doesn't overflow */
.wp-block-image img {
    display: block;
    height: auto;
    max-width: 100%;
}

/* Advertiser logos */

.lswssp-logo-grid .lswssp-grid {
  margin-bottom: 4rem;
}

.lswssp-column, .lswssp-columns {
  padding-left: 2rem;
  padding-right: 2rem;
}

.lswssp-logo-img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
	height: auto;
}
.lswssp-logo-img:hover {
  -webkit-transition: all .3s ease-in-out;
  -moz-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

@media only screen and (max-width: 767px) 
{
	.lswssp-logo-grid .lswssp-grid {
		margin-bottom: 3rem;
	}

	.lswssp-column, .lswssp-columns {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	#lswssp-logo-showcase-1 .lswssp-logo-img-wrap .lswssp-logo-img {
		max-height: 100px;
	}	
}

.wp-block-image .alignleft {
  margin-right: 1.5rem;
}
.wp-block-image .alignright {
  margin-left: 1.5rem;
}

.wp-block-image.icon-custom .alignleft { 
	margin:1em 1em 1em 0;
}

/*
Add missing default WP alignment classes
*/

.aligncenter,.alignleft,.alignright {
    display: block;
    padding: 0;
}

.aligncenter {
    float: none;
    margin: .5em auto 1em;
}

.alignright {
    float: right;
    margin: .5em 0 1em 1em;
}

.alignleft {
    float: left;
    margin: .5em 1em 1em 0;
}

/* Phone */
@media only screen and (max-width : 690px) 
{
	/* featured image too small/collapsed when paralax option is set */
	.featured-media-under-header__featured-media:not([data-format="video"]):not([data-format="audio"]):not([data-has-img="false"]) {
		padding-bottom: 100%;
	}
	.featured-media-under-header__featured-media[data-n-parallax-bg="true"] .post-featured-img {
		height: calc(100% + 200px);
	}
}

/* Phone Portrait */
@media only screen and (max-width : 479px) 
{
	.wp-block-image .alignright {
			float: none;
			margin-left: 0;
	}
	.alignright-important {
			float: right !important;
    	margin: .5em 0 1em 1em !important;
	}

	.wp-block-image .alignleft {
			float: none;
			margin-right: 0;
	}
	.wp-block-image .alignright img,
	.wp-block-image .alignleft img {
			min-width: 100%;
	}
}

/* 
START Column stacking on mobile isn't working. 
   Add this to the column container to get it to DO AS IT'S TOLD. Dammit. 
   /matt  
*/
@media only screen and (max-width: 767px) 
{
	.force-stack {
		flex-wrap: wrap !important;
	}
	.force-stack .wp-block-column-is-layout-flow {
		flex-basis: auto !important;
	}
}
/* END Column stacking fix  */

/* HELPERS */

.padding-sm {}
.padding-md {}
.padding-lg {}
