/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

:root {
  --color-black: #051135;
  --color-white: #fff;
  --color-red: #ee1529;
  --color-blue: #051a46;
  --color-green: green;
  --color-grey: #ccc;
  --color-warning: #dea330;
  --box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
  --border-radius: 4px;
  --red-linear-gradient: linear-gradient(to bottom, #e10507, #d20407, #c40406, #b60306, #a80305);
  --blue-linear-gradient: linear-gradient(to bottom, #112639, #173047, #1c3a55, #224563, #285072);
  --black-linear-gradient: linear-gradient(to right bottom, #000000, #141011, #201b1c, #2d2526, #3a2f30, #3a2f30, #3a2f30, #3a2f30, #2d2526, #201b1c, #141011, #000000);
  --green-linear-gradient: linear-gradient(to bottom, #18bb51, #14a747, #10943d, #0b8134, #076f2b);
  --font-awesome: FontAwesome;
  --row-color-odd: #f1f1f1;
  --row-color-even: #fff;
}

html, body {
  overflow-x: hidden;
}

/* Tighten horizontal spacing between top-level main menu items.
   (Sub-menu links have their own padding rules below and are unaffected.) */
#menu-main-menu > li > a.gb-menu-link,
#menu-main-menu > .gb-menu-item > .gb-menu-link {
	padding-left: 12px;
	padding-right: 12px;
	column-gap: 2px;
}

/* Pull the submenu chevron icon closer to the link text. */
#menu-main-menu > li > a.gb-menu-link > .gb-submenu-toggle-icon,
#menu-main-menu > .gb-menu-item > .gb-menu-link > .gb-submenu-toggle-icon {
	margin-left: 0;
}
#menu-main-menu > li > .gb-submenu-toggle,
#menu-main-menu > .gb-menu-item > .gb-submenu-toggle {
	width: auto;
	padding-left: 2px;
	padding-right: 0;
	margin-left: -4px;
}

body {
  font-family: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-black);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 0.5em;
}
/* Responsive type scale using clamp() */
h1 { font-size: clamp(2rem, 1rem + 3vw, 2.25rem); }
h2 { font-size: clamp(1.75rem, 0.9rem + 2.5vw, 1.75rem); }
h3 { font-size: clamp(1.5rem, 0.8rem + 1.8vw, 1.25rem); }



.site-header {
  /*change color of the blue default header at top of page*/
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid #ccc;
}

.full-width-row {
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  /* styling */
  box-sizing: border-box;
}

.inner-content-row {
	max-width: 1380px;
	width: 100%;
	margin: auto;
	padding: 0px 20px;
}

.add-top-border {
  border-top: 1px solid #aaa;
}

.add-bottom-border {
  border-bottom: 1px solid #aaa;
}

.add-top-bottom-border {
  border-top: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
}

.add-top-bottom-padding {
  padding-top: 30px;
	padding-bottom: 20px;
}

.add-top-bottom-margin {
  margin-top: 30px;
	margin-bottom: 30px;
}

.background-grey {
  background-color: #f8f8f8;
}

.background-blue {
  background-color: var(--color-blue);
}

.table-striped table tr:nth-child(even) {
  background-color: var(--row-color-even);
}

.table-striped table tr:nth-child(odd) {
  background-color: var(--row-color-odd);
}

ol.numbered {
  counter-reset: item;
  list-style: none;
  margin: 0;
  margin-bottom: 2em;
  padding: 0;
  
}
ol.numbered li {
  counter-increment: item;
  margin: 0.35em 0;
  padding: .5em;
  padding-left: 3.5em;
  position: relative;
  border: 1px dashed #ccc;
  min-height: 1.6em; /* ensures space for number box */
  background-color: #f8f8f8;
}

ol.numbered li::before {
  content: counter(item);
  position: absolute;
  left: 5px;
  top: 50%;               /* move to vertical center */
  transform: translateY(-50%); /* center correction */
  width: 1.4em;
  height: 1.4em;
  font-size: 2.25em;
  
  border-radius: 0.2em;
  color: #ccc;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: system-ui, sans-serif;
}

/*the following apply to all icons that have a prefix of list-icons-*/

