/* Custom CSS */

/* Example: Override main section background color. */
/* body .jupiterx-main {
    background-color: gray;
} */

body .jupiterx-main {
    background: transparent !important;
}

.grecaptcha-badge {
	z-index: 999;
}

.train-menu-button::after {
	content: '';
    width: 24px;
    height: 24px;
    display: inline-block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.suites-button::after {
    background-image: url('/wp-content/uploads/2026/08/bx-bed-1.svg');
}

.services-button::after {
    background-image: url('/wp-content/uploads/2026/08/wifi-1.svg');
}

.rates-button::after {
	background-image: url('/wp-content/uploads/2026/08/bx-trip-1.svg');
	width: 20px;
	height: 20px;
}

.enquire-button::after {
	background-image: url('/wp-content/uploads/2026/08/bx-info-circle-1.svg');
}

.faq-button::after {
	background-image: url('/wp-content/uploads/2026/08/bx-message-question-mark-1.svg');
}

.elementor-element .elementor-widget-button .elementor-button:hover svg,
.elementor-element .elementor-widget-button .elementor-button:focus svg {
	fill: transparent !important;
}

.sub-title-font {
	font-size: 32px;
}

/** RATES & SCHEDULES TABLES **/

.tablepress-table-description {
	font-family: var(--e-global-typography-39231c7-font-family);
	font-size: 18px;
	line-height: 1.5em;
	text-align: center;
	margin-bottom: 16px;
	color: #252D32;
}

.rates-table {
	border-collapse: separate; /* Required for border-radius to work */
  	border-spacing: 0;          /* Removes default gaps between cells */
  	border-radius: 12px;
  	overflow: hidden; 
	color: var(--e-global-color-a4844bf) !important;
	table-layout: fixed !important;
}

.rates-table.bt-sa-specials-table {
	table-layout: auto !important;
}

.rates-table.bt-sa-specials-table th.column-1 {
	width: 55%;
	text-align: left !important;
	padding: 15px 5px 15px 10px !important;
}

.rates-table.bt-sa-specials-table th {
	padding: 15px 5px 15px 5px !important;
}

.rates-table.bt-sa-specials-table td.column-1 {
	text-align: left;
}

.rates-table caption {
	display: none;
}

.rates-table th,
.rovos-table thead td,
.rates-table.blue-train-high-season tbody tr:nth-of-type(3) td {
	background-color: var(--e-global-color-9686575) !important;
	font-family: var(--e-global-typography-39231c7-font-family);
	font-size: var(--e-global-typography-39231c7-font-size);
	font-weight: 400 !important;
	color: var(--e-global-color-a4844bf) !important;
	text-align: center !important;
	line-height: var(--e-global-typography-39231c7-line-height);
	padding: 15px 5px 5px 5px !important;
}

.rates-table tbody td {
	font-family: var(--e-global-typography-0dc1a28-font-family);
	font-size: var(--e-global-typography-0dc1a28-font-size);
	line-height: var(--e-global-typography-0dc1a28-line-height);
	font-weight: 500;
	border: none;
	padding: 7px 10px;
	text-align: center;
}

/*.rates-table tbody td:nth-of-type(2),
.rates-table tbody td:nth-of-type(3) {
	text-align: center;
}*/

.rates-table tbody tr:nth-child(odd) td {
	background-color: var(--e-global-color-8e877d4) !important;
} 

.rates-table tbody tr:nth-child(even) td {
	background-color: var(--e-global-color-14140bd) !important;
} 

.shalati-tabs .elementor-widget-tablepress-table {
	width: 100%;
}

.shalati-tabs .rates-table.kruger-table {
	table-layout: auto !important;
}

.shalati-tabs .rates-table.kruger-table tbody td,
.rates-tabs.packages-tabs tbody td, 
.rates-table.rovos-sadc-table tbody td {
	text-align: left !important;
}

.shalati-tabs .rates-table.carriage-table tbody tr:nth-of-type(3) td,
.shalati-tabs .rates-table.carriage-table tbody tr:nth-of-type(6) td,
.shalati-tabs .rates-table.bridge-house tbody tr:nth-of-type(8) td,
.shalati-tabs .rates-table.bridge-house tbody tr:nth-of-type(16) td,
.train-rates-tabs .bt-luxury-package tbody tr.row-4 td {
	background-color: var(--e-global-color-9686575) !important;
	font-size: 14px;
	font-weight: 400;
}

/*.rates-table.rovos-sadc-table th.column-1,
.rates-table.rovos-sadc-table td.column-1,*/
.rates-table.rovos-sadc-table thead th,
.shalati-tabs .rates-table.carriage-table th.column-1,
.shalati-tabs .rates-table.bridge-house th.column-1 {
	text-align: left !important;
	padding: 7px 10px !important
}

/** ENQUIRY FORMS **/

.enquiry-form .gform-theme--foundation .gform_fields {
	row-gap: 24px;
}

#gform_wrapper_5.gform-theme--foundation .gform_fields {
	row-gap: 16px;
}

