/* global */

*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	background: #000000;
	line-height: 1.25;
}

img {
	max-width: 100%;
}

h1, h2, h3,
h4, h5, h6 {
	color: #E35829;
}

a,
a:visited {
	color: #6AA105;
	text-decoration: none;
}

table {
	border-collapse: collapse;
}

td, th {
	padding: .5em;
	vertical-align: top;
	border: 2px solid #6AA105;
}

td {
	background: #f5f5f5;
}

th {
	background: #6AA105;
	color: #fff;
	text-align: right;
	border-color: #4B5F25;
}

/* utility */

.clearfix:after {
	content: '';
	display: block;
	clear: both;
}

.text-shadow-light {
	text-shadow: 0 1px 2px #000000;
}

.box-shadow-light {
	box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, .5);
}

.button,
.button:visited {
	display: inline-block;
	margin: 1em 0;
	padding: .75em 1.5em;
	text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
	border: 0;
	box-shadow: inset 0 -3px rgba(0, 0, 0, .15);
	text-decoration: none;
	color: #ffffff;
	font-weight: 700;
}

.button-block {
	display: block;
}

.button-teal {
    background: #0ec7cc;
}

.button-red {
	background: #911F1A;
}

.button-yellow {
	background: #f1c40f;
}

.button-orange {
	background: #d35400;
}

.button-green {
	background: #6AA105;
}

.button-blue {
	background: #426E91;
}

.button-gray {
	background: #666;
}

.button-purple {
	background: #715788;
}

/* header */

.header-wrap {
	background: #6AA105;
}

.header {
	color: #ffffff;
}

.header a,
.header a:visited {
	color: #ffffff;
}

.header .logo h1 {
	background: url(/img/logo-white.gif) no-repeat left center;
	margin: .5em .75em;
	line-height: 64px;
	font-size: 1.25em;
	text-align: right;
	color: #ffffff;
}

.header .logo,
.header .logo:visited {
	display: block;
	text-decoration: none;
	text-align: center;
	overflow: auto;
}

.phone img {
	width: 2.5em;
	height: 2.5em;
	vertical-align: middle;
}

.phone .call,
.phone .text {
	display: block;
	line-height: 3em;
	position: relative;
	text-align: center;
	padding: 0;
	text-decoration: none;
	float: left;
	width: 50%;
	font-weight: 700;
}

.phone .call:hover,
.phone .text:hover {
	color: #ccc;
}

/* page navigation */

.navigation-page {
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: right;
}

.navigation-page li {
	display: inline-block;
}

.navigation-page a {
	display: block;
	padding: 0 1em;
	line-height: 2em;
	background: #4F7110;
}

.navigation-page a:hover {
	background: #4F7110;
}

/* tour navigation */

.navigation-tour {
	padding: 0;
	list-style: none;
	margin: 0;
	text-align: center;
}

.navigation-tour li {
	display: inline-block;
	margin-bottom: .5em;
}

.navigation-tour a,
.navigation-tour a:visited {
	display: block;
	color: #ffffff;
	padding: 0 .5em;
	line-height: 2;
	width: 125px;
	margin: 0;
}

/* bread crumbs */

.bread-crumbs {
	margin: .5em 0 1em;
	padding: 0;
	list-style: none;
	text-align: center;
}

.bread-crumbs li {
	display: inline-block;
	margin-right: .75em;
}

.bread-crumbs li:after {
	content: "\00bb";
	margin-left: 1em;
}

.bread-crumbs li:last-child:after {
	content: none;
}

/* content */

.content {
	padding: 1em 1.618em;
	background: #FFFFD8;
}

/* footer */

.footer-wrap {
	background: #222222;
	overflow: auto; /* fix collapsing margins */
}

.footer {
	color: #ddd;
	padding: 0 1em;
}

