/*
Theme Name: The Cipher Brief 2024
Author: Glass Mountains Digital
Version: 1.0
*/


* {
vertical-align: baseline;
border: 0 none;
outline: 0;
padding: 0;
margin: 0;
}
body {
font-family: "ReplicaRegular", sans-serif;
font-size: 1em;
font-weight: normal;
color: #11151c;
background: #fff;
-webkit-text-size-adjust: none;
-ms-text-size-adjust: none;
}
body.noscroll {
overflow-y: hidden;
}


/* Canvas Layout
....................................................................... */
#site-wrapper {
position: relative;
overflow: hidden;
width: 100%;
}
#site-canvas {
float: left;
width: 100%;
height: 100%;
position: relative;
-webkit-transform: translateX(0);
transform: translateX(0);
-o-transform: translateX(0);
-ms-transform: translateX(0);
-webkit-transition: 0.2s ease all;
-o-transition: 0.2s ease all;
transition: 0.2s ease all;
-ms-transition: 0.2s ease all;
}
#site-left {
float: left;
width: 250px;
height: 100%;
position: absolute;
top: 0;
left: -251px;
border-right: 1px solid #11151c;
background: #11151c;
overflow: hidden;
}
#site-right {
float: left;
width: 250px;
height: 100%;
position: absolute;
top: 0;
right: -251px;
border-left: 1px solid #11151c;
background: #11151c;
overflow: hidden;
}
#site-wrapper.show-left #site-canvas {
-webkit-transform: translateX(250px);
transform: translateX(250px);
-o-transform: translateX(250px);
-ms-transform: translateX(-250px);
}
#site-wrapper.show-right #site-canvas {
-webkit-transform: translateX(-250px);
transform: translateX(-250px);
-o-transform: translateX(-250px);
-ms-transform: translateX(-250px);
}
@media screen and (min-width: 1024px) {
	#site-wrapper #site-canvas,
	#site-wrapper.show-left #site-canvas,
	#site-wrapper.show-right #site-canvas {
	-webkit-transform: none !important;
	-ms-transform: none !important;
	transform: none !important;
	}
}



/* Page Layout
....................................................................... */
.page-wrap_top {
position: relative;
float: left;
width: 100%;
margin: 0 0 50px 0;
}
.page-wrap_content {
position: relative;
clear: both;
float: left;
width: 100%;
}
.page-wrap_footer {
clear: both;
float: left;
width: 100%;
background: #D9D9D6;
margin: 75px 0 0 0;
}
.center {
clear: both;
width: 980px;
margin: 0 auto;
}
.row:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.row {
display: inline-block;
}
html[xmlns] .row {
display: block;
}
* html .row {
height: 1%;
}
@media screen and (min-width: 1131px) {
	.center {
	max-width: 1300px !important;
	width: 90%;
	}
}
@media screen and (max-width: 1023px) {
	.page-wrap_top {
	margin: 0 0 30px 0;
	}
	.center {
	width: 94%;
	padding: 0;
	margin: 0 0 0 3%;
	}
	.sidebar {
	padding-top: 30px;
	}
}

/* Grid
....................................................................... */
.span1 {
float: left;
width: 5.125%;
margin: 0 3.5% 0.75em 0;
}
.span2 {
float: left;
width: 13.75%;
margin: 0 3.5% 0.75em 0;
}
.span3 {
float: left;
width: 22.375%;
margin: 0 3.5% 0.75em 0;
}
.span4 {
float: left;
width: 31%;
margin: 0 3.5% 0.75em 0;
}
.span5 {
float: left;
width: 39.625%;
margin: 0 3.5% 0.75em 0;
}
.span6 {
float: left;
width: 48.25%;
margin: 0 3.5% 0.75em 0;
}
.span7 {
float: left;
width: 56.875%;
margin: 0 3.5% 0.75em 0;
}
.span8 {
float: left;
width: 65.5%;
margin: 0 3.5% 0.75em 0;
}
.span9 {
float: left;
width: 74.125%;
margin: 0 3.5% 0.75em 0;
}
.span10 {
float: left;
width: 82.75%;
margin: 0 3.5% 0.75em 0;
}
.span11 {
float: left;
width: 91.375%;
margin: 0 3.5% 0.75em 0;
}
.span12 {
float: left;
width: 100%;
margin: 0 0 0.75em 0;
}
.span1.last,
.span2.last,
.span3.last,
.span4.last,
.span5.last,
.span6.last,
.span7.last,
.span8.last,
.span9.last,
.span10.last,
.span11.last {
margin: 0;
}
@media screen and (max-width: 1023px) {
	.span1,
	.span2,
	.span3,
	.span4,
	.span5,
	.span6,
	.span7,
	.span8,
	.span9,
	.span10,
	.span11,
	.span12 {
	float: none;
	clear: both;
	width: 100%;
	margin-right: 0;
	}
}


/* Globals
....................................................................... */
p {
line-height: 1.5em;
margin: 0 0 1.1em 0;
word-wrap: break-word;
}
pre {
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
line-height: 1.5em;
padding: 0.5em 0 0 0;
margin: 0 0 1.5em 0;
overflow-x: auto;
}
a {
color: #D21C36;
text-decoration: underline;
transition: all 0.2s;
}
a:hover {
color: #11151c;
}
h1 a,
h2 a,
p.h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
text-decoration: none;
}
h1 {
font-family: "Merriweather", serif;
font-weight: 900;
font-size: 50px;
line-height: 1.15em;
letter-spacing: -0.025em;
margin: 0 0 0.5em 0;
}
h2,
p.h2 {
font-family: "ReplicaHeavy", sans-serif;
font-weight: 400;
font-size: 42px;
line-height: 1.15em;
margin: 0 0 0.5em 0;
}
h2.smaller,
p.h2.smaller {
font-size: 32px;
}
h3 {
font-family: "Merriweather", serif;
font-weight: 900;
font-size: 34px;
line-height: 1.25em;
margin: 0 0 0.6em 0;
}
h4 {
font-family: "ReplicaRegular", sans-serif;
font-weight: 400;
font-size: 20px;
line-height: 1.3em;
margin: 0 0 0.85em 0;
}
h5 {
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
font-size: 18px;
line-height: 1.25em;
margin: 0 0 0.85em 0;
}
h6 {
font-size: 17px;
line-height: 1.25em;
margin: 0 0 0.85em 0;
}
p.overline,
h1.overline,
h2.overline,
h3.overline,
h4.overline {
position: relative;
padding-top: 15px;
}
p.overline:before,
h1.overline:before,
h2.overline:before,
h3.overline:before,
h4.overline:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 90px;
height: 5px;
background: #D21C36;
}
em {
font-family: "ReplicaItalic", sans-serif;
font-style: normal;
}
strong {
font-family: "ReplicaBold", sans-serif;
}
em strong,
strong em {
font-family: "ReplicaBold", sans-serif;
font-style: italic;
}
img {
max-width: 100%;
height: auto !important;
}
img,
img a {
border: 0;
text-decoration: none;
}
ol {
margin: 0 0 0.75em 25px;
}
ol li {
margin: auto;
line-height: 1.5em;
padding: 0 0 0.75em 5px;
margin-left: 0;
}
ul {
padding: 0;
margin: 0 0 0.75em 10px;
list-style: none;
}
ul li {
position: relative;
margin: auto;
list-style: none;
line-height: 1.5em;
padding: 0 0 0.5em 15px;
margin: 0 0 0 0;
}
ul li:before {
position: absolute;
top: 0.25em;
left: 0;
font-family: "Font Awesome 5 Free";
content: '\f111';
font-weight: 900;
font-size: 6px;
color: #11151c;
}
li ul {
margin: 0.5em 0 0 0;
}
li ul li:last-child {
padding-bottom: 0.25em;	
}
.textcenter ul {
margin-left: 0;
}
.textcenter ul li:before {
position: relative;
top: -5px;
left: -10px;
display: inline-block;
width: 10px;
height: 5px;
}
hr {
clear: both;
border: 0;
background: transparent;
margin: 40px 0;
}
blockquote {
border-left: 5px solid #11151c;
padding: 40px 5%;
margin: 0 0 25px 0;
background: #D9D9D6;
}
blockquote + blockquote {
border-top: 0;
padding-top: 0;
}
blockquote p:last-of-type {
margin: 0;
}
blockquote cite {
display: inline-block;
text-transform: uppercase;
font-style: normal;
font-size: 0.75em;
padding-top: 20px;
}
.box {
clear: both;
background: #D9D9D6;
border-radius: 5px;
padding: 25px 20px 5px 20px;
margin: 0 0 30px 0;
}
.box.bordered {
border: 2px solid #333;
}
.grey {
color: #838685;
}
.hidden {
position: absolute;
top: -9999px;
left: -9999px;
}
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
html[xmlns] .clearfix {
display: block;
}
* html .clearfix {
height: 1%;
}
.clear {
clear: both;
}
.floatleft {
float: left;
}
.floatright {
float: right;
}
.alignleft {
float: left;
margin: 0 15px 5px 0;
}
.alignright {
float: right;
margin: 0 0 5px 15px;
}
.textcenter,
.aligncenter {
text-align: center;
}
img.aligncenter {
display: block;
margin: 0 auto 15px auto;
}
.wp-caption {
margin-bottom: 1.5em;
text-align: center;
padding-top: 5px;
}
.wp-caption.aligncenter {
width: 100% !important;
}
.wp-caption.alignleft,
.wp-caption.alignright {
}
.wp-caption img {
border: 0 none;
padding: 0;
margin: 0;
}
.wp-caption p.wp-caption-text {
line-height: 1.5;
font-size: 0.8em;
color: #838685;
margin: 0;
}
.textright {
text-align: right;
}
a.cta {
display: inline-block;
text-decoration: none;
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
font-size: 1em;
line-height: 1.25em;
text-align: center;
color: #fff;
background: #D21C36;
border: 2px solid #D21C36;
padding: 16px;
margin: 10px 0 10px 0;
border-radius: 5px;
box-shadow: none;
}
a.cta:hover {
color: #fff;
background: #11151c;
border-color: #11151c;
text-decoration: none;
}
a.cta.cta_secondary {
background: transparent;
color: #D21C36;
}
a.cta.cta_secondary:hover {
color: #11151c;
}
a.cta.cta_small {
font-size: 0.8em;
padding: 12px;
}
a.cta.cta_block {
display: block;
text-align: center;
}
.spacer {
padding: 10px 0;
}
.viewall_link {
position: relative;
}
.viewall_link h1,
.viewall_link h2,
.viewall_link h3,
.viewall_link h4 {
/* Approx max-width of a 'view all' link */
padding-right: 90px;
}
.widget .viewall_link p:not(.viewall) {
font-weight: 400;
font-size: 23px;
line-height: 1.2em;
margin: 0 0 0.85em 0;
}
p.viewall {
position: absolute;
right: 0;
top: 55%;
margin-top: -0.75em;
}
p.viewall a {
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
text-decoration: none;
}
p.viewall a:hover {
}
p.viewall a i {
font-size: 0.8em;
}
p.viewall img {
max-width: 120px;
}
@media screen and (max-width: 1023px) {
	.viewall_link h1,
	.viewall_link h2,
	.viewall_link h3,
	.viewall_link h4 {
	padding-right: 0;
	}
	p.viewall {
	position: relative;
	right: auto;
	top: auto;
	}
}
@media screen and (max-width: 767px) {
	p,
	.page-wrap_content li {
	font-size: 0.9em;
	}
	.page-wrap_content li p,
	.page-wrap_content li ul li {
	font-size: 1em;
	}
	h1 {
	font-size: 1.75em;
	letter-spacing: -0.01em;
	}
	h2,
	p.h2 {
	font-size: 1.5em;
	letter-spacing: -0.01em;
	}
	h3 {
	font-size: 1.35em;
	}
	h4 {
	font-size: 1.2em;
	}
	h5 {
	font-size: 1em;
	}
	h6 {
	font-size: 0.9em;
	}
	a.cta {
	font-size: 1em;
	}
	.page-wrap_content img.alignleft,
	.page-wrap_content img.alignright {
	max-width: 150px;
	}
	.wp-caption.alignleft,
	.wp-caption.alignright {
	width: 100% !important;
	margin-bottom: 1.5em;
	text-align: center;
	padding-top: 5px;
	}
	hr {
	margin: 10px 0 30px 0;
	}
}


