/*
Theme Name: Genesis Bookmakertesten
Theme URI: https://www.bookmakertesten.com/
Description: Bookmaker comparison and awards theme for the Genesis Framework. A faithful translation of the Awards directory design onto Genesis markup.
Author: Pedro Lima
Author URI: https://www.bookmakertesten.com/

Version: 1.0.0

Tags: accessibility-ready, block-styles, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, one-column, right-sidebar, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, two-columns, wide-blocks

Template: genesis

License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Text Domain: genesis-sample
Requires at least: 5.4
Requires PHP: 5.6
*/

/* Table of Contents
- HTML5 Reset
	- Baseline Normalize
	- Box Sizing
	- Float Clearing
- Design Tokens
- Defaults
	- Typographical Elements
	- Headings
	- Objects
	- Gallery
	- Forms
	- Tables
	- Screen Reader Text
- Grid
	- Container
	- Row and Columns
	- Helpers
- Buttons
- Structure and Layout
	- Site Container
	- Site Inner
	- Content
- Common Classes
	- Avatar
	- Genesis
	- Search Form
	- Titles
	- WordPress
- Widgets
- Plugins
	- Genesis eNews Extended
	- Genesis Simple FAQ
	- WPForms
	- Newsletter
- Skip Links
- Site Header
	- Title Area
- Site Navigation
	- Header Menu
	- Dropdowns
	- Responsive Menu
	- Off Canvas Menu
	- Header Search
	- Footer Menu
- Sections
	- Section Titles
	- Parallax
	- Dark Band
	- Callout
	- Intro
	- Pricing
- Awards
	- Award Card
	- Publisher
	- Progress and Votes
	- Corner Ribbon
	- Share
	- Magnifier Overlay
	- Single Site
	- Filter Bar
	- List Items
- Content Area
	- Entry Content
	- Entry Meta
	- Pagination
	- Entry Comments
	- Author Box
- Sidebar
- Footer Widgets
- Site Footer
- WooCommerce
- Media Queries
	- Max-width: 1228px
	- Max-width: 992px
	- Max-width: 902px
	- Max-width: 768px
	- Max-width: 500px
	- Min-width: 768px
	- Min-width: 992px
	- Min-width: 1200px
- Print Styles
*/


/* HTML5 Reset
---------------------------------------------------------------------------- */

/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
---------------------------------------------------------------------------- */
/* stylelint-disable */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}
/* stylelint-enable */

/* Box Sizing
--------------------------------------------- */

html {
	box-sizing: border-box;
}

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

/* Float Clearing
--------------------------------------------- */

.author-box::before,
.awards-wrapper::before,
.clearfix::before,
.entry::before,
.entry-content::before,
.footer-widgets::before,
.nav-primary::before,
.nav-secondary::before,
.pagination::before,
.row::before,
.section::before,
.site-container::before,
.site-footer::before,
.site-header::before,
.site-inner::before,
.widget::before,
.wrap::before {
	content: " ";
	display: table;
}

.author-box::after,
.awards-wrapper::after,
.clearfix::after,
.entry::after,
.entry-content::after,
.footer-widgets::after,
.nav-primary::after,
.nav-secondary::after,
.pagination::after,
.row::after,
.section::after,
.site-container::after,
.site-footer::after,
.site-header::after,
.site-inner::after,
.widget::after,
.wrap::after {
	clear: both;
	content: " ";
	display: table;
}


/* Design Tokens
---------------------------------------------------------------------------- */

:root {

	/* Brand palette */
	--bt-navy: #0b2341;
	--bt-navy-light: #16345c;
	--bt-navy-deep: #06111f;
	--bt-gold: #d4af37;
	--bt-gold-dark: #b8952e;
	--bt-gold-light: #e3c765;

	/* Semantic roles */
	--bt-accent: var(--bt-gold);
	--bt-accent-dark: var(--bt-gold-dark);
	--bt-dark: var(--bt-navy);
	--bt-black: var(--bt-navy);

	/* Gold is too light to carry white text, so anything sitting on the accent
	   uses navy. Keeps every filled control above 4.5:1. */
	--bt-on-accent: var(--bt-navy);
	--bt-on-dark: var(--bt-white);

	/* Neutrals */
	--bt-text: #333;
	--bt-muted: #6d7480;
	--bt-band: #f4f6f9;
	--bt-light: #e6e6e6;
	--bt-border: #e2e6ec;
	--bt-white: #fff;

	/* Social */
	--bt-facebook: #3b5998;
	--bt-twitter: #1da1f2;
	--bt-google: #34a853;
	--bt-pinterest: #bd081c;

	/* Type */
	--bt-font-heading: "Montserrat", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, sans-serif;
	--bt-font-body: var(--bt-font-heading);
	--bt-heading-line: 1.2;
	--bt-heading-weight: 700;
	--bt-display-spacing: -0.02em;

	/* Rhythm */
	--bt-section-padding: 90px;
	--bt-card-padding: 30px;
	--bt-nav-height: 90px;
	--bt-mobile-header-height: 100px;
	--bt-adminbar-height: 0px;
	--bt-gutter: 15px;

	/* Motion */
	--bt-transition: all 0.3s ease-in-out;
}

/* WP core's own admin bar breakpoint/heights (32px desktop, 46px at
   max-width 782px) — mirrored here as a token so the sticky mobile header
   and full-height hero can subtract it precisely instead of overflowing
   the fold by exactly that amount when a logged-in user is viewing the
   front end. */
.admin-bar {
	--bt-adminbar-height: 32px;
}

@media screen and (max-width: 782px) {

	.admin-bar {
		--bt-adminbar-height: 46px;
	}

}


/* Defaults
---------------------------------------------------------------------------- */

/* Typographical Elements
--------------------------------------------- */

html {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

body {
	background-color: var(--bt-white);
	color: var(--bt-text);
	font-family: var(--bt-font-body);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
	margin: 0;
	overflow-x: hidden;
}

body.boxed .site-container {
	background-color: var(--bt-white);
	margin: 40px auto;
	max-width: 1280px;
	overflow-x: hidden;
}

body.boxed {
	background-color: #e9e7e4;
}

/* Gold on white only reaches 2:1, so text links are navy and gold is kept for
   fills and accents. */
a {
	color: var(--bt-navy);
	outline: none;
	text-decoration: none;
	transition: var(--bt-transition);
}

a:focus,
a:hover {
	color: var(--bt-gold-dark);
	text-decoration: none;
}

.entry-content a,
.bt-facts a,
.bt-review__intro a {
	text-decoration: underline;
}

p {
	margin: 0 0 20px;
	padding: 0;
}

ol,
ul {
	margin: 0 0 20px;
	padding: 0;
}

ol li,
ul li {
	margin-bottom: 5px;
}

li {
	list-style-type: none;
}

hr {
	border: 0;
	border-collapse: collapse;
	border-top: 1px solid var(--bt-border);
	clear: both;
	margin: 30px 0;
}

hr.invis {
	border: 0;
	margin: 30px 0;
}

b,
strong {
	font-weight: 700;
}

blockquote,
cite,
em,
i {
	font-style: italic;
}

mark {
	background-color: var(--bt-accent);
	color: var(--bt-on-accent);
}

blockquote {
	background-color: var(--bt-light);
	color: var(--bt-muted);
	font-size: 21px;
	line-height: 28px;
	margin: 30px 0;
	padding: 25px 30px;
}

blockquote::before {
	content: "";
}

pre {
	border: 1px solid #d1d1d1;
	font-size: 12px;
	line-height: 1.3125;
	margin: 0 0 1.75em;
	max-width: 100%;
	overflow: auto;
	overflow-wrap: break-word;
	padding: 1.75em;
	white-space: pre-wrap;
}

code {
	background-color: var(--bt-light);
	padding: 2px 6px;
}

/* Headings
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	color: var(--bt-dark);
	font-family: var(--bt-font-heading);
	font-weight: var(--bt-heading-weight);
	line-height: var(--bt-heading-line);
}

a h1,
a h2,
a h3,
a h4,
a h5,
a h6,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: var(--bt-dark);
	font-family: var(--bt-font-heading);
	font-weight: var(--bt-heading-weight);
	line-height: var(--bt-heading-line);
}

/* Montserrat sets wide by default, so display sizes pull back in. */
h1,
h2,
.h1,
.h2,
.small-title,
.callout h3,
.intro h2,
.entry-title {
	letter-spacing: var(--bt-display-spacing);
}

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

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

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

h4,
.h4 {
	font-size: 18px;
}

h5,
.h5 {
	font-size: 14px;
}

h6,
.h6 {
	font-size: 12px;
}

h1,
h2,
h3,
.h1,
.h2,
.h3 {
	margin-bottom: 10px;
	margin-top: 20px;
}

h4,
h5,
h6,
.h4,
.h5,
.h6 {
	margin-bottom: 10px;
	margin-top: 10px;
}

h1 small,
h2 small,
h3 small,
h1 .small,
h2 .small,
h3 .small {
	font-size: 65%;
}

h4 small,
h5 small,
h6 small,
h4 .small,
h5 .small,
h6 .small {
	font-size: 75%;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small {
	color: var(--bt-text);
	font-weight: 400;
	line-height: 1;
}

/* The recurring uppercase, letter-spaced eyebrow used across cards and meta. */
.eyebrow,
.about-message small,
.section-title small,
.site-publisher small,
.site-small-desc p {
	display: block;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
}

/* Objects
--------------------------------------------- */

embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
	vertical-align: top;
}

figure {
	margin: 0;
}

/* Gallery
--------------------------------------------- */

.gallery {
	overflow: hidden;
}

.gallery img {
	border: 1px solid var(--bt-border);
	height: auto;
	padding: 4px;
}

.gallery img:focus,
.gallery img:hover {
	border: 1px solid var(--bt-muted);
}

.gallery-item {
	float: left;
	margin: 0 0 30px;
	text-align: center;
}

.gallery-columns-1 .gallery-item {
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	width: 50%;
}

.gallery-columns-3 .gallery-item {
	width: 33%;
}

.gallery-columns-4 .gallery-item {
	width: 25%;
}

.gallery-columns-5 .gallery-item {
	width: 20%;
}

.gallery-columns-6 .gallery-item {
	width: 16.6666%;
}

.gallery-columns-7 .gallery-item {
	width: 14.2857%;
}

.gallery-columns-8 .gallery-item {
	width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	width: 11.1111%;
}

.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1),
.gallery-columns-7 .gallery-item:nth-child(7n+1),
.gallery-columns-8 .gallery-item:nth-child(8n+1),
.gallery-columns-9 .gallery-item:nth-child(9n+1) {
	clear: left;
}

.gallery-caption {
	color: var(--bt-dark);
	display: block;
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.wp-caption {
	background-color: var(--bt-white);
	border: 1px solid #f0f0f0;
	margin-left: auto;
	margin-right: auto;
	max-width: 96%;
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption img {
	border: 0;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.wp-caption.alignnone,
.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

/* Forms
--------------------------------------------- */

input,
select,
textarea {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-radius: 0;
	box-shadow: none;
	color: var(--bt-muted);
	font-size: 13px;
	font-weight: 400;
	padding: 12px 15px;
	width: 100%;
}

input:focus,
textarea:focus {
	border-color: var(--bt-dark);
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

::-moz-placeholder {
	color: var(--bt-muted);
	opacity: 1;
}

::-webkit-input-placeholder {
	color: var(--bt-muted);
}

label {
	display: block;
	font-size: 13px;
	font-weight: 400;
	margin-bottom: 8px;
}

select {
	appearance: none;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23999'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
	background-position: right 10px center;
	background-repeat: no-repeat;
	background-size: 20px 20px;
	max-width: 100%;
	padding-right: 36px;
}

textarea {
	min-height: 120px;
	resize: vertical;
}

/* Genesis and WordPress render these as native form controls. */
.post-password-form label {
	float: left;
	margin-right: 2px;
}

.post-password-form input[type="password"] {
	background-color: var(--bt-light);
	border: 0;
	display: inline-block;
	font-size: 11px;
	height: 40px;
	letter-spacing: 2px;
	padding-left: 20px;
	padding-right: 0;
	text-transform: uppercase;
}

.post-password-form input[type="password"]:focus {
	outline: none;
}

.post-password-form input[type="submit"] {
	background-color: var(--bt-accent);
	border: 1px solid var(--bt-accent);
	color: var(--bt-on-accent);
	height: 40px;
	padding: 0 15px;
	width: auto;
}

/* Tables
--------------------------------------------- */

table {
	border: 1px solid var(--bt-border);
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 40px;
	width: 100%;
	word-break: break-all;
}

tbody {
	border-bottom: 1px solid var(--bt-border);
}

td,
th {
	border: 1px solid var(--bt-border);
	padding: 5px;
	text-align: left;
}

th {
	color: var(--bt-dark);
	font-weight: 500;
}

caption {
	caption-side: top;
	font-size: 13px;
	padding: 6px 0;
	text-align: left;
}

.wp-calendar-table td#today {
	background-color: var(--bt-navy);
	border-color: var(--bt-navy);
	color: var(--bt-white);
}

/* Screen Reader Text
--------------------------------------------- */

.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.widget_search input[type="submit"]:focus {
	background-color: var(--bt-white);
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: var(--bt-dark);
	display: block;
	font-size: 1em;
	font-weight: 700;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000;
}

.more-link {
	position: relative;
}


/* Grid
---------------------------------------------------------------------------- */

/* A dependency-free flexbox reimplementation of the Bootstrap 3 grid the
   original Awards markup relies on, so ported templates work unmodified. */

/* Container
--------------------------------------------- */

.container,
.container-fluid {
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--bt-gutter);
	padding-right: var(--bt-gutter);
	width: 100%;
}

.container-header {
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--bt-gutter);
	padding-right: var(--bt-gutter);
	width: 100%;
}

/* Row and Columns
--------------------------------------------- */

.row {
	display: flex;
	flex-wrap: wrap;
	margin-left: calc(var(--bt-gutter) * -1);
	margin-right: calc(var(--bt-gutter) * -1);
}

/* Kept at single-class specificity so the `.col-*-n` widths below can win. */
[class*="col-"] {
	min-height: 1px;
	padding-left: var(--bt-gutter);
	padding-right: var(--bt-gutter);
	position: relative;
	width: 100%;
}

.col-xs-1 { width: 8.3333%; }
.col-xs-2 { width: 16.6667%; }
.col-xs-3 { width: 25%; }
.col-xs-4 { width: 33.3333%; }
.col-xs-5 { width: 41.6667%; }
.col-xs-6 { width: 50%; }
.col-xs-7 { width: 58.3333%; }
.col-xs-8 { width: 66.6667%; }
.col-xs-9 { width: 75%; }
.col-xs-10 { width: 83.3333%; }
.col-xs-11 { width: 91.6667%; }
.col-xs-12 { width: 100%; }

/* Helpers
--------------------------------------------- */

.nopadding {
	padding: 0;
}

.text-left {
	text-align: left;
}

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

.text-right {
	text-align: right;
}

.pull-left {
	float: left;
}

.pull-right {
	float: right;
}

.align-text-right {
	float: right;
}

.list-inline {
	margin: 0;
	padding: 0;
}

.list-inline > li {
	display: inline-block;
	padding-left: 5px;
	padding-right: 5px;
}

.media {
	display: block;
	overflow: hidden;
}

.media-left,
.media-right,
.media-body {
	display: table-cell;
	vertical-align: top;
}

.media-body {
	width: 10000px;
}

.media-left {
	padding-right: 30px;
}

.media-right,
.media > .pull-right {
	color: var(--bt-muted);
	font-size: 11px;
	letter-spacing: 2px;
	padding-left: 10px;
	text-transform: uppercase;
}

.m30 {
	margin-top: 0;
}

.first {
	clear: both;
}

.last {
	margin-right: 0;
}

.visible-sec {
	display: block;
}

.hidden-sec {
	display: none;
}

.no-scroll-xy {
	overflow: hidden !important;
	transition: all 0.4s ease-in-out;
}


/* Buttons
---------------------------------------------------------------------------- */

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.btn-primary,
.btn-offical,
.more-link,
.wp-block-button__link {
	background-color: transparent;
	border: 1px solid var(--bt-dark);
	border-radius: 0;
	color: var(--bt-dark);
	cursor: pointer;
	display: inline-block;
	font-family: var(--bt-font-body);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 1;
	margin: auto;
	padding: 15px 30px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: var(--bt-transition);
	white-space: normal;
	width: auto;
}

button:focus,
button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.button:focus,
.button:hover,
.btn-primary:focus,
.btn-primary:hover,
.btn-offical:focus,
.btn-offical:hover,
.more-link:focus,
.more-link:hover {
	background-color: var(--bt-dark);
	border-color: var(--bt-dark);
	color: var(--bt-white);
}

/* The filled, accent-coloured call to action. */
.button-accent,
.wp-block-button__link,
.wp-block-search .wp-block-search__button {
	background-color: var(--bt-accent);
	border-color: var(--bt-accent);
	color: var(--bt-on-accent);
}

.button-accent:focus,
.button-accent:hover,
.wp-block-button__link:focus,
.wp-block-button__link:hover {
	background-color: var(--bt-dark);
	border-color: var(--bt-dark);
	color: var(--bt-white);
}

.button-light {
	background-color: var(--bt-white);
	border-color: var(--bt-white);
	color: var(--bt-dark);
}

.button-light:focus,
.button-light:hover {
	background-color: var(--bt-accent);
	border-color: var(--bt-accent);
	color: var(--bt-on-accent);
}

/* Solid navy variant, used for controls that sit on a gold or light surface. */
.button-navy {
	background-color: var(--bt-navy);
	border-color: var(--bt-navy);
	color: var(--bt-white);
}

.button-navy:focus,
.button-navy:hover {
	background-color: var(--bt-gold);
	border-color: var(--bt-gold);
	color: var(--bt-on-accent);
}

.more-link {
	line-height: 50px;
	padding-bottom: 0;
	padding-top: 0;
}

.section-button {
	display: block;
	margin-top: 15px;
	position: relative;
	text-align: center;
}

.single-post .section-button {
	background-color: var(--bt-white);
	margin-bottom: 30px;
	margin-top: 0;
	padding: 20px;
}

button:disabled,
button:disabled:hover,
input:disabled,
input:disabled:hover,
input[type="button"]:disabled,
input[type="button"]:disabled:hover,
input[type="reset"]:disabled,
input[type="reset"]:disabled:hover,
input[type="submit"]:disabled,
input[type="submit"]:disabled:hover {
	background-color: var(--bt-border);
	border-color: var(--bt-border);
	color: var(--bt-muted);
	cursor: not-allowed;
}


/* Structure and Layout
---------------------------------------------------------------------------- */

/* Site Container
--------------------------------------------- */

.site-container {
	word-wrap: break-word;
}

/* Site Inner
--------------------------------------------- */

.site-inner {
	background-color: var(--bt-band);
	clear: both;
	padding: var(--bt-section-padding) 0;
}

.site-inner > .wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 1170px;
	padding-left: var(--bt-gutter);
	padding-right: var(--bt-gutter);
	width: 100%;
}

