.scale-table {
	border-collapse: separate;
	border-spacing: 0;	
	width: 100%;
	border: 1px solid #666;
}
.scale-title {
	padding: 10px;
	font-family: 'Montserrat', sans-serif;
	color: #FFF;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: .5px;
	/* Redondo ocean-navy gradient */
	background: linear-gradient(135deg, #0a2740 0%, #0e3a5f 50%, #155b8a 100%);
	border-bottom: 3px solid #ffd632;
	text-align: center;
}
.scale-break {
	border-top: 2px solid #0a2740;
	text-align: center;
	padding: 6px 0 6px 20px;
	color: #FFF;
	/* Lighter ocean step below the title for hierarchy */
	background: linear-gradient(135deg, #155b8a 0%, #1c6ea3 50%, #2382bd 100%);
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
}
.scale-head {
	background-color: #0a2740;
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #FFF;
	text-align: center;
	padding: 5px;
	border-top: 2px solid #0e3a5f;
}
.scale-data {
  background-color: rgba(255,255,255,0.92);
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  color: #14241f;
  text-align: center;
  padding: 5px;
  border-top: 2px solid #cfdad6;
}
.scale-data:first-child {
  border-right: 1px solid #cfdad6;
}
.scale-group {
  background-color: rgba(255,255,255,0.92);
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  color: #14241f;
  text-align: left;
  padding: 5px;
  border-top: 1px solid #cfdad6;
}
.scale-foot {
	padding: 5px 10px;
	font-family: 'Poppins', sans-serif;
	font-size: 12px;
	font-weight: normal;
	color: #FFF;
	background: #0a2740;
	border-top: 2px solid #ffd632;
	text-align: center;
}
.trip-name {
	font-size: 14px;
	text-align: left;
}
.trip-load {
	font-size: 16px;
	font-weight: bold;
}
.trip-price {
	font-size: 14px;
	font-weight: bold;
	text-align: center;
}
.trip-spots {
	font-size: 16px;
	font-weight: bold;
}
.call-btn {
	color: red;
	text-shadow: -1px -1px 0 #333,  
				  1px -1px 0 #333,
				 -1px 1px 0 #333,
				  1px 1px 0 #333;
	margin-top: 5px;
}
td.filter {
	width: 95%;
	padding-left: 10px;
}
.trip-comments {
	font-size: 14px

}
td.filter > label {
	font-weight: normal;
}
hr.filter {
	margin-top: 3px;
	margin-bottom: 8px;
    height: 12px;
    border: 0;
    box-shadow: inset 0 12px 12px -12px rgba(0, 0, 0, 0.5);
}
.scale-head a:hover,
.scale-head a:visited,
.scale-head a:link
{
	color: white;
}
.rates-table > tbody > tr:nth-child(odd) {
	background: #DDD;
} 
.rates-table > tbody > tr:nth-child(even) {
	background: #FFF;
} 
.rates-table > tbody > tr:first-child {
	background: #2f3545; /* Old browsers */
	background: -moz-linear-gradient(left, #2f3545 0%, #30374b 14%, #364367 47%, #354263 56%, #2f3547 89%, #2f3545 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #2f3545 0%,#30374b 14%,#364367 47%,#354263 56%,#2f3547 89%,#2f3545 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #2f3545 0%,#30374b 14%,#364367 47%,#354263 56%,#2f3547 89%,#2f3545 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2f3545', endColorstr='#2f3545',GradientType=1 );
}
.rates-table > tbody > tr:first-child > td {
	font-family: 'Roboto Condensed', sans-serif;
	color: #FFF;
	font-size: .8em;
	font-weight: 700;
	text-shadow: rgb(3, 3, 3) 2px 2px 2px;
	background: none;
}
.rates-table > tbody > tr:first-child > td:first-child {
    border-top-left-radius: 10px;
	border: none;
}
.rates-table > tbody > tr:first-child > td:last-child {
    border-top-right-radius: 10px;
	border: none;
}
.rates-table > tbody > tr:last-child {
	background: #FFF;
} 
.rates-table td {
	padding: 10px;
}
.rates-table {
	width: 100%;
}
.trip-icons {
	display: block;
	float: right;
	color: #333;
}
.eta-title, .rent-title {
	height: auto;
	width: 100%;
	margin-top: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #036;
	background-color: #9CF;
	padding-left: 5px;
	border-radius: 4px 4px 0px 0px;
	-moz-border-radius: 4px 4px 0px 0px;
	-webkit-border-radius: 4px 4px 0px 0px;
}
.rent-gear {
	height: auto;
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #999;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #999;
	padding-left: 5px;
	background: white;
	width: 66%;
}
.rent-price {
	height: auto;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 5px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #999;
	background-color: #FFC;
	padding-left: 10px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #999;
	width: 34%;
}
.eta-boat {
	height: auto;
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #999;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #999;
	padding-left: 5px;
	background: white;
}
.eta-date {
	height: auto;
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #999;
	background-color: #FFC;
	padding-left: 10px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #999;
}
.eta-time {
	height: auto;
	padding-top: 5px;
	padding-bottom: 5px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #999;
	background-color: #FFC;
	padding-left: 10px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #999;
}
.trip-info .lbl, .trip-depart .lbl, .trip-return .lbl, .trip-load .lbl, .trip-price .lbl, .trip-spots .lbl {
	font-weight: bold;
	font-size: 14px;
}
.trip-info .lbl, .trip-depart .lbl, .trip-return .lbl {
	float: left;
	clear: both;
	display: block;
}
.rent-table {
	width: 100%;
}
.photo_gallery_container {
	text-align: center;
	padding: 4px;
	background-color: #FFF;
	-webkit-box-shadow: 0px 25px 20px -16px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 25px 20px -16px rgba(0,0,0,0.75);
	box-shadow: 0px 25px 20px -16px rgba(0,0,0,0.75);
	margin-bottom: 20px;
	border: 1px solid #999;
	margin-right: 3px;
	margin-left: 3px;
	border-radius: 4px 4px 4px 4px;
	-moz-border-radius: 4px 4px 4px 4px;
	-webkit-border-radius: 4px 4px 4px 4px;
}
.photo_gallery_img {
	max-width: 100%;
	max-height: 240px;
	margin: auto;
}
.section1 {
	height: auto;
	padding: 10px;
}
.announcement_text {
	color: #000000;
	display: inline-block;
	font-family: Cabin,sans-serif;
	font-size: 16px;
}
.contact-row {
	margin-top: 10px;
	margin-bottom: 10px;
}
.contact-submit {
	margin-top: 10px;
	text-align: center;
}
textarea.contact-message {
	height: 150px;
}
.add-shadow {
	border: 4px solid #FFF;
	-webkit-box-shadow: 0px 0px 8px 3px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 8px 3px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 8px 3px rgba(0,0,0,0.3);
}
.pod_bottom2 {
	width: 100%;
}
.btn-file {
    position: relative;
    overflow: hidden;
}
.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}
a.audio_count {
    display: inline-block;
    cursor: pointer;
    font-size: 14px;
    padding: 8px;
    text-decoration: none;
    height: 14px;
    width: 14px;
    background-image: url(../images/icons/but_audio_play.png);
    background-position: bottom;
}
a.audio_count:hover {
    background-image: url(../images/icons/but_audio_play.png);
}
a.audio_count:active {
    position:relative;
    top:1px;
}
a.down {
    background-image: url(../images/icons/but_audio_no.png);
}
a.down:hover {
    background-image: url(../images/icons/but_audio_no.png);
}
.no-gutter > [class*='col-'] {
    padding-right:0;
    padding-left:0;
}
.with-gutter > [class*='col-'] {
    padding-right:15px;
    padding-left:15px;
}
.fish-report-date {
	vertical-align: top;
}
.scale-text-left {
	text-align: left;
}
ul.charter-guidelines {
	list-style-type: none;
}
.home-image {
	margin-bottom: 15px;
	margin-left: 15px;
}
.report_gallery {
	max-width: 75px;
	max-height: 75px;
}
.feature-img {
	height: 300px;
	background-size: cover;
	background-repeat: no-repeat;
	background-color: #F5F9FC !important;
}
.feature-teaser {
	height: 3em;
	overflow: hidden;
}
.feature-author {
	height: 1.33em;
	overflow: hidden;
	margin-top: 3px;
	margin-bottom: 8px;
}
.feature-more {
	margin-top: 2px;
	height: 1.33em;
	overflow: hidden;
}
h3.feature-title {
	margin-top: 0;
	text-align: center;
	font-size: 18px;
	height: 1.5em;
	overflow: visible;
}
.feature-img img {
	margin-left: auto;
	margin-right: auto;
	max-height: 250px;
}
.feature-wrapper {
	padding: 15px;
	background: #F5F9FC;
	margin-bottom: 10px;
	-webkit-box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
	-moz-box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
	box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
	border: 3px solid #3774AD;
	border-radius: 5px;
	min-height: 412px;
}
.feature-alt1 .feature-wrapper {
	background: #f9f6db;
	border-color: #F4B91C;
	color: #000000;
}
.feature-alt1 .feature-wrapper .feature-img {
	background-color: #f9f6db !important;
}
.img-thumbnail {
	background: #3774AD;
}
#photo-of-the-day .img-responsive {
	max-height: 330px;
	margin-top: auto;
	margin-bottom: auto;
}
#photo-of-the-day {
	text-align: center;
}
.feature-col:last-child  .feature-wrapper {
	margin-bottom: 0;
}
.panel {
	background: #F5F9FC;
	-webkit-box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
	-moz-box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
	box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
}
.homepage-greeting p {
	font-size: 1.2em;
}
.font_bold18 {
	font-size: 1.2em;
	font-weight: bold;
}
#cssmenu * {
    box-sizing: content-box;
}
#cssmenu *:before, #cssmenu *:after {
	box-sizing: content-box;
}
a:link {
	color: #036;
	}
