/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: AC Astra child theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .menu-link, .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .ast-menu-toggle,.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover > .menu-link, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item:hover > .ast-menu-toggle {
	background-color: #fff;
}

#loading {
	display: none;
	width: 50px;
	height: 50px;
	margin: 0 8.125rem;
}

#status table {
	margin-bottom: 1.75rem;
}

#status table th {
	padding: 0.7em 0.5em;
	white-space: nowrap;
}

#status {
	margin: 1.5rem 0 0 -0.5rem;
}

#status.home {
	margin: 1.5rem 0 -4.85rem -0.5rem;
}

#status.station-page {
	margin: 2rem 0 2.5rem -2rem;
}

#status.station-page #loading {
	margin: -0.25rem 6rem 2.25rem;
}

.status-page {
	margin-top: 1.25rem;
}

.wp-block-button.status-button {
	margin: 0.5rem 0 0.5rem 0.5rem !important;
}

@media screen and (min-width: 375px) {
	.entry-content .wp-block-columns.station-status-column {
		margin-bottom: 3.75rem;
	}
	
	#status {
		margin-left: 0;
	}
}

@media screen and (min-width: 782px) {
	#status.main #loading {
		margin: 0 7rem -1rem;
	}

	#status.station-page {
		margin: 2rem 0 2.5rem;
	}

	#status.station-page #loading {
		margin: -0.25rem 6rem;
	}
}

@media screen and (min-width: 1200px) {
	#status.main {
		margin: 1.5rem 0 -4.85rem -0.5rem;
	}

	#status.main table:nth-child(5) {
		margin-bottom: 3rem;
	}

	.ast-below-header-bar.ast-below-header {
		background-color: transparent !important;
	}
}

/*override theme css for h1 titles*/
header.entry-header .entry-title, h1, .entry-content h1 {
	font-size:52px !important;
}

/*make logo align left on tablet and mobile */
@media screen and (max-width: 1327px) {
	.ast-builder-layout-element[data-section="title_tagline"] {
		margin-left: 0 !important;
	}

	.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-below-header-bar,.site-header-section-left.site-header-below-section-left {
		background-color: transparent !important;
	}

	.site-header-section-left {		
		background-color: #004833 !important;
		
	}

	.site-header-primary-section-right {
		justify-content: flex-end !important;
	}
}

/*nav menu adjustments */
.ast-primary-header-bar ul a[aria-current="page"] {
	color:#efe3d3 !important;
	text-decoration:underline !important;
}

.main-header-menu .sub-menu .menu-link {
padding:.4em 1em;
}

.ast-builder-menu-1 .sub-menu .menu-item > .menu-link {
font-size:1rem;
}

.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .menu-link, .ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .ast-menu-toggle, .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover > .menu-link, .ast-builder-menu-mobile .main-navigation .inline-on-mobile .menu-item:hover > .ast-menu-toggle {
    background-color: #004833;
    color: #fff;
}

/*color search bar */

.ast-below-header-wrap, .ast-below-header-bar.ast-below-header {
		background-color:rgba(101, 153, 65, 0.20); !important;
		border:0;
	}

.site-header .ast-inline-search.ast-search-menu-icon .search-form {
	border: 1px solid #004833;
}


@media screen and (min-width: 1327px) {
	.site-header-below-section-left.site-header-section-left {
		background-color: transparent !important;
	}
}

/* hamburger menu color */
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	fill:#efe3d3;
}

.ast-mobile-header-wrap .menu-toggle .mobile-menu-toggle-icon {
	border: 1px solid #efe3d3;
}

@media screen and (min-width: 1327px) {
/*search bar alignment */
.site-header-below-section-right {
	padding-left:660px;
	justify-content:flex-start;
}
}

@media screen and (max-width: 1326px) {
/*search bar alignment */
.site-header-below-section-right {
	margin-left:-20px;
	justify-content:left;
}
}

/*table adjustments*/
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: rgb(101, 153, 65, .2);
}

.wp-block-table.is-style-stripes th {
	background-color:#004833;
	color:#fff;
}

thead {
	text-align:left;
}

.home .wp-block-table td, .home .wp-block-table th, .home table {
    border: none;
}

.home .entry-content h1 {
	margin-bottom:0px;
}

/*customize h2 colors just one the home page */
.home h2 {
	color:#326d5c;
}

/*customize detail header only on Contact page */
.media-contacts {
	color: var(--ast-global-color-0);
    font-size: 1.6666666666667rem;
    font-weight: 400;
    font-family: Arial, Helvetica, Verdana, sans-serif;
    line-height: 1.3em;
}

.media-contacts.wp-block-details summary {
	font-weight: 400;
}

/* column spacing on two column pages */
.wp-block-media-text>.wp-block-media-text__media {
	padding:0px 30px 0px 0px;
}
.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__media {
	padding: 0px 0px 0px 30px;
}

.home .entry-content[data-ast-blocks-layout] > *, .page-id-184 .entry-content[data-ast-blocks-layout] > *, .page-id-186 .entry-content[data-ast-blocks-layout] > *  {
	margin-bottom:75px;
}

.entry-content .wp-block-media-text .wp-block-media-text__content {
    padding: 0 0 0 5%;
}

.home .wp-block-columns:first-of-type {
	gap:0px;
	margin-bottom:0px !important;
}

.home .wp-block-columns-is-layout-flex {
	padding:0;
}
/*style the "more info" section on the home page */
.wp-block-details summary {
	font-weight:bold;
}