.enquiry-form .gform_required_legend,
#gform_wrapper_5 .gform_required_legend {
	display: none;
}

.enquiry-form .enquiry-purpose .gfield_label {
	font-family: 'Manrope';
	font-size: 18px;
	line-height: 1.55em;
	font-weight: 400;
	color: #515865;
	margin-bottom: 18px;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gform-field-label,
#gform_wrapper_5.gform_wrapper.gform-theme--orbital .gform-field-label {
	font-family: 'Manrope';
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.55em;
	color: #515865;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gform-field-label--type-sub {
	font-size: 12px;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gfield--type-radio .gchoice,
.enquiry-form .gform_wrapper.gform-theme--orbital .gfield--type-checkbox .gchoice,
.enquiry-form .gform_wrapper.gform-theme--orbital .gfield--input-type-consent .ginput_container_consent {
	align-items: center;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gfield_radio:not(.additional-services-radio) .gform-field-label {
	font-family: 'Manrope';
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.55em;
	color: #515865;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gfield--type-radio:not(.additional-services-radio) .gchoice .gform-field-label {
	font-family: 'Manrope';
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.42em;
	margin-left: 8px;
}

.enquiry-form .ginput_container input:not([type='radio']),
.enquiry-form .ginput_container textarea,
.enquiry-form .ginput_container select,
#gform_wrapper_5 .ginput_container inpu:not([type='radio']),
#gform_wrapper_5 .ginput_container textarea,
#gform_wrapper_5 .ginput_container select {
    border-radius: 12px;
    padding: 10px 15px !important;
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-size: var( --e-global-typography-39231c7-font-size ) !important;
    color: #8A8F98;
    border: solid 1px #FFFEFD;
    background-color: var( --e-global-color-a9a22f2 );
	height: 50px;
	line-height: 30px;
}

.enquiry-form .ginput_container input:focus,
.enquiry-form .ginput_container textarea:focus,
.enquiry-form .ginput_container select:focus {
    outline: solid 1px #8A8F98;
}

.enquiry-form .gform_wrapper.gform-theme--orbital input[type="radio"],
.enquiry-form .gform_wrapper.gform-theme--orbital input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border: 1px solid #494F5B;
  border-radius: 0px;
  outline: none;
  background-color: transparent;
  cursor: pointer;
	padding: 2px !important;
  display: inline-grid;
  place-content: center;
  vertical-align: middle;
}

.enquiry-form .gform_wrapper.gform-theme--orbital input[type="checkbox"]::before,
.enquiry-form .gform_wrapper.gform-theme--orbital input[type="radio"]::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #494F5B; /* Your choice of checkmark/fill color */
  transform: scale(0);
  transition: transform 0.1s ease-in-out;
  border-radius: 2px; 
}