a:visited {
	color: #036;
	}
a:hover {
	color: #06C;
	}
a:active {
	color: #000;
	}

a.external:link {
	color: #6CF;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
}

a.external:visited {
	color: #6CF;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
}

a.external:hover {
	color: #FFF;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
}

a.external:active {
	color: #000;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 13px;
	font-weight: bold;
	text-decoration: none;
}
#foot a:link, #foot a:visited, #foot a:active {
	color: navy;
}
#foot span.font_12 {
	color: #000;
}	
h1 {
	font-size: 44px;
    font-family: 'Vollkorn', serif;
    color: #069;
    font-weight: 400;
    text-shadow: 1px 2px 4px #525252;
}
.report_primary_img {
	text-align: center;
	margin-bottom: 15px;
}
.potd-comments {
	text-align: center;
	margin-top: 10px;
}
.potd-credits {
	text-align: center;
	margin-top: 10px;
	text-decoration: italic;
}
.info-pod {
	padding: 15px;
	background: #F5F9FC;
	margin-bottom: 10px;
	-webkit-box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
	-moz-box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
	box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
	border: 1px solid #666;
}
.feature-title.photo-of-the-day-title {
	margin-bottom: 0px;
}
.our-fleet-header {
	margin-bottom: 25px;
}
.gift-card-homepage {
	margin-top: 25px;
}
.audiojs * {
	box-sizing: content-box;
}
.audiojs {
	max-width: 100%;
    margin-left: auto;
    margin-right: auto;
	background: #3774AD;
	background-image: none;
}
.announcement {
	padding: 15px;
    background: rgba(91, 193, 166, .1);
    margin-bottom: 30px;
    margin-top: 30px;
    -webkit-box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
    -moz-box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
    box-shadow: 1px 2px 5px rgba(6, 6, 6, .4);
	border: 3px solid #5BC1A6;
	border-radius: 5px;
}
.schedule-instructions p {
	font-size: 14px;
}
.schedule-instructions {
	text-transform: none;
}
.photo2wrapper {
	padding: 4px;
	border: 1px solid #dddddd;
	height: auto;
	width: auto;
	max-width: 100%;
	display: inline-block;
	background-color: #ffffff;
	border-radius: 4px;
	margin-bottom: 30px;
}
.photo2wrapper img {
	margin-top: 5px;
	margin-bottom: 5px;
}
.photo2comments {
	font-size: 0.9em;
	text-align: center;
}
.photo2credits {
	font-size: 0.8em;
	font-style: italic;
	text-align: center;
	margin-top: 5px;
}
photo {
	display: block;
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: center;
}
.schedule-key {
	font-size: 12px;
	margin-bottom: 15px;
	font-weight: normal;
	text-shadow: none;
	color: black;
	margin-top: 10px;
	margin-right: 15px;
	text-align: left;
	background: #D6EBFF;
}
#homepage-carousel img {
	width: 100%;
}
#report-slideshow, #feature-slideshow {
	min-height: 450px;
	position: relative;
}
#report-slideshow img, #feature-slideshow img {
	max-height: 350px;
}
#report-slideshow .photo2wrapper, #feature-slideshow .photo2wrapper {
	height: 490px;
}
.carousel-indicators li {
	border-color: #333;
	background-color: #FFF;
}
.carousel-indicators .active {
	background-color: #333;
}
.carousel-indicators {
	bottom: -20px;
}
#homepage-carousel .carousel-control.right {
    right: 0;
    left: auto;
    background-image: -webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.2) 100%);
    background-image: -o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.2) 100%);
    background-image: -webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,2)));
    background-image: linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.2) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
    background-repeat: repeat-x;
	text-align: right;
}
#homepage-carousel .carousel-control.left {
    background-image: -webkit-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,.0001) 100%);
    background-image: -o-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,.0001) 100%);
    background-image: -webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.2)),to(rgba(0,0,0,.0001)));
    background-image: linear-gradient(to right,rgba(0,0,0,.2) 0,rgba(0,0,0,.0001) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
    background-repeat: repeat-x;
	text-align: left;
}
#homepage-carousel .carousel-control.right .homepage-carousel-control {
	margin-top: 100px;
	margin-right: 20px;
	color: #dedede;
}
#homepage-carousel .carousel-control.left .homepage-carousel-control {
	margin-top: 100px;
	margin-left: 20px;
	color: #dedede;
}
#homepage-carousel .carousel-indicators li {
	height: 20px;
	width: 20px;
	border-width: 2px;
}
#homepage-carousel .carousel-indicators .active{
	height: 21px;
	width: 21px;
}
@media screen and (min-width: 1px) {
	#homepage-carousel .carousel-indicators {
		bottom: 0px;
	}
}
@media screen and (min-width: 768px) {
	.carousel-indicators {
		bottom: -20px;
	}
	#homepage-carousel .carousel-indicators {
		bottom: 0px;
	}
	#report-slideshow, #feature-slideshow {
		height: 0px;
		min-height: 0px;
		display: none;
	}
}
.schedule-instructions {
	font-size: 15px;
	margin-bottom: 15px;
	font-weight: normal;
	text-shadow: none;
	margin-top: 15px;
}
.schedule-key {
	font-size: 12px;
	margin-bottom: 15px;
	font-weight: normal;
	text-shadow: none;
	color: black;
	margin-top: 10px;
	margin-right: 15px;
	text-align: left;
	background: #D6EBFF;
}
.filter-break {
	height: 5px;
}
#make_reservation {
	margin-top: 15px;
}
.angler-select-intro {
	margin-bottom: 15px;
}
.angler-select-intro > div > strong {
	display: block;
	margin-bottom: 15px;
}
.trip-selected {
	padding: 15px;
	margin-bottom: 30px;
	border-radius: 10px;
	background: #fff;
}
input[name=fish_submit] {
	margin: 15px;
}
.password-message {
    color: #FFF;
    height: 100%;
    font-size: 18px;
    margin-top: 20px;
}
.core {
	padding-top: 16px;
}
.fare_no {
	border-radius: 3px;
}
.trip-details {
	margin-top: 15px;
}
h1 {
	font-size: 44px;
    font-family: 'Vollkorn', serif;
    color: #069;
    font-weight: 400;
    text-shadow: 1px 2px 4px #525252;
}
.pass {
	font-family: "Courier New", Courier, monospace;
	color: #333333;
	font-size: 1.2em;
}
.schedule-title {
	text-transform: uppercase;
}
#ttModal .close {
	color: #dedede;
}
#ttModal .close:focus, #ttModal .close:hover {
	color: #ffffff;
}
.highlight {
	background-color: rgba(252, 239, 55, .3);
	cursor: pointer;
}
a.btn-primary:link,
a.btn-primary:active,
a.btn-primary:visited {
	color: #fff;
}