.error404 .site-inner,
.full-width-content.page .site-inner {
	background-color: var(--bt-band);
}

/* Content
--------------------------------------------- */

/* The white card the Awards theme wraps page and post content in. */
.content {
	background-color: var(--bt-white);
	padding: 60px;
}

.content-page {
	min-height: 300px;
}


/* Common Classes
---------------------------------------------------------------------------- */

/* Avatar
--------------------------------------------- */

.avatar {
	border-radius: 50%;
	float: left;
}

.author-box .avatar,
.alignleft .avatar {
	margin-right: 24px;
}

.alignright .avatar {
	margin-left: 24px;
}

.comment .avatar {
	margin: 0 16px 24px 0;
}

/* Genesis
--------------------------------------------- */

.after-entry,
.archive-description,
.author-box {
	background-color: var(--bt-white);
	margin-bottom: 30px;
	padding: 30px;
}

.after-entry {
	text-align: center;
}

.after-entry .widget:last-of-type,
.archive-description p:last-of-type,
.author-box p:last-of-type {
	margin-bottom: 0;
}

.breadcrumb {
	background-color: transparent;
	border-radius: 0;
	color: var(--bt-muted);
	font-weight: 300;
	list-style: none;
	margin-bottom: 0;
	padding: 0;
}

.breadcrumb a,
.breadcrumb > li a,
.breadcrumb > .active {
	color: var(--bt-muted);
	font-weight: 300;
}

.breadcrumb > li + li::before {
	content: "-";
	padding: 0 6px 0 3px;
}

/* Search Form
--------------------------------------------- */

.search-form {
	overflow: hidden;
	position: relative;
}

.search-form label {
	display: block;
	margin-bottom: 0;
	width: 100%;
}

.search-form .screen-reader-text {
	display: none;
}

.search-field,
.search-form input[type="search"] {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-light);
	font-size: 11px;
	font-weight: 400;
	height: 49px;
	letter-spacing: 2px;
	margin-bottom: 0;
	padding: 6px 12px;
	text-transform: uppercase;
	width: 100%;
}

.search-form .search-field:focus {
	outline: none;
}

.search-submit,
.search-form input[type="submit"] {
	display: none;
}

.sidebar .search-field,
.widget .search-field {
	background-color: var(--bt-light);
	text-align: left;
	width: 100%;
}

/* Titles
--------------------------------------------- */

.archive-description .entry-title,
.archive-title,
.author-box-title {
	display: block;
	font-size: 24px;
	margin-bottom: 20px;
}

.entry-title {
	font-size: 36px;
	line-height: 1.2;
	margin: 10px 0;
	word-wrap: break-word;
}

.entry-title a,
.sidebar .widget-title a {
	color: var(--bt-dark);
	text-decoration: none;
}

.entry-title a:focus,
.entry-title a:hover {
	color: var(--bt-accent);
}

.widget-title {
	display: block;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 20px;
	padding: 0;
}

/* WordPress
--------------------------------------------- */

a.aligncenter img {
	display: block;
	margin: 0 auto;
}

a.alignnone {
	display: inline-block;
}

.alignleft {
	float: left;
	margin: 10px 20px 20px 0;
	text-align: left;
}

.alignright {
	float: right;
	margin: 10px 0 20px 20px;
	text-align: right;
}

.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft,
img.alignleft {
	float: left;
	margin: 10px 20px 20px 0;
}

a img.alignright,
img.alignright {
	float: right;
	margin: 10px 0 20px 20px;
}

a img.alignnone,
img.alignnone {
	margin: 10px 20px 20px 0;
}

a img.aligncenter,
img.aligncenter {
	background: none;
	border: 0;
	display: block;
	margin: 0 auto 20px;
	padding: 0;
	text-align: center;
}

.sticky-posts,
.content .sticky {
	background-color: var(--bt-light);
	margin-bottom: 30px;
	padding: 10px;
	text-align: center;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 30px;
}

.bypostauthor > .comment-body > .comment-meta > .comment-author .avatar {
	border: 1px solid #f3f3f3;
}

/* WordPress Blocks
--------------------------------------------- */

.wp-block-button__link {
	border-radius: 30px;
	font-size: 18px;
	margin-bottom: 5px;
}

.is-style-squared .wp-block-button__link {
	border-radius: 0;
}

.wp-block-separator {
	float: none !important;
}

.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	clear: both;
}

.wp-block-pullquote {
	border-style: solid !important;
	border-width: 0 !important;
}

.wp-block-pullquote:not(.is-style-solid-color) {
	background-color: #ecf0f1;
}

figure.wp-block-pullquote {
	padding: 0;
}

blockquote.wp-block-pullquote {
	border-left: 4px solid var(--bt-dark) !important;
}

.wp-block-pullquote blockquote {
	border-color: var(--bt-dark);
	border-width: 0 0 0 4px;
}

.wp-block-pullquote.has-background blockquote {
	background: none;
	border: 0;
}

.wp-block-pullquote p {
	font-size: 32px;
	font-style: italic;
	margin-bottom: 5px;
}

.wp-block-pullquote cite,
.wp-block-pullquote footer,
.wp-block-pullquote__citation {
	text-transform: inherit;
}

blockquote.wp-block-pullquote.alignleft {
	margin: 0.857142857rem 1.714285714rem 0.857142857rem 0 !important;
}

.wp-block-image .alignright {
	margin: 0.857142857rem 0 0.857142857rem 1.714285714rem !important;
}

.wp-block-image .alignleft,
.wp-block-image.is-resized {
	margin: 0.857142857rem 1.714285714rem 0.857142857rem 0 !important;
}

.wp-block-cover,
.wp-block-cover-image {
	margin-bottom: 40px;
	min-height: 330px;
}

.wp-block-cover h2,
.wp-block-cover .wp-block-cover-image-text,
.wp-block-cover .wp-block-cover-text,
.wp-block-cover-image h2,
.wp-block-cover-image .wp-block-cover-image-text,
.wp-block-cover-image .wp-block-cover-text {
	padding: 0;
}

.wp-block-cover p:not(.has-text-color),
.wp-block-cover h1:not(.has-text-color),
.wp-block-cover h2:not(.has-text-color),
.wp-block-cover h3:not(.has-text-color),
.wp-block-cover h4:not(.has-text-color),
.wp-block-cover h5:not(.has-text-color),
.wp-block-cover h6:not(.has-text-color),
.wp-block-cover .wp-block-subhead:not(.has-text-color),
.wp-block-cover-image p:not(.has-text-color),
.wp-block-cover-image h1:not(.has-text-color),
.wp-block-cover-image h2:not(.has-text-color),
.wp-block-cover-image h3:not(.has-text-color),
.wp-block-cover-image h4:not(.has-text-color),
.wp-block-cover-image h5:not(.has-text-color),
.wp-block-cover-image h6:not(.has-text-color),
.wp-block-cover-image .wp-block-subhead:not(.has-text-color) {
	color: var(--bt-white);
}

.wp-block-quote.is-style-large,
.wp-block-quote.is-large {
	padding: 25px;
}

.wp-block-media-text {
	margin-bottom: 15px;
}

.wp-block-media-text.has-background .wp-block-media-text__content p:last-child {
	margin-bottom: 0;
}

.wp-block-group.has-background {
	margin-bottom: 10px;
}

.gallery-carousel,
.wp-block-archives,
.wp-block-archives-dropdown,
.wp-block-categories,
.wp-block-search {
	display: inline-block;
	margin-bottom: 40px;
	width: 100%;
}

.wp-block-search .wp-block-search__input {
	border-color: var(--bt-border);
	float: left;
	max-width: 345px;
	padding: 5px;
}

.wp-block-search .wp-block-search__input:focus {
	outline: none;
}

.wp-block-search .wp-block-search__button {
	height: 45px;
	padding: 0 25px;
}


/* Widgets
---------------------------------------------------------------------------- */

.widget {
	margin-bottom: 30px;
	word-wrap: break-word;
}

.widget ul {
	padding: 0;
}

.widget ul li {
	list-style: none;
	margin-bottom: 5px;
	word-wrap: break-word;
}

.widget ul > li:last-of-type {
	margin-bottom: 0;
}

.widget .sub-menu,
.widget .children {
	padding-left: 10px;
}

.widget .form-group {
	margin-bottom: 30px;
}

/* The tag-pill treatment shared by the tag cloud, category lists and chips. */
.cat_list a,
.blog-tags .cat_list a,
.widget .cat_list a,
.tagcloud a {
	background-color: var(--bt-light);
	border-radius: 2px;
	color: var(--bt-muted);
	display: block;
	padding: 7px 14px;
}

.blog-tags .cat_list a,
.widget .cat_list a,
.tagcloud a {
	background-color: transparent;
	border: 1px solid var(--bt-border);
	font-size: 11px !important;
	opacity: 1;
	padding: 5px 10px;
	text-transform: uppercase;
}

.tagcloud a {
	display: inline-block;
	margin: 5px 0;
}

.cat_list {
	margin: 0;
	padding: 0;
}

.cat_list li {
	margin: 5px 0;
}

.cat_list a:hover,
.archive_list a:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}

.archive_list {
	margin: 0;
	padding: 0;
}

.archive_list li {
	color: var(--bt-muted);
	margin: 0 !important;
	text-align: center;
	width: 7%;
}

.blog-tags .cat_list {
	margin-left: -5px;
	padding-left: 0;
}

/* Plugins
---------------------------------------------------------------------------- */

/* Genesis eNews Extended
--------------------------------------------- */

.enews-widget,
.enews-widget .widget-title {
	color: var(--bt-dark);
}

.enews-widget input,
.newsletterform .form-control,
.widget_newsletterwidget .tnp-widget .tnp-email {
	background-color: var(--bt-white) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none;
	font-size: 11px;
	height: 49px;
	letter-spacing: 2px;
	margin-bottom: 10px;
	text-align: center;
	text-transform: uppercase;
	width: 250px !important;
}

.enews-widget input[type="submit"],
.widget_newsletterwidget .tnp-widget .tnp-submit {
	background-color: var(--bt-accent) !important;
	border-color: var(--bt-accent) !important;
	color: var(--bt-on-accent);
	font-size: 12px !important;
	font-weight: 500;
	padding: 16px 30px !important;
	text-transform: uppercase;
	width: 100%;
}

.widget .newsletterform .form-control {
	width: 100% !important;
}

.tnp-widget .tnp-field {
	display: inline-block;
}

.widget_newsletterwidget .tnp-widget p {
	display: inline-block;
	margin-right: 3px;
}

.widget_newsletterwidget .tnp-widget form {
	margin: 0 auto;
	max-width: 390px;
}

.login-checkbox {
	margin-bottom: 20px !important;
}

/* Genesis Simple FAQ
--------------------------------------------- */

.gs-faq__question {
	background: none;
	border-bottom: 1px solid var(--bt-border);
	color: var(--bt-dark);
	font-family: var(--bt-font-heading);
	font-size: 18px;
	padding-left: 0;
	padding-right: 40px;
}

.gs-faq__question:focus,
.gs-faq__question:hover {
	background: none;
	color: var(--bt-accent);
}

.gs-faq__question::after {
	content: "\f132";
	float: right;
	font-family: dashicons; /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
}

.gs-faq__question.gs-faq--expanded::after {
	content: "\f460";
}

/* WPForms
--------------------------------------------- */

.entry-content .wpforms-container {
	margin-bottom: 40px;
}

.entry-content .wpforms-form .wpforms-field {
	clear: both;
	margin: 20px 0;
	overflow: hidden;
}

.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form button[type="submit"] {
	background-color: transparent;
	border: 1px solid var(--bt-dark);
	border-radius: 0;
	color: var(--bt-dark);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2px;
	padding: 15px 30px;
	text-transform: uppercase;
}

.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:hover {
	background-color: var(--bt-dark);
	color: var(--bt-white);
}

.entry-content .wpforms-form .wpforms-field-hp {
	display: none !important;
	left: -9000px !important;
	position: absolute !important;
}

/* Preloader
--------------------------------------------- */

#preloader {
	background-color: var(--bt-white);
	bottom: 0;
	display: block;
	height: 100%;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 11000;
}

.preloader {
	background: center center no-repeat none;
	background-size: 65px 65px;
	border-radius: 50%;
	height: 65px;
	left: 1%;
	margin: 0 auto;
	position: absolute;
	right: 1%;
	top: 47%;
	width: 65px;
}

.loader {
	display: block;
	margin: 20px auto 0;
}


/* Skip Links
---------------------------------------------------------------------------- */

.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link .skip-link-hidden {
	display: none;
	visibility: hidden;
}

.genesis-skip-link li {
	height: 0;
	list-style: none;
	margin-bottom: 0;
	width: 0;
}

:focus {
	color: var(--bt-dark);
	outline: #ccc solid 1px;
}

/* Visually hides text while keeping it available to assistive tech — used to
   give the icon-only menu button an accessible name. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}


/* Site Header
---------------------------------------------------------------------------- */

/* Navy everywhere — the brand mark is cut for a dark background, so the
   header carries the same fill as the hero rather than the light page
   background behind it. Flat solid fill by default; only the front page
   (see `.home` desktop override below) gets the gradient treatment.

   Nothing here is transitioned: the scrolled state (below) swaps the fill
   and adds the blur in the same frame, with no animation on either. That
   avoids two separate bugs a fade introduced — a bright flash from
   `background-color` fading from a partially-transparent start, and a
   sticky-positioned element holding a permanent (even if animated-to-zero)
   `backdrop-filter` ghosting/leaving stale pixels behind as it scrolled,
   since `backdrop-filter` forces its own compositing layer that a couple
   of engines don't repaint reliably on a `position: sticky` ancestor.
   `.is-scrolled` (below) only ever adds `backdrop-filter` when it's
   actually needed, never carries it as a standing `blur(0)`. */
.site-header {
	background-color: var(--bt-navy);
	border-top: 5px solid transparent;
	margin: auto;
	padding: 0 30px 20px;
	transition: transform 0.3s ease-in-out;
}

