.fieldWrap {
    font-size: 0;
    margin-left: -20px;
}

.field {
    font-size: 16px;
    padding-left: 20px;
}

.field_half {
    width: 50%;
}

.field_third {
    width: 33.3333%;
}

.field_date {
    width: 35%;
}

.field_btn {
    width: 30%;
}

.field_half, .field_third, .field_date, .field_btn {
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.btn_secondary {
    background-color: #cccccc;
    padding: 9px 22px;
    cursor: pointer;
    border: none;
    -webkit-appearance: none;
    border-radius: 0px;
    color: #456480;
}

.large-checkbox {
    width: 20px;
    height: 20px;
    transform: scale(1.5); /* Scale the checkbox */
    -webkit-transform: scale(1.5); /* Safari and Chrome */
    -moz-transform: scale(1.5); /* Firefox */
    -o-transform: scale(1.5); /* Opera */
    -ms-transform: scale(1.5); /* IE 9 */
    margin: 5px; /* Adjust margin if needed */
}

@media all and (max-width: 600px) {

    .fieldWrap {
        margin-left: 0px;
    }

    .field {
        padding-left: 0px;
    }

    .field_date, .field_btn, .field_third, .field_half {
        width: 100%;
    }
}

.filterResults-row {
    padding: 5px;
}

.filterResults-row:nth-child(odd) {
    background: #f5f5f5;
}

.filterResults-hd {
    color: #456480 !important;
}

.filters-countries {
    font-size: 0;
    margin-left: -20px;
}

.filters-countries-country {
    display: inline-block;
    padding-left: 20px;
    font-size: 14px;
}

.filters-countries-country label, #top .filters-countries-country label {
    font-size: 14px;
}

.loadingContainer {
    position: relative;
}

.filterLoading{
    display: none;
    font-size: 3em;
    color: #FFF;
    font-weight: 400;
    position: absolute;
    background: #e1e1e1;
    padding: 1.5em;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 3px solid #000 !important;
    border-radius: 15px;
    z-index: 1000;
  }
  .filterLoading:after{
    content: '';
    height: 4px;
    width:0%;
    display: block;
    background: #6786A1;
    animation: 5s lineGrow linear infinite;
    margin-top:25px;
  }
  
  @keyframes lineGrow {to{width: 100%;}}

.tripTable-head {
    display: none;
}

.tripTable-row:nth-child(odd) {
    background: #ffffff;
}

.tripTable-row {
    padding: 5px;
    border-top: 1px solid #f5f5f5;
}

.tripTable-mobileLabel {
    display: inline;
    font-weight: bold;
	font-size-adjust: 0.6;
}
.tableRow {
	text-align: left !important;
}
.trip-results {
    text-align: center;
    display: none;
    padding: 5px;
}

.tripTable {
    display: block;
}

.tripTable-row-hide {
    display: none;
}

@media all and (min-width: 600px) {

    .tripTable-mobileLabel, .tableMobileLabel {
        display: none;
    }

    .tripTable {
        display: table;
        margin-bottom: 50px;
    }

    .js-loadResults {
        display: table-row-group;
    }

    .tripTable-head, .tripTable-row {
        display: table-row;
        vertical-align: top;
        padding: 0;
        border: none;
    }

	.tripTable, .js-loadResults, .tripTable-head, .tripTable-row {
		width: 100%;
	}

    .tripTable-head > * {
        font-weight: 600;
    }

    .tripTable-col {
        display: table-cell;
        width: auto;
        padding: 5px;
    }

    .tripTable-row-hide {
        display: none;
    }
}