/* ==========================================================================
   Redondo Beach Sportfishing — booking-only brand overrides
   The marketing "Top Project" stack (assets/css/style.css + site-custom.css)
   carries the chrome brand (ocean-navy palette, rd-navbar header, footer-classic
   footer, fonts). The rules below apply ONLY to the booking build: Bootstrap
   component re-colouring for the reservation forms, the bootstrap-multiselect /
   datepicker plugins, BS3->BS5 compatibility shims, and the fixed-header offset.
   Palette mirrors site-custom.css (--rbs-*).
   ========================================================================== */
:root {
  --rbs-navy-1: #0a2740;  /* deep navy — dark surfaces */
  --rbs-navy-2: #0e3a5f;
  --rbs-ocean:  #155b8a;  /* ocean blue — links, focus rings, secondary */
  --rbs-gold:   #ffd632;  /* brand gold — primary CTAs (matches "Book a Trip") */
  --rbs-gold-dk: #f0b800;
  --rbs-orange: #fc6c1e;  /* accent — hovers, highlights */
  --rbs-light:  #f4f6f9;
}

/* Remap Bootstrap's "primary" off its default blue so bg-primary / text-primary,
   focus rings and form-check states read ocean-navy; CTA buttons use gold. */
:root {
  --bs-primary: #155b8a;
  --bs-primary-rgb: 21, 91, 138;
}
/* Primary action buttons mirror the marketing gold "Book a Trip" pill:
   gold fill + dark text, hovering to orange. */