ul[class*="list-icons-"] li::before {
    font-family: var(--font-awesome);
	display: inline-block;
	margin-right: 10px;
  	text-align: center;
  	flex: 0 0 auto; /* Prevents the icon from shrinking */
	position: absolute;
  	left: 0;
  	top: 0.2em;
  	font-size: 1.3em;
  	line-height: 1;
}

ul[class*="list-icons-"] {
  list-style: none;
  margin: 0;
  margin-left: 20px;
  margin-bottom: 30px;
  padding: 0;
}

ul[class*="list-icons-"] li {
  position: relative;
  padding-left: 2em;
  margin: 0.6em 0;
}
ul.list-icons-checklist li::before {
  content: "\f058";
  color: var(--color-green);
}

ul.list-icons-arrow-right li::before {
  content: "\f0a9";
  color: var(--color-black);
}

ul.list-icons-exclamation li::before {
  content: "\f06a";
  color: var(--color-blue);
}

ul.list-icons-pros li::before {
  content: "\f058";
  color: var(--color-green);
}

ul.list-icons-cons li::before {
  content: "\f056";
  color: var(--color-red);
}

[class*="icon-"]::before {
    font-family: FontAwesome;
    padding-right: 10px;
	vertical-align: middle;
}

.icon-question::before{
    content: "\f059";
}

.faqs-section {
	max-width: 1380px;
	width: 100%;
	margin: auto;
	padding: 20px;
}

.faqs-section h2{
	margin-bottom: 35px;
	color: var(--color-blue);
}

.faqs-section h3{
	font-size: 1.2em;
	border-bottom: 1px dashed #999;
	padding-bottom: 5px;
}

.faqs-section h3::before{
	font-family: FontAwesome;
    padding-right: 10px;
	vertical-align: middle;
	content: "\f059";
}

/*Start list-grid Styles*/
ul.list-grid {
    list-style: none; /* Removes default bullet points */
    display: grid; /* Defines the container as a grid */
    grid-template-columns: repeat(1, 1fr); /* Creates 3 equal-width columns */
    gap: 8px; /* Adds space between grid items */
	margin-left: 0em;
	align-items: center;
}

#header-global-wrapper ul.list-grid {
	margin-bottom: 0px;
}

ul.list-grid.grid-fifths, .page-nav-boxes ul.grid-fifths {
    grid-template-columns: repeat(5, 1fr); /* Creates 5 equal-width columns */
}

ul.list-grid.grid-forths, .page-nav-boxes ul.grid-forths {
    grid-template-columns: repeat(4, 1fr); /* Creates 4 equal-width columns */
}

ul.list-grid.grid-thirds, .page-nav-boxes ul.grid-thirds {
    grid-template-columns: repeat(3, 1fr); /* Creates 3 equal-width columns */
}

ul.list-grid.grid-seconds, .page-nav-boxes ul.grid-seconds {
    grid-template-columns: repeat(2, 1fr); /* Creates 2 equal-width columns */
}

@media only screen and (max-width:1152px) {
	ul.list-grid.grid-fifths {
		grid-template-columns: repeat(4, 1fr); /* Creates 3 equal-width columns */
	}
}

@media only screen and (max-width:929px) {
	ul.list-grid.grid-fifths, ul.list-grid.grid-forths, .page-nav-boxes ul.grid-forths {
		grid-template-columns: repeat(3, 1fr); /* Creates 3 equal-width columns */
	}
	.page-nav-boxes ul.grid-thirds {
		grid-template-columns: repeat(2, 1fr); /* Creates 2 equal-width columns */
	}
}

@media only screen and (max-width:689px) {
	ul.list-grid.grid-fifths, ul.list-grid.grid-forths, ul.list-grid.grid-thirds, .page-nav-boxes ul.grid-fifths, .page-nav-boxes ul.grid-forths, .page-nav-boxes ul.grid-seconds {
		grid-template-columns: repeat(2, 1fr); /* Creates 2 equal-width columns */
	}
	.page-nav-boxes ul.grid-thirds {
		grid-template-columns: repeat(1, 1fr); /* Creates 1 equal-width columns */
	}
}