.enquiry-form .gform_wrapper.gform-theme--orbital input[type="radio"]::before,
.enquiry-form .gform_wrapper.gform-theme--orbital input[type="checkbox"]::before {
  content: "";
  width: 10px;
  height: 10px;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  background-color: #494F5B;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.enquiry-form .gform_wrapper.gform-theme--orbital input[type="radio"]:checked::before,
.enquiry-form .gform_wrapper.gform-theme--orbital input[type="checkbox"]:checked::before {
  transform: scale(1);
}

.enquiry-form .gform_wrapper.gform-theme--orbital .reservation-procedure,
.enquiry-form .gform_wrapper.gform-theme--orbital .gsection_description,
.enquiry-form .gform_wrapper.gform-theme--orbital .gfield_description {
	font-family: 'Manrope';
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.42em; 
	color: #515865;	
	padding-top: 0;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gsection_description a {
	font-size: 12px;
	color: #515865;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gsection_description a:hover {
	color: #31353D;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gfield--type-section {
	border-bottom: none;
	padding: 0px;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gsection_title {
	font-family: Cormorant;
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.33em;
	margin-bottom: 0;
	margin-top: 13px;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gform-footer .gform_button.button {
    background-color: #515865;
    border-radius: 12px;
    padding: 8px 45px 8px 16px;
    font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    color: #ffffff;
    font-weight: 400;
    font-size: 16px;
    border: none;
    margin-bottom: 0;
    background-image: url(/wp-content/uploads/2026/07/White-Arrow.png);
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: 19px 17px;
    background-position: calc(100% - 16px) 11px;
}

.enquiry-form .gform_wrapper.gform-theme--orbital .gform-footer .gform_button.button:hover {
    background-color: #3a3e48;
}

.enquiry-form .gform_footer {
    justify-content: flex-end !important;
    padding-bottom: 0;
}

.enquiry-form .rr-ts-cs-popup,
.enquiry-form .gform-field-label a {
	cursor: pointer;
}

.enquiry-form .gform-field-label__text a {
	color: #515865;
}

.enquiry-form .gform-field-label__text a:hover {
	color: #3A3E48;
}

/*	TRAIN RATES TABS	*/
.train-rates-tabs .raven-tabs-title {
    justify-content: space-between !important;
}

.train-rates-tabs .raven-tabs-title {
    background-image: url(/wp-content/uploads/2026/07/Arrow-dark.png);
    background-repeat: no-repeat;
    background-size: 19px 17px;
    background-position: calc(100% - 20px) 14px;
}

.train-rates-tabs .raven-tabs-list .raven-tabs-title-text {
    display: flex;
    white-space: normal;
    width: auto;
}

.train-rates-tabs .raven-tabs-title.raven-tabs-active,
.train-rates-tabs .raven-tabs-title:hover {
    background-image: url(/wp-content/uploads/2026/07/White-Arrow.png);
    background-repeat: no-repeat;
    background-size: 19px 17px;
    background-position: calc(100% - 20px) 14px;
    transition: none;
}

@media (min-width: 768px) and (max-width: 1024px) {
    
    .train-rates-tabs .raven-tabs-list {
        display: flex !important;
    }
    
    .train-rates-tabs .raven-tabs-title.raven-tabs-mobile-title {
        display: none !important;
    }
    .train-rates-tabs .raven-tab-content {
        display: none;
    }
}

@media (max-width: 1024px) {
    .train-rates-tabs .raven-tabs-content-wrapper {
        border: none !important;
    }
    
    .train-rates-tabs .raven-tabs-content-wrapper .raven-tabs-content {
        border: none !important;
    }
    
    .train-rates-tabs .raven-tabs-title {
        width: 233px;
    }
}

@media (max-width: 880px) {
	.shalati-tabs .rates-table.kruger-table {
		table-layout: fixed !important;
	}
}

@media (max-width: 767px) {
    .train-rates-tabs .raven-tabs-title {
        width: 100%;
        margin-bottom: 10px;
    }
    
    .train-rates-tabs .raven-tabs-content-wrapper .raven-tabs-content
    {
        padding-bottom: 40px;
    }
    
    .train-rates-tabs .raven-tabs-vertical .raven-tabs-mobile-title {
        border-bottom: solid 1px #22252A !important;
    }
}

@media (max-width: 640px) {
    .enquiry-form .gform_wrapper.gravity-theme .ginput_complex span:first-child {
        margin-bottom: 16px;
    }
    
     .enquiry-form .gform_wrapper.gravity-theme .ginput_complex span:nth-child(2) {
        margin-bottom: 0px;
    }
}

@media (max-width: 480px) {
	.shalati-tabs .rates-table.kruger-table tr {
		display: flex;
		flex-direction: column;
	}
	
	/*.shalati-tabs .rates-table.kruger-table tr.row-2 {
		display: none;
	}*/
	
	.shalati-tabs .rates-table.kruger-table td.column-3,
	.shalati-tabs .rates-table.kruger-table td.column-4 {
		display: flex;
		justify-content: space-between;
	}
	
	.shalati-tabs .rates-table.kruger-table td.column-1 {
		font-weight: 600;
	}
}