.btn-primary {
  --bs-btn-bg: var(--rbs-gold);
  --bs-btn-border-color: var(--rbs-gold);
  --bs-btn-color: #151515;
  --bs-btn-hover-bg: var(--rbs-orange);
  --bs-btn-hover-border-color: var(--rbs-orange);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--rbs-orange);
  --bs-btn-active-border-color: var(--rbs-orange);
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-bg: var(--rbs-gold);
  --bs-btn-disabled-border-color: var(--rbs-gold);
  --bs-btn-disabled-color: #151515;
}
/* Give outline-secondary buttons (schedule filters, multiselect toggles) a
   solid white resting background instead of transparent, so they don't pick up
   whatever sits behind them. Hover/active still fill via Bootstrap's vars. */
.btn-outline-secondary {
  --bs-btn-bg: #fff;
}

.text-accent { color: var(--rbs-orange) !important; }
.bg-green { background-color: var(--rbs-navy-1) !important; }

/* Tone the default cyan .alert-info to a light ocean tint. */
.alert-info {
  --bs-alert-color: #0a2740;
  --bs-alert-bg: #e4eef5;
  --bs-alert-border-color: #bcd6e6;
  --bs-alert-link-color: #155b8a;
}

/* Booking action-button row (Fish Counts / Full Schedule / Trip Types). */
.btn-fishcounts, .btn-fullschedule, .btn-triptypes {
  background-color: var(--rbs-navy-1);
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  border: 0;
  border-radius: 0.4rem;
  padding: 0.6rem 1rem;
}
.btn-fishcounts:hover, .btn-fullschedule:hover, .btn-triptypes:hover {
  background-color: var(--rbs-orange);
  color: #fff;
}