/* Slide-away header — `.is-hidden` is toggled by header-scroll.js. The
   header stays put for the first 200px of scroll, then hides itself while
   the user keeps scrolling down, and slides back in once they scroll back
   up by 50px (see the script for the exact thresholds). `transform`, not
   `visibility`/`top`, so this animates smoothly and independently of
   whichever positioning scheme is active (`sticky` on desktop and most of
   mobile, `fixed` for the front page on mobile — see below). */
.site-header.is-hidden {
	transform: translateY(-100%);
}

/* Never hide behind the very menu it controls — without this, closing the
   toggle would be impossible if a hide happened to be mid-flight when the
   menu opened. */
.site-header:has(.menu-toggle.activated) {
	transform: none;
}

.site-header .wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
}

.site-header ul li {
	margin-bottom: 0;
}

/* Title Area
--------------------------------------------- */

.title-area {
	float: left;
	padding-bottom: 25px;
	padding-top: 25px;
}

.wp-custom-logo .title-area {
	max-width: 350px;
	padding-bottom: 5px;
	padding-top: 5px;
	width: 100%;
}

/* Flex (not just `display: block`) so the image centres vertically
   within the anchor's own box instead of sitting on its inline baseline
   — the anchor is otherwise sized to the image and the two look
   identical, but that baseline gap is what was throwing off centering. */
.wp-custom-logo .custom-logo-link {
	align-items: center;
	display: flex;
}

.wp-custom-logo .title-area img {
	display: block;
	height: auto;
	width: 240px;
}

.site-title {
	font-family: var(--bt-font-body);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 3px;
	line-height: 1;
	margin-bottom: 0;
	text-transform: uppercase;
}

.site-title a,
.site-title a:focus,
.site-title a:hover {
	color: var(--bt-dark);
	text-decoration: none;
}

.site-description,
.wp-custom-logo .site-title {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}


/* Site Navigation
---------------------------------------------------------------------------- */

.genesis-nav-menu {
	clear: both;
	line-height: 1;
	margin: 0;
	width: 100%;
}

.genesis-nav-menu .menu-item {
	display: block;
	float: none;
	margin-bottom: 0;
	position: relative;
}

.genesis-nav-menu a {
	border-bottom: 3px solid transparent;
	color: var(--bt-white);
	display: block;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2px;
	outline-offset: -1px;
	padding-bottom: 12px;
	padding-top: 12px;
	text-decoration: none;
	text-transform: uppercase;
}

.genesis-nav-menu a:focus,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: var(--bt-accent);
	text-decoration: none;
}

.genesis-nav-menu .sub-menu,
.genesis-nav-menu .sub-menu a {
	width: 100%;
}

.genesis-nav-menu .sub-menu {
	clear: both;
	display: none;
	left: -9999px;
	margin: 0;
	opacity: 1;
	padding-left: 15px;
	position: static;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	background-color: var(--bt-white);
	color: #121212;
	font-size: 13px;
	position: relative;
	word-wrap: break-word;
}

.genesis-nav-menu .sub-menu a:focus,
.genesis-nav-menu .sub-menu a:hover {
	color: var(--bt-accent);
}

.genesis-nav-menu .menu-item:focus,
.genesis-nav-menu .menu-item:hover {
	position: relative;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
	display: block;
	left: auto;
	opacity: 1;
}

/* Responsive Menu
--------------------------------------------- */

.menu .menu-item:focus {
	position: static;
}

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
	left: auto;
	opacity: 1;
}

.js .nav-primary {
	display: none;
	position: relative;
}

.genesis-responsive-menu .genesis-nav-menu .menu-item:hover > .sub-menu {
	display: none;
}

.menu-toggle,
.sub-menu-toggle {
	background-color: transparent;
	border-width: 0;
	color: var(--bt-white);
	display: block;
	letter-spacing: 2px;
	margin: 0 auto;
	overflow: hidden;
	padding: 15px 0;
	text-align: center;
	visibility: visible;
}

.menu-toggle:focus,
.menu-toggle:hover,
.sub-menu-toggle:focus,
.sub-menu-toggle:hover {
	background-color: transparent;
	border-width: 0;
	color: var(--bt-accent);
}

/* Icon-only tap target — the "Menu" word is screen-reader text only. The
   visible icon is an inline SVG (two bars, see `mainMenu` in
   config/responsive-menus.php) that morphs smoothly into a close X via a
   CSS transform transition — no abrupt glyph swap, no position change
   between states, so nothing "jumps" when it opens. */
.menu-toggle {
	align-items: center;
	border-radius: 6px;
	display: flex;
	float: right;
	height: 44px;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
	margin: 18px 0;
	overflow: visible;
	padding: 0;
	position: relative;
	transition: color 0.2s ease-in-out;
	width: 44px;
	z-index: 10000;
}

.menu-toggle.activated {
	color: var(--bt-accent);
}

/* Only the icon colour should react to interaction — no visible outline
   box on a mouse/touch click. Keyboard users still get a clear ring via
   `:focus-visible`, so the button stays accessible. */
.menu-toggle:focus {
	outline: none;
}

.menu-toggle:focus-visible {
	outline: 2px solid var(--bt-accent);
	outline-offset: 2px;
}

.menu-toggle__icon {
	display: block;
	height: 22px;
	pointer-events: none;
	width: 22px;
}

.menu-toggle__icon svg {
	display: block;
	height: 100%;
	overflow: visible;
	width: 100%;
}

.menu-toggle__bar {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
	transform-box: fill-box;
	transform-origin: center;
	transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1);
}

/* Resting state: two parallel bars. */
.menu-toggle__bar--top {
	transform: translateY(-5px);
}

.menu-toggle__bar--bottom {
	transform: translateY(5px);
}

/* Activated state: bars slide together and rotate into a clean X. */
.menu-toggle.activated .menu-toggle__bar--top {
	transform: translateY(0) rotate(45deg);
}

.menu-toggle.activated .menu-toggle__bar--bottom {
	transform: translateY(0) rotate(-45deg);
}

.sub-menu-toggle {
	float: right;
	padding: 9px 10px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 100;
}

.sub-menu .sub-menu-toggle {
	padding: 12px 10px;
}

.sub-menu-toggle::before {
	display: inline-block;
	text-rendering: auto;
	transform: rotate(0);
	transition: transform 0.25s ease-in-out;
}

.sub-menu-toggle.activated::before {
	transform: rotate(180deg);
}

/* Header Menu
--------------------------------------------- */

.nav-primary {
	clear: left;
	padding-bottom: 15px;
	padding-top: 15px;
	width: 100%;
}

/* The accent-filled "Submit" style item. Add the CSS class `submit` or
   `menu-highlight` to a menu item in Appearance > Menus. */
.nav-primary .genesis-nav-menu > .submit > a,
.nav-primary .genesis-nav-menu > .menu-highlight > a {
	background-color: var(--bt-accent);
	color: var(--bt-on-accent) !important;
}

.nav-primary .genesis-nav-menu > .submit > a:focus,
.nav-primary .genesis-nav-menu > .submit > a:hover,
.nav-primary .genesis-nav-menu > .menu-highlight > a:focus,
.nav-primary .genesis-nav-menu > .menu-highlight > a:hover {
	/* Was `var(--bt-dark)` — since that now equals the header's own navy
	   fill, the button would vanish into the bar on hover instead of
	   contrasting with it. White reads clearly against both the navy
	   header and the transparent/hero state. */
	background-color: var(--bt-white);
	color: var(--bt-navy) !important;
}

/* Footer Menu
--------------------------------------------- */

.nav-secondary {
	margin-top: 10px;
}

.nav-secondary .genesis-nav-menu {
	line-height: 1.5;
}

.nav-secondary .menu-item {
	display: inline-block;
	margin: 0 5px !important;
	padding: 0 !important;
}

.nav-secondary a {
	border-bottom: 0;
	color: var(--bt-text);
	font-size: 15px;
	letter-spacing: 0;
	margin-left: 10px;
	margin-right: 10px;
	padding: 0;
	text-transform: capitalize;
}

.nav-secondary a:focus,
.nav-secondary a:hover {
	color: var(--bt-accent);
}

/* Off Canvas Menu
--------------------------------------------- */

a.nav-expander {
	background-color: var(--bt-dark);
	color: var(--bt-white);
	display: block;
	font-size: 15px;
	font-weight: 400;
	height: 50px;
	margin-right: 0;
	padding: 1em 1.6em 2em;
	position: absolute;
	right: 0;
	text-decoration: none;
	text-transform: uppercase;
	top: 0;
	transition: right 0.3s ease-in-out 0s;
	width: 130px;
	z-index: 12;
}

a.nav-expander:hover {
	cursor: pointer;
}

a.nav-expander.fixed {
	position: fixed;
}

.nav-expanded a.nav-expander.fixed {
	right: 280px;
}

nav.sidenav {
	background-color: var(--bt-white);
	display: block;
	font-size: 15px;
	height: 100%;
	overflow: auto;
	position: fixed;
	right: -20em;
	top: 0;
	transition: right 0.3s ease-in-out 0s;
	width: 280px;
	z-index: 2000;
}

nav.sidenav li {
	list-style: none;
	margin-bottom: 0;
}

.logged-in.admin-bar nav.sidenav {
	top: 32px;
}

.nav-expanded nav.sidenav {
	margin-right: 0;
	right: 0;
	transition: right 0.4s ease-in-out 0s;
}

#nav-close {
	border-radius: 0;
	color: var(--bt-dark);
	display: inline-block;
	font-size: 21px;
	font-weight: 300;
	height: 30px;
	line-height: 30px;
	padding-right: 0;
	position: relative;
	right: 0;
	text-align: center;
	width: 30px;
}

.center-area {
	padding: 20px;
}

.main-menu {
	padding-top: 12px;
}

.main-menu li {
	border-bottom: 1px solid var(--bt-border);
	color: var(--bt-dark);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2px;
	padding: 10px 30px;
	position: relative;
	text-transform: uppercase;
}

.main-menu li a {
	color: var(--bt-dark);
	text-decoration: none;
}

.main-menu li:hover a {
	filter: alpha(opacity=80);
	opacity: 0.8;
}

.main-menu ul {
	padding: 10px 5px;
}

.main-menu li .sub-menu li,
.main-menu li .sub-nav {
	border-bottom: 0;
	padding: 0 20px;
}

.main-menu .text-right {
	padding-bottom: 27px;
	padding-top: 15px;
}

.main-menu a .caret {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid #4f5963;
	color: var(--bt-dark);
	content: "";
	display: inline-block;
	height: 15px;
	position: absolute;
	right: 30px;
	top: 10px;
	vertical-align: top;
	width: 8px;
}

.main-menu li > a > span.icon {
	float: right;
	margin: 0.1em 1.7em -0.1em 0;
	opacity: 0;
	transition: all 0.2s ease-in-out;
}

.main-menu li > a:hover > span.icon {
	float: right;
	margin: 0.1em 0.8em -0.1em 0;
	opacity: 1;
}

/* Sections
---------------------------------------------------------------------------- */

.section {
	background-color: var(--bt-white);
	display: block;
	padding: var(--bt-section-padding) 0;
	position: relative;
}

.section.no-padding {
	padding: 0;
}

/* `lb` is the Awards shorthand for the light-grey band. */
.section.lb {
	background-color: var(--bt-band);
}

.lpad {
	padding: 45px 0;
}

/* Front Page
--------------------------------------------- */

/* Sections manage their own background and padding, so the Genesis wrappers
   step out of the way and let the bands run full bleed. */
.awards-sections .site-inner {
	background-color: transparent;
	padding: 0;
}