/* Styles for country pages */
#top label {
	color: #444444;
}
.js-countryFilter .fieldWrap h4, .js-communityFilter .fieldWrap h4 {
	text-align: left;
}
.js-countryFilter .js-results, .js-communityFilter .js-results{
	display: inline-block;
}
.single-rm {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	margin-top: 30px;
	padding:25px; 
	font-size: 0.92em;
}
.js-countryFilter .filterResults-row, .js-communityFilter .filterResults-row{
	padding: 0;
}
.js-countryFilter .results-month, .js-communityFilter .results-month {
    display: inline-block;
    vertical-align: top;
    padding: 0 10px;
	margin-top: 30px;
    text-align: center;
    width: 240px;
	max-width: 100%;
}
.js-countryFilter .results-month .filterResults-row:nth-child(odd), .js-communityFilter .filterResults-row:nth-child(odd) {
	background: transparent;
}
.js-countryFilter .results-month a, .js-communityFilter .results-month a {
    display: inline-block;
	padding: 3px 12px;
    font-size: 14px;
	-webkit-transition: color 200ms ease, background-color 200ms ease;
	-moz-transition: color 200ms ease, background-color 200ms ease;
	-ms-transition: color 200ms ease, background-color 200ms ease;
	-o-transition: color 200ms ease, background-color 200ms ease;
	transition: color 200ms ease, background-color 200ms ease;
}
.js-countryFilter .results-month a:hover, .js-communityFilter .results-month a:hover {
	color: #fff;
	background-color: #6786a1;
    text-decoration: none;
}
.js-countryFilter .field, .js-communityFilter .field {
	display: block;
	width: 100%;
	max-width: 100%;
}
@media (min-width: 642px) {
	.js-countryFilter .results-month, .js-communityFilter .results-month {
		width: 160px;
		border-left: 1px solid #ddd;
		border-right: 1px solid #ddd;
		margin-left: -1px;
	}
}
@media (min-width: 850px) {
	.js-countryFilter .js-results, .js-communityFilter .js-results {
		text-align: left;
	}
	.js-countryFilter .fieldWrap h4, .js-communityFilter .fieldWrap h4 {
		text-align: center;
	}
	.js-countryFilter .field, .js-communityFilter .field {
		display: inline-block;
		width: 33%;
	}
}
@media (min-width: 1025px) {
	.js-countryFilter .js-results, .js-communityFilter .js-results {
		display: block;
	}
	.js-countryFilter .fieldWrap h4, .js-communityFilter .fieldWrap h4 {
		text-align: left;
	}
}
/* Styles for Apply page */
.js-stepFilter-section {
	padding: 20px;
	border-color: #e1e1e1;
	display: table-cell;
	min-width: 0;
	border-width: 2px;
	border-style: solid;
	color: #666666;
	max-width:80%;
	margin:auto;
}
@media (max-width: 800px) {
	.js-stepFilter-section {
		max-width:99%;
	}
	.filters-countries-country {
		padding:15px;
	}
	.wFormContainer {
		max-width:99% !important;
	}
}
.reqMark::after {
	content: " *";
	color: #F00;
	font-size: 90%;
}
#top .wFormContainer select {
	padding-right: 40px;
}
.wFormContainer .wForm fieldset .preField {
	width: auto;
}
.wFormContainer table {
	max-width: 100%;
    table-layout: fixed;
}
.main_color .wFormContainer table tr:nth-child(odd), .main_color .wFormContainer table tr:nth-child(even) {
	color: #666;
	background-color: #f8f8f8;
}
.wFormContainer tr th, .wFormContainer tr td {
	border: none !important;
}
#tfa_2663 { /* Program Fee fields */
    display: inline-block;
}
.wFormContainer #tfa_2224-L, .wFormContainer *[id^="tfa_2224-L["], .wFormContainer #tfa_2225-L, .wFormContainer *[id^="tfa_2225-L["] { /* Month and Year labels */
	width: 50px !important;
}
#tfa_2224, #tfa_2225, #tfa_2226 { /* Month and Year fields */
	box-sizing: content-box;
}
.wForm .labelsHidden > .label {
	display: none;
}
div#tfa_2221-D, div#tfa_2222-D {
    display: inline-block;
}
div#tfa_2223 {
    display: inline-block;
    vertical-align: top;
}

/* Styles for Dates & Fees page */