/* --- RD Navbar layout fixes (booking build) ------------------------------
   The classic navbar is `position: fixed` in the template (with no `top`), so
   it overlays the marketing hero. The booking pages have no hero, and a fixed
   bar whose position is still governed by normal flow meant the body's top
   padding pushed the whole bar downward — a big whitespace gap above it. Pin
   the primary navbar into normal flow instead; the sticky clone RDNavbar
   injects on scroll is still position:fixed, so stick-up still works without
   any body offset on desktop. */
/* SCOPED to desktop: at >=1200px the navbar is rd-navbar-static; pin it into
   flow and trim its 33px padding. Must NOT apply below 1200px, where the navbar
   is rd-navbar-fixed (a fixed 56px panel) — overriding its position there left
   the bar in flow with a stacked whitespace gap on mobile. */
@media (min-width: 1200px) {
  .rd-navbar-classic.rd-navbar-static { position: static !important; }
  .rd-navbar-classic.rd-navbar-static .rd-navbar-main { padding-top: 14px; padding-bottom: 14px; }
}

/* Body offset: the desktop navbar is in-flow (no offset needed); below 1200px
   it becomes `rd-navbar-fixed`, a fixed 56px panel, so clear it. */
body.pl-has-fixed-nav { padding-top: 0; }
@media (max-width: 1199px) { body.pl-has-fixed-nav { padding-top: 56px; } }