/* Forms
....................................................................... */
form {
margin: 0 0 20px 0;
padding: 0;
}
fieldset {
border: 0;
padding: 0;
margin: 0;
}
legend {
color: #11151c;
font-size: 1.3em;
font-weight: normal;
padding: 0;
margin: 0 0 15px 0;
}
label {
display: block;
color: #11151c;
font-size: 0.9em;
font-weight: 700;
padding: 5px 0 10px 0;
}
input,
textarea,
select {
display: block;
color: #11151c;
width: 100%;
max-width: 624px;
font-size: 1em;
font-weight: normal;
font-family: "ReplicaRegular", sans-serif;
background: #fff;
border: 1px solid #D9D9D6;
-webkit-box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.05);
padding: 15px 15px;
margin: 0 5px 20px 0;
border-radius: 5px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
input:focus,
textarea:focus {
color: #11151c;
border: 1px solid #888;
-webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
}
::-webkit-input-placeholder {
color: #888;
opacity: 1;
}
:-moz-placeholder {
/* Firefox 18- */
color: #888;
opacity: 1;
}
::-moz-placeholder {
/* Firefox 19+ */
color: #888;
opacity: 1;
}
:-ms-input-placeholder {
color: #888;
opacity: 1;
}
select {
line-height: 2.25em;
}
select option {
padding: 0 15px;
}
textarea {
overflow: auto;
overflow-x: hidden;
resize: none;
}
.radio,
.checkbox {
display: inline-block;
padding: 5px 15px 10px 0;
}
input[type="radio"],
input[type="checkbox"] {
display: inline-block;
width: auto !important;
padding: 0;
border: 0;
}
button,
input.submit,
input[type="submit"],
input[type="button"] {
width: auto;
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
font-size: 1em;
line-height: 1.25em;
color: #fff;
background: #D21C36;
border: 0;
padding: 20px;
margin: 20px 0 10px 0;
transition: all 0.2s;
-webkit-appearance: none;
cursor: pointer;
}
button:hover,
input.submit:hover,
input[type="submit"]:hover,
input[type="submit"]:hover {
background-color: #11151c;
}
.ninja-forms-all-fields-wrap {
border-top: 1px solid #D9D9D6;
padding-top: 20px;
}
.ninja-forms-required-items {
padding-bottom: 20px;
}


/* Social Links
....................................................................... */
.socnet a {
display: inline-block;
vertical-align: top;
width: 40px;
height: 40px;
text-align: center;
color: #11151c;
background: #fff;
border-radius: 50%;
margin: 0 2px;
transition: all 0.2s;
}
.socnet a i {
position: relative;
font-size: 1.4em;
line-height: 40px;
z-index: 10;
}
.socnet a.tw i {
display: inline-block;
width: 20px;
height: 20px;
-webkit-mask: url(img/x-logo.svg) 50% 50% no-repeat;
mask: url(img/x-logo.svg) 50% 50% no-repeat;
-webkit-mask-size: 20px;
mask-size: 20px;
background: #11151c;
margin: 10px auto 0 auto;
}
.socnet a .text {
position: absolute;
left: -9999px;
top: -9999px;
}
.socnet a.tw:hover {
color: #fff;
background: #000 !important;
}
.socnet a.tw:hover i {
background: #fff !important;
}
.socnet a.fb:hover {
color: #fff;
background: #084b8f !important;
}
.socnet a.li:hover {
color: #fff;
background: #127db5 !important;
}
.socnet a.yt:hover {
color: #fff;
background: #ff0000 !important;
}
.socnet a.pn:hover {
color: #fff;
background: #e60023 !important;
}
.socnet a.ig {
position: relative;
}
.socnet a.ig:hover {
color: #fff;
}
.socnet a.ig:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 40px;
border-radius: 50%;
background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%) !important;
z-index: 9;
opacity: 0;
transition: opacity 0.2s;
}
.socnet a.ig:hover:before {
opacity: 1;
}


/* Global alert banner
....................................................................... */
.alert_banner {
color: #fff;
background: #11151c;
font-size: 0.8em;
font-weight: normal;
text-align: center;
transition: background 0.2s;
}
.alert_banner:hover {
background: #D21C36;
}
.alert_banner a {
display: block;
color: #fff;
text-decoration: none;
padding: 15px 0;
}
.alert_banner a:hover {
color: #fff;
}


/* Header
....................................................................... */
header {
position: relative;
border-bottom: 1px solid #D9D9D6;
padding: 25px 0 0 0;
}
#logo {
display: inline-block;
vertical-align: middle;
width: 210px;
margin: 0 -4px 0 0;
}
#logo a {
display: block;
width: 100%;
transition: none;
}
#logo img {
display: block;
width: 100%;
height: auto;
max-width: 190px;
}
#logo .text {
position: absolute;
top: -9999px;
left: -9999px;
}

#header_info {
display: inline-block;
vertical-align: middle;
width: calc(100% - 480px);
margin: 0 -4px 0 0;
}
#header_info p {
font-family: "Merriweather", serif;
font-weight: 900;
font-size: 1.1em;
margin: 0 0 5px 0;
}
#header_info small {
display: block;
color: #838685;
margin: 0 0 7px 0;
}
#header_info ul {
padding: 0;
margin: -3px 0 0 0;
}
#header_info ul li {
display: inline-block;
vertical-align: top;
color: #838685;
font-size: 0.9em;
text-transform: uppercase;
padding: 0;
margin: 0 7px 0 0;
}
#header_info ul li:before {
display: none;
}
#header_info ul li a {
display: inline-block;
vertical-align: top;
color: #D21C36;
text-decoration: none;
}
#header_info ul li a:hover {
color: #11151c;
}
#header_info ul li a i {
font-size: 0.7em;
}

#header_tools {
display: inline-block;
vertical-align: middle;
width: 260px;
text-align: right;
margin: 0 -4px 0 0;
}
header .members {
display: inline-block;
vertical-align: middle;
padding: 0;
margin: 0 -4px 0 0;
}
header .members ul {
padding: 0 4px 0 0;
margin: 0;
}
header .members li {
display: inline-block;
vertical-align: middle;
background-image: none;
padding: 0;
margin: 0 0 0 10px;
}
header .members li:before {
display: none;
}
header .members a.cta {
padding: 12px;
}
.members_mobile {
display: none;
}
.members_mobile ul {
display: flex;
padding: 0;
margin: 0;
}
.members_mobile li {
display: block;
flex: 1;
padding: 0;
margin: 0;
}
.members_mobile li:before {
display: none;
}
.members.members_mobile li a.cta {
display: block;
display: block;
font-size: 0.8em;
padding: 5px;
border-radius: 0;
margin: 0;
}
.stock_ticker {
overflow: hidden;
padding: 10px 0 0 0;
}
.stock_ticker iframe {
width: 100%;
}

#header_tools p.socnet {
display: inline-block;
margin: 0 5px 0 0;
}
#header_tools .socnet a {
width: 30px;
height: 30px;
}
#header_tools .socnet a i {
font-size: 1em;
line-height: 30px;
}
#header_tools .socnet a.tw i {
width: 15px;
height: 15px;
-webkit-mask-size: 15px;
mask-size: 15px;
margin-top: 7px;
}
#header_tools .socnet a.ig:before {
width: 30px;
height: 30px;
}

@media screen and (max-width: 1023px) {
	header {
	padding: 15px 0;
	}
	#logo {
	width: 140px;
	}
	#logo a {
	width: 140px;
	height: 42px;
	}
	#header_info {
	display: none;
	}
	#header_tools {
	width: calc(100% - 140px);
	}
	header .members {
	padding: 0;
	}
	header .members li {
	display: inline-block;
	}
	header .members li a {
	display: inline-block;
	min-width: 0;
	font-size: 0.85em;
	padding: 2px 10px 1px;
	}
}
@media screen and (max-width: 767px) {
	header {
	padding: 15px 0;
	}
	header .members {
	display: none;
	}
	.members_mobile {
	display: block;
	}
}
@media screen and (max-width: 479px) {
	#header_tools p.socnet {
	display: none;
	}
}


/* Header togglers
....................................................................... */
.toggle {
display: none;
margin: 0;
}
.toggle a {
display: block;
vertical-align: middle;
text-decoration: none;
color: #11151c;
font-size: 0.7em;
font-weight: normal;
text-transform: uppercase;
border-radius: 5px;
}
.toggle a:hover {
color: #D21C36;
}
.toggle a em {
position: absolute;
left: -9999px;
top: -9999px;
font-style: normal;
}
.toggle a:after {
display: inline-block;
vertical-align: middle;
font-family: "Font Awesome 5 Free";
font-weight: 700;
line-height: 1;
font-size: 2em;
padding: 0 0 0 5px;
}
.toggle_search,
.toggle_navi {
display: inline-block;
vertical-align: middle;
margin: 0 0 0 10px;
}
.toggle .toggle_search a:after {
content: "\f002";
}
.toggle .toggle_navi a:after {
content: "\f0c9";
}
.toggle .toggle_navi a.opened:after {
content: "\f00d";
}
@media screen and (min-width: 1024px) {
	.toggle {
	display: none;
	}
}
@media screen and (max-width: 1023px) {
	.toggle {
	display: inline-block;
	}
}