@media only screen and (max-width:539px) {
	ul.list-grid.grid-fifths, ul.list-grid.grid-forths, ul.list-grid.grid-thirds, ul.list-grid.grid-seconds, .page-nav-boxes ul.grid-fifths, .page-nav-boxes ul.grid-forths, .page-nav-boxes ul.grid-thirds, .page-nav-boxes ul.grid-seconds {
		grid-template-columns: repeat(1, 1fr); /* Creates 1 equal-width columns */
	}
}

.list-grid-menu {
	width: 100%;
	min-width: 300px;
}

ul.list-grid li {
    padding: 5px 10px;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
	border-radius: 5px;
}

ul.list-grid.list-grid-with-images li{
	line-height: 25px;
}

ul.list-grid li img, ul.list-grid li svg{
	width: 25px;
	height: 25px;
	float: left;
	border-radius: 50%;
	margin-left: 6px;
	margin-right: 10px;
	max-height: 25px;
	min-height: 25px;
	box-shadow: var(--box-shadow);
}

ul.list-grid li svg{
	box-shadow: none;
}

ul.list-grid li i{
	width: 25px;
	height: 25px;
	float: left;
	margin-left: 6px;
	margin-right: 10px;
	max-height: 25px;
	min-height: 25px;
	line-height: 25px;
	font-size: 20px;
	text-align: center;
}

ul.list-grid li:has(a:hover) {
  background-color: var(--color-blue);
}

ul.list-grid li a {
    width: 100%;
	text-decoration: none;
	display: inline-block;
	color: var(--color-blue);
}

ul.list-grid li a:hover, ul.list-grid li:has(a:hover)::before  {
    color: #fff;
}

ul.list-grid.grid-icons li {
    display: flex; /* Enables flexbox for vertical alignment */
  	align-items: center; /* Vertically centers the icon and text */
}

ul[class*="grid-icons-"] li::before {
    font-family: var(--font-awesome);
	display: inline-block;
  	font-size: 18px;
	margin-right: 10px;
  	text-align: center;
  	flex: 0 0 auto; /* Prevents the icon from shrinking */
}

.icon-grid::before, ul.list-grid.grid-icons.grid-icons-grid li::before {
    content: "\f58d";
}

.icon-grid::before, ul.list-grid.grid-icons.grid-icons-circle-check li::before {
    content: "\f058";
	color: var(--color-green);
}



.grid-odds li strong{
	display: block;
	width:70px;
	float: right;
	background-color: var(--color-blue);
	font-size: 95%;
	border-radius: 3px;
	text-align: right;
	color: #fff;
	padding-right: 5px;
}


/*End list-grid Styles*/

.page-divider {
	 margin-top: -20px;
	 width: 100%;
	 position: relative;
	 margin-bottom: 50px;
}
 .page-divider .mask {
	 overflow: hidden;
	 height: 20px;
}
 .page-divider .mask:after {
	 content: '';
	 display: block;
	 margin: -25px auto 0;
	 width: 100%;
	 height: 25px;
	 border-radius: 125px / 12px;
	 box-shadow: 0 0 8px black;
}
 .page-divider span {
	 width: 60px;
	 height: 60px;
	 position: absolute;
	 bottom: 100%;
	 margin-bottom: -30px;
	 left: 50%;
	 margin-left: -30px;
	 border-radius: 100%;
	 box-shadow: 0 2px 4px #999;
	 background: white;
}
 .page-divider span i {
	 position: absolute;
	 top: 6px;
	 bottom: 6px;
	 left: 6px;
	 right: 6px;
	 border-radius: 100%;
	 border: 1px dashed #aaa;
	 text-align: center;
	 line-height: 45px;
	 font-style: normal;
	 color: #999;
}



/*Start Global Sportsbook Styles*/
.rowblock-display {
    counter-reset: rating;
	padding: 30px 20px 10px 20px;
	border: 1px solid #ccc;
	background: #f8f8f8;
	border-radius: 5px;
	margin-bottom: 20px;
}

.rowblock {
    counter-increment: rating;
	padding: 0;
    list-style: none;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
	box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
	margin-bottom: 19px;
	background-color: white;
}
	
.rowblock *{
  	padding: 0px;
  	margin: 0px;
	line-height: normal;
}	
	