.optionContainer {
	display:flex !important;
}
.btn_listItem {
	margin: 25px 0px 25px 25px;
}
.programFilter {
	width:20% !important; 
	margin:0px 25px 0px 25px; 
	padding-left:0px !important;
}
.filterHeading {
	border:1px solid #ddd; 
	padding:15px 70px 0px 15px !important;
	background-color:#cccccc30;
	margin-top: 25px !important; 
	margin-bottom: 25px !important;		
}
.js-noResults.trip-results {
    background: #f0ad4e;
    color: #fff;
    border: 1px solid #FDAE3F;
    margin: 15px 0;
	padding: 25px;
}
.tripTable-row.js-row:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 10px 7px;
    background: #fff;
    border: 1px solid #ddd;
    z-index: -1;
}
.tripTable-col {
    display: block !important;
    width: auto;
    padding: 5px;
}
.tripTableFooter {	
	position:absolute;
	bottom:10px;
	font-size: 0.8em;
	line-height: 1em;
	margin: 10px;
	text-align: left;
}
.tripTable-row {
    position: relative;
    display: inline-block !important;
    width: 100% !important;
	height:450px;
    padding: 10px 7px !important;
    background: transparent !important;
    border: none;
    text-align: center;
    vertical-align: top;
    overflow: hidden;
}
.tripTable-row.tripTable-row-hide {
    display: none !important;
}
.tripTable-row:nth-child(4n+1) {
    clear: left;
}
.tripTable-col:first-child {
    color: #fff;
    font-size: 24px;
    padding: 15px 0 47px;
    background: #6786a1;
}
.tripTable-col:nth-child(2) {
    position: absolute;
    top: 46px;
    left: 0;
    right: 0;
    color: #fff;
    font-size: 13px;
    line-height: 1;
}
.tripTable-col:nth-child(3) {
    position: absolute;
    top: 78px;
    left: 50%;
    z-index: 20;
    width: 156px;
    padding: 3px;
    margin-left: -78px;
    font-size: 13px;
    font-weight: 600;
    background: #fff;
    border: 1px solid #8aa0b3;
    text-transform: uppercase;
}
/*Depart Date*/
.depart-week1, .depart-week2, .depart-week3{
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	margin: 13px 0px 13px 0px;
}
.tripTable-col:nth-child(3):before {
    content: "Arrive ";
}
.tripTable-col:nth-child(4), .tripTable-col:nth-child(5), .tripTable-col:nth-child(6) {
    text-align: left;
}
.tripTable-col:nth-child(4) {
	padding: 10px;
}
/*week div*/
.tripTable-col:nth-child(4) > div {
    position: relative;
	padding-bottom: 20px;
    margin-left: 3px;
    font-size: 13px;
    line-height: 1.3;
	border-bottom: 1px solid #8aa0b3;
}
.fee, .singleFee {
	/*color: #189a30;*/
	font-size:14px;
	font-weight: 600;
}
.weekBox {
	color:#666666;
	padding: 3px 6px 3px 6px;
	font-weight: 600;
	background: #e1e1e1a3;
	border: 1px solid #8aa0b3;
	text-transform: uppercase;
	margin-right: 5px;
}	
.availability {
	font-size:small;
	color:red;
}
.regButton {
	position:absolute;
	right:5px;
	bottom: 20px;
	display: inline-block;
    padding: 6px 10px;
    background: #6786a1;
    color: #fff !important;
    text-transform: uppercase;
    font-size: 13px;
}
.regButton:hover {
    color: #f8f8f8;
    background-color: #8ca7be;
    text-decoration: none;
}
.js-loadResults {
    display: block;
    width: 100%;
    text-align: center;
}

@media (min-width: 600px) {
	.tripTable-row {
    	width: 425px !important; /*370px*/
        max-width: 100%;
	}
}
@media only screen and (max-width: 600px) {
  	.programFilter {
		width:100% !important; 
		margin:0px 0px 0px 0px; 
		padding-left:0px !important;
	}
	.filterHeading {
		border:none; 
		padding:15px !important;
		background-color:transparent;
		margin-top: 25px; 
		margin-bottom: 25px;		
	}
	.regButton {
		clear:both;
		margin: 15px 0px 15px 0px;
		position: unset;
		width: 100%;
		text-align:center;
	}
	.tripTable-col:nth-child(4) > div {
		padding-bottom: 0px;
	}
	.tripTable-row {
	height: 155vw;
	}
	.optionContainer {
		display:inline !important;
	}
	.loadingContainer {
		padding:0;
	}
}