/* Top Navigation
....................................................................... */
#navi {
clear: both;
border-top: 1px solid #D9D9D6;
margin: 20px 0 0 0;
}
.news_ticker + #navi {
margin-top: 5px;
}
#stickynavi {
position: fixed;
top: -60px;
width: 100%;
background: #fff;
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
z-index: 999;
opacity: 0;
margin: 0 auto;
-webkit-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
}
#stickynavi.visible {
top: 0;
opacity: 1;
}
body.logged-in.admin-bar #stickynavi.visible {
top: 32px;
}
#navi ul {
margin: 0;
padding: 0;
}
#stickynavi ul {
margin: 0;
padding: 5px 0;
}
#navi li,
#stickynavi li {
position: relative;
display: inline-block;
vertical-align: middle;
list-style: none;
background-image: none;
padding: 0;
margin: 0 -3px 0 0;
}
#navi li:before,
#stickynavi li:before {
display: none;
}
#navi li a,
#stickynavi li a {
display: block;
min-height: 22px;
color: #11151c;
font-size: 0.8em;
font-weight: normal;
text-decoration: none;
text-align: center;
line-height: 1.25em;
padding: 15px 7px 15px 6px;
margin: 0;
}
#navi > ul > li > a,
#stickynavi .center > ul > li > a {
text-transform: uppercase;
}
#navi li:first-child a,
#stickynavi li:first-child a {
padding-left: 0;
}
#navi li a:hover,
#stickynavi li a:hover {
color: #D21C36;
}
#stickynavi li.home {
margin: 0 5px 0 0;
}
#stickynavi li.home a {
padding: 0;
}
#stickynavi li.home a img {
display: block;
max-height: 36px;
}
#navi li.menu_search,
#stickynavi li.menu_search {
margin-left: auto;
}
#navi li.menu_search a,
#stickynavi li.menu_search a {
padding-left: 5px;
}
#navi li.menu_search a em,
#stickynavi li.menu_search a em {
position: absolute;
top: -9999px;
left: -9999px;
font-style: normal;
}
#navi li ul,
#stickynavi li ul {
opacity: 0;
position: absolute;
left: -9999px;
top: 51px;
width: 210px;
background: #fff;
box-shadow: 0 5px 10px rgba(0,0,0,0.2);
border-radius: 3px;
padding: 5px 0 5px 0;
margin: 0 0 0 0;
z-index: 99;
-webkit-transition: opacity 0.2s;
-o-transition: opacity 0.2s;
transition: opacity 0.2s;
}
#navi li ul li,
#navi li.current-menu-item ul li,
#stickynavi li ul li,
#stickynavi li.current-menu-item ul li {
clear: both;
background-image: none;
padding: 0;
margin: 0;
}
#navi li ul li a,
#navi li.current-menu-item ul li a,
#stickynavi li ul li a,
#stickynavi li.current-menu-item ul li a {
float: none;
display: block;
width: 190px;
background: transparent;
font-weight: normal;
font-size: 0.85em;
line-height: 1.3em;
text-transform: none;
text-decoration: none;
border: 0;
border-top: 1px solid #D9D9D6;
text-align: left;
background-image: none;
padding: 8px 0 8px 0;
margin: 0 10px 0 10px;
border-radius: 0;
}
#navi li ul li a:hover,
#navi li.current-menu-item ul li a:hover,
#stickynavi li ul li a:hover,
#stickynavi li.current-menu-item ul li a:hover {
}
#navi li ul li.current-menu-item a,
#stickynavi li ul li.current-menu-item a {
text-decoration: underline;
}
#navi li ul li:first-child > a,
#navi li.current-menu-item ul li:first-child > a,
#stickynavi li ul li:first-child > a,
#stickynavi li.current-menu-item ul li:first-child > a {
border-top: 0;
}
#navi li ul li:last-child a,
#navi li.current-menu-item ul li:last-child a,
#stickynavi li ul li:last-child a,
#stickynavi li.current-menu-item ul li:last-child a {
border-bottom: 0;
}
#navi li ul li a span,
#navi li.current-menu-item ul li a span,
#navi li ul li.current-menu-item a span,
#stickynavi li ul li a span,
#stickynavi li.current-menu-item ul li a span,
#stickynavi li ul li.current-menu-item a span {
border: 0;
padding: 0;
}
#navi ul li:hover > ul,
#stickynavi ul li:hover > ul {
opacity: 1;
left: 0;
}

#navi ul li:nth-last-child(2):hover > ul,
#navi ul li:nth-last-child(3):hover > ul,
#stickynavi ul li:nth-last-child(2):hover > ul,
#stickynavi ul li:nth-last-child(3):hover > ul {
left: auto;
right: 0;
}
#navi li:nth-last-child(2) ul li a,
#navi li:nth-last-child(3) ul li a,
#stickynavi li:nth-last-child(2) ul li a,
#stickynavi li:nth-last-child(3) ul li a {
text-align: right;
}

@media screen and (min-width: 1024px) {
	#navi {
	display: block !important;
	}
	@supports (display: flex) {
		#navi > ul,
		#stickynavi .center > ul {
		display: flex;
		align-items: center;
		}
	}
}
@media screen and (min-width: 1280px) {
	#navi > ul > li > a,
	#stickynavi .center > ul > li > a {
	font-size: 0.85em;
	padding-left: 10px;
	padding-right: 10px;
	}
}
@media screen and (min-width: 1450px) {
	#navi > ul > li > a,
	#stickynavi .center > ul > li > a {
	font-size: 0.95em;
	padding-left: 12px;
	padding-right: 12px;
	}
}
@media screen and (max-width: 1023px) {
	#navi,
	#stickynavi {
	display: none !important;
	}
}


/* Side Navigation
....................................................................... */
#sidenavi ul {
display: flex;
flex-direction: column;
text-align: left;
border-top: 1px solid #333;
padding: 0;
margin: 0 0 10px 0;
}
#sidenavi li {
list-style: none;
background-image: none;
border-bottom: 1px solid #333;
padding: 0;
margin: 0;
}
#sidenavi li:before {
display: none;
}
#sidenavi li a {
position: relative;
display: block;
font-size: 0.8em;
font-weight: normal;
color: #fff;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.33);
text-decoration: none;
-webkit-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
padding: 10px 15px 10px 15px;
margin: 0;
opacity: 0.75;
}
#sidenavi > ul > li > a {
font-weight: 700;
font-size: 0.9em;
opacity: 1;
}
#sidenavi li span.nolink {
display: block;
font-weight: 400;
font-size: 0.9em;
color: #fff;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.33);
padding: 10px 15px 10px 15px;
margin: 0;
cursor: default;
}
#sidenavi li span.nolink:hover {
background: transparent;
}
#sidenavi li.current-menu-item a {
}
#sidenavi li a:hover {
background: #222;
}
#sidenavi li ul {
border: 0;
margin: 0;
}
#sidenavi li ul li,
#sidenavi li.current-menu-item ul li {
clear: both;
float: none;
width: auto;
display: block;
border-bottom: 0;
border-top: 1px solid #333;
}
#sidenavi li ul li a,
#sidenavi li.current-menu-item ul li a {
width: auto;
text-align: left;
font-weight: normal;
font-size: 0.85em;
color: #fff;
border: 0;
padding: 8px 3% 8px 3%;
margin: 0;
}
#sidenavi li ul li.current-menu-item a {
}
#sidenavi li ul li a:before,
#sidenavi li.current-menu-item ul li a:before {
content: "- ";
display: inline-block;
padding: 0 5px 0 10px;
}
#site-right .contact {
color: #fff;
padding: 15px;
}
#site-right .email {
display: block;
font-size: 0.85em;
line-height: 1.5em;
margin: 0 0 20px 0;
}
#site-right .socnet {
display: block;
margin: 0 0 20px 0;
}
#site-right .socnet a {
color: #fff;
background: transparent;
}
#site-right .contact p strong,
#site-right .contact p a {
color: #fff;
}
#site-right .socnet a.tw i {
background: #fff;
}


/* Search form modal
....................................................................... */
.searchmodal form {
position: relative;
max-width: 600px;
margin: 0 auto 20px auto;
}
.searchmodal label {
display: none;
}
.searchmodal input {
width: 100%;
min-height: 58px;
font-size: 1.1em;
border-radius: 5px;
padding: 15px 50px 15px 15px;
margin: 0;
}
.searchmodal #searchsubmit {
position: absolute;
top: 0;
right: 0;
width: 58px;
height: 58px;
border: 0;
font-size: 1.5em;
line-height: 1px;
background: #D21C36;
padding: 0 !important;
margin: 0;
border-radius: 0 4px 4px 0;
cursor: pointer;
}
.searchmodal #searchsubmit:hover {
background-color: #222c42;
}
.searchmodal #searchsubmit span {
display: none;
}


/* Swiper controls
....................................................................... */
.swiper-pagination .swiper-pagination-bullet {
width: 12px;
height: 12px;
background: transparent;
border: 2px solid #11151c;
opacity: 1;
margin: 0 7px !important
}
.swiper-pagination .swiper-pagination-bullet-active {
background: #11151c;
}


/* Shared elements (author)
....................................................................... */
.author {
display: flex;
align-items: flex-start;
border-bottom: 1px solid #D9D9D6;
padding: 0 0 20px 0;
margin: 0 0 20px 0;
}
.author figure.pic {
flex: 0 0 100px;
aspect-ratio: 1 / 1;
overflow: hidden;
margin: 0;
}
.author .pic img {
width: 100%;
height: 100% !important;
object-fit: cover;
}
.author .text {
flex: 1 1 auto;
padding: 0 0 0 20px;
}
.author h4 {
font-size: 20px;
font-weight: 600;
margin: 0 0 10px 0;
}
.author h4 a {
color: #11151c;
text-decoration: underline;
}
.author h4 a:hover {
color: #D21C36;
}
.author p {
color: #838685;
}
.author p:last-child {
margin: 0;
}
@media screen and (max-width: 767px) {
	.author figure.pic {
	flex: 0 0 60px;
	}
	.author .text {
	padding-left: 15px;
	}
}


/* Shared elements (post listings)
....................................................................... */
p .more {
display: inline-block;
margin: 0 5px 0 0;
}
.meta {
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
font-size: 1em;
color: #888;
padding: 0 0 10px 0;
}
.meta .cats,
.meta .tags {
display: block;
padding: 5px 0;
}
.meta .cats strong,
.meta .tags strong {
font-weight: normal;
color: #11151c;
margin: 0 5px 0 0;
}
.meta .cats a,
.meta .tags a {
display: inline-block;
text-decoration: none;
border-radius: 3px;
border: 2px solid #11151c;
padding: 3px 8px;
margin: 5px 5px 5px 0;
transition: all 0.2s;
}
.meta .cats a {
color: #fff;
border-color: #bbb;
background: #bbb;
}
.meta .tags a {
color: #888;
border-color: #D9D9D6;
background: #fff;
}
.meta .cats a:hover,
.meta .tags a:hover {
color: #fff;
border-color: #222c42;
background: #222c42;
}
.postmeta {
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
font-size: 0.85em;
line-height: 1.5em;
font-weight: normal;
color: #838685;
}
.postmeta a {
color: #838685;
}
.postmeta a:hover {
color: #D21C36;
}
a.post_link {
display: block;
color: #D21C36;
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
text-decoration: none;
white-space: nowrap;
margin: -5px 0 0 0;
}
a.post_link.inline {
display: inline-block;
}
a.post_link i {
display: inline-block;
vertical-align: middle;
font-size: 0.7em;
}
a.post_link:hover {
color: #11151c;
}
a.post_link i {
margin: -2px 0 0 0;
}


/* Shared elements (post navigation)
....................................................................... */
.navigation {
clear: both;
margin: 20px 0 30px 0;
}
.prev-posts,
.next-posts {
display: inline-block;
width: 50%;
margin: 0 -4px 0 0;
}
.prev-posts {
text-align: right;
}
.prev-posts a,
.next-posts a {
color: #11151c;
font-weight: normal;
text-decoration: none;
}
.prev-posts a:hover,
.next-posts a:hover {
color: #D21C36;
}
.wp-pagenavi-container {
clear: both;
padding: 20px 0 20px 0;
}
.wp-pagenavi {
padding: 20px 0 0 0;
}
.wp-pagenavi a,
.wp-pagenavi span {
color: #838685 !important;
border-color: #D9D9D6 !important;
border-radius: 3px;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
color: #333 !important;
background-color: #D9D9D6 !important;
}


/* Shared elements (post label)
....................................................................... */
.post_label {
position: absolute;
top: 0;
left: 0;
display: inline-block;
color: #fff;
background: #D21C36;
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
font-size: 16px;
line-height: 1.25em;
padding: 5px 10px;
z-index: 10;
}