/*using these align classes to move the hr alignment on the home page */
.page-id-176 .align-right, .page-id-184 .align-right, .page-id-186 .align-right {
	float:right;
}

.page-id-176 .align-left, .page-id-184 .align-left, .page-id-186 .align-left {
	float:left;
}	

/*clear the first paragraph below the hr on the home page to avoid wrapping */
 .page-id-176 .wp-block-media-text__content ul:first-of-type, .page-id-176 .wp-block-media-text__content p:first-of-type, .page-id-176 .wp-block-column ul:first-of-type, .page-id-176 .wp-block-column p:first-of-type, .page-id-184 .wp-block-media-text__content p:first-of-type, .page-id-184 .wp-block-media-text__content ul:first-of-type, .page-id-186 .wp-block-media-text__content p:first-of-type, .page-id-186 wp-block-media-text__content ul:first-of-type {
	clear:both;
}

hr {
	min-width:50px;
}

/*don't know why the theme css has bullets disabled on ul. This puts them back */
ul {
	list-style:disc !important;
}

/* keep buttons from touching things above/below */
.btn, .wp-block-button {
	margin:10px 30px 10px 0px !important;
}

/* keep footer from touching content above */
footer {
	padding-top:20px;	
}

/*custom button styling*/
.btn, .wp-block-button, .wp-element-button, wp-block-button.is-style-outline>.wp-block-button__link.wp-element-button:not(.has-background) {
	background: linear-gradient(54deg, #C69D65 -10%, #F7F1E9 20%, white 39%, #F7F1E9 77%, #C69D65 120%) !important;
	box-shadow:#ddc4a2 0px 0px 0px 6px;
	border-radius:2px !important;
}

/*following is the secondary button styling. This class is currently styled to look exactly the same as the primary buttons. Leaving this class in here in case the site owner can be convinced in the future to use a button hierarchy.*/
/*.is-style-outline .wp-element-button, .wp-block-button.is-style-outline {
	box-shadow:none;
	border:none;
	border-radius: 4px;
background: var(--Shimmer, linear-gradient(90deg, #C69D65 -4.7%, #DFC7A7 7.91%, #EFE3D3 25.73%, #FFF 46.57%, #EFE3D3 73.11%));*/
}

/*.is-style-outline .wp-element-button:hover, .wp-block-button.is-style-outline:hover {
	background: #B8843E
}*/

.btn:hover, .wp-block-button:hover, .wp-element-button:hover {
	background:#EFE3D3;
}



.btn::after, .wp-element-button::after {
    content: '\f0da'; 
	font: normal normal normal 26px/1 FontAwesome;
    position: relative;
    right: -10px;
    transform: translateY(-50%);
	vertical-align:middle;
}

/* ticket form styling */
form {
    width: 100%;
    margin: 0px auto 30px;
    padding: 20px;
    background-color: #004833;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Title and description */
form p {
    font-size: 14px;
    color: #fff;
    margin-top: 10px;
}

/* Form label styling */
form .form-group label {
    font-size: 20px;
    color: #fff;
    display: block;
    margin-bottom: 8px;	
}

label[for="wdf_triptype"] {
	font-size:22px !important;
	margin-bottom:18px !important;
	font-weight:700;
}

/* Input fields and select dropdowns */
form .form-control {
    width: 100%;
    padding: 5px;
    font-size: 18px;
    color: #000;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 15px;
    transition: border-color 0.3s ease;
}

form .form-control:focus {
    border-color: #0066cc;
    outline: none;
    background-color: #ffffff;
}

.from-group, .to-group, .departure-date-group, .return-date-group {
	float:left;
	width:50%;
	padding-right:60px;
}

/* Radio button styling */
form input[type="radio"] {
    margin-right: 5px;
	float:left;
	accent-color:#b7833d;
}

form input[type="radio"] + label {
    font-size: 16px;
    color: #fff;
    text-decoration: none;
}

/* Styling for required field labels */
form label span {
    color: #669b41;
    font-weight: bold;
}

/* setting up the header space to align correctly with the diagonal stripe in the background */
.ast-builder-layout-element[data-section="title_tagline"] {
	margin-left: auto;
}

.site-header-primary-section-right {
	justify-content: flex-start;
	text-transform: uppercase;
	font-size:1.12em
}

.site-header-section-left {
	background: white;
    margin-left: -40px;
}

.ast-primary-header-bar {
	background:#004833;
}

.ast-primary-header-bar ul a {
	color:white !important;	
}

.ast-primary-header-bar ul.sub-menu li a {
	color:#004833 !important;	
	text-transform:none;
}

.ast-primary-header-bar ul.sub-menu li a:hover {
	color:white !important;	
	text-transform:none;
}

.ast-primary-header-bar ul.sub-menu li {
	border-bottom: 1px solid	#004833;	
}

.ast-primary-header-bar ul.sub-menu li:hover {
	background-color:#004833 !important;	
}

.ast-search-icon .ast-icon {
	color:white;
}

.ast-logo-title-inline .ast-site-identity, .ast-logo-title-inline .site-logo-img {
	padding:0;
}

/* Responsiveness */
@media screen and (max-width: 778px) {
    form {
        padding: 15px;
    }
    
    form .form-group {
        margin-bottom: 10px;
    }
    
    form .btn {
        width: 100%;
    }

	.from-group, .to-group, .departure-date-group, .return-date-group {
		float:none;
		width:100%;
		padding-right:0px;
	}

	.no-display-mobile {
		display:none !important;
	}
	
	header .custom-logo-link img {
		max-width:300px !important;
	}
}