.rowblock  .col {
    padding: 7px;
  display: flex;
  align-items: center;      /* center content vertically */
}
	
.rowblock .col:nth-child(1) {
  	width: 150px;
	order: 1;
	border-right: 1px solid #f1f1f1;
	position: relative;
	/*background-color: var(--color-red);*/
/*	align-self: center;*/
}
	
.rowblock .col:nth-child(2) {
	flex-basis: calc(100% - 625px);
	order: 2;
	border-right: 1px solid #f1f1f1;
	align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
	align-items: flex-start;
}

.rowblock .col:nth-child(2) h3{
		margin-top: 0px;
		margin-bottom: 4px;
		font-size: 16px;
		font-weight: 600;
		color: #001e54;
	}
.rowblock .col:nth-child(2) p{
		margin-top: 0px;
		font-size: 15px;
	}
	
.rowblock .col:nth-child(3) {
  	width: 110px;
	order: 3;
	border-right: 1px solid #f1f1f1;
	font-size: 14px;
	/*align-self: center;*/
}
	
.rowblock p.bonus-offer {
	text-align: center;
	max-width: 100px;
	margin: auto;
	}	
.rowblock p.bonus-offer span{
		display: block;
	}
.rowblock p.bonus-offer span:nth-child(1){
	font-weight: bold;
}
	
.rowblock p.bonus-offer span:nth-child(2){
		font-weight: bold;
		border: 2px dashed #cd2e40;
		padding: 2px 5px;
		margin-top: 3px;
		background-color: rgba(205,46,64,0.35);
	}

.rowblock .col:nth-child(4) {
  	width: 220px;
	order: 4;
	border-right: 1px solid #f1f1f1;
	display: flex;
  flex-direction: column;
	justify-content: center;
}

.rowblock .col:nth-child(4) ul{
	list-style-type: none;
	margin:0px;
	padding: 0px;
	font-size: 14px !important;
}
	
.rowblock .col:nth-child(4) ul li{
	position: relative;
  	padding-left: 1.4em; /* space for the icon */
}	
	
.rowblock .col:nth-child(4) ul li::before{
	content: "\f058"; /* Font Awesome “check-circle” */
  font-family: "Font Awesome 5 Free"; /* or "Font Awesome 6 Free" depending on version */
  font-weight: 900;
  color: #0D2C87; /* the same blue */
  position: absolute;
  left: 0;
  top: 0.2em;
  font-size: 1.1em;
}
	
.rowblock .col:nth-child(5) {
	order: 5;
  	width: 145px;
	align-self: center;
}

.rowblock p.sportsbooks-display-action a{
		display: flex; 
  		align-items: center;
	    justify-content: center;
  		gap: 0.5em;            /* space between icon + text */
		background-image: var(--red-linear-gradient);
		background-color: #18bb51;
		text-align: center;
	    border: 1px solid #ccc;
		width: 130px;
		color: #fff;
		border-radius: 4px;
		padding: 7px;
		font-size: 16px !important;
		text-decoration: none;
		line-height: 1; /* removes baseline weirdness */
	}

.rowblock p.sportsbooks-display-action a .btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.rowblock p.sportsbooks-display-action a .btn-icon  svg {
  margin-top: -2px;
  width: 25px;
  height: 25px;
  display: block; /* prevents inline baseline shift */
}

.rowblock p.sportsbooks-display-logo {
		width: 135px;
		min-width: 135px;
	    height: 50px;
		border-radius: 4px;
		margin: 0px auto;
	    display: flex;
  		justify-content: center;
  		align-items: center;
	}

.rowblock p.sportsbooks-display-logo img{
		border-radius: 10px;
		box-shadow: 1px 1px 4px black;
	}

.rowblock p.sportsbooks-display-logo .rbon {
  --f: .5em; /* control the folded part*/
  --r: .8em; /* control the ribbon shape */
  font-size: 14px;
  font-weight: bold;
	color: #fff;
  position: absolute;
  top: -13px;
  left: -9px;
  padding-inline: .25em;
  line-height: 1.6;
  background-color: var(--color-blue);
  border-bottom: var(--f) solid #0005;
  border-right: var(--r) solid #0000;
  clip-path: 
    polygon(calc(100% - var(--r)) 0,0 0,0 calc(100% - var(--f)),var(--f) 100%,
      var(--f) calc(100% - var(--f)),calc(100% - var(--r)) calc(100% - var(--f)),
      100% calc(50% - var(--f)/2));
}