.navigation-footer {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.navigation-footer li {
	display: inline-block;
	margin: 1em 2em 0 0;
}

.footer a:hover {
	color: #ffffff;
}

.navigation-footer img {
	vertical-align: middle;
}

.footer .logo-wrap {
	text-align: center;
}

.footer .copyright {
	text-align: center;
}

/* home page */

.tour-type-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tour-type-list li {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.tour-type-list a,
.tour-type-list a:visited {
	display: block;
	text-align: left;
	padding: .5em .5em 6.5em;
	color: #eee;
	font-size: 250%;
	font-weight: 700;
	text-decoration: none;
}

.tour-type-list a:hover {
	background-color: rgba(255, 255, 255, .3);
}

.tour-type-list .new-tours {
    background-image: url('/img/new-tours.jpg');
}

.tour-type-list .combo-tours {
    background-image: url('/img/combo-tours.jpg');
}

.tour-type-list .train-tour {
	background-image: url(/img/train-tour.jpg);
}

.tour-type-list .flight-tour {
	background-image: url(/img/flight-tour.jpg);
}

.tour-type-list .adventure-tour {
	background-image: url(/img/adventure-tour.jpg);
}

.tour-type-list .family-tour {
	background-image: url(/img/family-tour.jpg);
}

/* tour */

.tour-list {
	padding: 0;
	list-style: none;
}

.tour-list > li {
	margin-bottom: 8em;
}

.photo {
	position: relative;
}

.photo .video-link {
	display: block;
	position: absolute;
	left: 1em;
	top: 1em;
}

.photo img {
	display: block;
	width: 100%;
}

.photo .name {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	font-weight: 700;
	font-size: 115%;
	color: #ffffff;
	text-align: center;
	padding: .75em 1.5em;
	background: rgba(0, 0, 0, .45);
}

.activity-level img {
	vertical-align: middle;
	margin-top: -5px;
}

.description > *:first-child {
	margin-top: 0;
}


.details ul {
	padding: 0;
	margin: 1em 0;
	list-style: none;
}

.details li {
	display: inline-block;
	margin-right: .5em;
}

.details img {
	width: 36px;
	height: 36px;
}

.information ul {
	padding: 0;
	margin: 1em 0;
	list-style: none;
	border-top: 2px solid #6AA105;
	font-size: .75em;
}

.information li {
	padding: .75em 1.5em;
	border-bottom: 1px dotted #555;
}

/* booking page */

.booking-form input {
	display: block;
	margin-bottom: 1em;
	border: 3px solid #6AA105;
	padding: .5em;
}

/* desktop */

@media screen and (min-width: 768px) {

	/* utility */

	.desktop-hidden {
		display: none !important;
	}

	.column {
		max-width: 960px;
		margin: 0 auto;
	}

	.table {
		display: table;
		width: 100%;
	}

	.cell-row {
		display: table-row;
	}

	.cell {
		display: table-cell;
		vertical-align: top;
		padding-right: 1em;
	}

	.cell-row .cell:last-child {
		padding: 0;
	}

	/* header */

	.header {
		position: relative;
		padding: .5em 0;
	}

	.header .logo h1 {
		font-size: 2em;
		text-align: center;
		margin: 0 .5em;
	}

	.phone img {
		display: none;
	}

	.phone .call {
		width: auto;
		position: absolute;
		right: 0;
		top: 8px; /* hacky */
		font-size: 2em;
		line-height: 64px;
		padding: 0 .5em;
	}

	/* bread crumbs */

	.bread-crumbs {
		text-align: left;
	}

	/* footer */

	.navigation-footer {
		text-align: left;
	}

	.footer .table {
		width: 100%;
	}

	.footer .logo-wrap {
		text-align: right;
	}

	.footer .logo {
		margin-top: 1em;
	}

	/* home page */

	.tour-type-list {
		text-align: center;
	}
	
	.tour-type-list li {
		display: inline-block;
		width: 49%;
		margin-bottom: .5em;
	}

	/* tour */

	.tour-list .cell {
		padding-bottom: 3em; /* hacky spacing fix */
	}

	.tour-list li .cell:first-child {
		width: 35%;
	}

	.tour-list li .cell:nth-child(2) {
		width: 45%;
	}

	.information ul {
		padding-top: .5em;
	}

	.information li {
		display: inline-block;
		border: 0;
		border-left: 1px dotted #555;
	}

	.information li:first-child {
		border: 0;
	}

	.cta .button:first-child {
		margin-top: 0;
	}

	.tour-sidebar > *:first-child {
		margin-top: 0;
	}

	.tour .tour-sidebar-wrap {
		width: 35%;
	}

}