.awards-sections .site-inner > .wrap {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* Only the outer Genesis content wrapper goes transparent. Nested `.content`
   cards inside a section keep their white panel treatment. */
.awards-sections .content-sidebar-wrap > .content,
.awards-sections .site-inner > .wrap > .content {
	background-color: transparent;
	float: none;
	padding: 0;
	width: 100%;
}

.awards-hero .awards-wrapper,
.list-items .awards-wrapper {
	height: 100%;
}

.awards-before-footer {
	padding: 45px 0;
}

/* Hero
--------------------------------------------- */

/* The banner is a 4.5:1 composition, so it only makes sense once the band is
   wide. Narrow viewports stay on flat navy — which is the banner's own base
   colour — and skip the download entirely. */
.bt-hero {
	background-color: var(--bt-navy);
}

.bt-hero__text {
	color: rgba(255, 255, 255, 0.8);
	font-size: 17px;
	margin-left: auto;
	margin-right: auto;
	max-width: 620px;
}

.bt-hero__cta {
	margin-bottom: 0;
	margin-top: 30px;
}

/* Section Titles
--------------------------------------------- */

.section-title {
	display: block;
	margin-bottom: 45px;
	position: relative;
}

.section-title.page-title {
	font-weight: 700;
	margin-bottom: 0;
	padding-bottom: 0;
}

.small-title,
.section-title .small-title {
	display: block;
	font-size: 48px;
	line-height: 1.15;
	margin-bottom: 45px;
	margin-top: 0;
	padding: 0;
	padding-top: 0;
}

.section-title .small-title {
	margin-bottom: 22px;
}

.small-about-message .small-title {
	font-size: 24px;
	line-height: 24px;
	margin-bottom: 20px;
	padding-bottom: 0;
}

.section-title small {
	display: block;
	margin-bottom: 20px;
}

.section-title p,
.text-widget p {
	color: var(--bt-text);
	font-size: 18px;
	font-weight: 400;
	line-height: 28px;
}

.section-title p {
	margin-bottom: 0;
}

.section-ab-title {
	background-color: var(--bt-dark);
	display: inline-block;
	padding: 0;
}

.section-ab-title h4 {
	color: var(--bt-white);
	line-height: 1;
	margin: 0;
	padding: 10px 30px;
}

/* Parallax
--------------------------------------------- */

.parallax {
	background-attachment: fixed;
	background-size: cover;
	position: relative;
}

.parallax .section-title .small-title {
	color: var(--bt-white);
}

.parallax.parallax-off {
	background-attachment: scroll !important;
	background-position: top center;
	display: block;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
	z-index: 2;
}

/* Dark Band
--------------------------------------------- */

/* `bb` is the dark inspiration-gallery band that inverts on hover. */
.bb {
	background-color: var(--bt-dark);
	transition: var(--bt-transition);
}

.bb:hover {
	background-color: var(--bt-dark);
}

.section.bb .small-title,
.section.bb h1,
.section.bb h2,
.section.bb h3,
.section.bb h4,
.section.bb caption,
.section.bb p {
	color: var(--bt-white);
}

.section.bb .section-title small,
.section.bb .eyebrow {
	color: var(--bt-gold);
}

.footer-top-widget a {
	color: var(--bt-white);
}

.section.bb:hover .footer-top-widget,
.section.bb:hover .footer-top-widget a {
	color: var(--bt-accent);
}

/* Callout
--------------------------------------------- */

/* The accent price banner. */
.callout {
	background-color: var(--bt-accent);
	padding: var(--bt-section-padding) 0;
}

.callout h3 {
	color: var(--bt-on-accent);
	font-family: var(--bt-font-body);
	font-size: 90px;
	font-weight: 700;
	line-height: 1;
	margin-top: 0;
}

.callout h3 sup {
	font-size: 34px;
	top: -0.2em;
	vertical-align: super;
}

.callout h4,
.callout p {
	color: var(--bt-on-accent);
}

.callout .lead {
	color: var(--bt-on-accent);
	font-size: 29px;
	font-weight: 700;
	line-height: 1.25;
	padding: 30px 8px 0;
}

/* Navy variant of the same banner, for when gold would be too loud. */
.callout.callout-navy {
	background-color: var(--bt-navy);
}

.callout.callout-navy h3 {
	color: var(--bt-gold);
}

.callout.callout-navy h4,
.callout.callout-navy p,
.callout.callout-navy .lead {
	color: var(--bt-white);
}

/* Intro
--------------------------------------------- */

.intro h1 {
	padding: 0 0 20px;
}

.intro h2 {
	font-family: var(--bt-font-body);
	font-size: 200px;
	font-weight: 700;
	line-height: 200px;
	margin: 0;
	padding: 0;
}

/* Pricing
--------------------------------------------- */

.pricing-plan h2 {
	font-family: var(--bt-font-body);
	font-size: 38px;
	font-weight: 700;
	line-height: 38px;
	margin: 0;
	padding: 0 0 20px;
}

.pricing-plan small {
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.pricing-plan h4 {
	font-size: 58px;
	font-weight: 700;
}

.pricing-plan h4 sup {
	font-size: 21px;
	font-weight: 400;
}

.pricing-plan ul {
	padding: 30px;
}

.pricing-plan li {
	margin: 10px 0;
}

.pricing-plan li::before {
	content: "\f147";
	font-family: dashicons; /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
	padding-right: 10px;
	vertical-align: middle;
}

/* FAQ style question blocks
--------------------------------------------- */

.question {
	border-bottom: 1px solid var(--bt-border);
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.question:last-child {
	border-bottom: 0;
	margin-bottom: 0;
}

.question h3 {
	font-size: 18px;
	line-height: 1;
	margin: 0;
	padding: 10px 0 15px;
}

.question h3 strong {
	font-size: 24px;
	font-weight: 700;
	padding-right: 5px;
}

.question p {
	margin-bottom: 0;
	padding-bottom: 0;
}


/* Awards
---------------------------------------------------------------------------- */

.awards-wrapper,
.site-wrapper {
	background-color: var(--bt-white);
	display: block;
	position: relative;
}

.site-wrapper {
	border: 1px solid var(--bt-border);
}

.award-image img {
	width: 100%;
}

.award-details {
	background-color: var(--bt-white);
}

/* Publisher
--------------------------------------------- */

.site-small-desc,
.site-publisher {
	display: block;
	overflow: hidden;
	padding: var(--bt-card-padding);
	position: relative;
}

.site-small-desc {
	background-color: var(--bt-white);
}

.site-publisher img {
	border-radius: 50%;
	float: left;
	margin: 0 20px 0 0;
	max-width: 60px;
}

.site-small-desc h4,
.site-publisher h4 {
	font-weight: 700;
	margin: 5px 0;
	padding: 0;
}

.site-publisher p {
	color: var(--bt-text);
	font-size: 15px;
	font-weight: 400;
	line-height: 26px;
	margin: 0;
	padding: 5px 0 0;
}

.site-small-desc p {
	margin-bottom: 0;
	margin-top: 5px;
	padding-bottom: 0;
}

.user-avatar {
	display: block;
	overflow: hidden;
}

.user_name {
	font-size: 18px;
	font-weight: 700;
	padding: 0 0 5px;
}

.single-author-info {
	min-height: 50px;
}

.site-desc {
	border-top: 1px solid var(--bt-border);
	margin: 30px 0 0;
	padding: 20px 0 0;
}

/* Progress and Votes
--------------------------------------------- */

.site-progress {
	border-bottom: 1px solid var(--bt-border);
	border-top: 1px solid var(--bt-border);
	display: block;
	overflow: hidden;
	padding: var(--bt-card-padding);
	position: relative;
}

.site-progress p {
	color: var(--bt-dark);
	font-size: 11px;
	letter-spacing: 2px;
	margin: 18px 0;
	text-transform: uppercase;
}

.site-progress .site-desc {
	border-top: 0;
	margin: 0;
	padding: 0;
}

.sw {
	display: block;
	margin-bottom: 5px;
	position: relative;
}

.progress {
	background-color: var(--bt-light);
	border-radius: 0;
	box-shadow: none;
	display: block;
	height: 10px;
	margin: 0;
	overflow: hidden;
}

.progress-bar {
	background-color: var(--bt-accent);
	display: block;
	height: 100%;
	transition: width 0.6s ease;
}

.site-vote {
	border: 1px solid var(--bt-border);
	height: 48px;
	line-height: 48px;
	margin-bottom: 15px;
	padding: 0 20px;
	position: relative;
}

.site-vote p {
	font-size: 11px !important;
	letter-spacing: 2px;
	line-height: 1;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.site-vote small {
	background-color: var(--bt-accent);
	bottom: 0;
	color: var(--bt-on-accent);
	font-size: 12px !important;
	font-weight: 500;
	height: 48px;
	line-height: 48px;
	position: absolute;
	right: -1px;
	text-align: center;
	top: -1px;
	width: 60px;
}

.site-vote.skore small {
	background-color: var(--bt-navy) !important;
	color: var(--bt-white);
}

.rating i {
	color: #dcdcdc;
}

.rating .active i,
.rating i.active {
	color: var(--bt-accent);
}

/* Corner Ribbon
--------------------------------------------- */

.corner-ribbon {
	background-color: var(--bt-gold);
	color: var(--bt-on-accent);
	font-size: 11px;
	font-weight: 600;
	left: -50px;
	letter-spacing: 1px;
	line-height: 36px;
	position: absolute;
	text-align: center;
	text-transform: uppercase;
	top: 25px;
	width: 125px;
	z-index: 2;
}

/* The original offsets the box off-canvas and pushes the label back down with
   margins. Anchoring the band on the corner instead keeps the label centred. */
.corner-ribbon.top-right {
	left: auto;
	right: -38px;
	top: 22px;
	transform: rotate(41deg);
	width: 150px;
}

.corner-ribbon .ribbon-icon {
	color: var(--bt-on-accent);
	display: inline-block;
	font-size: 16px;
	line-height: 36px;
	margin-right: 6px;
	vertical-align: top;
}

/* Share
--------------------------------------------- */

.site-share {
	height: 40px;
	position: absolute;
	right: -40px;
	top: -4px;
	transition: var(--bt-transition);
}

.awards-wrapper:hover .site-share,
.site-wrapper:hover .site-share {
	right: 20px;
}

.site-share ul {
	margin: 3px 0;
	padding: 0;
}

.site-share li {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border);
	display: block;
	height: 35px;
	line-height: 30px;
	margin: 0 0 3px;
	padding: 0;
	text-align: center;
	transition: var(--bt-transition);
	width: 35px;
}

.site-share li:first-child {
	margin-left: 0;
}

.site-share li i {
	color: var(--bt-text);
	font-size: 14px;
}

.site-share li:hover i {
	color: var(--bt-dark);
}

.sl-icon i {
	display: block;
}

/* Magnifier Overlay
--------------------------------------------- */

.award-entry,
.awards-wrapper .entry,
.awards-winner .entry,
.editor-picks .entry,
.list-items .entry {
	margin-bottom: 0;
	overflow: hidden;
	position: relative;
}

.awards-winner .award-entry,
.awards-winner .entry {
	margin-bottom: 30px;
}

.magnifier {
	background-color: rgba(0, 0, 0, 0.8);
	bottom: 0;
	cursor: zoom-in;
	filter: alpha(opacity=0);
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: var(--bt-transition);
	z-index: 1;
}

.award-entry:hover .magnifier,
.awards-wrapper .entry:hover .magnifier,
.awards-winner .entry:hover .magnifier,
.editor-picks .entry:hover .magnifier,
.list-items .entry:hover .magnifier {
	bottom: 0;
	filter: alpha(opacity=100);
	opacity: 1;
}

.magnifier .magni-desc {
	bottom: 10px;
	display: block;
	left: 0;
	margin: -20px auto;
	opacity: 0;
	position: absolute;
	text-align: center;
	top: 50%;
	width: 100%;
}

.award-entry:hover .magnifier .magni-desc,
.awards-wrapper .entry:hover .magnifier .magni-desc,
.awards-winner .entry:hover .magnifier .magni-desc,
.editor-picks .entry:hover .magnifier .magni-desc,
.list-items .entry:hover .magnifier .magni-desc {
	filter: alpha(opacity=100);
	opacity: 1;
}

.magnifier .magni-desc h4,
.magnifier .magni-desc h4 a {
	color: var(--bt-white);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 1px;
	margin: 0;
	padding: 0;
	text-decoration: none !important;
	text-transform: capitalize;
}

.editor-picks .magnifier .magni-desc h4,
.editor-picks .magnifier .magni-desc h4 a,
.awards-winner .magnifier .magni-desc h4,
.awards-winner .magnifier .magni-desc h4 a {
	font-size: 18px;
}

.magnifier .magni-desc a,
.magnifier .magni-desc p {
	color: var(--bt-white) !important;
}

.magnifier .magni-desc p {
	color: rgba(255, 255, 255, 0.5) !important;
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.editor-picks .col-md-6 {
	margin: 15px 0;
}

/* Like Button
--------------------------------------------- */

.like-button {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border);
	line-height: 1;
	margin: 30px auto 0;
	padding: var(--bt-card-padding);
	text-align: center;
	transition: var(--bt-transition);
	width: 100%;
}

.like-button:focus,
.like-button:hover {
	background-color: var(--bt-dark);
	border-color: var(--bt-dark);
}

.like-button a {
	color: var(--bt-dark);
	font-size: 21px !important;
}

.like-button:hover a {
	color: var(--bt-white);
}

.like-button a i {
	font-size: 19px;
	padding-right: 5px;
}

.likebutton {
	color: var(--bt-text);
	font-size: 16px;
	line-height: 1.4;
	margin-top: 6px;
	opacity: 0.5;
	transition: var(--bt-transition);
}

.likebutton:hover {
	opacity: 1;
}

.single-nominee .like-single-nominee p a span {
	display: inline-block;
}

/* Agency and Bookmaker Details
--------------------------------------------- */

.ageny-details,
.agency-details {
	display: block;
	margin-top: 20px;
	position: relative;
}

.ageny-details ul,
.agency-details ul {
	margin: 0;
	padding: 0;
}

.ageny-details li,
.agency-details li {
	margin-bottom: 15px;
}

.ageny-details li:last-child,
.agency-details li:last-child {
	margin-bottom: 0;
}

.ageny-details li a,
.agency-details li a {
	color: var(--bt-text) !important;
	text-decoration: underline !important;
}

.ageny-details li i,
.agency-details li i {
	display: inline-block;
	font-size: 24px;
	vertical-align: middle;
	width: 40px;
}

.agency-info {
	margin-top: 30px;
}

/* Single Site
--------------------------------------------- */

.single-site .container-fluid {
	max-width: 95%;
}

.single-nominee .single-site .section.lb.review-single .container-fluid {
	max-width: 100%;
}

.single-site .award-details {
	border: 1px solid var(--bt-border);
}

.single-site .award-details p {
	margin-bottom: 0 !important;
}

.single-site .site-publisher h4.site-title {
	padding: 0 0 5px;
}

.single-site .site-publisher h4.site-title a {
	color: var(--bt-muted);
	font-size: 17px;
	vertical-align: top;
}

.single-site .site-publisher hr {
	margin: 30px 0;
}

.single-nominee .single-top-content,
.author .single-top-content {
	padding-bottom: var(--bt-section-padding);
}

.single-nominee .section.single-site,
.author .section.single-site {
	padding-bottom: 0;
}

.site-tags,
.site-single-share,
.single-site .site-colors {
	border-top: 1px solid var(--bt-border);
	padding: 20px;
}

.site-single-share {
	border: 0;
	padding: 20px 0;
}

.site-single-share .cat_list {
	margin-right: -5px;
}

.site-single-share .cat_list.site-cat {
	margin-left: -10px !important;
	margin-top: -5px;
}

.site-single-share .cat_list.site-cat a {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border) !important;
	border-radius: 3px;
	color: var(--bt-muted) !important;
	font-size: 11px;
	letter-spacing: 2px;
	opacity: 1;
	padding: 5px 10px !important;
}

.single-site .site-tags .cat_list a {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-radius: 3px;
	font-size: 11px;
	letter-spacing: 2px;
	opacity: 1;
	padding: 2px 10px;
	text-transform: uppercase;
}

.single-site .site-single-share .cat_list a,
.author .site-single-share .cat_list a {
	background-color: var(--bt-white);
	border: 0;
	border-radius: 3px;
	color: var(--bt-white);
	padding: 2px 10px;
}

.single-site .site-single-share .cat_list li.facebook a,
.author .site-single-share .cat_list li.facebook a {
	background-color: var(--bt-facebook);
}

.single-site .site-single-share .cat_list li.twitter a,
.author .site-single-share .cat_list li.twitter a {
	background-color: var(--bt-twitter);
}

.single-site .site-single-share .cat_list li.google-plus a,
.author .site-single-share .cat_list li.google-plus a {
	background-color: var(--bt-google);
}

.single-site .site-single-share .cat_list li.pinterest a,
.author .site-single-share .cat_list li.pinterest a {
	background-color: var(--bt-pinterest);
}

.single-site .site-colors .list-inline > li {
	display: inline-block;
	padding-right: 0;
}

.single-site .site-colors .cat_list a {
	background-color: var(--bt-light);
	border: 1px solid var(--bt-border);
	border-radius: 0;
	color: var(--bt-muted);
	display: block;
	height: 17px;
	padding: 0;
	width: 40px;
}

.single-site .site-colors .cat_list a:hover {
	transform: scale(1.2);
}

/* Reviews
--------------------------------------------- */

.review-single .content {
	padding: var(--bt-card-padding);
}

.review-single .content .site-wrapper {
	border: 1px solid var(--bt-border);
}

.review-single .site-small-desc h4,
.review-single .site-publisher h4 {
	font-size: 16px;
}

.review-single .site-publisher,
.review-single .award-details {
	margin-bottom: 0 !important;
	padding: 15px 0 !important;
}

.review-single .question h3 {
	font-weight: 700;
}

.comment-review {
	border: 1px solid var(--bt-border);
	padding: 10px 30px;
}

.review-wrap label {
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--bt-muted);
	font-size: 11px;
	font-weight: 400;
	height: auto;
	letter-spacing: 2px !important;
	outline: none;
	text-transform: uppercase;
}

/* Filter Bar
--------------------------------------------- */

.search-top {
	background-color: var(--bt-white);
	display: block;
	margin-bottom: 30px;
	padding: 15px;
	position: relative;
}

.search-top li {
	margin-bottom: 0;
}

.search-top.site-search {
	margin: 0 !important;
	padding: 15px !important;
}

.search-top.site-search .form-group {
	margin-bottom: 0;
}

.search-top.contact-form {
	margin-bottom: 0;
	padding: 0;
}

.search-top.contact-form .form-group {
	margin: 0;
	padding: 0;
	position: relative;
}

.search-top.contact-form div.error {
	margin-top: -15px;
}

.search-top.contact-form textarea {
	min-height: 120px;
	padding-top: 20px;
}

.search-top.contact-form.form-horizontal .control-label {
	font-weight: 400;
	margin-bottom: 0;
}

.search-top select,
.search-top input[type="text"],
.search-top input[type="email"],
.search-top input[type="search"],
.search-top .form-control,
.login-page.content .form-control {
	background-color: var(--bt-white);
	border-color: var(--bt-border);
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--bt-muted);
	font-size: 11px;
	height: 50px;
	letter-spacing: 2px;
	outline: none;
	text-transform: uppercase;
}

.search-top.contact-form .form-control,
.login-page.content .form-control {
	margin-bottom: 20px;
}

.submit-site-section .search-top {
	background-color: transparent;
}

.submit-site-section .search-top .content {
	margin-bottom: 30px;
}

.nominee-search-form-content {
	margin-bottom: 30px;
}

.success-message.color,
.success-message-email {
	padding-bottom: 20px;
	text-align: center;
}

.form-group span.color {
	display: block;
	line-height: 20px;
	margin-bottom: 5px;
	margin-top: -10px;
}

.control-label small {
	display: block;
	margin-top: -20px;
}

/* File Upload
--------------------------------------------- */

.btn-file {
	margin-top: 20px;
	overflow: hidden;
	position: relative;
	vertical-align: middle;
}

.btn-file > input {
	cursor: pointer;
	direction: ltr;
	filter: alpha(opacity=0);
	font-size: 23px;
	margin: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: translate(-300px, 0) scale(4);
}

.fileupload .uneditable-input {
	cursor: text;
	display: inline-block;
	margin-bottom: 0;
	vertical-align: middle;
}

.fileupload .thumbnail {
	display: inline-block;
	margin-bottom: 5px;
	overflow: hidden;
	text-align: center;
	vertical-align: middle;
}

.fileupload .thumbnail > img {
	max-height: 100%;
}

.fileupload-exists .fileupload-new,
.fileupload-new .fileupload-exists {
	display: none;
}

.fileupload-inline .fileupload-controls {
	display: inline;
}

.fileupload-preview {
	background-color: var(--bt-light);
	border: 1px solid var(--bt-border);
	height: auto;
	padding: 20px;
	width: 260px;
}

.fileupload-new.thumbnail-borderless .thumbnail {
	border: 1px solid #ddd;
}

.control-group.warning .fileupload .uneditable-input {
	border-color: #a47e3c;
	color: #a47e3c;
}

.control-group.warning .fileupload .fileupload-preview {
	color: #a47e3c;
}

.control-group.warning .fileupload .thumbnail {
	border-color: #a47e3c;
}