.rowblock:first-of-type p.sportsbooks-display-logo .rbon {
  background-color: var(--color-red);
}
.rowblock p.sportsbooks-display-logo .rbon::before {
  content: "Rated #" counter(rating);
}

p.stars {
	color: #ffcc00;
}

/* Medium devices (landscape tablets, 1080px and up) */
	@media only screen and (max-width: 1080px) {
		.rowblock .col:nth-child(5) {
			width: 100%;
			flex: 1 1 100%;
			border-top: 1px solid #f1f1f1;
		}
		.rowblock p.sportsbooks-display-action a{
			width: 100% !important;
			max-width: none;
		}
		.rowblock .col:nth-child(2) {
			flex-basis: calc(100% - 485px);
		}
		.rowblock .col:nth-child(4) {
			border-right: none;
		}
		.rowblock p.sportsbooks-display-logo {
			margin-bottom: 4px;
		}
		.rowblock .col:nth-child(1) {
			padding-top: 9px;
		}
		.rowblock .col:nth-child(1) p.sportsbooks-display-logo {
			margin-top: 4px;
		}
	}
	
/* Medium devices (landscape tablets, 1190px and up) */
	@media only screen and (max-width: 800px) {
		
		.rowblock {
			margin-bottom: 20px;
		}
		.rowblock .col:nth-child(1) {
			width:50%;
			border-bottom: 1px solid #f1f1f1;
		}
		.rowblock .col:nth-child(2) {
			flex-basis: calc(50%);
			padding: 20px 20px 10px 20px;
			order: 3;
		}
		.rowblock .col:nth-child(3) {
			order: 2;
			width:50%;
			border-right: none;
			border-bottom: 1px solid #f1f1f1;
		}
		.rowblock .col:nth-child(4) {
			width:50%;
			padding: 20px 20px 10px 20px;
		}
	}
	
/* Small devices (landscape tablets, 580px and up) */
	@media only screen and (max-width: 580px) {
		.rowblock .col:nth-child(2),.rowblock .col:nth-child(4) {
			flex-basis: calc(100%);
			border-right: none;
			padding: 20px 20px 0px 20px;
		}
		.rowblock .col:nth-child(4) ul{
			margin-bottom: 10px;
		}
		
	}
/*End Global Sportsbook Styles*/

/*.author-section {
	display: grid;
	grid-template-columns: 150px 100px 1fr;
	align-items: center;
	background-color: #f8f8f8;
	border: 1px solid #ccc;
	border-radius: 5px;
	margin-bottom: 30px;
	padding: 5px 10px;
}

.author-section .published_details p {
	margin: 0px;
	padding: 0px;
	line-height: normal;
	font-size: .9em;
}

.author-section .published_details p.published_date {
	font-weight: 600;
}

.author-section img{
	width: 60px;
	border-radius: 100%;
	border: 1px solid #ccc;
}
.author-section .published_details p a{
	font-weight: bold;
	text-decoration: none;
}*/


.short-review {
	-moz-box-shadow: var(--box-shadow);
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
	border-radius: var(--border-radius);
	width: 100%;
	padding: 50px 30px 20px 50px;
	margin-top: 30px;
	margin-bottom: 30px;
	position: relative;
	background-color: var(--color-white);
}

.short-review ul{
	margin-left: 0px;
}

.short-review h3{
	color: var(--color-red);
	text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}


.short-review a.review-btn{
	padding: 10px 20px;
    color: #fff;
    display: inline-block;
    text-align: center;
	text-decoration: none;
	border-radius: 4px;
	background: #e10507;
    background-image: var(--blue-linear-gradient);
	min-width: 250px;
}



.ribbon {
  width: 150px;
  height: 150px;
  overflow: hidden;
  position: absolute;
}