/* Post listings
....................................................................... */
.post {
vertical-align: top;
box-sizing: border-box;
padding: 0 0.75% 0 0.75%;
margin: 10px -4px 20px 0;
}
.span8 .post,
.span9 .post {
display: inline-block;
width: 33.333%;
}
.span12 .post {
display: inline-block;
width: 25%;
}
.span4 .post,
.span3 .post {
display: block;
width: 100%;
}
.post .pic,
.post figure.pic {
position: relative;
width: 100%;
aspect-ratio: 8 / 5;
overflow: hidden;
margin: 0;
}
.post .pic a,
.post figure.pic a {
display: block;
height: 100%;
}
.post .pic a img {
display: block;
width: 100%;
height: 100% !important;
object-fit: cover;
object-position: 50% 50%;
transition: all 0.2s ease-in-out;
}
.post.opinion .pic a img {
/* Align headshot to top */
/*object-position: 50% 0%;*/
}
.post .pic a:hover img {
transform: scale(1.025);
}
.post h4 {
font-family: "Merriweather", serif;
font-weight: 900;
padding: 10px 0;
margin: 0;
}
.post h3 a,
.post h4 a {
display: block;
color: #11151c;
}
.post h3 a:hover,
.post h4 a:hover {
color: #D21C36;
}
.post h5 {
font-family: "ReplicaRegular", sans-serif;
font-weight: 400;
font-size: 20px;
line-height: 1.3em;
margin: 0 0 20px 0;
}
.post p {
margin: 0 0 10px 0;
}
/*.post p:last-child {
margin: 0;
}*/
.post .excerpt p {
display: none;
}
.post small {
/* Search results post type indicator */
display: block;
font-size: 0.8em;
text-transform: uppercase;
color: #838685;
margin: 0 0 5px 0;
}
@media screen and (max-width: 1023px) {
	.span8 .post,
	.span9 .post,
	.span12 .post {
	display: inline-block;
	width: 50%;
	}
	.post h4 {
	font-size: 1.1em;
	}
	.post h5 {
	font-size: 1.1em;
	}
	.post p {
	font-size: 0.9em;
	}
}
@media screen and (max-width: 767px) {
	.span8 .post,
	.span9 .post,
	.span10 .post,
	.span11 .post,
	.span12 .post {
	display: block;
	width: 100%;
	}
}


/* Post (featured) listings
....................................................................... */
.posts_featured {
display: flex;
}
.posts_featured .col1 {
flex: 0 0 48.25%;
box-sizing: border-box;
}
.posts_featured .col2 {
flex: 0 0 48.25%;
box-sizing: border-box;
margin: 0 0 0 auto;
}
.posts_featured .post {
display: block;
width: 100%;
padding: 0;
}
.posts_featured .col1 .post {
margin: 0;
}
.posts_featured .col1 .post h4 {
font-size: 34px;
}
.posts_featured .col1 .post .excerpt p {
display: block;
}
.posts_featured .col2 .post {
display: flex;
align-items: flex-start;
}
.posts_featured .col2 .post:first-child {
margin-top: 0;
}
.posts_featured .col2 .post .pic {
flex: 0 1 40%;
}
.posts_featured .col2 .post .text {
flex: 1;
padding: 0 0 0 20px;
margin: 0 0 0 auto;
}
.posts_featured .col2 .post .text h4 {
padding-top: 0;
}
@media screen and (max-width: 767px) {
	.posts_featured {
	flex-wrap: wrap;
	margin: 0 0 40px 0;
	}
	.posts_featured .col1,
	.posts_featured .col2 {
	flex: 0 0 100%;
	}
	.posts_featured .col1 .post {
	margin-bottom: 30px;
	}
}


/* Post (compact) listings
....................................................................... */
.posts_compact {
}
.posts_compact .post {
display: block;
width: 100%;
}
.posts_compact .post:not(:last-child) {
margin-bottom: 30px;
}
.posts_compact h4 {
padding: 0 0 5px 0;
}
.posts_compact .post .excerpt p {
display: block;
}
.posts_compact .post .pic,
.posts_compact .post figure.pic {
float: right;
width: 80px;
aspect-ratio: 1 / 1;
overflow: hidden;
margin: 4px 0 5px 15px;
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
	.posts_compact .post .pic,
	.posts_compact .post figure.pic {
	width: 65px;
	}
}
@media screen and (max-width: 479px) {
	.posts_compact .post .pic,
	.posts_compact .post figure.pic {
	width: 65px;
	}
}


/* Post (minimal) listings
....................................................................... */
.posts_minimal {
counter-reset: myCounter;
}
.posts_minimal .post {
display: block;
width: 100%;
border-bottom: 1px solid #D9D9D6;
padding: 0 0 15px 0;
margin: 0 0 10px 0;
}
.posts_minimal.numbered .post {
counter-increment: myCounter;
position: relative;
padding-left: 35px;
}
.posts_minimal.numbered .post:before {
content: counter(myCounter);
position: absolute;
top: 10px;
left: 0;
color: #D21C36;
font-size: 1.5em;
font-weight: 700;
}


/* Post (primary-specific) listings
....................................................................... */
.post.primary {
margin-top: 0;
}
.post.primary .pic {
margin: 0 0 15px 0;
}
.post.primary .excerpt p {
display: block;
}


/* Post (event-specific) listings
....................................................................... */
.post.event {
}
.post.event .pic a {
background: #222c42; /* Add bg color behind different sized images */
}
.post.event .pic a img {
object-fit: contain; /* Don't cut off embedded image text */
}
.postmeta .event_upcoming {
display: inline-block;
line-height: 1.25em;
background: #D9D9D6;
color: #11151c;
border-radius: 4px;
font-weight: 400;
padding: 5px 10px;
}
.postmeta .event_upcoming em {
color: #D21C36;
font-family: replicamono, sans-serif;
font-style: normal;
}
body.single-event .postmeta .event_upcoming {
font-size: 1.25em;
}