.control-group.error .fileupload .uneditable-input {
	border-color: #b94a48;
	color: #b94a48;
}

.control-group.error .fileupload .fileupload-preview {
	color: #b94a48;
}

.control-group.error .fileupload .thumbnail {
	border-color: #b94a48;
}

.control-group.success .fileupload .uneditable-input {
	border-color: #468847;
	color: #468847;
}

.control-group.success .fileupload .fileupload-preview {
	color: #468847;
}

.control-group.success .fileupload .thumbnail {
	border-color: #468847;
}

/* List Items
--------------------------------------------- */

.list-items .col-sm-6,
.list-items .col-md-3,
.list-items .award-details {
	margin-bottom: 30px;
}

.list-items .site-publisher img,
.single-nominee .site-publisher img {
	border-radius: 50%;
}


/* Bookmakertesten Components
---------------------------------------------------------------------------- */

/* Logo
--------------------------------------------- */

.bt-logo__img {
	display: block;
	max-height: 46px;
	object-fit: contain;
	width: auto;
}

.bt-logo__text {
	color: var(--bt-navy);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

/* Rank medallion
--------------------------------------------- */

.bt-rank {
	align-items: center;
	background-color: var(--bt-band);
	border: 2px solid var(--bt-border);
	border-radius: 50%;
	color: var(--bt-navy);
	display: inline-flex;
	flex: 0 0 auto;
	font-weight: 700;
	height: 44px;
	justify-content: center;
	line-height: 1;
	width: 44px;
}

.bt-rank--first {
	background-color: var(--bt-gold);
	border-color: var(--bt-gold-dark);
	color: var(--bt-navy);
}

.bt-rank__num {
	font-size: 18px;
}

/* Score chip
--------------------------------------------- */

.bt-score-chip {
	background-color: var(--bt-navy);
	border-radius: 4px;
	color: var(--bt-white);
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	min-width: 58px;
	padding: 11px 10px;
	text-align: center;
}

/* Score bar
--------------------------------------------- */

.bt-bar {
	background-color: var(--bt-light);
	border-radius: 2px;
	display: block;
	height: 6px;
	overflow: hidden;
}

.bt-bar__fill {
	background-color: var(--bt-gold);
	display: block;
	height: 100%;
	transition: width 0.6s ease;
}

/* Comparison table
--------------------------------------------- */

.bt-table-wrap {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border);
}

.bt-table {
	border: 0;
	border-collapse: collapse;
	margin: 0;
	width: 100%;
	word-break: normal;
}

.bt-table th,
.bt-table td {
	border: 0;
	border-bottom: 1px solid var(--bt-border);
	padding: 18px 14px;
	vertical-align: middle;
}

.bt-table thead th {
	background-color: var(--bt-navy);
	color: var(--bt-white);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	white-space: nowrap;
}

.bt-table tbody tr:last-child th,
.bt-table tbody tr:last-child td {
	border-bottom: 0;
}

.bt-table__row--first {
	background-color: rgba(212, 175, 55, 0.07);
}

.bt-table__rank {
	text-align: center;
	width: 74px;
}

.bt-table__brand {
	width: 180px;
}

.bt-table__bonus strong {
	color: var(--bt-navy);
	display: block;
	font-weight: 600;
}

.bt-table__bonus small,
.bt-table__deposit {
	color: var(--bt-muted);
	font-size: 13px;
}

.bt-table__score,
.bt-table__cta {
	text-align: center;
	white-space: nowrap;
}

.bt-table__review a {
	color: var(--bt-navy);
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
}

.bt-table__review a:focus,
.bt-table__review a:hover {
	color: var(--bt-gold-dark);
}

.bt-table__cta .button {
	padding: 13px 22px;
	white-space: nowrap;
}

/* Result card
--------------------------------------------- */

.bt-result {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border);
	margin-bottom: 20px;
	padding: 26px 30px;
}

.bt-result--winner {
	border-color: var(--bt-gold);
	border-width: 2px;
}

.bt-result__head {
	align-items: center;
	border-bottom: 1px solid var(--bt-border);
	display: flex;
	gap: 20px;
	padding-bottom: 20px;
}

.bt-result__brand {
	flex: 1 1 auto;
	min-width: 0;
}

.bt-result__total {
	flex: 0 0 auto;
	text-align: right;
	white-space: nowrap;
}

.bt-result__total-num {
	color: var(--bt-navy);
	font-size: 34px;
	font-weight: 700;
	letter-spacing: var(--bt-display-spacing);
	line-height: 1;
}

.bt-result__total-max {
	color: var(--bt-muted);
	font-size: 13px;
}

.bt-result__dom {
	color: var(--bt-text);
	margin: 20px 0 0;
}

.bt-result__groups {
	display: grid;
	gap: 14px 30px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 22px 0 0;
	padding: 0;
}

.bt-result__group {
	margin: 0;
}

.bt-result__group.is-excluded {
	opacity: 0.55;
}