.ribbon span {
  position: absolute;
  display: block;
  width: 250px;
  padding: 5px 20px 5px 10px;
  background-image: var(--red-linear-gradient);
  box-shadow: 0 5px 10px rgba(0,0,0,.1);
  color: #fff;
  font: 600 15px/1 'Lato', sans-serif;
  text-shadow: 0 1px 1px rgba(0,0,0,.2);
  text-transform: uppercase;
  text-align: center;
}

/* top left*/
.ribbon-top-left {
  top: 0px;
  left: 0px;
}

.ribbon-top-left span {
  right: -25px;
  top: 15px;
  transform: rotate(-30deg);
}


.author-header {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 40px;
    padding: 24px 0;
}

/* Rounded image */
.author-header .author-avatar {
    flex-shrink: 0;
}

.author-header .author-avatar img,
.author-header .author-avatar .wp-image-author-avatar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

/* Name and bio on the right */
.author-header .author-info {
    flex: 1;
    min-width: 0;
}

.author-header .author-name {
    margin: 0 0 10px 0;
    font-size: 1.6em;
    line-height: 1.2;
}

.author-header .author-bio {
    margin: 0;
    line-height: 1.6;
    color: #555;
}


.author-bio p:last-child {
    margin-bottom: 0;
}

.page-header.author-header {
	border-bottom: 2px solid #ccc;
}

/* Responsive — stack on small screens */
@media ( max-width: 600px ) {
    .page-header.author-header {
        flex-direction: column;
        align-items: center;
    }
}



/* start Page Author Section */
/* ── Desktop ── */
.author-section {
    display: grid;
    grid-template-columns: 150px 100px 1fr;
    align-items: center;
    background-color: #f8f8f8;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 30px;
    padding: 5px 10px;
}

.author-section p             { margin: 0; padding: 0; line-height: normal; }
.author-col--photo            { margin: 0; }
.author-section img           { width: 60px; border-radius: 100%; border: 1px solid #ccc; display: block; }
.author-published-label       { font-size: .9em; }
.author-published-date        { font-size: .9em; font-weight: 600; }
.author-expertise             { font-size: .9em; }
.author-name a                { font-weight: bold; text-decoration: none; font-size: .9em; }

/* Hide mobile-only elements on desktop */
.author-top-row,
.author-mobile-expertise,
.author-mobile-date           { display: none; }

/* ── Mobile ── */
@media (max-width: 600px) {

    .author-section {
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        grid-template-areas:
            "photo  date"
            "info   info";
        padding: 8px 10px;
    }

    /* Hide mobile-only elements (from previous approach) */
    .author-top-row,
    .author-mobile-expertise,
    .author-mobile-date        { display: none; }

    .author-col--photo {
        grid-area: photo;
        align-self: center;
        padding-right: 10px;
        padding-bottom: 8px;
    }

    .author-section img        { width: 44px; height: 44px; }

    .author-col--date {
        grid-area: date;
        align-self: center;
        padding-bottom: 8px;
    }

    .author-col--date p        { font-size: .82em; }

    .author-col--info {
        grid-area: info;
        border-top: 1px solid #ccc;
        padding-top: 8px;
        padding-bottom: 4px;
    }

    .author-col--info p        { font-size: .85em; margin-bottom: 2px; }
}
/* end Page Author Section */

/* start table styles */
/* Desktop table styles */
  table.responsive-table {
	width: 100%;
    border-collapse: collapse;
    font-family: sans-serif;
    overflow-x: auto;
  }

  table.responsive-table thead th {
    background: #1a1a2e;
    color: #fff;
    padding: 12px 14px;
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
    border: none;
  }

  table.responsive-table.table-striped tbody tr:nth-child(odd) {
    background: #f5f5f5;
  }

  table.responsive-table.table-striped tbody tr:nth-child(even) {
    background: #ffffff;
  }

  table.responsive-table tbody td {
    padding: 10px 14px;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
  }

  table.responsive-table tbody tr:hover {
    background: #eaf0fb;
  }

  /* Mobile card view */
  @media (max-width: 768px) {
    table.responsive-table,
    table.responsive-table thead,
    table.responsive-table tbody,
    table.responsive-table th,
    table.responsive-table td,
    table.responsive-table tr {
      display: block;
		font-size: 14px;
    }

    /* Hide the header row visually but keep for data-label reference */
    table.responsive-table thead {
      position: absolute;
      top: -9999px;
      left: -9999px;
    }

    table.responsive-table tbody tr {
      background: #ffffff;
      border: 1px solid #e0e0e0;
      border-radius: 8px;
      margin-bottom: 16px;
      padding: 0;
      box-shadow: 0 2px 6px rgba(0,0,0,0.08);
      overflow: hidden;
    }
	  
	table.responsive-table tbody tr a{
      color: #fff;
    }

    /* State name row — acts as card header */
    table.responsive-table tbody tr td:first-child {
      background: #1a1a2e;
      color: #ffffff;
      font-weight: 700;
      padding: 12px 16px;
      border-bottom: none;
    }

    table.responsive-table tbody tr td:first-child::before {
      content: none;
    }

    /* All other cells shown as label: value rows */
    table.responsive-table tbody tr td:not(:first-child) {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      padding: 10px 16px;
      border-bottom: 1px solid #e0e0e0;
    }

    table.responsive-table tbody tr td:last-child {
      border-bottom: none;
    }

    table.responsive-table tbody tr td:not(:first-child)::before {
      content: attr(data-label);
      font-weight: 600;
      color: #555;
      flex-shrink: 0;
      min-width: 110px;
    }

    /* Striped card rows */
    table.responsive-table.table-striped tbody tr:nth-child(odd),
    table.responsive-table.table-striped tbody tr:nth-child(even) {
      background: #ffffff;
    }

    table.responsive-table.table-striped tbody tr td:not(:first-child):nth-child(odd) {
      background: #f9f9f9;
    }

    table.responsive-table.table-striped tbody tr td:not(:first-child):nth-child(even) {
      background: #ffffff;
    }

    table.responsive-table tbody tr:hover {
      background: #ffffff;
    }
  }
/* end table styles */


ul.mm-dropdowns {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 640px;
	
}

@media (max-width: 960px) {
	ul.mm-dropdowns {
	  list-style: none;
	  padding: 0;
	  margin: 0;
	  display: flex;
	  flex-wrap: wrap;
	  gap: 6px;
	  max-width: 100%;
	  justify-content: flex-start;
	}
	.gb-menu-container--mobile {
		width: 360px;
		margin-left: auto !important;
	}
}

ul.mm-dropdowns li {
  display: block;
}

ul.mm-dropdowns li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  color: #333;
}