/* Slim navy separator ribbon for non-schedule booking pages (the schedule page
   gets the full video breadcrumbs-custom banner instead — see includes/header.php). */
.breadcrumbs-custom.booking-ribbon { padding: 1.4rem 0; background: var(--rbs-navy-1); }
.breadcrumbs-custom.booking-ribbon .breadcrumbs-custom-title { margin: 0; font-size: 1.5rem; color: #fff; }

/* Breadcrumb links gold (the booking build's generic `a:link` rule otherwise
   overrides the template's gold breadcrumb colour at equal specificity). */
.breadcrumbs-custom-path a,
.breadcrumbs-custom-path a:link,
.breadcrumbs-custom-path a:visited { color: var(--rbs-gold); }
.breadcrumbs-custom-path a:hover { color: #fff; }

/* Breathing room between the banner and the page content (replaces the old
   get_header() <br><br> spacer). */
#main { padding-top: 1.5rem; font-size: 1rem; }

/* The marketing template restyles base typography + .row spacing for its
   landing pages: body drops to 14px and every .row gets a 40px top margin
   (35–60px between siblings). That shrinks the booking text and blows out the
   vertical rhythm of the reservation forms/tables, which use plain Bootstrap
   rows for layout. Restore sane values inside the booking content. */
#main .row { margin-top: 0; }

/* No preloader on the booking build. We never render the template's .preloader
   element (and template.js guards its load/page-transition logic on it), but
   hard-kill it here so a stray copy of the marketing markup can never leave a
   full-screen overlay stuck on a Resos page. */
.preloader { display: none !important; }

/* CRITICAL: the template ships .page at opacity:0 and relies on the preloader's
   pageTransition (a window-load handler) to fade it in. With no preloader that
   fade never runs, so .page — which wraps the whole document — would stay
   invisible (blank white page). Force it visible. */
.page { opacity: 1 !important; }

/* --- Bootstrap 3 -> 5 compatibility shims --------------------------------
   bootstrap-multiselect and bootstrap-datepicker emit BS3 markup
   (pull-right, input-group-addon) at runtime we cannot edit in the PHP. */
.pull-left  { float: left  !important; }
.pull-right { float: right !important; }
.center-block { display: block; margin-left: auto; margin-right: auto; }
.img-responsive { display: block; max-width: 100%; height: auto; }
.input-group-addon {
  display: flex; align-items: center;
  padding: 0.375rem 0.75rem;
  background-color: var(--rbs-light);
  border: 1px solid #ced4da;
}

/* bootstrap-multiselect dropdown (the schedule Boat / Trip-Type filters). */
.multiselect-container.dropdown-menu { min-width: 220px; padding: 4px 0; }
.multiselect-container > li > a > label {
  display: block;
  white-space: nowrap;
  padding: 5px 20px 5px 36px;
}
.multiselect-container > li > a > label > input[type="checkbox"] {
  margin-left: -22px;
  margin-right: 8px;
  margin-bottom: 0;
  vertical-align: middle;
}