/* Post (video-specific) listings
....................................................................... */
.span8 .post.video,
.span9 .post.video {
display: inline-block;
width: 50%;
}
.span12 .post.video {
display: inline-block;
width: 33.333%;
}
.post.video figure {
margin: 0;
}
@media screen and (max-width: 1023px) {
	.span12 .post.video {
	display: inline-block;
	width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.span8 .post.video,
	.span9 .post.video,
	.span12 .post.video {
	display: block;
	width: 100%;
	}
}


/* Post (dead drop specific) listings
....................................................................... */
.posts.posts_dead_drop {
display: flex;
align-items: stretch;
flex-wrap: wrap;
}
.post.dead_drop {
display: flex;
flex-wrap: wrap;
position: relative;
padding-top: 10px;
padding-bottom: 10px;
z-index: 1;
}
.span8 .post.dead_drop,
.span9 .post.dead_drop {
flex: 0 0 50%;
}
.span12 .post.dead_drop {
flex: 0 0 33.333%;
}
.post.dead_drop .text {
position: relative;
height: 100%;
background: #f4f4f4;
border-radius: 5px;
box-sizing: border-box;
padding: 35px 25px 20px 25px;
margin: 0 0 20px 0;
}
.post.dead_drop .text:before {
content: '';
position: absolute;
top: -10px;
left: 2.5%;
width: 95%;
height: 50%;
border-radius: 5px;
background: #e9e9ea;
rotate: -2deg;
z-index: -1;
}
.post.dead_drop .text:after {
content: '';
position: absolute;
top: -20px;
left: 2.5%;
width: 125px;
height: 0;
border-bottom: 50px solid #f4f4f4;
border-left: 25px solid transparent;
border-right: 25px solid transparent;
border-radius: 5px;
z-index: -2;
}
@media screen and (max-width: 1023px) {
	.span12 .post.dead_drop {
	flex: 0 0 50%;
	}
}
@media screen and (max-width: 767px) {
	.span8 .post.dead_drop,
	.span9 .post.dead_drop,
	.span12 .post.dead_drop {
	flex: 0 0 100%;
	}
	.post.dead_drop .text {
	padding: 15px 20px 5px 20px;
	margin: 0 0 20px 0;
	}
}


/* Post (featured dead drop specific) listings
....................................................................... */
.posts_featured_dead_drop {
}
.posts_featured_dead_drop .post.dead_drop {
flex: 0 0 50%;
}
.posts_featured_dead_drop .post.dead_drop .text {
color: #fff;
background: #282a2f;
padding-top: 20px;
}
.posts_featured_dead_drop .post.dead_drop .text:before {
background: #383a40;
}
.posts_featured_dead_drop .post.dead_drop .text:after {
border-bottom-color: #282a2f;
}
.posts_featured_dead_drop .post.dead_drop h4 {
background: url(img/bg_deadrop_featured.png) 100% 50% no-repeat;
padding: 20px 140px 20px 0;
margin: 0 0 10px 0;
}
.posts_featured_dead_drop .post.dead_drop h4 a {
color: #fff;
}
.posts_featured_dead_drop .post.dead_drop a.post_link {
color: #fff;
text-decoration: underline;
}
.posts_featured_dead_drop .post.dead_drop a.cta:hover {
color: #11151c;
background: #f4f4f4;
border-color: #f4f4f4;
}

.posts_featured_dead_drop .post.dead_drop:first-child {
flex: 1 0 100%;
}
.posts_featured_dead_drop .post.dead_drop:first-child h4 {
font-size: 34px;
margin-bottom: 20px;
}
.posts_featured_dead_drop .post.dead_drop:first-child p:not(:last-child) {
columns: 2;
column-gap: 30px;
}
.posts_featured_dead_drop .post.dead_drop:first-child a.post_link {
display: none;
}
@media screen and (max-width: 767px) {
	.posts_featured_dead_drop .post.dead_drop {
	flex: 0 0 100%;
	}
	.posts_featured_dead_drop .post.dead_drop:first-child h4 {
	font-size: 1.5em;
	margin-bottom: 10px;
	}
	.posts_featured_dead_drop .post.dead_drop:first-child p:not(:last-child) {
	columns: 1;
	}
}


/* Post (press release specific) listings
....................................................................... */
.post.press-release .excerpt p {
display: block;
}


/* Post (headline specific) listings
....................................................................... */
.post.headline .excerpt p {
display: block;
}


/* Custom OSR listings
....................................................................... */
.osr {
display: flex;
align-items: center;
border-top: 1px solid #D9D9D6;
padding: 30px 0;
}
.osr .date {
flex: 0 0 150px;
font-weight: 700;
font-size: 1.75em;
}
.osr .text {
border-left: 1px solid #D9D9D6;
padding: 0 0 0 30px;
}
.osr .text h4 {
margin: 0 0 5px 0;
}
.osr .text h4 a {
color: #11151c;
}
.osr .text h4 a:hover {
color: #D21C36;
}
.osr .text p {
margin: 0;
}
.osr .text a.cta.cta_small {
padding: 6px 20px;
}
@media screen and (max-width: 767px) {
	.osr .date {
	flex: 0 0 120px;
	font-size: 1.33em;
	}
	.osr .text h4 {
	font-size: 1.1em;
	}
}
@media screen and (max-width: 579px) {
	.osr {
	flex-wrap: wrap;
	padding: 15px 0;
	}
	.osr .date {
	flex: 0 0 100%;
	}
	.osr .text {
	border-left: 0;
	padding: 5px 0 0 0;
	}
}


/* Single post
....................................................................... */
.swp_social_panel:not(.nc_floater):not(.swp_social_panelSide) {
padding: 0 0 10px 0;
}
.span12 .post_detail {
max-width: 800px;
margin: 0 auto;
}
.post_detail .intersector {
width: 100vw;
position: relative;
left: calc(-50vw + 50%);
margin-left: auto;
margin-right: auto;
}
.post_detail .intersector .advertisement {
width: 90%;
max-width: 1300px;
box-sizing: border-box;
margin: 0 auto;
}
.post_detail .post_image {
position: relative;
margin: 0 0 30px 0;
}
.post_detail .post_image img {
display: block;
width: 100%;
}
.post_detail figcaption {
font-size: 0.85em;
line-height: 1.5em;
color: #838685;
margin: -10px 0 25px 0;
}
.post_detail .postmeta {
margin: 0 0 25px 0;
}


/* Single post logged out banner
....................................................................... */
.post_banner {
text-align: center;
background: #D9D9D6;
border: 2px solid #D9D9D6;
border-radius: 5px;
padding: 40px;
margin: 30px 0;
}
.post_banner .text {
}
.post_banner p {
margin-bottom: 10px;
}
.post_banner p:last-child {
margin: 0;
}
@media screen and (max-width: 600px) {
.post_banner {
display: block;
}
.post_banner .pic {
display: none;
}
	.post_banner .text {
	width: 100%;
	padding: 30px;
	}
}


/* Single OSR
....................................................................... */
.report_head {
color: #fff;
background: #21173a;
text-align: center;
padding: 0 30px 30px 30px;
}
.report_head h1 {
position: absolute;
left: -9999px;
top: -9999px;
}
.report_head img {
display: block;
width: 100%;
max-width: 600px;
margin: 0 auto;
}
.report_head p {
max-width: 800px;
margin-left: auto;
margin-right: auto;
}
.report_head p:last-child {
margin-bottom: 0;
}
.report_head p strong {
display: block;
}
.post-type-archive-report .report_head {
padding-bottom: 0;
margin-bottom: 50px;
}
.osr_select {
position: absolute;
left: -9999px;
top: -9999px;
margin: 30px auto 50px auto;
}
.osr_navi ul {
display: flex;
justify-content: center;
flex-wrap: wrap;
border-bottom: 1px solid #D9D9D6;
padding: 20px 0;
margin: 0 0 30px 0;
}
.osr_navi li {
padding: 0;
margin: 0;
}
.osr_navi li:before {
display: none;
}
.osr_navi li a {
display: block;
font-size: 0.85em;
font-weight: 700;
line-height: 1.2em;
text-transform: uppercase;
text-align: center;
text-decoration: none;
color: #11151c;
padding: 5px 15px;
}
.osr_navi li a:hover {
color: #D21C36;
}
.block_osrsections {
margin: 0 0 40px 0;
}
.osr_article {
display: flex;
margin: 0 0 50px 0;
}
.osr_article:last-child {
margin: 0;
}
.osr_article > h3 {
flex: 0 0 160px;
font-size: 18px;
line-height: 1.25em;
margin: 0 0 0.85em 0;
margin: 60px 0 0 0;
}
.osr_article:first-of-type > h3 {
margin-top: 0;
}
.osr_article .osr_text {
border-left: 2px solid #D9D9D6;
padding: 0 0 0 30px;
margin: 0 0 0 30px;
}
.osr_article  {
counter-increment: myCounter;
position: relative;
}
.osr_article:before {
content: counter(myCounter, decimal-leading-zero);
position: absolute;
top: 0;
left: 0;
width: auto;
height: 50px;
color: #11151c;
font-size: 3em;
line-height: 1;
font-weight: 700;
}
.osr_article:first-of-type:before {
position: absolute;
left: -9999px;
right: -9999px;
counter-set: myCounter;
}
@media screen and (max-width: 1024px) {
	.osr_navi ul {
	display: none;
	}
	.osr_select {
	position: relative;
	left: 0;
	top: 0;
	}
	.osr_article {
	display: block;
	}
	.osr_article::before {
	position: relative;
	}
	.osr_article > h3 {
	margin: 0 0 20px 0;
	}
	.osr_article .osr_text {
	border-left: 0;
	padding-left: 0;
	margin-left: 0;
	}
}


/* Testimonials listing
....................................................................... */
.testimonial {
clear: both;
position: relative;
border-top: 1px solid #D9D9D6;
padding: 30px 0 0 40px;
margin: 0 0 30px 0;
}
.testimonial .icon {
position: absolute;
top: 25px;
left: 0;
display: block;
width: 30px;
height: 30px;
font-size: 70px;
color: #838685;
}
.testimonial p {
color: #838685;
margin-bottom: 0.75em;
}
.testimonial-meta {
padding: 0 0 0 80px;
}
.testimonial .avatar {
display: inline-block;
vertical-align: middle;
width: 70px;
height: 70px;
background: #D9D9D6 url(img/blank_avatar.png) 50% 50%;
border-radius: 50%;
margin: 0 0 0 -80px;
}
.testimonial .avatar a {
display: block;
width: 100%;
height: 100%;
}
.testimonial .avatar img {
max-width: 70px;
min-height: 70px;
width: auto;
height: auto;
border-radius: 50%;
}
.testimonial .name {
display: inline-block;
vertical-align: middle;
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
font-size: 1em;
line-height: 1.33em;
color: #838685;
padding: 0 0 0 15px;
}
.testimonial .name strong {
display: block;
color: #11151c;
}
.swiper_testimonials {
position: relative;
padding-bottom: 25px;
overflow: hidden;
}
.swiper_testimonials .testimonial {
border: 0;
padding-top: 0;
}
.swiper_testimonials .testimonial .icon {
top: 0;
}
@media screen and (max-width: 767px) {
	.testimonial p {
	font-size: 1em;
	}
}


/* Podcast episode listings
....................................................................... */
.podcast {
border-bottom: 1px solid #D9D9D6;
padding: 0 0 10px 0;
margin: 0 0 30px 0;
}
.podcast .pic {
position: relative;
display: inline-block;
vertical-align: top;
width: 25%;
box-sizing: border-box;
padding: 5px 25px 0 0;
}
.podcast .description {
display: inline-block;
vertical-align: top;
width: 75%;
}
.podcast h3 a,
.podcast h4 a {
color: #11151c;
}
.podcast h3 a:hover,
.podcast h4 a:hover {
color: #D21C36;
}
.podcast .podcast_meta {
font-size: 0.9em;
line-height: 1.25em;
text-align: right;
margin: 0 0 20px 0;
}
.podcast .podcast_meta a {
font-size: 0.8em;
display: block;
padding: 10px 0 0 0;
}
.podcast .description iframe {
width: 100%;
margin: 0 0 15px 0;
}
@media screen and (max-width: 600px) {
	.podcast .pic,
	.podcast .description {
	display: block;
	width: auto;
	padding: 0;
	}
	.podcast .pic {
	min-height: 75px;
	margin-bottom: 10px;
	}
	.podcast .pic img {
	position: absolute;
	top: 0;
	left: 0;
	width: 75px;
	}
}


/* Podcast channel listings
....................................................................... */
.podcast_channel {
border-bottom: 1px solid #D9D9D6;
padding: 20px 0 40px 0;
margin: 0 0 20px 0;
}
.podcast_channel:last-child {
border: 0;
padding-bottom: 0;
margin-bottom: 0;
}
.podcast_channel .description {
position: relative;
display: inline-block;
vertical-align: top;
width: 31%;
box-sizing: border-box;
margin: 0 -4px 0 0;
}
.podcast_channel .episodes {
display: inline-block;
vertical-align: top;
width: 65.5%;
box-sizing: border-box;
margin: 0 -4px 0 3.5%;
}
@media screen and (max-width: 1023px) {
	.podcast_channel .description {
	display: block;
	width: 100%;
	margin: 0;
	}
	.podcast_channel .episodes {
	display: block;
	width: 100%;
	margin: 0;
	}
}


/* Book listings
....................................................................... */
.books {
display: flex;
flex-wrap: wrap;
}
.book {
display: flex;
box-sizing: border-box;
padding: 0 0.75% 0 0.75%;
margin: 5px 0 30px 0;
}
.span8 .book,
.span9 .book {
flex: 0 0 50%;
}
.span12 .book {
flex: 0 0 33.333%;
}
.book .pic {
flex: 0 0 80px;
transition: all 0.2s;
}
.book .pic:hover {
-webkit-transform: scale(1.05);
-ms-transform: scale(1.05);
transform: scale(1.05);
}
.book .text {
margin: 0 10px 0 20px;
}
.book h4 {
font-family: "Merriweather", serif;
font-weight: 900;
margin: 0 0 10px 0;
}
.book h4 a {
color: #11151c;
}
.book h4 a:hover {
color: #D21C36;
}
.book p {
margin: 0;
}
.book .block_bookreview {
margin: 0 0 5px 0;
}
.book .block_bookreview p {
display: none;
}
@media screen and (max-width: 1023px) {
	.span12 .book {
	flex: 0 0 50%;
	}
}
@media screen and (max-width: 767px) {
	.span8 .book,
	.span9 .book,
	.span12 .book {
	flex: 0 0 100%;
	}
}


/* Alt book listings
....................................................................... */
.books_alt {
display: flex;
flex-wrap: wrap;
}
.book_alt {
position: relative;
box-sizing: border-box;
padding: 30px 0 50px 0;
margin: 0 1% 30px 1%;
}
.span8 .book_alt,
.span9 .book_alt {
flex: 0 0 31.33%;
}
.span12 .book_alt {
flex: 0 0 23%;
}
.book_alt .pic {
text-align: center;
}
.book_alt .pic a {
display: block;
}
.book_alt .title_book_review {
margin: 0 0 15px 0;
}
.book_alt .title_book_review p {
margin: 0;
}
.book_alt .head {
display: flex;
align-items: flex-start;
padding: 10px 0 0 0;
margin: 0 0 15px 0;
}
.book_alt .head .avatar {
flex: 0 0 65px;
padding: 5px 0 0 0;
margin: 0 15px 0 0;
}
.book_alt h4 {
font-size: 20px;
}
.book_alt .head h4,
.book_alt .title_book_review h4 {
margin: 0;
}
.book_alt .head p {
font-size: 0.9em;
margin: 0;
}
.book_alt h4 a,
.book_alt .head p a {
color: #11151c;
text-decoration: none;
}
.book_alt h4 a:hover,
.book_alt .head p a:hover {
color: #D21C36;
}
.book_alt .description {
font-size: 0.9em;
}
.book_alt p.buttons {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
display: flex;
justify-content: space-between;
box-sizing: border-box;
margin: 0;
}
.book_alt p.buttons a.cta {
flex: 1 1 auto;
font-size: 0.8em;
padding: 8px 10px;
}
.book_alt p.buttons a:nth-child(2) {
margin-left: 10px;
}
.book_alt p.buttons a.cta:only-child {
}
.book_alt p.buttons.buttons_book_review a.cta {
flex: none;
font-size: 0.85em;
padding: 10px 15px;
}
@media screen and (max-width: 1023px) {
	.span12 .book_alt {
	flex: 0 0 48%;
	}
}
@media screen and (max-width: 767px) {
	.span8 .book_alt,
	.span9 .book_alt,
	.span12 .book_alt {
	flex: 0 0 98%;
	}
}


/* Expert listings
....................................................................... */
.expert {
display: inline-block;
vertical-align: top;
box-sizing: border-box;
padding: 0 0.75% 0 0.75%;
margin: 0 -4px 35px 0;
}
.span7 .expert,
.span8 .expert,
.span9 .expert {
display: inline-block;
width: 33.333%;
}
.span10 .expert,
.span11 .expert,
.span12 .expert {
display: inline-block;
width: 25%;
}
.expert .pic {
position: relative;
width: 100%;
background-size: cover;
background-position: 50% 50%;
background-repeat: no-repeat;
padding-top: 100%;
margin: 0 0 15px 0;
overflow: hidden;
}
.expert .pic a {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: block;
}
.expert .pic a span {
opacity: 0;
position: absolute;
top: 50%;
left: 50%;
width: 10em;
height: 40px;
line-height: 40px;
text-align: center;
text-transform: uppercase;
font-size: 0.7em;
font-weight: normal;
color: #fff;
background: rgba(0,0,0,0.5);
border-radius: 20px;
margin: -20px 0 0 -5em;
transition: all 0.2s;
}
.expert .pic a:hover span {
opacity: 1;
}
.expert h4 {
font-size: 1.1em;
margin: 0 0 10px 0;
}
.expert h4 a {
color: #11151c;
}
.expert h4 a:hover {
color: #D21C36;
}
.expert p {
font-size: 0.9em;
color: #838685;
}
@media screen and (max-width: 1023px) {
	.span10 .expert,
	.span11 .expert,
	.span12 .expert {
	width: 33.333%;
	}
}
@media screen and (max-width: 767px) {
	.span8 .expert,
	.span9 .expert,
	.span10 .expert,
	.span11 .expert,
	.span12 .expert {
	width: 50%;
	}
  .expert h4 {
   font-size: 1em;
  }
  .expert p {
   font-size: 0.75em;
  }
}


/* Expert detail page
....................................................................... */
.expert_detail {
border-bottom: 1px solid #D9D9D6;
padding: 0 0 30px 220px;
margin: 0 0 40px 0;
}
.expert_pic {
display: inline-block;
vertical-align: top;
width: 200px;
margin: 0 20px 0 -220px;
}
.expert_bio {
display: inline-block;
vertical-align: top;
width: 100%;
}
.expert_pic figcaption {
font-size: 0.8em;
color: #888;
text-align: center;
padding: 5px 0 10px 0;
}
.expert_pic .cta {
display: block;
text-align: center;
font-size: 0.8em;
line-height: 1em;
}
.expert_columns {
padding: 0 0 0 0;
}
.expert_columns h2 {
margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.expert_detail {
	padding-left: 0;
	}
	.expert_pic,
	.expert_bio {
	display: block;
	width: 100%;
	margin: 0 0 20px 0;
	}
	.expert_pic {
	text-align: center;
	}
	.expert_pic .cta {
	display: inline-block;
	}
	.expert_columns {
	padding: 30px 0 0 0;
	}
}


/* Event hero carousel
....................................................................... */
.swiper_events {
position: relative;
overflow: hidden;
padding: 10px 0 0 0;
margin: 0 0 30px 0;
}
.swiper_events .swiper-slide {
position: relative;
}
.swiper_events .text {
position: relative;
width: 100%;
min-height: 150px;
background: rgb(35,44,66);
background: linear-gradient(90deg, rgba(40,42,47,1) 40%, rgba(40,42,47,0) 70%);
box-sizing: border-box;
padding: 45px 50% 75px 45px;
z-index: 1;
}
.swiper_events .text h1,
.swiper_events .text h2,
.swiper_events .text h3,
.swiper_events .text h4,
.swiper_events .text h5,
.swiper_events .text h6,
.swiper_events .text p,
.swiper_events .text a {
color: #fff;
}
.swiper_events .text p:last-child {
margin: 0;
}
.swiper_events .text a.cta:hover {
color: #11151c;
background: #fff;
border-color: #fff;
}
.swiper_events .text img {
max-height: 65px;
width: auto;
}
.swiper_events figure.pic {
position: absolute;
top: 0;
right: 0;
width: 60%; /* Match end of gradient above (40% from left) */
height: 100%;
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
margin: 0;
z-index: 0;
}
.play_btn {
position: absolute;
top: 50%;
left: 75%;
width: 120px;
height: 120px;
margin: -60px 0 0 -60px;
z-index: 10;
}
.play_btn:hover {
transform: scale(1.025);
}
.play_btn a {
position: absolute;
top: 0;
left: 0;
display: block;
text-align: center;
color: #fff;
background: rgba(40,42,47,0.75);
width: 100%;
height: 100%;
border-radius: 50%;
border: 5px solid #fff;
transition: all 0.2s;
cursor: pointer;
z-index: 10;
-webkit-backface-visibility: hidden;
-webkit-transform: translate3d(0,0,0);
}
.play_btn a:hover {
color: #fff;
background: rgba(40,42,47,1);
transform: scale(1.05);
}
.play_btn a i {
font-size: 3em;
line-height: 120px;
padding: 0 0 0 10px;
}
.play_btn a span {
display: none;
}
.swiper_events nav {
position: absolute;
bottom: 30px;
left: 0;
width: 100%;
text-align: center;
}
.swiper_events .swiper-button-prev,
.swiper_events .swiper-button-next {
position: relative;
top: auto;
left: auto;
right: auto;
display: inline-block;
vertical-align: middle;
width: auto;
height: auto;
color: #fff;
padding: 0;
margin: -2px 0 0 0;
}
.swiper_events .swiper-button-prev span,
.swiper_events .swiper-button-next span {
display: none;
}
.swiper_events .swiper-button-prev:after,
.swiper_events .swiper-button-next:after {
display: none;
}
.swiper_events .swiper-pagination {
position: relative;
top: auto;
left: auto;
width: auto;
bottom: 0;
display: inline-block;
vertical-align: middle;
margin: 0 5px;
}
.swiper_events .swiper-pagination-bullet {
border-color: #fff;
}
.swiper_events .swiper-pagination-bullet-active {
background: #fff;
}
.swiper_events .swiper-pagination-bullet:before,
.swiper_events .swiper-pagination-bullet:before {
color: #fff;
}
.swiper_events ul.tabs {
display: flex;
justify-content: space-evenly;
padding: 0;
margin: 0;
}
.swiper_events .tabs li {
flex: 1;
font-size: 1em;
font-weight: 700;
line-height: 1.25em;
text-transform: uppercase;
text-align: center;
background: #D9D9D6;
border-left: 2px solid #fff;
padding: 15px 10px;
margin: 0;
cursor: pointer;
transition: all 0.2s;
}
.swiper_events .tabs li:first-child {
border: 0;
}
.swiper_events .tabs li:hover {
color: #D21C36;
}
.swiper_events .tabs li.on {
color: #fff;
background: #282a2f;
box-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.1);
}
.swiper_events .tabs li:before {
display: none;
}
@media screen and (max-width: 767px) {
	.swiper_events {
	text-align: center;
	}
	.swiper_events ul.tabs {
	display: none;
	}
	.swiper_events .text {
	width: 100%;
	max-width: none;
	background: #282a2f;
	padding: 30px 30px 80px 30px;
	}
	.swiper_events figure.pic {
	position: relative;
	width: 100%;
	height: 300px;
	}
	.play_btn {
	top: 80px;
	left: 50%;
	width: 120px;
	height: 120px;
	margin: 0 0 0 -60px;
	z-index: 10;
	}
}