ul.mm-dropdowns li a:hover {
  background-color: var(--color-red);
  border-color: #999;
}

ul.mm-single-dropdowns{
	margin: 0px;
}

ul.mm-single-dropdowns li{
	display: block;
	border-bottom: 1px dashed #ccc;
}

ul.mm-single-dropdowns li:last-of-type{
	border-bottom: none;
}

#menu-main-menu .sub-menu {
	box-shadow: 0 2px 4px rgba(0,0,0,0.06),0 8px 16px rgba(0,0,0,0.1);
    column-gap: 32px;
    row-gap: 32px;
    padding: 22px;
	padding-bottom: 12px;
	background-color: #fff;
	width: 300px;
}

#menu-main-menu .sub-menu li{
	display: block;
	border-bottom: 1px dashed #ccc;
}
#menu-main-menu .sub-menu li:last-of-type{
	border-bottom: none;
}

#menu-main-menu .sub-menu .menu-item{
	background-color: #fff;
}
#menu-main-menu .sub-menu .menu-item a{
	color: var(--color-black);
	line-height: normal;
}




#menu-main-menu .sub-menu a.gb-menu-item {
  margin: 0;
  padding: 0;
  line-height: 1;
}

#menu-main-menu .sub-menu a.gb-menu-link {
  padding: 6px 12px;
  line-height: 1.2;
  display: block;
  margin: 0;
}


@media (max-width: 960px) {

	#menu-main-menu .sub-menu {
		box-shadow: 0 2px 4px rgba(0,0,0,0.06),0 8px 16px rgba(0,0,0,0.1);
		column-gap: 32px;
		row-gap: 32px;
		padding: 22px;
		padding-bottom: 12px;
		background-color: #fff;
		width: 98%;
		margin: 1%;
	}

}