.bt-result__group-label {
	color: var(--bt-navy);
	display: flex;
	font-size: 12px;
	font-weight: 600;
	justify-content: space-between;
	letter-spacing: 1px;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.bt-result__group-score {
	color: var(--bt-muted);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.bt-result__foot {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

/* Award pills
--------------------------------------------- */

.bt-awards {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0 0;
	padding: 0;
}

.bt-awards__item {
	margin: 0;
}

.bt-awards__item a {
	align-items: center;
	background-color: var(--bt-gold);
	border-radius: 3px;
	color: var(--bt-on-accent);
	display: inline-flex;
	font-size: 11px;
	font-weight: 600;
	gap: 5px;
	letter-spacing: 1px;
	padding: 6px 12px;
	text-transform: uppercase;
}

.bt-awards__item a:focus,
.bt-awards__item a:hover {
	background-color: var(--bt-navy);
	color: var(--bt-white);
}

.bt-awards__item .dashicons {
	font-size: 15px;
	height: 15px;
	width: 15px;
}

/* Score table
--------------------------------------------- */

.bt-scores {
	border: 1px solid var(--bt-border);
	margin-bottom: 40px;
	width: 100%;
	word-break: normal;
}

.bt-scores th,
.bt-scores td {
	border: 1px solid var(--bt-border);
	padding: 11px 14px;
}

.bt-scores td {
	text-align: right;
	white-space: nowrap;
	width: 130px;
}

.bt-scores__total th,
.bt-scores__total td {
	background-color: var(--bt-navy);
	color: var(--bt-white);
	font-size: 17px;
	font-weight: 700;
}

/* Methodology
--------------------------------------------- */

/* Jumped to from other templates (e.g. the annual test's "See our full
   methodology" button) — offsets the anchor so the sticky/fixed header
   never lands on top of the heading. Matches the header's own height
   variables per breakpoint; see js/header-scroll.js and the header rules
   above for how/when it's actually pinned. */
#methodology {
	scroll-margin-top: calc(var(--bt-adminbar-height) + var(--bt-nav-height) + 20px);
}

/* Centred intro prose above the cards — narrower than the section so long
   lines stay readable instead of stretching edge to edge. */
.bt-methodology__intro {
	margin: 0 auto 40px;
	max-width: 720px;
}

.bt-methodology__intro p {
	color: var(--bt-text);
	font-size: 16px;
	line-height: 1.7;
}

.bt-methodology__intro p:last-child {
	margin-bottom: 0;
}

/* One card per individual scoring category (eleven in total) — same white-
   panel, hairline-border treatment as `.bt-result`/`.bt-table-wrap` so it
   reads as part of the same design language rather than a bespoke table.
   Three columns gives eleven cards a balanced, gallery-like rhythm (3+3+3+2)
   instead of the lopsided single leftover a two-column grid would leave. */
.bt-method-cards {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bt-method-card {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border);
	border-top: 3px solid var(--bt-navy);
	padding: 26px 30px;
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.bt-method-card:hover {
	border-top-color: var(--bt-gold);
	box-shadow: 0 12px 28px rgba(11, 35, 65, 0.1);
	transform: translateY(-3px);
}

.bt-method-card__head {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 14px;
}

.bt-method-card__title {
	color: var(--bt-navy);
	font-size: 17px;
	letter-spacing: 0.4px;
	line-height: 1.3;
	margin: 0;
}

.bt-method-card__max {
	background-color: var(--bt-navy);
	border-radius: 3px;
	color: var(--bt-white);
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 5px 10px;
}

.bt-method-card__desc {
	color: var(--bt-muted);
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
}

/* Closing "apply for next year" card — same shell as the scoring cards, but
   filled with the site's accent gold and centred, so it reads as an
   invitation to act rather than another category to read. Wins over the
   plain card rules above (same specificity, declared later). */
.bt-method-card--cta {
	align-items: center;
	background-color: var(--bt-accent);
	border-color: var(--bt-accent);
	border-top-color: var(--bt-navy);
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.bt-method-card--cta:hover {
	border-top-color: var(--bt-navy);
	box-shadow: none;
	transform: none;
}

.bt-method-card__cta-title {
	color: var(--bt-on-accent);
	font-size: 18px;
	margin: 0 0 10px;
}

.bt-method-card--cta .bt-method-card__desc {
	color: var(--bt-on-accent);
	margin-bottom: 22px;
}

/* Total summary strip — the same navy fill as the card badges, closing the
   grid out as a single combined result rather than another list row. */
.bt-method-total {
	align-items: center;
	background-color: var(--bt-navy);
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
	padding: 20px 30px;
}

.bt-method-total__label {
	color: var(--bt-white);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.bt-method-total__num {
	color: var(--bt-gold-light);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: var(--bt-display-spacing);
}

.bt-method-total__num small {
	color: var(--bt-white);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: uppercase;
}

@media only screen and (max-width: 959px) {

	.bt-method-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media only screen and (max-width: 767px) {

	#methodology {
		scroll-margin-top: calc(var(--bt-adminbar-height) + var(--bt-mobile-header-height) + 16px);
	}

	.bt-method-cards {
		grid-template-columns: 1fr;
	}

	.bt-method-card {
		padding: 22px 24px;
	}

	.bt-method-total {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 20px 24px;
	}

}

/* Verdicts
--------------------------------------------- */

.bt-verdict__title {
	border-top: 1px solid var(--bt-border);
	font-size: 20px;
	margin-top: 34px;
	padding-top: 26px;
}

.bt-verdict__score {
	color: var(--bt-gold-dark);
	font-weight: 700;
}

/* Pros and cons
--------------------------------------------- */

.bt-proscons {
	margin-bottom: 20px;
	margin-top: 40px;
}

.bt-proscons__col {
	background-color: var(--bt-band);
	border-top: 3px solid var(--bt-navy);
	height: 100%;
	padding: 24px 26px;
}

.bt-proscons__col--pro {
	border-top-color: var(--bt-gold);
}

.bt-proscons__col h3 {
	font-size: 17px;
	margin-top: 0;
}

.bt-proscons__col ul {
	margin: 0;
	padding: 0;
}

.bt-proscons__col li {
	padding-left: 26px;
	position: relative;
}

.bt-proscons__col li::before {
	font-family: dashicons; /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
	left: 0;
	position: absolute;
	top: -1px;
}

.bt-proscons__col--pro li::before {
	color: var(--bt-gold-dark);
	content: "\f147";
}

.bt-proscons__col--con li::before {
	color: var(--bt-muted);
	content: "\f158";
}

/* Facts panel
--------------------------------------------- */

.bt-facts {
	border: 1px solid var(--bt-border);
	margin: 0 0 40px;
}

/* Stacked rather than two column: the panel lives in a narrow sidebar where a
   label/value split wraps badly. */
.bt-facts__row {
	border-bottom: 1px solid var(--bt-border);
	padding: 12px 18px;
}

.bt-facts__row:last-child {
	border-bottom: 0;
}

.bt-facts dt {
	color: var(--bt-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 3px;
	text-transform: uppercase;
}

.bt-facts dd {
	color: var(--bt-navy);
	font-weight: 500;
	margin: 0;
	overflow-wrap: break-word;
}

/* Desktop only — the columns sit side by side from here, and `.row`'s default
   flex stretch makes the `<aside>` exactly as tall as the review content
   beside it. That's what lets the sticky panel travel with the scroll and
   then release right at the bottom of the aside's own box, instead of
   spilling into the section's bottom padding. */
@media only screen and (min-width: 960px) {

	.bt-facts-panel {
		position: sticky;
		top: calc(var(--bt-adminbar-height) + var(--bt-nav-height) + 45px);
	}

}

/* Licence badge
--------------------------------------------- */

.bt-license {
	align-items: center;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
}

.bt-license a {
	color: var(--bt-navy);
	text-decoration: underline;
}

.bt-license__score {
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 3px 7px;
	white-space: nowrap;
}

.bt-license--high .bt-license__score {
	background-color: var(--bt-gold);
	color: var(--bt-on-accent);
}

.bt-license--mid .bt-license__score {
	background-color: var(--bt-light);
	color: var(--bt-navy);
}

.bt-license--low .bt-license__score {
	background-color: #8a2b2b;
	color: var(--bt-white);
}

/* Trust pillars
--------------------------------------------- */

.bt-pillars {
	margin-top: 10px;
}

.bt-pillar {
	padding: 10px 14px;
	text-align: center;
}

/* Compound selector so it outweighs the base `.dashicons` sizing. */
.bt-pillar__icon.dashicons {
	color: var(--bt-gold);
	font-size: 44px;
	height: 44px;
	line-height: 44px;
	width: 44px;
}

.bt-pillar__title {
	font-size: 15px;
	letter-spacing: 1px;
	margin-bottom: 6px;
	margin-top: 16px;
	text-transform: uppercase;
}

.bt-pillar__text {
	color: var(--bt-muted);
	font-size: 14px;
	margin-bottom: 0;
}

.section.bb .bt-pillar__title {
	color: var(--bt-white);
}

.section.bb .bt-pillar__text {
	color: rgba(255, 255, 255, 0.72);
}

/* About page
--------------------------------------------- */

/* Narrower than the white card itself so long lines of body copy stay
   readable — the card (`.content`) supplies the generous 60px padding and
   white background already used for editor content elsewhere. */
.bt-about-intro,
.bt-jury__intro {
	margin: 0 auto;
	max-width: 760px;
}

.bt-about-intro p,
.bt-jury__intro p {
	color: var(--bt-text);
	font-size: 16px;
	line-height: 1.7;
}

.bt-about-intro p:last-child,
.bt-jury__intro p:last-child {
	margin-bottom: 0;
}

/* Standalone subhead under the page title — the site's `.lead` styling is
   scoped to the gold/navy callout band, so this gets its own treatment
   instead of borrowing a class meant for a different background. */
.bt-about-intro__lead {
	color: var(--bt-navy);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 24px !important;
}

/* Jury member cards — optional, populated from the `bt_jury_members`
   repeater. Empty by default, so the section reads as plain intro prose
   until someone actually adds a member. Same white-panel language as the
   methodology cards, but photo-led. */
.bt-jury-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 40px;
}

.bt-jury-card {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border);
	padding: 30px;
	text-align: center;
}

.bt-jury-card__photo {
	border-radius: 50%;
	height: 96px;
	margin: 0 auto 18px;
	overflow: hidden;
	width: 96px;
}

.bt-jury-card__photo img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.bt-jury-card__name {
	color: var(--bt-navy);
	font-size: 17px;
	margin: 0 0 4px;
}

.bt-jury-card__role {
	color: var(--bt-gold);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.4px;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.bt-jury-card__bio {
	color: var(--bt-muted);
	font-size: 14px;
	line-height: 1.7;
	margin-bottom: 0;
}

@media only screen and (max-width: 959px) {

	.bt-jury-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media only screen and (max-width: 767px) {

	.bt-about-intro__lead {
		font-size: 18px;
	}

	.bt-jury-grid {
		grid-template-columns: 1fr;
	}

}

/* Disclosure
--------------------------------------------- */

.bt-disclosure {
	background-color: var(--bt-band);
	border-left: 3px solid var(--bt-gold);
	color: var(--bt-muted);
	font-size: 13px;
	margin-bottom: 30px;
	padding: 14px 18px;
}

.bt-disclosure p:last-child {
	margin-bottom: 0;
}

/* Review header
--------------------------------------------- */

.bt-review-head {
	background-color: var(--bt-navy);
	color: var(--bt-white);
	padding: 50px 0;
}

.bt-review-head h1,
.bt-review-head h2 {
	color: var(--bt-white);
	margin-top: 0;
}

/* The mark sits on a white plate, so the text fallback stays navy. */
.bt-review-head__logo .bt-logo__text {
	color: var(--bt-navy);
}

.bt-review-head__score {
	background-color: var(--bt-gold);
	color: var(--bt-navy);
	display: inline-block;
	padding: 18px 26px;
	text-align: center;
}

.bt-review-head__score-num {
	display: block;
	font-size: 42px;
	font-weight: 700;
	letter-spacing: var(--bt-display-spacing);
	line-height: 1;
}

.bt-review-head__score-max {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.bt-review-head__logo {
	background-color: var(--bt-white);
	display: inline-block;
	margin-bottom: 22px;
	padding: 14px 20px;
}

/* Fills the fold instead of leaving a short stub above the page content —
   the mobile header sits in normal flow here (not overlaid like the front
   page hero), so its real height has to come off the viewport too, on top
   of the admin bar. `dvh` keeps the fill accurate as mobile browser chrome
   collapses/expands on scroll. Centring the content vertically (rather
   than just adding the height) is what actually makes the extra space
   read as an intentional hero instead of a gap before the score card. */
@media only screen and (max-width: 959px) {

	.bt-review-head {
		align-items: center;
		display: flex;
		min-height: calc(100vh - var(--bt-adminbar-height) - var(--bt-mobile-header-height));
	}

	.bt-review-head .container {
		width: 100%;
	}

	/* The two columns stack full-width here (see the grid's mobile-first
	   `[class*="col-"]` rule above) with no vertical gap of their own, so
	   the title block and the score card butt straight up against each
	   other without this. */
	.bt-review-head .col-md-8 {
		margin-bottom: 30px;
	}

	@supports (min-height: 100dvh) {

		.bt-review-head {
			min-height: calc(100dvh - var(--bt-adminbar-height) - var(--bt-mobile-header-height));
		}

	}

}

/* Verification page
--------------------------------------------- */

.bt-verify {
	background-color: var(--bt-navy);
	min-height: 70vh;
	padding: 80px 0;
	text-align: center;
}

.bt-verify h1,
.bt-verify h2 {
	color: var(--bt-white);
}

.bt-verify__seal {
	align-items: center;
	border: 3px solid var(--bt-gold);
	border-radius: 50%;
	color: var(--bt-gold);
	display: inline-flex;
	font-size: 11px;
	font-weight: 700;
	height: 190px;
	hyphens: none;
	justify-content: center;
	letter-spacing: 1px;
	line-height: 1.6;
	margin-bottom: 30px;
	padding: 20px;
	text-transform: uppercase;
	width: 190px;
	word-break: normal;
}

.bt-verify__meta {
	color: rgba(255, 255, 255, 0.72);
	font-size: 14px;
}


/* Content Area
---------------------------------------------------------------------------- */

/* Entry Content
--------------------------------------------- */

.entry {
	margin-bottom: 40px;
}

.entry-content ol,
.entry-content ul {
	margin-bottom: 30px;
	padding-left: 40px;
}

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-type: disc;
}

.entry-content ol ul > li,
.entry-content ul ul > li {
	list-style-type: circle;
}

.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}

.entry-content code {
	background-color: var(--bt-light);
}

.blog-list {
	margin-bottom: 30px;
}

.blog-media {
	margin-bottom: 25px;
}

.blog-media img {
	max-width: 100%;
}

.blog-desc {
	float: left;
	width: 100%;
}

.blog-desc .lead {
	color: var(--bt-dark);
	font-family: var(--bt-font-heading);
	font-weight: 400;
	padding: 0;
}

.blog-meta h3 {
	font-size: 36px;
	line-height: 1.2;
	margin: 10px 0;
	padding: 0;
	word-wrap: break-word;
}

.blog-meta small,
.blog-meta .list-inline li,
.blog-meta .list-inline li a {
	color: var(--bt-dark);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.blog-meta .list-inline li {
	color: var(--bt-muted);
	letter-spacing: 0;
}

.blog-meta .list-inline li span {
	color: var(--bt-muted);
	font-family: var(--bt-font-heading);
	font-size: 14px;
	font-style: italic;
	letter-spacing: 0;
	padding-right: 5px;
	text-transform: none;
}

/* Entry Meta
--------------------------------------------- */

p.entry-meta {
	color: var(--bt-muted);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 2px;
	margin-bottom: 0;
	text-transform: uppercase;
}

.entry-meta a {
	color: var(--bt-dark);
}

.entry-meta a:focus,
.entry-meta a:hover {
	color: var(--bt-accent);
}

.entry-header .entry-meta {
	margin-bottom: 20px;
}

.entry-footer .entry-meta {
	border-top: 1px solid var(--bt-border);
	padding-top: 20px;
}

.entry-categories,
.entry-tags {
	display: block;
}

.entry-comments-link::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}

/* Pagination
--------------------------------------------- */

.pagination {
	clear: both;
	float: left;
	margin: 0;
	width: 100%;
}

.pagination > li {
	display: inline-block;
	line-height: 30px;
	min-width: 16px;
	vertical-align: top;
}

.archive-pagination,
.agency-pagination {
	clear: both;
	display: block;
	float: left;
	margin: 60px 0 0;
	width: 100%;
}

.archive-pagination li {
	display: inline-block;
	margin-bottom: 0;
}

.archive-pagination li a,
.pagination > li > a,
.pagination > li > span,
.page-numbers li a,
.page-numbers li span,
.agency-pagination a,
.agency-pagination span,
.page-links .post-page-numbers {
	background-color: var(--bt-white);
	border: 1px solid var(--bt-border) !important;
	border-radius: 0;
	color: var(--bt-muted);
	cursor: pointer;
	float: left;
	font-size: 12px;
	letter-spacing: 2px;
	line-height: 1.42857;
	margin-left: 0;
	margin-right: 5px;
	padding: 8px 15px;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
}

.page-numbers li a,
.page-numbers li span {
	padding: 10px 15px !important;
}

.page-numbers {
	border: 1px solid var(--bt-border) !important;
}

.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a,
.page-numbers li a:focus,
.page-numbers li a:hover,
.page-links .post-page-numbers:focus,
.page-links .post-page-numbers:hover,
.page-links .post-page-numbers.current,
.agency-pagination a:hover,
.agency-pagination span:hover,
.agency-pagination span.current {
	background-color: var(--bt-navy);
	border-color: var(--bt-navy) !important;
	color: var(--bt-white);
}

.adjacent-entry-pagination,
.pager {
	margin: 0;
}

.pager li > a,
.pager li > span {
	background-color: var(--bt-dark);
	border: 1px solid var(--bt-dark);
	border-radius: 0;
	color: var(--bt-white);
	display: inline-block;
	float: none;
	font-size: 11px;
	letter-spacing: 2px;
	line-height: 1.42857;
	margin-left: 0;
	margin-right: 10px;
	padding: 8px 15px;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
}

.pager li > a:focus,
.pager li > a:hover {
	background-color: var(--bt-accent);
	border-color: var(--bt-accent);
	color: var(--bt-on-accent);
}

.pager li > a small {
	color: var(--bt-white);
}

.pager li > a:focus small,
.pager li > a:hover small {
	color: var(--bt-on-accent);
}

.pager i {
	font-size: 13px;
	vertical-align: baseline;
}

.page-links {
	float: left;
	margin-top: 10px;
	width: 100%;
}

.page-links-title {
	float: left;
	margin-right: 10px;
	padding: 9px 0;
}

/* Entry Comments
--------------------------------------------- */

.comment-respond,
.entry-comments,
.entry-pings {
	background-color: var(--bt-white);
	margin-bottom: 30px;
	padding: 30px;
}

.comment-list li {
	padding: 40px 0 0 30px;
}

.comment-list .depth-1 {
	padding-left: 0;
}

.comment-header {
	margin-bottom: 30px;
}

.comment-content {
	clear: both;
}

.comment-content ul > li {
	list-style-type: disc;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}

.comment-respond label {
	display: block;
	margin-right: 12px;
}

.comment-header p {
	margin-bottom: 0;
}

.entry-pings .reply {
	display: none;
}

.comment-form-cookies-consent label {
	display: inline;
	padding-left: 10px;
}

.comment-reply-link,
.comment-edit-link {
	background-color: var(--bt-accent);
	color: var(--bt-on-accent);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 2px;
	padding: 7px 10px;
	text-transform: uppercase;
}

.comment-reply-link:focus,
.comment-reply-link:hover,
.comment-edit-link:focus,
.comment-edit-link:hover {
	background-color: var(--bt-dark);
	color: var(--bt-white);
}

.comments-list .media {
	margin-bottom: 0;
	margin-top: 0;
	padding: 15px;
}

.comments-list .media-list,
.comments-list .form-group {
	margin: 0;
}

.comments-list img {
	margin-right: 30px;
	max-width: 80px;
}

.comments-list img.avatar {
	border-radius: 50%;
}

.children li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.last-child {
	margin-bottom: 0 !important;
}

/* Author Box
--------------------------------------------- */

.authorbox {
	margin-bottom: 30px;
}

.authorbox img {
	margin: 10px 30px 10px 0 !important;
	min-width: 130px;
}

.authorbox-social ul {
	margin-bottom: 0;
	padding: 10px 0;
}

.authorbox-social li a {
	color: var(--bt-muted);
}


/* Sidebar
---------------------------------------------------------------------------- */

.sidebar {
	font-size: 15px;
	line-height: 1.6;
}

.sidebar ul {
	padding: 0;
}

.sidebar ul li {
	list-style: none;
}

.sidebar .widget {
	background-color: var(--bt-white);
	margin-bottom: 30px;
	padding: 10px;
}

.sidebar p {
	margin-bottom: 20px;
}

.sidebar .screen-reader-text {
	display: none;
}

.sidebar .widget:last-of-type {
	margin-bottom: 0;
}


/* Footer Widgets
---------------------------------------------------------------------------- */

.footer-widgets,
.footer {
	background-color: var(--bt-white);
	border-top: 1px solid var(--bt-border);
	clear: both;
	padding: 60px 0;
}

.footer-widgets .wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 1170px;
	padding-left: var(--bt-gutter);
	padding-right: var(--bt-gutter);
}

.footer-widget-area {
	margin-bottom: 40px;
	padding-left: 15px;
	padding-right: 15px;
}

.footer-widget-area:last-child,
.footer-widgets .widget:last-child {
	margin-bottom: 0;
}

.footer-widgets h4,
.footer-widgets .widget-title,
.footer h4 {
	font-size: 21px;
	font-weight: 700 !important;
	margin: 0;
	padding: 4px 0 20px;
}

.footer-widgets ul,
.footer ul {
	padding: 0;
}

.footer-widgets li,
.footer li {
	list-style: none;
	margin-bottom: 5px;
}

.footer-widgets ul,
.footer-widgets li:last-child,
.footer ul,
.footer li:last-child {
	margin-bottom: 0;
}

.footer-widgets li a,
.footer li a {
	border-bottom: 2px solid transparent;
	color: var(--bt-text);
	display: inline-block;
	font-size: 15px;
}

.footer-widgets li a:focus,
.footer-widgets li a:hover,
.footer li a:focus,
.footer li a:hover {
	border-bottom-color: var(--bt-accent);
	color: var(--bt-dark);
}

.footer .text-widget p,
.footer-widgets .text-widget p {
	color: var(--bt-text);
	font-size: 15px;
	font-weight: 400;
	line-height: 26px;
}

.social-links {
	margin: 0;
	padding: 0;
}

.social-links li {
	border: 1px solid var(--bt-border);
	color: var(--bt-white);
	display: inline-block;
	height: 35px;
	line-height: 33px;
	margin: 0 0 0 5px;
	padding: 0;
	text-align: center;
	width: 35px;
}

.social-links li a {
	border-bottom: 0;
	color: var(--bt-dark);
}

.social-links li:hover {
	background-color: var(--bt-accent);
	border-color: var(--bt-accent);
}

.social-links li:hover a {
	color: var(--bt-on-accent);
}


/* Site Footer
---------------------------------------------------------------------------- */

.copyrights {
	background-color: var(--bt-white);
	font-size: 15px;
	line-height: 1.6;
	padding: 0;
	text-align: center;
}

.copyrights .container {
	border-top: 1px solid var(--bt-border);
	margin-left: auto;
	margin-right: auto;
	max-width: 1170px;
	padding: 45px 15px;
}

.copyrights p {
	margin: 5px 0;
	padding-bottom: 0;
}

.copyrights li a {
	color: var(--bt-text);
	margin: 0;
	padding: 0;
	text-transform: capitalize;
}

.copyrights li a:focus,
.copyrights li a:hover {
	color: var(--bt-accent);
}

.copyrights img {
	margin: 0 auto 30px;
	max-width: 65px;
}

.copyrights ul {
	margin: 0 !important;
	padding: 0 !important;
}

.copyrights ul li {
	margin: 0 5px !important;
	padding: 0 !important;
}


/* Site Footer — brand, safer gambling, legal & credits
---------------------------------------------------------------------------- */

.bt-footer.site-footer {
	background-color: var(--bt-navy-deep);
	color: rgba(255, 255, 255, 0.7);
	font-size: 15px;
	line-height: 1.6;
	padding: 0;
	text-align: left;
}

.bt-footer .wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 1170px;
	padding-left: var(--bt-gutter);
	padding-right: var(--bt-gutter);
}

.bt-footer__top {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	display: grid;
	gap: 50px;
	grid-template-columns: minmax(0, 300px) 1fr;
	padding: 60px 0 40px;
}

.bt-footer__brand {
	max-width: 280px;
}

.bt-footer__logo-link {
	display: inline-block;
	margin-bottom: 16px;
}

.bt-footer__logo {
	display: block;
	height: auto;
	width: 190px;
}

.bt-footer__tagline {
	color: rgba(255, 255, 255, 0.5);
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
}

.bt-footer__safer-title {
	color: var(--bt-gold);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.bt-footer__safer-text p {
	color: rgba(255, 255, 255, 0.75);
	font-size: 14px;
	line-height: 1.75;
	margin: 0 0 20px;
	max-width: 640px;
}

.bt-footer__safer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}

.bt-footer__safer-links li {
	margin: 0;
}

.bt-footer__safer-links a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	color: var(--bt-white);
	display: inline-flex;
	font-size: 13px;
	font-weight: 600;
	gap: 6px;
	padding: 9px 16px 9px 12px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bt-footer__safer-links a:focus,
.bt-footer__safer-links a:hover {
	background-color: var(--bt-gold);
	border-color: var(--bt-gold);
	color: var(--bt-on-accent);
}

.bt-footer__safer-links .dashicons {
	font-size: 15px;
	height: 15px;
	width: 15px;
}

.bt-footer__message {
	color: rgba(255, 255, 255, 0.4);
	font-size: 12px;
	font-style: italic;
	margin: 0;
}

.bt-footer__legal {
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: space-between;
	padding: 22px 0;
}

.bt-footer__age {
	align-items: center;
	border: 2px solid var(--bt-gold);
	border-radius: 50%;
	color: var(--bt-gold);
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 800;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.bt-footer__legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bt-footer__legal-links a {
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
}

.bt-footer__legal-links a:focus,
.bt-footer__legal-links a:hover {
	color: var(--bt-gold);
}

.bt-footer__bottom {
	padding: 24px 0 40px;
	text-align: center;
}

.bt-footer__bottom p {
	color: rgba(255, 255, 255, 0.4);
	font-size: 12px;
	line-height: 1.7;
	margin: 0 0 6px;
}

.bt-footer__bottom p:last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 767px) {

	.bt-footer__top {
		grid-template-columns: 1fr;
		padding: 45px 0 30px;
	}

	.bt-footer__legal {
		justify-content: flex-start;
	}

}


/* WooCommerce
---------------------------------------------------------------------------- */

.woocommerce .products {
	float: left;
	margin-top: 30px !important;
	width: 100%;
}

.woocommerce-pagination {
	float: left;
	width: 100%;
}

.woocommerce nav.woocommerce-pagination ul li {
	border-color: var(--bt-border) !important;
}

.woocommerce ul.products li.product .button,
.woocommerce a.button.alt,
.woocommerce div.product form.cart .button,
.woocommerce-MyAccount-content .button,
.woocommerce .button.wc-forward,
.woocommerce .button,
.comment-respond .form-submit .submit {
	background: none !important;
	border: 1px solid var(--bt-dark) !important;
	border-radius: 0 !important;
	color: var(--bt-dark) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	padding: 15px 30px !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button.alt:hover,
.woocommerce .button:hover,
.comment-respond .form-submit .submit:hover {
	background-color: var(--bt-dark) !important;
	color: var(--bt-white) !important;
}

#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
	height: 45px;
	padding: 6px;
}

.woocommerce form .form-row .input-text,
.woocommerce-page form .form-row .input-text {
	padding: 6px;
}

.woocommerce form .form-row label {
	font-weight: 400;
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding: 15px !important;
}

.woocommerce form.login,
.woocommerce form.register {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-MyAccount-content .form-control.login-field,
.input-text {
	border: 1px solid var(--bt-border) !important;
	border-radius: 0 !important;
	color: var(--bt-muted);
	height: 50px;
	padding-left: 10px;
}

.cart .input-text.qty.text {
	height: 45px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
	color: var(--bt-muted);
}

.woocommerce span.onsale {
	background-color: var(--bt-accent);
	color: var(--bt-on-accent);
	font-weight: 400;
	height: 32px;
	width: 32px;
}

.form-edit-account,
.panel-grid-cell .so-panel {
	background: none;
}

.form-edit-account {
	background-color: var(--bt-white);
}

/* Simple shopping cart
--------------------------------------------- */

.shopping_cart img,
.wspsc_cart_qty_th,
.wspsc_cart_price_th,
.wspsc_cart_total,
.shopping_cart td form input[type="text"] {
	display: none;
}

.shopping_cart {
	background-color: var(--bt-white);
	padding: 60px;
}

.shopping_cart input {
	float: right;
	padding: 15px 20px;
}

.payment-page {
	background-color: var(--bt-white);
	float: left;
	padding: 60px;
	text-align: center;
	width: 100%;
}

.wspsc_add_cart_submit {
	background-color: var(--bt-accent);
	border: 0;
	color: var(--bt-on-accent);
	font-size: 15px;
	letter-spacing: 2px;
	padding: 10px 20px;
	text-transform: uppercase;
}

.product-fields-paid-version {
	display: none;
}


/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (min-width: 480px) {

	table {
		table-layout: auto;
		word-break: normal;
	}

}

/* Min-width: 768px
--------------------------------------------- */

@media only screen and (min-width: 768px) {

	.container {
		max-width: 750px;
	}

	.col-sm-1 { width: 8.3333%; }
	.col-sm-2 { width: 16.6667%; }
	.col-sm-3 { width: 25%; }
	.col-sm-4 { width: 33.3333%; }
	.col-sm-5 { width: 41.6667%; }
	.col-sm-6 { width: 50%; }
	.col-sm-7 { width: 58.3333%; }
	.col-sm-8 { width: 66.6667%; }
	.col-sm-9 { width: 75%; }
	.col-sm-10 { width: 83.3333%; }
	.col-sm-11 { width: 91.6667%; }
	.col-sm-12 { width: 100%; }

}

/* Min-width: 992px
--------------------------------------------- */

@media only screen and (min-width: 992px) {

	.container {
		max-width: 970px;
	}

	.col-md-1 { width: 8.3333%; }
	.col-md-2 { width: 16.6667%; }
	.col-md-3 { width: 25%; }
	.col-md-4 { width: 33.3333%; }
	.col-md-5 { width: 41.6667%; }
	.col-md-6 { width: 50%; }
	.col-md-7 { width: 58.3333%; }
	.col-md-8 { width: 66.6667%; }
	.col-md-9 { width: 75%; }
	.col-md-10 { width: 83.3333%; }
	.col-md-11 { width: 91.6667%; }
	.col-md-12 { width: 100%; }

}

/* Min-width: 1200px
--------------------------------------------- */

@media only screen and (min-width: 1200px) {

	.container {
		max-width: 1170px;
	}

	.col-lg-1 { width: 8.3333%; }
	.col-lg-2 { width: 16.6667%; }
	.col-lg-3 { width: 25%; }
	.col-lg-4 { width: 33.3333%; }
	.col-lg-5 { width: 41.6667%; }
	.col-lg-6 { width: 50%; }
	.col-lg-7 { width: 58.3333%; }
	.col-lg-8 { width: 66.6667%; }
	.col-lg-9 { width: 75%; }
	.col-lg-10 { width: 83.3333%; }
	.col-lg-11 { width: 91.6667%; }
	.col-lg-12 { width: 100%; }

}

/* Min-width: 960px — Genesis layout breakpoint
--------------------------------------------- */

@media only screen and (min-width: 960px) {

	/* Site Header
	--------------------------------------------- */

	/* Relative (normal flow) until `.is-pinned` — toggled by header-
	   scroll.js once the page has scrolled 200px — switches it to
	   `sticky`. Below that, the header just scrolls away with the rest of
	   the page like any other element instead of pinning itself from the
	   very first pixel of scroll.

	   `relative`, not `static`: positioned descendants elsewhere in the
	   header (submenus, the mobile frosted-glass layer, etc.) anchor to
	   this box as their nearest positioned ancestor — `static` would lose
	   that anchor for as long as the header isn't pinned. */
	.site-header {
		position: relative;
		z-index: 9999;
	}

	.site-header.is-pinned {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
	}

	/* Only the front page gets the vertical gradient (solid navy until
	   65%, then deepening) — every other page/template stays flat navy,
	   set on the base `.site-header` rule above.

	   `background-image`, not the `background` shorthand: the shorthand
	   also resets `background-color` to its initial `transparent`, which
	   left nothing but see-through header under the gradient image. Once
	   scrolled (below) drops the image, that transparent base was what
	   caused the bright flash — going through this longhand instead keeps
	   the base rule's solid navy `background-color` intact underneath the
	   gradient the whole time, so dropping the image reveals the same
	   solid navy rather than a gap. */
	.home .site-header {
		background-image: linear-gradient(to bottom, var(--bt-navy) 0%, var(--bt-navy) 65%, var(--bt-navy-deep) 100%);
	}

	/* Frosted glass once the page has scrolled — `.is-scrolled` is toggled
	   by header-scroll.js. Same tint/blur recipe as the mobile menu's
	   frosted panel below, so the effect reads as one consistent treatment
	   site-wide rather than a one-off. Wins over the gradient above (same
	   specificity, declared later) on every template, including the front
	   page.

	   Fill and blur both apply instantly, together — no transition (see
	   the base rule's comment for why: a fade left a bright flash, and a
	   standing `backdrop-filter` on this `position: sticky` element left
	   stale, non-scrolling pixels behind in some browsers). */
	.site-header.is-scrolled {
		background-color: rgba(11, 35, 65, 0.82);
		background-image: none;
	}

	@supports ( backdrop-filter: blur( 1px ) ) or ( -webkit-backdrop-filter: blur( 1px ) ) {

		.site-header.is-scrolled {
			-webkit-backdrop-filter: blur(16px) saturate(140%);
			backdrop-filter: blur(16px) saturate(140%);
		}

	}

	.admin-bar .site-header.is-pinned {
		top: 32px;
	}

	.site-header .wrap {
		align-items: center;
		display: flex;
	}

	.title-area {
		float: none;
		margin-right: auto;
		padding-bottom: 0;
		padding-top: 0;
	}

	.site-header .title-area,
	.site-header .site-title {
		line-height: var(--bt-nav-height);
	}

	.wp-custom-logo .title-area {
		align-items: center;
		display: flex;
		height: var(--bt-nav-height);
	}

	.wp-custom-logo .title-area img {
		height: auto;
		width: 240px;
	}

	/* Genesis Menu
	--------------------------------------------- */

	.genesis-nav-menu .menu-item {
		display: inline-block;
	}

	.genesis-nav-menu .menu-item:focus,
	.genesis-nav-menu .menu-item:hover {
		position: relative;
	}

	.genesis-nav-menu > .menu-bold > a {
		font-weight: 700;
	}

	.genesis-nav-menu .sub-menu,
	.genesis-nav-menu .sub-menu a {
		width: 210px;
	}

	.genesis-nav-menu .sub-menu {
		background-color: var(--bt-white);
		border: 1px solid var(--bt-border);
		opacity: 0;
		padding: 10px 0;
		padding-left: 0;
		position: absolute;
		transition: opacity 0.35s ease-in-out;
	}

	.genesis-nav-menu .sub-menu a {
		border: 0;
		height: auto;
		line-height: 1.42857;
		padding: 8px 20px;
	}

	.genesis-nav-menu .sub-menu .sub-menu {
		margin: -47px 0 0 209px;
	}

	/* Responsive Menu
	--------------------------------------------- */

	.js .nav-primary {
		display: block;
		padding-top: 0;
	}

	.menu-toggle,
	.sub-menu-toggle {
		display: none;
		visibility: hidden;
	}

	/* Header Menu
	--------------------------------------------- */

	.nav-primary {
		clear: none;
		float: none;
		padding-bottom: 0;
		padding-top: 0;
		width: auto;
	}

	.nav-primary .genesis-nav-menu > .menu-item > a {
		/* Independent of --bt-nav-height (sized for the logo) —
		   matching that on the links themselves made them absurdly tall,
		   since the header's overall height already comes from the
		   title-area and everything here just needs `align-items: center`
		   on `.site-header .wrap` to stay vertically centred in it. */
		display: inline-block;
		font-size: 12px;
		height: 48px;
		line-height: 48px;
		padding: 0 6px 0 10px;
	}

	/* The slash separators between top level items — a muted white keeps
	   them visible against the navy header without competing with the
	   gold hover/active colour. */
	.nav-primary .genesis-nav-menu > .menu-item::before {
		color: rgba(255, 255, 255, 0.35);
		content: "/";
		font-size: 11px;
		margin: 0;
	}

	.nav-primary .genesis-nav-menu > .menu-item:first-child::before,
	.nav-primary .genesis-nav-menu > .submit::before,
	.nav-primary .genesis-nav-menu > .menu-highlight::before {
		content: "";
	}

	/* The animated 3px underline. */
	.nav-primary .genesis-nav-menu > .menu-item > a::before {
		bottom: 0;
		content: "";
		height: 3px;
		left: 0;
		position: absolute;
		right: 0;
		transform: scaleX(0);
		transition: var(--bt-transition);
		visibility: hidden;
		width: 100%;
	}

	.nav-primary .genesis-nav-menu > .menu-item > a:hover::before {
		background-color: var(--bt-accent);
		transform: scaleX(0.9);
		visibility: visible;
	}

	.nav-primary .genesis-nav-menu > .submit > a,
	.nav-primary .genesis-nav-menu > .menu-highlight > a {
		padding: 0 30px;
	}

	.nav-primary .genesis-nav-menu > .submit > a::before,
	.nav-primary .genesis-nav-menu > .menu-highlight > a::before {
		display: none;
	}

	/* Hero
	--------------------------------------------- */

	.bt-hero {
		background-image: url("images/hero-trophy.jpg");
		background-image: image-set(url("images/hero-trophy.webp") type("image/webp"), url("images/hero-trophy.jpg") type("image/jpeg"));
		background-position: center right;
		background-repeat: no-repeat;
		background-size: cover;
		position: relative;
		/* The desktop header is back to sitting in the flow above the hero
		   (not overlaid), so this is just the base section padding plus
		   extra breathing room — no header-height compensation needed. */
		padding-bottom: calc(var(--bt-section-padding) + 60px);
		padding-top: calc(var(--bt-section-padding) + 60px);
	}

	/* Scrim over the left half so a long headline stays legible. */
	.bt-hero::before {
		background: linear-gradient(to right, rgba(11, 35, 65, 0.92) 0%, rgba(11, 35, 65, 0.55) 42%, rgba(11, 35, 65, 0) 68%);
		bottom: 0;
		content: "";
		left: 0;
		position: absolute;
		right: 0;
		top: 0;
	}

	.bt-hero .container {
		position: relative;
		text-align: left;
		z-index: 1;
	}

	.bt-hero__inner {
		max-width: 58%;
	}

	.bt-hero__text {
		margin-left: 0;
	}

	/* Site Inner
	--------------------------------------------- */

	.site-inner > .wrap {
		max-width: 1170px;
	}

	/* Content
	--------------------------------------------- */

	.content {
		float: left;
		width: 65%;
	}

	.sidebar-content .content {
		float: right;
	}

	.full-width-content .content {
		float: none;
		margin-left: auto;
		margin-right: auto;
		width: 100%;
	}

	/* Sidebar
	--------------------------------------------- */

	.sidebar {
		float: right;
		width: 32%;
	}

	.sidebar-content .sidebar {
		float: left;
	}

	/* After Entry
	--------------------------------------------- */

	.after-entry {
		padding: 40px 60px;
	}

	/* Column Classes
	--------------------------------------------- */

	.five-sixths,
	.four-sixths,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-sixths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		float: left;
		margin-left: 2.564102564102564%;
	}

	.one-half,
	.three-sixths,
	.two-fourths {
		width: 48.717948717948715%;
	}

	.one-third,
	.two-sixths {
		width: 31.623931623931625%;
	}

	.four-sixths,
	.two-thirds {
		width: 65.81196581196582%;
	}

	.one-fourth {
		width: 23.076923076923077%;
	}

	.three-fourths {
		width: 74.35897435897436%;
	}

	.one-sixth {
		width: 14.52991452991453%;
	}

	.five-sixths {
		width: 82.90598290598291%;
	}

	.first {
		clear: both;
		margin-left: 0;
	}

	/* Entry Misc.
	--------------------------------------------- */

	.after-entry,
	.archive-description,
	.author-box,
	.comment-respond,
	.entry,
	.entry-comments,
	.entry-pings {
		margin-bottom: 30px;
	}

	/* Footer Widgets
	--------------------------------------------- */

	.footer-widget-area {
		float: left;
		margin-bottom: 0;
		width: 20%;
	}

	/* The first column carries the about text, so it runs wider. */
	.footer-widget-area.footer-widgets-1 {
		width: 40%;
	}

}

/* Max-width: 1228px
--------------------------------------------- */

@media only screen and (max-width: 1228px) {

	.site-header .wrap,
	.lpad .container {
		width: 100% !important;
	}

}

/* Max-width: 992px
--------------------------------------------- */

@media only screen and (max-width: 992px) {

	.section {
		padding: var(--bt-section-padding) 0 !important;
	}

	.container,
	.lpad .container {
		width: 90% !important;
	}

	.lpad .award-details {
		margin-top: 30px;
	}

	.editor-picks .col-md-6 {
		margin: 15px 0;
	}

	.bb {
		text-align: center;
	}

	.site-share {
		right: 20px;
	}

}

/* Max-width: 902px
--------------------------------------------- */

@media only screen and (max-width: 902px) {

	.nav-primary .genesis-nav-menu > .menu-item::before {
		display: none;
	}

	.nav-primary .genesis-nav-menu > .menu-item > a {
		padding: 0 4px 0 8px;
	}

}

/* Max-width: 768px
--------------------------------------------- */

@media only screen and (max-width: 768px) {

	.comment-review {
		display: none;
	}

	.m30 {
		margin-top: 30px;
	}

	.intro h2 {
		font-size: 80px;
		line-height: 80px;
	}

	.callout h3 {
		font-size: 60px;
		line-height: 60px;
	}

	.content {
		padding: 30px;
	}

	.archive_list li {
		width: 10%;
	}

	.newsletterform .input-group,
	.newsletterform .form-control {
		width: 100% !important;
	}

	.small-title,
	.section-title .small-title,
	.entry-title,
	.blog-meta h3 {
		font-size: 38px !important;
		line-height: 38px;
	}

	.media-left,
	.media-right,
	.media-body {
		display: block;
		margin: 30px 0;
	}

	.media-left {
		padding-right: 0;
	}

	/* The comparison table has seven columns, so below this width it becomes a
	   stack of labelled rows rather than a horizontal scroller. */
	.bt-table thead {
		display: none;
	}

	.bt-table,
	.bt-table tbody,
	.bt-table tr,
	.bt-table td {
		display: block;
		width: 100%;
	}

	.bt-table__row {
		border-bottom: 8px solid var(--bt-band);
		padding: 18px 0;
	}

	.bt-table td {
		align-items: center;
		border: 0;
		display: flex;
		gap: 16px;
		justify-content: space-between;
		padding: 7px 18px;
		text-align: right;
	}

	.bt-table td::before {
		color: var(--bt-muted);
		content: attr(data-label);
		flex: 0 0 auto;
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 1px;
		text-align: left;
		text-transform: uppercase;
	}

	/* The medallion and the logo speak for themselves, so they lose their labels. */
	.bt-table__rank::before,
	.bt-table__brand::before {
		display: none;
	}

	.bt-table__rank,
	.bt-table__brand {
		justify-content: flex-start;
		padding-bottom: 2px;
		text-align: left;
		width: 100%;
	}

	.bt-table__brand {
		padding-top: 2px;
	}

	.bt-table__bonus {
		flex-direction: column;
		align-items: flex-end;
	}

	.bt-table__cta .button {
		width: 100%;
	}

	.bt-result__groups {
		grid-template-columns: 1fr;
	}

	.bt-result__head {
		flex-wrap: wrap;
	}

	.bt-facts__row {
		display: block;
	}

	.bt-facts dt {
		margin-bottom: 2px;
	}

}

/* Mobile Header
--------------------------------------------- */

/* A tight, fixed-height bar (see --bt-mobile-header-height) instead of the
   padding-driven height the base/desktop rules produce. Flex centring
   means it stays exactly this tall regardless of whether the title area
   holds text or, later, a logo image.

   Relative (normal flow, scrolls away) until `.is-pinned` switches it to
   sticky — same 200px threshold and reasoning as desktop, see there
   (including why `relative` rather than `static`: the frosted-glass
   `::before` layer below is positioned absolutely against this box). The
   menu button staying in one reachable place, and the logo never
   disappearing mid-scroll, only matters once actually pinned; before that
   it's meant to scroll away like ordinary content. The front page is the
   one exception — see `.home .site-header` below, which stays `fixed`
   throughout regardless of `.is-pinned`, so the hero can show through it
   from the very top of the page. */
@media only screen and (max-width: 959px) {

	.site-header {
		box-sizing: border-box;
		height: var(--bt-mobile-header-height);
		/* The fixed height + centred flex row (below) is what keeps this
		   bar exactly this tall — the new 20px bottom padding on the base
		   rule is meant for the desktop header's natural, content-driven
		   height, so it's reset here to avoid pushing the centred content
		   off-centre inside a fixed box. */
		padding-bottom: 0;
		position: relative;
		z-index: 10000;
	}

	.site-header.is-pinned {
		position: sticky;
		top: var(--bt-adminbar-height);
	}

	/* Only the front page opens on a full-bleed hero, so only there does
	   the header drop its own fill and lift out of the flow to let the
	   hero run underneath it instead of sitting on its own navy bar —
	   desktop keeps the standard navy sticky header everywhere, this is
	   mobile-only.

	   `absolute`, not `fixed`, until pinned: both lift it out of the
	   document flow the same way (so the hero still fills in behind it),
	   but `absolute` ties it to its containing block — which scrolls away
	   with the page, same as the `relative` header used everywhere else
	   before `.is-pinned` — instead of `fixed`, which would pin it to the
	   viewport from the very first pixel of scroll and keep it hanging in
	   view for the whole 0–200px zone instead of scrolling away with the
	   hero like it's meant to. Once `.is-pinned` (below), it switches to
	   `fixed` so it can actually be pinned/hidden/revealed like every
	   other template from that point on.

	   Note: WordPress core's own body class for the front page is `home`
	   (added by `is_front_page()`) — there is no `front-page` class. */
	.home .site-header {
		background: transparent;
		left: 0;
		position: absolute;
		right: 0;
		top: var(--bt-adminbar-height);
		z-index: 10000;
	}

	.home .site-header.is-pinned {
		position: fixed;
	}

	/* A stacking-context's own background/border always paints *below* its
	   positioned descendants, no matter their z-index — so without this,
	   the full-screen menu overlay (also a descendant, see Mobile Menu
	   below) would visually cover the header's own fill even though the
	   header "wins" on z-index. This repaints that fill (and borders) as a
	   positioned layer of its own, sitting above the overlay but below the
	   logo/button — flat solid navy on mobile (the gradient is a desktop-
	   only touch), but see below for the frosted look used while the menu
	   is open.

	   `background-color` is NOT transitioned here — see the note on the
	   base `.site-header` rule above; the fill swaps instantly with the
	   scrolled state below, and so does the blur, for the same reason
	   (a standing `backdrop-filter` on this sticky/fixed header left
	   stale pixels behind while scrolling in some browsers). `border-
	   color` still fades, for the `.menu-toggle.activated` state below. */
	.site-header::before {
		background-color: var(--bt-navy);
		border-top: 5px solid transparent;
		bottom: -1px;
		content: "";
		display: block;
		left: 0;
		position: absolute;
		right: 0;
		top: -5px;
		transition: border-color 0.3s ease-in-out;
		z-index: 9999;
	}

	/* On the front page the header itself has no fill to hide, so its
	   backdrop layer stays transparent too — until the menu opens, at
	   which point the frosted-glass treatment below still applies. */
	.home .site-header::before {
		background-color: transparent;
		border-color: transparent;
	}

	/* Frosted glass once the page has scrolled — `.is-scrolled` is toggled
	   by header-scroll.js. Applies to every template (the front page's
	   `::before` starts transparent, every other page starts opaque navy;
	   either way it settles on the same tint/blur once scrolled). Wins
	   over both rules above (same specificity, declared later). Fill and
	   blur both apply instantly, together — no transition. */
	.site-header.is-scrolled::before {
		background-color: rgba(11, 35, 65, 0.82);
	}

	@supports ( backdrop-filter: blur( 1px ) ) or ( -webkit-backdrop-filter: blur( 1px ) ) {

		.site-header.is-scrolled::before {
			-webkit-backdrop-filter: blur(16px) saturate(140%);
			backdrop-filter: blur(16px) saturate(140%);
		}

	}

	/* While the menu is open, the header becomes part of the same
	   frosted-glass panel instead of sitting on it as a solid opaque bar —
	   the blur/tint carries all the way up over the logo/button row. */
	.site-header:has(.menu-toggle.activated)::before {
		background-color: rgba(11, 35, 65, 0.94);
		border-bottom-color: rgba(255, 255, 255, 0.14);
		border-top-color: transparent;
	}

	@supports ( backdrop-filter: blur( 1px ) ) or ( -webkit-backdrop-filter: blur( 1px ) ) {

		.site-header:has(.menu-toggle.activated)::before {
			background-color: rgba(11, 35, 65, 0.78);
			-webkit-backdrop-filter: blur(16px) saturate(140%);
			backdrop-filter: blur(16px) saturate(140%);
		}

	}

	.site-header:has(.menu-toggle.activated) .site-title a {
		color: var(--bt-white);
	}

	.site-header .wrap {
		align-items: center;
		display: flex;
		height: 100%;
	}

	.title-area {
		float: none;
		padding-bottom: 0;
		padding-top: 0;
		/* Without an explicit stacking position, the logo would paint below
		   the (positioned, z-indexed) full-screen overlay even though the
		   header itself has the higher z-index. */
		position: relative;
		z-index: 10000;
	}

	.wp-custom-logo .title-area {
		max-width: 260px;
		padding-bottom: 0;
		padding-top: 0;
		width: auto;
	}

	.wp-custom-logo .title-area img {
		height: auto;
		width: 240px;
	}

	.menu-toggle {
		margin: 0 0 0 auto;
	}

}

/* Mobile Hero
--------------------------------------------- */

/* Below the desktop banner threshold (960px) the hero switches to a portrait
   crop with the trophy anchored bottom-right, so the eyebrow/heading/CTA
   stack above it never overlaps the trophy. It also now fills exactly from
   the foot of the (now fixed-height) header down to the bottom of the
   viewport, and re-centres itself if the viewport height changes. The
   admin bar (32px, or 46px at its own 782px breakpoint) is subtracted too,
   otherwise a logged-in visitor sees the page overflow the fold by exactly
   its height. */
@media only screen and (max-width: 959px) {

	.bt-hero {
		background-image: url("images/hero-trophy-mobile.jpg");
		background-image: image-set(url("images/hero-trophy-mobile.webp") type("image/webp"), url("images/hero-trophy-mobile.jpg") type("image/jpeg"));
		background-position: bottom center;
		background-repeat: no-repeat;
		background-size: cover;
		/* `max()` puts a floor under the fill-the-viewport height — on a
		   short/landscape-ish phone, filling exactly one screen would leave
		   too little room between the copy and the button, pushing the
		   copy down onto the trophy. Past that floor it's happy to fill
		   the whole viewport as normal. The header now floats over the
		   hero (`position: absolute`) instead of sitting in the flow above
		   it, so only the admin bar — which does still take up real
		   space — needs subtracting here. */
		min-height: max(calc(100vh - var(--bt-adminbar-height)), 620px);
		position: relative;
	}

	/* The copy stack pins to the top and the CTA pins to the bottom —
	   otherwise, centred as one block, the copy ends up sitting over the
	   trophy and is unreadable against it. `.container` is positioned to
	   fill the hero's full box (a percentage/flex-stretched height is
	   unreliable here since `.bt-hero`'s own height comes from
	   `min-height`, not a definite `height`) and carries the vertical
	   padding itself — an absolutely positioned child sits at its
	   containing block's padding *edge*, so padding set on `.bt-hero`
	   itself would otherwise be ignored here. `.bt-hero__inner` then
	   simply flexes to split its two children apart. */
	.bt-hero .container {
		bottom: 0;
		display: flex;
		flex-direction: column;
		left: 0;
		padding-bottom: 100px;
		/* The header now floats over the hero instead of sitting above it
		   in the flow, so the copy needs its own clearance to stay out
		   from under the logo — plus extra breathing room on top of that. */
		padding-top: calc(var(--bt-mobile-header-height) + 84px);
		position: absolute;
		right: 0;
		top: 0;
		z-index: 1;
	}

	.bt-hero__inner {
		display: flex;
		flex: 1;
		flex-direction: column;
		justify-content: space-between;
	}

	.bt-hero__copy {
		margin-bottom: 30px;
	}

	/* `justify-content: space-between` on `.bt-hero__inner` already creates
	   the gap above the button — the base rule's own top margin would just
	   stack on top of that. */
	.bt-hero__cta {
		margin-top: 0;
	}

	/* `dvh` accounts for the mobile browser chrome (address bar etc.)
	   collapsing/expanding, so the fill stays accurate as it scrolls. */
	@supports (min-height: 100dvh) {

		.bt-hero {
			min-height: max(calc(100dvh - var(--bt-adminbar-height)), 620px);
		}

	}

	/* Scrim over the top portion so the text stack stays legible without
	   dulling the trophy lower down. */
	.bt-hero::before {
		background: linear-gradient(to bottom, rgba(11, 35, 65, 0.94) 0%, rgba(11, 35, 65, 0.8) 40%, rgba(11, 35, 65, 0.35) 62%, rgba(11, 35, 65, 0) 80%);
		bottom: 0;
		content: "";
		left: 0;
		position: absolute;
		right: 0;
		top: 0;
	}

}

/* Mobile Menu
--------------------------------------------- */

/* A full-screen, frosted-glass panel rather than a plain dropdown. It is
   purely CSS-driven off the `.activated` class Genesis's own responsive
   menu script already toggles on the button — no extra JS required. The
   `!important` rules neutralise the script's inline `display`/`height`
   animation so our own opacity/transform fade can run instead.

   It covers the full viewport (top:0), but the sticky header sits above
   it in z-index, so the header — and the toggle button inside it — stays
   visible and in exactly the same spot whether the menu is open or
   closed; only the icon inside the button animates. */
@media only screen and (max-width: 959px) {

	/* Scoped to `.js` so a no-JS visitor still gets Genesis's plain, always-
	   visible menu list rather than a permanently invisible one. */
	.js .nav-primary {
		align-items: center;
		background-color: rgba(11, 35, 65, 0.94);
		bottom: 0 !important;
		clear: none;
		display: flex !important;
		flex-direction: column;
		height: 100vh !important;
		justify-content: center;
		left: 0;
		opacity: 0;
		overflow-y: auto;
		padding: 40px 30px !important;
		pointer-events: none;
		position: fixed !important;
		right: 0;
		top: 0 !important;
		transform: translateY(-12px);
		transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, visibility 0.3s;
		visibility: hidden;
		width: 100% !important;
		z-index: 9998;
	}

	/* `dvh` accounts for mobile browser chrome collapsing/expanding, same
	   as the hero fill above. */
	@supports (height: 100dvh) {

		.js .nav-primary {
			height: 100dvh !important;
		}

	}

	@supports ( backdrop-filter: blur( 1px ) ) or ( -webkit-backdrop-filter: blur( 1px ) ) {

		.js .nav-primary {
			background-color: rgba(11, 35, 65, 0.78);
			-webkit-backdrop-filter: blur(16px) saturate(140%);
			backdrop-filter: blur(16px) saturate(140%);
		}

	}

	.menu-toggle.activated + .nav-primary {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}

	/* The button lives in the sticky header, which stays opaque and on top
	   (z-index 10000 vs the panel's 9998) — so it's always reachable to
	   close, in exactly the same spot it was to open. */
	body:has(.menu-toggle.activated) {
		overflow: hidden;
	}

	.nav-primary .genesis-nav-menu {
		margin: 0 auto;
		max-width: 420px;
		text-align: center;
		width: 100%;
	}

	.nav-primary .genesis-nav-menu .menu-item {
		margin-bottom: 18px;
	}

	.nav-primary .genesis-nav-menu .menu-item:last-child {
		margin-bottom: 0;
	}

	.nav-primary .genesis-nav-menu a {
		border-bottom: 0;
		color: var(--bt-white);
		font-size: 16px;
		letter-spacing: 1px;
		padding-bottom: 20px;
		padding-top: 20px;
		text-align: center;
	}

	.nav-primary .genesis-nav-menu a:focus,
	.nav-primary .genesis-nav-menu a:hover,
	.nav-primary .genesis-nav-menu .current-menu-item > a {
		color: var(--bt-accent);
	}

	.nav-primary .genesis-nav-menu > .submit > a,
	.nav-primary .genesis-nav-menu > .menu-highlight > a {
		background-color: transparent;
		color: var(--bt-accent) !important;
	}

	.nav-primary .sub-menu-toggle {
		color: var(--bt-white);
	}

	.nav-primary .sub-menu-toggle:focus,
	.nav-primary .sub-menu-toggle:hover {
		color: var(--bt-accent);
	}

	.nav-primary .genesis-nav-menu .sub-menu {
		padding-left: 20px;
	}

	.nav-primary .genesis-nav-menu .sub-menu a {
		background-color: transparent;
		color: rgba(255, 255, 255, 0.75);
		font-size: 14px;
		padding-bottom: 14px;
		padding-top: 14px;
	}

	.nav-primary .genesis-nav-menu .sub-menu a:focus,
	.nav-primary .genesis-nav-menu .sub-menu a:hover {
		color: var(--bt-accent);
	}

}

/* Max-width: 500px
--------------------------------------------- */

@media only screen and (max-width: 500px) {

	.single-site .site-single-share .cat_list li {
		width: 40%;
	}

	.site-single-share .cat_list.site-cat li {
		width: 100%;
	}

	.content {
		padding: 45px 15px;
	}

	.archive_list li {
		margin: auto !important;
		text-align: center;
		width: 25%;
	}

	.site-small-desc,
	.site-publisher,
	.site-progress {
		padding: 20px;
	}

}


/* Print Styles
---------------------------------------------------------------------------- */

@media print {

	*,
	*::before,
	*::after {
		background: transparent !important;
		box-shadow: none !important;
		color: #333 !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]::after {
		content: " (" attr(href) ")";
	}

	abbr[title]::after {
		content: " (" attr(title) ")";
	}

	a[href^="javascript:"]::after,
	a[href^="#"]::after,
	.site-title > a::after {
		content: "";
	}

	thead {
		display: table-header-group;
	}

	img,
	tr {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 2cm 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	blockquote,
	pre {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	.content,
	.content-sidebar {
		width: 100%;
	}

	button,
	input,
	select,
	textarea,
	.breadcrumb,
	.comment-edit-link,
	.comment-form,
	.comment-list .reply a,
	.comment-reply-title,
	.corner-ribbon,
	.edit-link,
	.entry-comments-link,
	.entry-footer,
	.genesis-box,
	.header-widget-area,
	.hidden-print,
	.home-top,
	.magnifier,
	.nav-primary,
	.nav-secondary,
	.post-edit-link,
	.site-share,
	.sidebar {
		display: none !important;
	}

	.title-area {
		text-align: center;
		width: 100%;
	}

	.site-title > a {
		margin: 0;
		text-decoration: none;
		text-indent: 0;
	}

	.site-inner {
		padding-top: 0;
		position: relative;
	}

	.author-box {
		margin-bottom: 0;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		orphans: 3;
		page-break-after: avoid;
		page-break-inside: avoid;
		widows: 3;
	}

	img {
		page-break-after: avoid;
		page-break-inside: avoid;
	}

	blockquote,
	pre,
	table {
		page-break-inside: avoid;
	}

	dl,
	ol,
	ul {
		page-break-before: avoid;
	}

}