/* Event Countdown
....................................................................... */
ul.timer {
padding: 0;
margin: 0 0 10px 0;
}
.timer li {
display: inline-block;
vertical-align: top;
background-image: none;
text-transform: uppercase;
padding: 0;
margin: 0;
}
.timer li:before {
display: none;
}
.timer li strong {
display: block;
font-size: 2.25em;
line-height: 0.8em;
letter-spacing: -0.025em;
font-weight: normal;
color: #d21c36;
}
.span3.sidebar .timer li strong {
font-size: 2em;
}
.timer li em {
display: block;
font-family: "ReplicaRegular", sans-serif;
font-style: normal;
font-weight: normal;
font-size: 0.7em;
text-align: center;
}
.timer li.seperator {
opacity: 0;
font-size: 1.5em !important;
line-height: 1.25em;
font-weight: normal;
color: #d61043;
padding: 0 5px;
}


figure.pic a .banner_countdown,
.post_image .banner_countdown {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
figure.pic a .banner_countdown ul.timer,
.post_image .banner_countdown ul.timer {
padding: 50px 0 20px 0;
margin: 0 0 0 6%;
}
figure.pic a .timer li em,
.post_image .timer li em {
color: #fff;
}


/* Client carousel
....................................................................... */
ul.client_list:not(.wp-block-gallery) {
text-align: center;
padding: 0;
margin: 0 0 10px 0;
}
ul.client_list:not(.wp-block-gallery) li {
display: inline-block;
vertical-align: middle;
background-image: none;
box-sizing: border-box;
padding: 25px 25px;
margin: 0 -4px 0 0;
}
ul.client_list:not(.wp-block-gallery) li:before {
display: none;
}
ul.client_list:not(.wp-block-gallery) li .image {
max-width: 250px;
margin: 0 auto;
}
ul.client_list:not(.wp-block-gallery) li img {
display: block;
max-height: 100px;
width: auto;
margin: 0 auto;
}
@media screen and (max-width: 767px) {
	ul.client_list:not(.wp-block-gallery) li .image {
	max-width: 100px;
	}
}
.swiper_clients {
position: relative;
margin: 20px 0 20px 0;
overflow: hidden;
}
.swiper_clients ul.swiper-wrapper {
padding: 0;
margin: 0;
}
.swiper_clients li.swiper-slide {
list-style: none;
padding: 0;
margin: 0;
}
.swiper_clients li.swiper-slide:before {
display: none;
}
.swiper_clients ul.client_list:not(.wp-block-gallery) {
padding: 0 25px;
}


/* Sidebar
....................................................................... */
@media screen and (min-width: 1024px) {
	.sticky_container {
	position: relative;
	}
	.sidebar.sticky.stickytop {
	position: fixed;
	top: 80px;
	}
	.sidebar.sticky.stickybottom {
	position: absolute;
	top: auto;
	bottom: 0;
	}
}
.widget {
clear: both;
position: relative;
padding: 0 0 0 0;
margin: 0 0 30px 0;
}
.widget:last-child {
margin: 0;
}
.widget p:not(.viewall) {
font-size: 1em;
margin: 0 0 10px 0;
}
.widget p.title {
font-weight: 700;
font-size: 23px;
line-height: 1.2em;
margin: 0 0 0.85em 0;
}
.widget ul {
padding: 0;
margin: -10px 0 0 0;
}
.widget li {
position: relative;
border-bottom: 1px solid #D9D9D6;
background-image: none;
padding: 15px 0;
margin: 0;
}
.widget li:last-child {
border: 0;
}
.widget li:before {
display: none;
}
.widget li a {
position: relative;
display: block;
font-weight: 700;
font-size: 1em;
line-height: 1.5em;
text-decoration: none;
color: #11151c;
padding: 0 15px 0 0;
}
.widget li a:after {
content: "\f054";
position: absolute;
right: 0;
top: 5px;
display: inline-block;
font-family: "Font Awesome 5 Free";
line-height: 1;
font-size: 15px;
font-weight: 700;
color: #11151c;
}
.widget li a:hover {
color: #D21C36;
}
.widget.widget_boxed {
clear: both;
background: #D9D9D6;
padding: 25px;
}
.widget.widget_boxed p:last-of-type {
margin: 0;
}
.widget > a > img {
display: block;
margin: 0 auto;
}
.widget.widget_about {
clear: both;
background: #D9D9D6;
text-align: center;
}
.widget.widget_about p.title {
display: none;
}
.widget.widget_about .text {
padding: 25px;
}
.widget.widget_about a.cta {
margin: 15px auto 0 auto;
}
.widget.widget_about figure.image {
margin: 0;
}

.widget.widget_latest_book_review p.title {
display: none;
}
.widget.widget_latest_book_review .book .pic {
flex: 0 0 60px;
}
.widget.widget_latest_book_review .book h4 {
min-height: 90px;
}
.widget.widget_latest_book_review .book p {
margin-left: -80px;
}


/* Homepage top row customisations
....................................................................... */
.home_toprow {
display: flex;
}
.home_toprow .col1 {
flex: 0 0 30%;
margin: 0 3.5% 0 0;
}
.home_toprow .col2 {
flex: 0 0 39.625%;
margin: 0 3.5% 0 0;
}
.home_toprow .col3 {
flex: 0 0 23.375%;
margin: 0;
}
.home_toprow .col3 > h4 {
margin-bottom: 30px;
}

@media screen and (max-width: 1023px) {
	.home_toprow {
	flex-wrap: wrap;
	}
	.home_toprow .col1 {
	flex: 0 0 39.625%;
	}
	.home_toprow .col2 {
	flex: 0 0 56.875%;
	margin: 0;
	}
	.home_toprow .col3 {
	flex: 0 0 100%;
	}
	.home_toprow .posts_compact {
	display: flex;
	}
	.home_toprow .posts_compact .post {
	flex: 0 0 48.25%;
	}
	.home_toprow .posts_compact .post:last-child {
	margin-left: auto;
	}
}
@media screen and (max-width: 767px) {
	.home_toprow .col1,
	.home_toprow .col2,
	.home_toprow .col3 {
	flex: 0 0 100%;
	margin: 0;
	}
	.home_toprow .col1 {
	order: 2;
	}
	.home_toprow .col2 {
	order: 1;
	}
	.home_toprow .col3 {
	order: 3;
	}
	.home_toprow .posts_compact {
	flex-wrap: wrap;
	}
	.home_toprow .posts_compact .post {
	flex: 0 0 100%;
	margin-right: 0;
	}
	.home_toprow .post.primary {
	margin-bottom: 20px;
	}
}


/* Homepage popular posts customisations
....................................................................... */
body.home .posts_minimal {
margin: 0 0 30px 0;
}


/* Homepage podcasts customisation
....................................................................... */
.home_podcasts .home_podcast {
margin: 0 0 30px 0;
}
.home_podcasts h4 {
font-family: "Merriweather", serif;
font-weight: 900;
}
/*.home_podcast .podcast_widget_content p:not(:has(iframe)) {
display: none;
}*/
.home_podcast .podcast_widget_content p {
font-size: 0;
}

/* Homepage newsletter customisation
....................................................................... */
.box.box_newsletter img {
max-width: 150px;
}
.box.box_newsletter h2 {
color: #D21C36;
}
.box.box_newsletter label {
position: absolute;
top: -9999px;
left: -9999px;
}


/* Homepage Dead Drop customisation
....................................................................... */
.homepage_deaddrop {
}
.homepage_deaddrop .head {
display: flex;
}
.homepage_deaddrop .head .pic {
flex: 0 0 120px;
margin: 0 20px 0 0;
}
.homepage_deaddrop .head .text {
margin: 0 0 30px 0;
}
.homepage_deaddrop .head .text img {
width: 100%;
max-width: 250px;
}
.homepage_deaddrop .head .text h4 {
margin: 10px 0 0 0;
}
@media screen and (max-width: 600px) {
	.homepage_deaddrop {
	display: block;
	}
	.homepage_deaddrop .col {
	width: 100%;
	}
	.homepage_deaddrop .col:last-child {
	padding-top: 30px;
	}
}


/* Homepage news ticker
....................................................................... */
.news_ticker {
position: relative;
min-height: 40px;
overflow: hidden;
margin: 0 0 10px 0;
}
.news_ticker_slide {
position: absolute;
display: inline-block;
white-space: nowrap;
font-size: 0.85em;
padding: 10px 0;
}
.news_ticker_slide a {
display: inline-block;
color: #11151c;
text-decoration: none;
font-weight: 700;
padding: 0 15px;
text-decoration: none;
}
.news_ticker_slide a:hover {
color: #D21C36;
}
.news_ticker_slide a .date {
color: #838685;
font-size: 0.85em;
font-weight: 400;
}


/* Advertisements
....................................................................... */
.intersector {
/* Where ads are dynamically placed at intervals within main content via js */
clear: both;
position: relative;
margin: 50px 0;
z-index: 1;
}
body:not(.home) .intersector:first-of-type {
/* Always at top of page on interior pages */
margin-top: 0;
}
body.home .intersector {
border-top: 1px solid #D9D9D6;
border-bottom: 1px solid #D9D9D6;
padding: 50px 0;
margin: 20px 0 50px 0;
}
.intersector p,
.intersector figure {
margin: 0;
}
.intersector img {
display: block;
margin: 0 auto;
}
.homepage_advertisement {
/* Non full width ads on homepage */
margin: 0 0 30px 0;
}
.homepage_header_advertisement {
/* Top full width ad on homepage */
border-bottom: 1px solid #D9D9D6;
padding: 0 0 50px 0;
margin: 0 0 50px 0;
}
.homepage_header_advertisement:nth-child(2),
.span4 .homepage_header_advertisement:last-child {
border: 0;
padding: 0;
margin: 0 0 30px 0;
}
@media screen and (max-width: 767px) {
	.intersector {
	margin: 30px 0;
	}
	body.home .intersector {
	padding: 30px 0;
	margin: 30px 0;
	}
	.homepage_header_advertisement {
	padding: 0 0 30px 0;
	margin: 0 0 30px 0;
	}
}


/* Dead drop archive page
....................................................................... */
.dead_drop_intro {
width: 100vw;
position: relative;
left: 50%;
color: #fff;
background: rgb(17,21,28);
background: linear-gradient(180deg, rgba(17,21,28,1) 90%, rgba(17,21,28,0) 90%);
box-sizing: border-box;
padding: 50px 0 0 0;
margin: 0 0 30px -50vw;
z-index: 0;
}
.intersector + .dead_drop_intro {
padding-top: 100px;
margin-top: -100px;
z-index: 0;
}
.dead_drop_intro .hero {
position: relative;
padding: 0 0 75px 0;
}
.dead_drop_intro .hero .pic {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url(img/bg_dead_drop.jpg) 100% 0 no-repeat;
background-size: auto 115%;
z-index: 0;
}
.dead_drop_intro .hero .text {
position: relative;
width: 60%;
z-index: 1;
}
.dead_drop_intro .hero h2,
.dead_drop_intro .hero h3,
.dead_drop_intro .hero h4,
.dead_drop_intro .hero h5,
.dead_drop_intro .hero a {
color: #fff;
}
.dead_drop_intro .hero h3 {
font-weight: 400;
font-style: italic;
}
.dead_drop_intro .hero p:last-child {
margin: 0;
}
.dead_drop_intro .posts_featured_dead_drop {
margin: -20px 0 0 0;
}

.dead_drop_filter {
display: flex;
margin: 0 0 30px 0;
}
.dead_drop_filter .title h2 {
margin: 0;
}
.dead_drop_filter .filter {
margin-left: auto;
}
.dead_drop_filter label form {
margin: 0;
}
.dead_drop_filter label {
display: none;
}
.dead_drop_filter select {
display: inline-block;
vertical-align: middle;
width: 12em;
margin: 0;
}
@media screen and (max-width: 1023px) {
	.dead_drop_intro .hero .text {
	width: 100%;
	}
	.dead_drop_intro .hero .pic {
	opacity: 0.33;
	}
}
@media screen and (max-width: 600px) {
	.dead_drop_intro {
	padding-left: 2.5%;
	padding-right: 2.5%;
	}
	.dead_drop_filter {
	display: block;
	margin-bottom: 40px;
	}
	.dead_drop_filter .title h2 {
	margin-bottom: 20px;
	}
}


/* Book review ratings block
....................................................................... */
.block_bookreview {
margin: 0 0 50px 0;
}
.block_bookreview p {
font-weight: 700;
font-style: italic;
}
.block_bookreview .rating_graphic {
max-width: 180px;
}
body.home .block_bookreview .rating_graphic {
max-width: 100px;
}


/* Careers accordion block
....................................................................... */
.accordion {
border-bottom: 1px solid #D9D9D6;
padding: 20px 0 0 0;
}
.accordion_section {
border-top: 1px solid #D9D9D6;
padding: 0 0 20px 0;
}
.accordion_head {
position: relative;
cursor: pointer;
transition: all 0.2s;
padding: 30px 0 0 0;
margin: 0;
transition: all 0.2s;
}
.accordion_head:hover {
opacity: 0.7;
}
.accordion_section.on {
}
.accordion_body {
padding: 0 0 0 0;
}
.accordion_body ul {
margin-top: 0;
}
.accordion_head h2 {
padding-right: 140px;
}
.accordion_head .more {
position: absolute;
top: 40px;
right: 0;
display: inline-block;
color: #D21C36;
font-weight: 400;
padding: 0 0 0 5px;
transition: all 0.2s;
}
.accordion_section.on .accordion_head .more {
opacity: 0;
}
.accordion_head .more i {
font-size: 0.75em;
}
@media screen and (max-width: 767px) {
	.accordion_head .more {
	top: 30px;
	}
}


/* Expert bio block + comment block
....................................................................... */
.block_expertbio {
border-top: 1px solid #D9D9D6;
padding: 20px 0 5px 0;
margin: 30px 0 10px 0;
}
.block_expertbio + .block_expertbio {
border-top: 0;
padding-top: 0;
margin-top: -10px;
}
.block_expertcomment {
margin: 30px 0 30px 0;
}
.block_expertcomment .author .pic {
background: url(img/bg_author_comment.png) 0 0  no-repeat;
background-size: contain;
padding: 21px 0 0 21px;
}
.block_expertcomment h4 a {
color: #fff;
}
.block_expertcomment .author {
color: #fff;
background: #11151c;
border: 0;
padding: 20px;
}
.block_expertcomment .author p {
color: #fff;
}
.block_expertcomment .author .text > p {
font-size: 1em;
font-style: italic;
}
.block_expertcomment .author .text > p:first-of-type:before {
content: '“';
}
.block_expertcomment .author .text > p:last-of-type:after {
content: '”';
}
.block_expertcomment .author .text .cite {
display: flex;
align-items: flex-end;
}
.block_expertcomment .author .text .cite p {
line-height: 1.2em;
}
.block_expertcomment .author .text .cite p:first-child {
margin-right: 30px;
margin: 0 30px 0 0;
}
.block_expertcomment .author .text .cite p:last-child {
text-align: right;
margin: 0 0 0 auto;
}
.block_expertcomment .author .text .cite p strong {
display: block;
margin: 0 0 5px 0;
}
@media screen and (max-width: 767px) {
	.block_expertcomment .author .pic {
	background-image: none;
	padding: 0;
	}
}


/* Book catalogue block
....................................................................... */
.catalogue {
display: flex;
align-items: flex-start;
border-bottom: 1px solid #D9D9D6;
padding: 0 0 20px 0;
margin: 0 0 20px 0;
}
.catalogue figure.pic {
flex: 0 0 100px;
aspect-ratio: 1 / 1;
overflow: hidden;
margin: 0;
}
.catalogue .pic img {
width: 100%;
height: 100% !important;
object-fit: cover;
}
.catalogue .text {
flex: 1 1 auto;
padding: 0 0 0 20px;
}
.catalogue h4 {
font-size: 20px;
font-weight: 600;
margin: 0 0 10px 0;
}
.catalogue h4 a {
color: #11151c;
text-decoration: underline;
}
.catalogue h4 a:hover {
color: #D21C36;
}
.catalogue p {
font-size: 0.9em;
color: #838685;
}
.catalogue p:last-child {
margin: 0;
}
.catalogue ul {
columns: 2;
column-gap: 30px;
margin: 0;
}
.catalogue ul li {
break-inside: avoid;
}
@media screen and (max-width: 767px) {
	.catalogue figure.pic {
	flex: 0 0 60px;
	}
	.catalogue .text {
	padding-left: 15px;
	}
	.catalogue ul {
	columns: 1;
	}
}


/* About is page gutenberg boxes with class
....................................................................... */
.wp-block-column.contactbox {
background: #D9D9D6;
border-left: 5px solid #D21C36;
padding: 30px;
}
.wp-block-column.contactbox h5 {
margin: 0;
}
.wp-block-column.contactbox h5:before {
font-family: "Font Awesome 5 Free";
content: '\f0e0';
display: block;
width: 36px;
height: 36px;
line-height: 36px;
font-size: 20px;
font-weight: 400;
text-align: center;
color: #11151c;
background: #fff;
box-shadow: 0 0 5px rgba(0,0,0,0.25);
border-radius: 50%;
margin: 0 10px 10px 0;
}



/* Footer
....................................................................... */
footer {
padding: 50px 0 0 0;
}
footer p {
font-size: 0.9em;
}
footer a {
text-decoration: none;
color: #11151c;
}
footer a:hover {
color: #D21C36;
}
footer .footer_menu ul {
padding: 0;
margin: 0;
}
footer .footer_menu ul li {
font-size: 0.8em;
font-weight: 700;
text-transform: uppercase;
padding: 5px 0;
margin: 0;
}
footer ul li:before {
display: none;
}

footer #footer_contact {
text-align: right;
}
footer #footer_contact strong {
display: block;
}
footer #footer_contact img {
max-width: 190px;
}
footer .row.copyright {
font-size: 0.8em;
color: #838685;
border-top: 1px solid #D9D9D6;
padding: 30px 0 30px 0;
margin: 20px 0 0 0;
}
footer .copyright a {
color: #838685;
text-decoration: underline;
}
footer .copyright a:hover {
color: #11151c;
}
footer .copyright ul {
display: inline-block;
vertical-align: middle;
width: 75%;
margin: 0 -4px 0 0;
}
footer .copyright ul li {
display: inline-block;
vertical-align: top;
padding: 0;
margin: 0 5px;
}
footer .copyright ul li:before {
display: none;
}
footer .copyright ul li:first-of-type {
margin-left: 0;
}
footer .copyright p {
display: inline-block;
vertical-align: middle;
width: 25%;
text-align: right;
margin: 0 -4px 0 0;
}
@media screen and (max-width: 1023px) {
	footer .footer_menu ul {
	text-align: center;
	padding: 0;
	margin: 0;
	}
	footer .footer_menu ul li {
	display: inline-block;
	padding: 5px 8px;
	margin: 0;
	}
	footer #footer_contact {
	text-align: center;
	padding: 20px 0 0 0;
	margin: 0;
	}
	footer .copyright ul,
	footer .copyright p {
	display: block;
	width: 100%;
	text-align: center;
	margin: 10px 0;
	}
}