/* ===== States dropdown (mm-stateslist-dropdown) =====
   Step 1: kill the underline + default submenu spacing, and let the
   individual state links flow horizontally — as many as fit per row,
   then wrap to the next row. */
.mm-stateslist-dropdown > .sub-menu {
	margin: 0 !important;
	padding: 12px !important;
	display: flex;
	flex-wrap: wrap !important;
	gap: 5px !important;
	column-gap: 5px !important;
	row-gap: 5px !important;
	list-style: none;
	box-sizing: border-box;
}

/* Slideout: when GP opens this submenu it forces display:block !important.
   Beat that with higher specificity + !important so the grid layout wins. */
#generate-slideout-menu .mm-stateslist-dropdown > .sub-menu.toggled-on {
	display: flex !important;
}

.mm-stateslist-dropdown > .sub-menu > li,
.mm-stateslist-dropdown .sub-menu > li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	border: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	flex: 0 0 calc((100% - 25px) / 6) !important;
	max-width: calc((100% - 25px) / 6);
	min-width: 0 !important;
	box-sizing: border-box;
}

.mm-stateslist-dropdown > .sub-menu > li > a,
.mm-stateslist-dropdown > .sub-menu > li > a:hover,
.mm-stateslist-dropdown > .sub-menu > li > a:focus,
.mm-stateslist-dropdown .sub-menu > li > a,
.mm-stateslist-dropdown .sub-menu > li > a:hover,
.mm-stateslist-dropdown .sub-menu > li > a:focus {
	text-decoration: none !important;
	box-shadow: none !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	padding: 0 !important;
	text-align: center;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	aspect-ratio: 1 / 1;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* Hover/focus: charcoal background, very light grey text */
.mm-stateslist-dropdown > .sub-menu > li > a:hover,
.mm-stateslist-dropdown > .sub-menu > li > a:focus,
.mm-stateslist-dropdown .sub-menu > li > a:hover,
.mm-stateslist-dropdown .sub-menu > li > a:focus {
	background-color: #36454f !important;
	border-color: #36454f !important;
	color: #e8e8e8 !important;
}

/* ===== Slideout off-canvas menu: parent vs. sub-menu visual hierarchy =====
   Adds five cues so submenu items clearly read as nested under their parent:
     (1) Indent on sub-menu links
     (2) Soft background tint behind the sub-menu
     (3) Lighter / less-bold link color
     (4) Red left accent bar on each sub-menu link
     (5) Thin divider line under each parent that has a submenu
   The states grid (.mm-stateslist-dropdown) is excluded from 1–4 so its
   custom button layout stays as-is; rule 5 still draws a divider above it. */

/* (5) Divider line under every top-level menu item (uniform look) */
#generate-slideout-menu .slideout-menu > li > a {
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* (2) Subtle background tint for the sub-menu (skip states grid) */
#generate-slideout-menu .menu-item-has-children:not(.mm-stateslist-dropdown) > .sub-menu {
	background-color: rgba(0, 0, 0, 0.04);
}

/* (1)(3)(4) Indented, lighter, red-accented sub-menu links */
#generate-slideout-menu .menu-item-has-children:not(.mm-stateslist-dropdown) > .sub-menu > li > a {
	padding-left: 36px;
	color: #555;
	font-weight: 400;
	border-left: 3px solid var(--color-red);
}

/* States grid in the slideout: match the other submenus with a soft bg tint
   and a red left accent bar. Drop to 5 per row to stay roomy after the
   3px border eats into the available width. */
#generate-slideout-menu .mm-stateslist-dropdown > .sub-menu {
	background-color: rgba(0, 0, 0, 0.04);
	border-left: 3px solid var(--color-red);
}
#generate-slideout-menu .mm-stateslist-dropdown > .sub-menu > li {
	flex: 0 0 calc((100% - 25px) / 6) !important;
	max-width: calc((100% - 25px) / 6);
}

/* Slideout only: match the state-link font size to the other sub-menu items */
#generate-slideout-menu .mm-stateslist-dropdown > .sub-menu > li > a {
	font-size: 14px;
}

@media (max-width: 567px) {
    nav#mobile-menu-control-wrapper {
        margin-left: auto;
        margin-right: auto;
    }
}