/* Search Modal
....................................................................... */
.searchmodal {
background: rgba(0, 0, 0, 0.9);
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
z-index: 9999999999;
display: flex;
justify-content: center;
align-items: center;
display: none;
}
.searchmodal_content {
position: relative;
width: 90%;
max-width: 550px;
box-sizing: border-box;
padding: 20px;
margin: 0 auto;
z-index: 99999999999;
}
.searchmodal_content p {
font-size: 0.9em;
color: #fff;
}
.searchmodal_content p strong {
font-weight: 700;
font-size: 34px;
line-height: 1.15em;
margin: 0 0 0.6em 0;
}
.searchmodal_close {
position: absolute;
top: 30px;
right: 20px;
width: 30px;
height: 30px;
line-height: 30px;
text-align: center;
color: #fff;
font-size: 1.5em;
cursor: pointer;
z-index: 999999999999;
}
.searchmodal_close:hover {
color: #fff;
}
.searchmodal_close .text {
display: none;
}
@media screen and (max-width: 767px) {
	.searchmodal_close {
	top: 20px;
	font-size: 1.25em;
	}
}


/* Video Modals
....................................................................... */
.videomodal {
display: none;
background: rgba(0,0,0,0.9);
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999999999;
}
.videomodal_content {
position: fixed;
top: 4%;
left: 4%;
width: 92%;
height: 92%;
text-align: center;
overflow: hidden;
color: #fff;
box-sizing: border-box;
margin: 0;
z-index: 99999999999;
float: left;
display: table;
vertical-align: middle;
}
.videomodal .centertop {
display: table-cell;
vertical-align: middle;
}
.modalvideo {
display: block;
}
.videomodal_content iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.videomodal_close {
position: absolute;
top: 15px;
right: 15px;
width: 30px;
height: 30px;
z-index: 999999999999;
color: #D21C36;
font-size: 2em;
cursor: pointer;
}
.videomodal_close:hover {
color: #fff;
}
.videomodal_close .text {
display: none;
}
.videomodal .addthis_toolbox {
display: none !important;
}
@media screen and (max-width: 767px) {
	.videomodal_content {
	top: 2.5%;
	left: 2.5%;
	width: 95%;
	height: 95%;
	border: 0;
	margin: 0;
	}
	.videomodal_close {
	top: 2.5%;
	right: 2.5%;
	}
}


/* Gutenberg wide layout
....................................................................... */
.alignfull {
margin-left: calc(50% - 50vw) !important;
margin-right: calc(50% - 50vw) !important;
width: 100vw !important;
max-width: 100vw !important;
}
.alignwide {
margin-left: calc(50% - 47.5vw) !important;
margin-right: calc(50% - 47.5vw) !important;
width: 95vw !important;
max-width: 95vw !important;
}
@media screen and (min-width: 1500px) {
	.alignwide {
	margin-left: calc(50% - 45vw) !important;
	margin-right: calc(50% - 45vw) !important;
	width: 90vw !important;
	max-width: 90vw !important;
	}
}


/* Gutenberg color theme 
....................................................................... */
.has-accent-color,
.wp-block-button__link.has-accent-color {
color: #D21C36;
}
.has-accent-background-color,
.wp-block-button__link.has-accent-background-color {
background-color: #D21C36;
}
.has-black-color,
.wp-block-button__link.has-black-color {
color: #11151c;
}
.has-black-background-color,
.wp-block-button__link.has-black-background-color {
background-color: #11151c;
}
.has-dark-color,
.wp-block-button__link.has-dark-color {
color: #222c42;
}
.has-dark-background-color,
.wp-block-button__link.has-dark-background-color {
background-color: #222c42;
}
.has-medium-color,
.wp-block-button__link.has-medium-color {
color: #838685;
}
.has-medium-background-color,
.wp-block-button__link.has-medium-background-color {
background-color: #838685;
}
.has-light-color,
.wp-block-button__link.has-light-color {
color: #bbb;
}
.has-light-background-color,
.wp-block-button__link.has-light-background-color {
background-color: #bbb;
}
.has-very-light-color,
.wp-block-button__link.has-very-light-color {
color: #D9D9D6;
}
.has-very-light-background-color,
.wp-block-button__link.has-very-light-background-color {
background-color: #D9D9D6;
}
.has-white-color,
.wp-block-button__link.has-white-color {
color: #fff;
}
.has-white-background-color,
.wp-block-button__link.has-white-background-color {
background-color: #fff;
}


/* Gutenberg Pullquote
....................................................................... */
.wp-block-pullquote {
border-top: 3px;
border-bottom: 3px;
border-style: solid;
margin-bottom: 25px;
}
.wp-block-pullquote blockquote {
background: transparent;
border: 0;
padding: 0 5%;
margin: 0;
}


/* Gutenberg Table
....................................................................... */
.wp-block-table {
margin: 0 0 1.5em 0;
}
.wp-block-table table th {
text-align: left;
padding: 10px;
}
.wp-block-table table td {
padding: 10px;
}
.wp-block-table.is-style-regular table {
border-collapse: collapse;
border: 1px solid #f4f4f4;
}
.wp-block-table.is-style-regular table tr th,
.wp-block-table.is-style-regular table tr td {
border: 0;
border-bottom: 1px solid #f4f4f4;
border-right: 1px solid #f4f4f4;
}
.wp-block-table.is-style-regular table tr th:last-of-type,
.wp-block-table.is-style-regular table tr td:last-of-type {
border-right: 0;
}
.wp-block-table.is-style-regular table tbody tr:last-of-type td {
border-bottom: 0;
}
.wp-block-table.is-style-regular table tfoot tr td {
border-top: 1px solid #f4f4f4;
}
.wp-block-table figcaption {
font-size: 0.8em;
color: #838685;
padding: 10px;
}


/* Gutenberg Cover
....................................................................... */
.wp-block-cover {
overflow: hidden !important;
margin-bottom: 25px;
}
.wp-block-cover img.wp-block-cover__image-background,
.wp-block-cover video.wp-block-cover__video-background,
.wp-block-cover-image img.wp-block-cover__image-background,
.wp-block-cover-image video.wp-block-cover__video-background {
height: 100% !important;
}
.wp-block-cover p:last-child {
margin: 0;
}


/* Gutenberg Gallery
....................................................................... */
.wp-block-gallery li:before {
display: none;
}
.wp-block-gallery li.blocks-gallery-item {
overflow: hidden;
padding: 0;
}


/* Gutenberg Separator
....................................................................... */
.wp-block-separator {
border-top: 1px solid !important;
border-color: #D9D9D6 !important;
}


/* Advanced Gutenberg Login Form
....................................................................... */
.advgb-lores-form-wrapper .advgb-lores-form .advgb-form-inner {
box-sizing: border-box;
}


/* Gutenberg Buttons
....................................................................... */
.wp-block-button a {
font-family: "ReplicaMono", sans-serif;
font-weight: 400;
font-size: 1em;
font-weight: 700;
padding: 16px;
}


/* Social warfare customisations
....................................................................... */
.swp_social_panel .swp_share_button {
background: #fff !important;
border-color: #fff !important;
}
.swp_social_panel .nc_tweetContainer a.nc_tweet {
color: #11151c;
background: #fff;
}
.swp_social_panel.swp_other_full_color:hover a {
color: #11151c !important;
}
.swp_social_panel .nc_tweetContainer.swp_twitter a.nc_tweet:hover {
background: #000;
color: #fff !important;
}
.swp_social_panel .nc_tweetContainer.swp_linkedin a.nc_tweet:hover {
background: #127db5;
color: #fff !important;
}
.swp_social_panel .nc_tweetContainer.swp_pinterest a.nc_tweet:hover {
background: #e60023;
color: #fff !important;
}
.swp_social_panel .nc_tweetContainer.swp_facebook a.nc_tweet:hover {
background: #084b8f;
color: #fff !important;
}


/* Legacy selectors from old site
....................................................................... */
a.red-button {
display: inline-block;
text-decoration: none;
font-size: 0.9em;
font-weight: normal;
line-height: 1.25em;
text-transform: uppercase;
color: #fff;
background: #D21C36;
padding: 10px 20px;
margin: 10px 0 10px 0;
border-radius: 5px;
border: none;
box-shadow: none;
}
a.red-button:hover {
color: #fff;
background: #222c42;
text-decoration: none;
}
