-message/* generatl type */

html { font-size: 16px; }
body { color: #0e404f;font: 400 1.125rem/1.5 Lato, sans-serif; }

abbr { color: #fff; }
a {
	color: #a82c28;
	font-weight: 700;
}

a:focus, a:hover, a:active{
	color: #750400;
}

.button {
	background-color: #a82c28;
    border: none;
	border-radius: 0.313rem;
	color: white;
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: .05rem;
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;    
    max-height: 50px;
    padding: .75rem 2.55rem;
    text-transform: uppercase;
}

.button:focus {
	color:#cc9f45;
	outline: none;
}

@media(min-width:105rem) {
	.button {
		font-size: inherit;
		padding-bottom: 3rem;
	}
}

.button:hover {
    background-color: rgb(138, 4, 10);
    color: #fff;
}

.button.more {
	position: relative;
    white-space: nowrap;
}

.button.more:after {
	content:"";
	border-bottom: 8px solid transparent;
	border-left: 8px solid #fff;
	border-top: 8px solid transparent;	
	height: 0;
	position: absolute;
	right: 1.625rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 0;
}

select {
	background-image: url('../img/down-arrow@2x.png');
	background-position: right center;
	background-repeat: no-repeat;
    background-size: 18px 10px;
	border: 1px solid #999;
    border-radius: 5px;
	color: #999;
	font-size: 1.25rem;    
    padding: 1rem;
    height: auto;
}

p {
	color: #5c6671;
	font-weight: 400;
	margin: 0 0 10px;
}

p:last-child {
	margin-bottom: 0;
} 

h1, h2, h3, h4, h5, h6{
	font-family: Lato, sans-serif;
	line-height: 1.5;
}

h1 {
	color: #cc9f45;
	font-size: 3.75rem;
	font-weight: 400;
}

.white{
	color: #ffffff;
}

h2 {
	color: #cc9f45;
	font-size: 2.75rem;
	font-weight: 300;
}

h3 {
	color: #0d4f56;
	font-size: 1.5rem;
	font-weight: 400;
}

@media(max-width:768px) {
	h2 {
		font-size: 2.25rem;
	}
}

@media(max-width:480px) {
	h1 {
		font-size: 1.75rem;
	}
	h2 {
		font-size: 1.5rem;
		font-weight: 700;
	}
	h3 {
	    font-size: 1.25rem;
   	    font-weight: 700;
	    margin-bottom: 0.75rem;
	    margin-top: 1.5rem;
	}
	h4 {
		font-size: 1.125rem;
	}
	p {
		font-size: 1rem;
	}
}

/* structure */

#page {
    overflow: hidden;
}

@media(max-width:1024px) and (min-width:641px) {
	#page > article {
		padding-left: 1.75rem;
		padding-right: 1.75rem;
	}
	#page > article#locations {
		padding-left: .625rem;
		padding-right: .625rem;
	}
}

@media(min-width:1025px) {	
	#page {
		overflow: hidden;
		padding-top: 9.0625rem;
		position: relative;	
	}
	#page > article {
		padding-left: 1.75rem;
		padding-right: 1.75rem;
	}
}


@media(max-width:1024px) {
	
	html.touch-menu-open {
		overflow: hidden;
		position: relative;
	}
		
	#page {
		padding-top: 80px;
	}
}

.row { 
	max-width: 75rem;
	margin-left: auto;
	margin-right: auto;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-webkit-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;	
}

.row-custom {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	max-width: 75rem;
	margin-left: auto;
	margin-right: auto;	
}

/* header */

header > .row-custom{
	-webkit-align-items: center;
			align-items: center;
	max-width: 120rem;
}

header .logo {
	display: block;
    max-width: 460px;
    text-align: center;
    width:100%;
}

header .logo > span:first-child {
	display: block;
	margin:auto;
    max-height: 40px;
    max-width: 48%;    
    opacity: 1;
    overflow: hidden;
    -webkit-transform: translateY(0rem);
            transform: translateY(0rem);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

header .logo > span:first-child img {
	margin: 0 1.5rem 0 0;
}

html.minimal-header header .logo > span:first-child {
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(-1rem);
            transform: translateY(-1rem);
}

html:not(.minimal-header) header .logo > img:last-child {
    margin-top: .5rem;
}

@media(max-width:1275px) and (min-width:641px) {
	header .logo {
	    max-width: 350px;
	}
}

nav ul {
	margin: 0;
}

nav ul li {
	list-style: none;
}

@media(min-width:1025px) {
	header nav > ul,
	footer nav > ul	 {
		float: right;
	}
}

@media(max-width:640px) {
	header .logo {
		max-width: 80%;
	}
}

header {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	            -ms-grid-row-align: center;
	        align-items: center;
    background: #fff;
    height: 145px;
    left: 0;
	padding: 1.875rem 1rem;
	position: fixed;
	right: 0;
    top: 0;
    -webkit-transition: height 0.2s ease;
    transition: height 0.2s ease;
    z-index: 9;	
}

html.minimal-header header {
    -webkit-box-align: start;
        -ms-flex-align: start;
                -ms-grid-row-align: flex-start;
            align-items: flex-start;
    box-shadow: 0 0.188rem 0 rgba(0, 0, 0, 0.1);
    height: 80px;
	padding-bottom: .9375rem;
    padding-top: .9375rem;
}

@media(min-width:1025px){
	header {
	    font-weight: 500;
		overflow: hidden;
	    padding-left: 3.125rem;
	    padding-right: 3.125rem;
	}
}

header > .row {
	-webkit-box-align: center;
       -ms-flex-align: center;
   -ms-grid-row-align: center;
  -webkit-align-items: center;
          align-items: center;
}

header nav.column .row{
	margin-left: 0;	
	margin-right: 0;	
}

header nav.column{
	padding-left: 0;
	padding-right: 0;
}

@media(min-width:1441px){
	header nav.column{
		margin-left: 2rem;
	}
}

@media(min-width:1401px){
	html:not(.minimal-header) header nav.column{
		padding-left: 0rem;
		padding-right: 0rem;
		margin-left: 3rem;
	}

	html.minimal-header header nav.column{
		margin-left: 3rem;
	}
}

header nav .row{
    -webkit-box-align: center;
        -ms-flex-align: center;
                -ms-grid-row-align: center;
            align-items: center;
	width: 100%;
}

header nav .row ul.row.column{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

html:not(.minimal-header) header nav ul li.contact.email {
	position: relative;
}


html.minimal-header header nav ul li.contact.email {
	-webkit-box-ordinal-group: 0;
	    -ms-flex-order: -1;
	        order: -1;
}

@media(min-width:1025px) {

	header nav ul:not(.contact-us) li {
		-webkit-box-flex: 1;
		    -ms-flex-positive: 1;
		        flex-grow: 1;
		text-align: center;
	}
	
	header nav ul.row.column li {
		text-align: center;
	}
	
	header nav ul.contact-us {		
		-webkit-flex: 1 0 auto;
				flex: 1 0 auto;
	    margin-left: 3rem;
	}
	
	html.minimal-header header nav ul.contact-us:before {
	    background: #becccc;
	    bottom: 0;
	    content: "";
	    left: 0;
	    position: absolute;
	    top: -5rem;
	    width: 1px;
	    height: 12rem;
	}
}

html.minimal-header header nav ul.contact-us {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	padding-left: 3.5rem;
	padding-right: 0rem;
}

header nav ul.contact-us a {
	display: block;
}

header nav ul.contact-us a span {
	background-image: url('../img/icons/icon_sprite.png');
	background-repeat: no-repeat;
	background-size: 214px 232px;
	display: inline-block;
	height: 22px;
	width: 27px;
}

@media(min-width:1401px) {
	header:not(.minimal-header) nav ul.contact-us a span {
		vertical-align: text-top;
	}
}
header ul.contact-us .phone span {
	background-position: -155px -85px;
}

header ul.contact-us .phone:hover span {
	background-position: -155px -113px;
}

header ul.contact-us .email span {
	background-position: -124px -84px;
}

header ul.contact-us .email:hover span {
	background-position: -124px -112px;
}

#hamburger {
	cursor:pointer;
	height: 1.375rem;
	padding:5px 0;
	position: absolute;
	right: .9375rem;
	top: 50%;
	width:2em;
	-webkit-transform-origin:50% 50%;
	        transform-origin:50% 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-transition: padding .3s ease;
	transition:padding .3s ease;
	z-index: 11;
}

#hamburger span {
	display:block;
	height:2px;
	left:0;
	margin-top:-1px;
	overflow:hidden;
	position:absolute;
	right:0;
	top:50%;
}

#hamburger:before, #hamburger:after {
	content:"";
	display:block;
	height:2px;
	left:0;
	overflow:hidden;
	position:absolute;
	right:0;
	-webkit-transition: all .3s ease;
	transition:all .3s ease;
}

#hamburger span,
#hamburger:before, #hamburger:after {
	background-color:#cc9f45;
}

.touch-menu-open #hamburger span,
.touch-menu-open #hamburger:before, .touch-menu-open #hamburger:after {
	background-color:#a82c28;
}

#hamburger:before {top:0;}

#hamburger span {
	margin-top:-1px;
	top:50%;
	-webkit-transition: opacity .15s linear .15s;
	transition:opacity .15s linear .15s;
}

#hamburger:after {bottom:0;}

.touch-menu-open #hamburger:before {
	top: 50%;
	-webkit-transform: rotateZ(45deg);
	        transform: rotateZ(45deg);
}

.touch-menu-open #hamburger span {
	background-color:rgba(0,0,0,0);
	-webkit-transition: background-color .15s linear;
	transition:background-color .15s linear;
}

.touch-menu-open #hamburger:after {
	bottom:auto;
	top: 50%;
	-webkit-transform: rotateZ(-45deg);
	        transform: rotateZ(-45deg);
}

nav a {
	font-size: 1rem;
    text-transform: uppercase;
}

@media(min-width:1601px) {
	header nav ul a,
	footer nav ul a {
    	font-size: 1.25rem;
	}
}

ul.contact-us {
    position: relative;
}

html.minimal-header header ul.contact-us a {
	font-size: 0;
}

@media(min-width:1401px) {
	header nav ul.contact-us{
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 auto;
		        flex: 0 0 auto;
		padding-left: 0rem;
		padding-right: 0rem;
		text-align: right;
	}	
	html:not(.minimal-header) header nav li.contact a.email {
		text-transform: lowercase;
	}
	html:not(.minimal-header) header nav ul.contact-us a.phone {
		padding-bottom: 0.625rem;
	}
		html:not(.minimal-header) header nav ul.contact-us a span{
		margin-left: .8125rem;
	}
}

@media(max-width:1400px) {
	header ul.contact-us a { 
		font-size: 0;
	}
}

@media(max-width:1400px) and (min-width:1025px){
	header nav ul.contact-us a.phone span {
	    margin-left: 2.25rem;
	    margin-right: 2.25rem;
	}
}

@media(min-width:1025px) {
	#hamburger {
		display: none;
	}
	header nav ul li:last-child {
		padding-right: 0;
	}
	header nav ul li.contact:last-child/*,
	html.minimal-header nav ul li.contact:last-child*/{
	    -webkit-box-ordinal-group: 0;
	        -ms-flex-order: -1;
             -webkit-order: -1;
		             order: -1;
	}
	html.minimal-header nav .contact-us .phone span {
	    margin-left: 2.25rem;
	    margin-right: 2.25rem;
	}
	html.minimal-header body.page-home nav .contact-us .phone span {
	    margin-left: 2.25rem;
	    margin-right: 0;
	}

}


@media(max-width:1400px) and (min-width:1025px) {
	html:not(.minimal-header) header nav ul.contact-us:before {
	    background: #becccc;
	    bottom: 0;
	    content: "";
	    left: 0;
	    position: absolute;
	    top: -5rem;
	    width: 1px;
	    height: 12rem;
	}
	ul.contact-us,
	html.minimal-header header nav ul.contact-us{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	    -webkit-box-flex: 0;
	        -ms-flex: 0 0 auto;
	            flex: 0 0 auto;
		padding-left: 2.25rem;
		padding-right: 0rem;
	}
	header ul.contact-us {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-flex: 0;
		 -ms-flex: 0 0 auto;
	 -webkit-flex: 0 0 auto;
             flex: 0 0 auto;
	}
	
	header .logo > span:first-child {
	    max-height: 0;
	    opacity: 0;
	    -webkit-transform: translateY(-1rem);
	            transform: translateY(-1rem);
	}
	header {
		-webkit-box-align: start;
		    -ms-flex-align: start;
		            -ms-grid-row-align: flex-start;
		        align-items: flex-start;
	    box-shadow: 0 0.188rem 0 rgba(0, 0, 0, 0.1);
	    height: 80px;
	    padding-bottom: .9375rem;
	    padding-left: 1.5625rem;
		padding-right: 1.5625rem;
	    padding-top: 0.9375rem;
	}
}

@media(max-width:1275px){
	header,
	html.minimal-header header {
		padding-top: 1.325rem;
	}
}

@media(max-width:1175px){
	header {
	    padding-left: 1.5625rem;
	    padding-right: 1.5625rem;
	}
	ul.contact-us,
    html.minimal-header header nav ul.contact-us {
	    padding-left: 2.5rem;
	}
	header nav ul li.contact.email,
	html.minimal-header header nav ul li.contact.email{
		padding-right: 1.375rem;
	}
	header nav ul a{
	    font-weight: 400;
	}
}

@media(max-width:1024px) {
	ul.contact-us,
    html.minimal-header header nav ul.contact-us {
	    padding-left: 0;
	}
	header nav > .row-custom {
    	-webkit-box-align: center;
    	    -ms-flex-align: center;
    	            -ms-grid-row-align: center;
    	        align-items: center;
		background: #fff;
		bottom: 0;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-ms-flex-pack: distribute;
		    justify-content: space-around;
		left: 100%;
		
		opacity: 0;
		position: fixed;
		top: 0;
		-webkit-transition: opacity .3s ease-in-out, left 0s linear .3s;
		transition: opacity .3s ease-in-out, left 0s linear .3s;
		width: 100vw;
	    z-index: 10;
	}
	.touch-menu-open header nav > .row-custom {		
		left: 0;
		opacity: 1;
		-webkit-transition: opacity .3s ease-in-out;
		transition: opacity .3s ease-in-out;		
	}
	header nav .row-custom ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-ms-flex-pack: distribute;
		    justify-content: space-around;
		margin: 0 !important;
	}
	header nav .row-custom ul:first-child{ 
		-webkit-box-flex: 1; 
		    -ms-flex: 1 1 66.6667%; 
		        flex: 1 1 66.6667%;
	}
	header nav .row-custom ul:last-child{ 
		-webkit-box-flex: 1; 
		    -ms-flex: 1 1 33.3333%; 
		        flex: 1 1 33.3333%;
	}
	header nav .row-custom ul:not(.contact-us) a {
	    font-size: 1.25rem;
	    font-weight: 700;
	    text-transform: uppercase;
	}
}

@media(max-height: 400px){
	#page {
	    padding-top: 0;
	}
	header{
    	position: relative;
   	}
}

/****************** Home Page ******************/

.page-home .hero {
	background-image: url('../img/Hero/hero_bus-fleet.jpg');
}

@media(min-width: 1025px) {
	.page-home .hero .column h1 {
	    margin-bottom: 4rem;
	    margin-top: 8rem;
	}
}

@media(max-width: 1024px) {
	.page-home .hero .logo {
		max-width: 140px;
	}
}

.hero {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	position: relative;
}

@media (min-width: 1281px){
	body:not(.page-home) .hero {
	    margin-left: 3.125rem;
	    margin-right: 3.125rem;
	}
}

@media(min-width:1025px) and (max-width: 1400px){
	body:not(.page-home) .hero{
    	margin-left: 1.5625rem;
		margin-right: 1.5625rem;
    }
    #page {
	    padding-top: calc(5rem + 3px);
	}
}

.hero > .row-custom {
	-webkit-align-items: center;
			align-items: center;
	display: -webkit-flex; /* Safari */
    -webkit-flex-wrap: wrap; /* Safari 6.1+ */
    display: flex;
    flex-wrap: wrap;
	min-height: 43vw;
	text-align: center;
}

.hero > .row-custom > .column {
	-webkit-flex: 0 0 100%;
	flex: 0 0 100%;
	min-width: 100%;
	width: 100%;
}

@media(max-width:1024px) {
	.hero {
	    font-size: .9375rem;
	}
	.hero > .row-custom {
		padding-top: 2rem;
	}
	#buyTickets .button {
	    padding: .75rem 1.55rem;
	}
}

@media(min-width:481px) and (max-width:1280px){
	.page-home .hero > .row {
		max-width: 85%;
	}
}


@media(min-width:1281px) {
	body:not(.page-home) .hero > .row {
		max-width: 1000px;
	}
}

@media(max-width:1280px) and (min-width:480px){
	body:not(.page-home) .hero > .row {
		max-width: 85%;
	}
}

@media(max-width:480px){
/* 	.page-home  */.hero > .row {
		padding: 2rem .9375rem;
		min-height: 100vw;
	}
}

.hero > .row > .column {
	-webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
	-webkit-box-flex: 0;
	    -ms-flex-positive: 0;
	        flex-grow: 0;
	margin: 0;
	min-width: 100%;
	width: 100%;
}

.hero h1 {
	text-align: center;
}

body:not(.page-home) .hero h1 {
	text-transform: uppercase;
}

.hero p {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 400;
}

@media(max-width: 1280px) {
	.hero h1 {
	    font-size: 2.75rem;
	}
}

@media(max-width:1024px) {
	.hero h1 {
		font-size: 2.5rem;
	}
	.hero p {
	    font-size: 1.25rem;
    }
   	body.page-home .hero h1{
		font-size: 2rem;
	}
}

@media(max-width:640px) {
	.hero h1 {
		font-size: 2rem;
	}
	.hero p {
	    font-size: 1.125rem;
	}
   	body.page-home .hero h1{
		font-size: 1.5rem;
	}
}

@media(max-width:480px) {
	.hero h1 {
		font-size: 1.5rem;
	}
	.hero p {
	    font-size: 1rem;
	}
}

.hero h4 {
	margin-bottom: 2rem;
}

body.page-home .hero .arrow {
	display: none;
}

.hero .arrow {
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		border-top: 8px solid #fff;
		bottom: 2.5rem;
		cursor: pointer;
		height: 0;
		left: 50%;
		position: absolute;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		width: 0;
		z-index:2;
	}


@media(min-width:1025px) {
	.hero h4 {
		margin-bottom: 3.125rem;
	}
}

@media(max-width:480px) {
	.hero .arrow {
		bottom: 1.5rem;
	}
}

@media(max-height:480px) {
	.hero .arrow {
		display: none;
	}
}

#page > .hero + .row {
	display: block;
}

/******************* iframe *******************/

.iframe-wrapper {
	overflow: hidden;
    position: relative;
}

#ticketBuy {
	-webkit-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 725px;
    width: 100%;
}

#ticketBuy h1{
    margin-bottom: 2rem;
    padding-top: 1rem;
}

#ticketBuy {
    background-color: white;
    border-bottom: 3px solid #cc9f45;
    border-radius: 1.25rem 1.25rem 0 0;
    box-shadow: 0 0.25rem 0.519rem 0.044rem rgba(0, 0, 0, 0.15);
    max-width: 750px;
    margin: auto auto 0;
    position: relative;
	top: 4rem;
	z-index: 1;
}
#ticketBuy:before {
   content: "";
   background-image: url('../img/ticket_shadow.png');
   background-position: 0 200%;
   background-repeat: no-repeat;
   background-size: 100% auto;
   top: 100%;
   left: 3.75%;
   height: 0;
   position: absolute;
   width: 92.5%;
   z-index: -1;
   overflow: hidden;
   padding-top: 10%;
   margin-top: 3px;
}
#ticketBuy h1{
    font-size: 2.75rem;
    font-weight: 300;
}
#ticketBuy iframe {
	background: #fff;
	border: none;
    height: 300px;
    max-width: 100%;
    overflow: auto;
    width: 100%;
}

#buyTickets {
	margin-bottom: 3em;
	min-width: 100%;
	text-align: center;
	width: 100%;
}

@media(min-width:1025px){
	
	iframe #productTypeTabs li a {
	    border-radius: 8px 8px 0px 0px !important;
	    background-color: #eaebec !important;
	    border-color: #DDDDDD #DDDDDD #DDDDDD;
	    color: #3D6C9D!important;
	    font-family: 'nunito',arial;
		font-size: 0.875rem;
		font-weight: 700;
	    padding-bottom: 3px;
	    padding-top: 7px;
		text-transform: uppercase;
	}
	iframe #productTypeTabs li.active a {
	    background-color: #fff !important;
	    border-top-width: 3px;
	    border-left-width: 3px;
	    border-right-width: 3px;
	    border-bottom-width: 0;
	    border-color: #825FAF #825FAF #EEEEEE;
	    color: #cc9f45 !important;
	    padding: 5px 13px 4px;
	}
}


/* End Iframe */

.page-home article {
	background-image: url('../img/texture_bg.png');
	background-position: 50% 50%;
	background-repeat: repeat;
	text-align: center;
}

.page-home article h2 {
	margin-bottom: 3.5rem;
}

.page-home article > .row {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	            -ms-grid-row-align: center;
	        align-items: center;
}

.row .dropdown { 
	-webkit-box-align: center; 
	    -ms-flex-align: center; 
	        -webkit-align-items: center;
	        align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    
}

@media(min-width:1281px) {
	.row .dropdown {
		margin:0;
	}
}

/*
@media(max-width:1280px) and (min-width:1025px) {
	.row .dropdown:first-child {
		margin-right: 1.75rem;
	}
}
*/

/*
@media(min-width:1025px) {
	.page-home article {
	    padding-top: 10.25rem;
	}    
}
*/

/*
@media(min-width:1025px) {
	.page-home article {
	    padding-top: 10.25rem;
	}
}
*/

@media(max-width:1024px) {
	.page-home article > .row > .dropdown {
		-ms-flex: 0 0 100%;
		-webkit-box-flex: 0;
		-webkit-flex: 0 0 100%;
		        flex: 0 0 100%;
		min-width: 100%;
		text-align: left;
		width: 100%;
	}
	
	.dropdown {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        flex: 0 0 100%;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
		margin-bottom: 1.5rem;
		padding-right: 0;
	}
	
	.page-home article > .row > .column:last-child {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        flex: 0 0 100%;
		min-width: 100%;
		text-align: end;
		width: 100%;	}
}

.dropdown h3 {
	color: grey;
	font-size: 1.375rem;
	-webkit-box-flex: 0;
	    -ms-flex: 0 1 auto;
	        flex: 0 1 auto;
}

@media(min-width:1025px) {
	.dropdown h3 {
		-webkit-flex: 0 1 auto;
				flex: 0 1 auto;
	    padding-right: 0;
	}
}

@media(max-width:1024px) {
	.dropdown h3 {
		text-align: left;
	    min-width: 10rem;
	}
}

.dropdown select {
	margin: 0;
}

#schedule-process {
	margin: 0;
}

.page-home #ctas {
	max-width: 100%;
	padding-bottom: 6.25rem;
	padding-top: 6.25rem;
	text-align: center;
}

.page-home #ctas h3{
	color: #0d4f56;
	font-weight: 700;
	text-transform: uppercase;
}

.page-home #ctas .column .image {
	background-image: url('../img/icons/icon_sprite.png');
	background-repeat: no-repeat;
	content: "";
	display: inline-block;
	height: 200px;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
	width: 200px;
}

.page-home #ctas .column:nth-child(1) .image{
	background-position: 0px 0px;
}

.page-home #ctas .column:nth-child(2) .image{
	background-position: -190px 0px;
}

.page-home #ctas .column:nth-child(3) .image{
	background-position: -385px 0px;
}

.page-home #ctas .column p {
	color: grey;
	font-size: 1.25rem;
}

@media(max-width:480px) {
	.page-home article h2 {
	    margin-bottom: 1.5rem;
	}
	.page-home article#find-schedule h2 {
	    margin-bottom: 0;
	}
	.dropdown h3 {
	    width: 100%;
	}
	.dropdown:nth-child(2) h3 {
	    margin-top: 0;
	} 
	.page-home #ctas .column {
	    margin-top: -1rem;
		padding: 0;
	}
	.page-home #ctas .column:first-child {
	    margin-top: -2rem;
	}
	.page-home #ctas .column .image{
		margin-bottom: 0;
	}
	.page-home #ctas h3 {
	    margin-bottom: 0;
	    margin-top: -1.5rem;
	}
}

/******************* Home Page Locations and Locations Page *******************/

#locations {
    padding-bottom: 7.5rem;
    padding-top: 5.5rem;
}

#locations .row-custom {
	-webkit-flex-wrap:wrap;
			flex-wrap:wrap;	
		-webkit-box-pack: start;
		   -ms-flex-pack: start;
	justify-content: flex-start;		
}

#locations .grid {
	background-size: cover;
	overflow: hidden;
	padding: 0;
	position: relative;
}

#locations .grid:after {
	background: rgba(2, 35, 45, 0);
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    top: 0;
    right: 0;
    -webkit-transition: background .3s;
    transition: background .3s;
}

#locations .grid:hover:after {
	background: rgba(2, 35, 45, .8);
}

#locations .grid .info {
	background: -webkit-linear-gradient(bottom, rgba(2, 35, 45, 100), rgba(2, 35, 45, 0));
	background: linear-gradient(to top, rgba(2, 35, 45, 100), rgba(2, 35, 45, 0));
	bottom: 27%;
    color: #292c33;
    left: 0;
    margin-bottom: -25%;
    padding: 4rem .9375rem 0;
    position: absolute;
    right: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 3; 
}

#locations .grid:hover .info {
    bottom: 0;
    margin-bottom: 0;
    padding-bottom: 9%;
}

#locations .grid .info h3{
	color: #cc9f45;
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 0;
	text-transform: uppercase;
}

#locations .grid .info p {
	color: #adb3b5;
	-webkit-transform: translateY(200px);
	        transform: translateY(200px);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
}

#locations .grid:hover .info p {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.grid.column {
    background-repeat: no-repeat;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
	height: 300px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    text-align: left;
	max-width: 400px;
	width: 100%;
}

.location-grid {
	padding-bottom: 2rem !important;
	text-align: center;
}

.location-grid:not(:first-child) {
	padding-top: 0rem !important;
}

@media(min-width:641px){
	.location-grid:last-child {
		padding-bottom: 3.5rem !important;
	}
}

.location-grid img{
	margin: auto;
}

.location-grid h3{
    font-weight: 700;
    margin-bottom: 0;
    margin-top: 1rem;
    text-transform: uppercase;
}

.location-grid a{
	font-weight: 400;
}

@media(min-width:1025px) and (max-width:1100px){
	.location-grid h3{
		font-size: 1.25rem;
	}	
}

@media(max-width:480px) {
	#locations .grid {
		padding-bottom: 75%;
		height: 0;
	}
	#locations {
		padding-bottom: 0 !important;
	}
}

@media(max-width:400px) {
	.location-grid{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.location-grid img{
		height: auto;
		width: 100%;
	}
}

/* Home Page Locations Grid */

.grid.column:nth-child(1) { background-image: url('../img/Locations/location_sts.png'); }
.grid.column:nth-child(2) { background-image: url('../img/Locations/location_santa-rosa.png'); }
.grid.column:nth-child(3) { background-image: url('../img/Locations/location_rohnert-park.png'); }
.grid.column:nth-child(4) { background-image: url('../img/Locations/location_petaluma.png'); }
.grid.column:nth-child(5) { background-image: url('../img/Locations/location_san-rafael.png'); }
.grid.column:nth-child(6) { background-image: url('../img/Locations/location_sfo.png'); }
.grid.column:nth-child(7) { background-image: url('../img/Locations/location_oak.png'); }
.grid.column:nth-child(8) { background-image: url('../img/Locations/location_private-charter.png'); }
.grid.column:nth-child(9) { background-image: url('../img/Locations/location_hq.png'); }

/******************* Home Page Services *******************/

section#services {
	background-image: url('../img/Hero/hero_schedule_fpo.png');
    background-size: cover;
    background-repeat: no-repeat;
    padding-bottom: 8rem;
    padding-top: 5.5rem;
}

/******************* Slideshow *******************/

.slick-initialized .slick-slide {
    display: block;
    outline: none;
}

section#services h2{
	border-bottom: none;
    margin-bottom: 3.25rem;
	text-align: center;
}

.slide-body,
.slide-body p{
    color: #adb3b5;
}

@media(min-width:1025px) {
	.slick-list {
		margin: auto;
		max-width: calc(100vw - 12rem);
	}
	.slide-body,
	.slide-body p{
	    font-size: 1.438rem;
	}
	
	.slide-body p.italic:last-child {
		font-size: 1.25rem;
	}
}

@media(max-width:1024px) {
	.slick-list {
		margin-bottom: 2.5rem;
	}
}

p.bold{
	color: white;
	font-weight: 700;
	margin-top: 2rem;
}

p.italic{
	color: #adb3b5;
	font-style: italic;
}

.slick-initialized .slick-slide .image img{
	border: 4px solid white;
}

button.slick-prev,
button.slick-next {
    font-size: 0;
    height: 45px;
    width: 27px;
    z-index: 9999;
}

button.slick-next.slick-arrow:before,
button.slick-prev.slick-arrow:before {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 45px;
	width: 27px;
}

button.slick-prev:before {
	background: url("../img/arrow-left@2x.png");
}

button.slick-next:before {
	background: url("../img/arrow-right@2x.png");
}

button.slick-next {
    right: 1.75rem;
}

button.slick-prev{
    left: 1.75rem;
}

@media(min-width:1025px) {
	button.slick-next {
    	right: 3.75rem;
	}

	button.slick-prev{
    	left: 3.75rem;
	}
}

@media(max-width:1024px){
	/* Slideshow */
	
	section#services h2{
	    margin-bottom: 2rem;
	}
	
	p.bold{
		margin-top: 1rem;
	}
	
	p.italic{
		margin-bottom: 1rem;
	}
	
	.slick-initialized .slick-slide .image img{
		margin: auto;
	}

	button.slick-prev,
	button.slick-next {
	    bottom: 0;
		top: auto;
	}
}

@media(max-width:768px){
	.slide-body,
	.slide-body p{
	    font-size: 1rem;
	}

}

@media(max-width:480px){	
	/* Slideshow */
	
	section#services h2{
		border-bottom: none;
	    margin-bottom: 1rem;
	}
	
	.slide-body,
	.slide-body p{
	    font-size: 1rem;
	}
	
	p.bold{
		margin-top: 1rem;
	}
	
	p.italic{
		margin-bottom: 1rem;
	}
}

/******************* Schedule Page *******************/

.page-schedule .hero {
	background-image: url('../img/Hero/hero_schedule_fpo.png');
}

.page-schedule article{
	max-width: 100%;
	overflow: auto;
}

.page-schedule article > .row{
	margin: 0;
    min-width: 1200px;
}

.tabs-title {
	background-color: #ebebeb;
    border: 0.063rem solid #c6c6c6;
    border-radius: 0.625rem 0.625rem 0 0;
	display: block;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	    -webkit-flex: 0 0 auto;
	        flex: 0 0 auto;
    font-weight: 700;
    padding: 1.625rem .9375rem;
    text-align: center;
    text-transform: uppercase;  
    width: 25%;
}

.tabs-title:hover a {
	background: none;
	color: #a82c28;
}

.tabs-title.is-active {
    background-color: #0d4f56;
    border: 0.063rem solid #0d4f56;
    font-size: 1rem;
}

.tabs-title.is-active a {
	background: none;
    color: #cc9f45;
    font-size: 1rem;
}

.tabs-title a {
    color: grey;
    font-size: 0.875rem;
    padding: 0;
}

.tabs-content {
    background: #fefefe;
    border: none;
    border-top: 0;
    min-width: 1200px;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}

.tabs-panel{
	padding: 0;
}

.tabs {
    border: none;
}

ul.tabs-schedule{
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	font-size: 0.875rem;
	font-weight: 700;
	list-style-type: none;
	margin: auto;
	text-align: center;
	text-transform: uppercase;
	width: 20%;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

ul#schedule-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display:-webkit-flex;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
        -webkit-flex: 0 0 80%;
            flex: 0 0 80%;
}

table.tableSchedule{
	border: none;
}

 
html:not(.has-touch) body.page-schedule .tableSchedule tbody.over tr:not(.active) td:not(.active) {
	-webkit-filter: blur(1.25px);
    filter: blur(1.25px);
}


table.tableSchedule thead th{
    background-color: #0d4f56;
    color: white;
    font-size: 0.875rem;
    font-weight: 700;
    padding: 1.25rem .9375rem;
    text-align: center;
}

table.tableSchedule td {
	border: 0.063rem solid #c6c6c6;
	color: #5c6671;
    font-size: 0.875rem;
	padding: .5rem 0;
    text-align: center;
}

@media(max-width:1200px){
	.page-schedule article{
		margin-left: 1.75rem;
		margin-right: 1.75rem;
	}
	table.tableSchedule thead th {
		max-width: 160px;
	}
}

table.tableSchedule tr:nth-child(even){
	background-color: rgba(153, 153, 153, 0.2);
}

table.tableSchedule tr:nth-child(odd){
	background-color: rgba(255, 255, 255, 0.1);
}

table.sticky-table {
	display: none;
}

table.sticky-table.fixed {
	display: block;
	position: fixed;
	top: 80px;
}

.disclaimer{
	margin-top: 1.25rem;
	text-align: center;
}

.schedule-comment { color: #cc9f45; font-size: 80%; }

@media(min-width:1025px){
	#more-info{
		margin-bottom: 6.25rem;
	}
}
	
#more-info .column h3{
    color: #02232d;
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
}

#cruise,
#fares{
    background-color: #02232d;
    padding-bottom: 6rem;
    padding-left: .9375rem;
    padding-right: .9375rem;
    padding-top: 3.5rem;
    position: relative;
    text-align: center;
}

#fares:before,
#fares:after{
	background-color: inherit;
	bottom: 0;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	width: 50vw;
}

#fares:before{
	left: 100%;	
}
	
#fares:after{
	right: 100%;
}


@media(min-width:769px){
	#cruise:before,
	#cruise:after{
		background-color: inherit;
		bottom: 0;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		width: 50vw;
	}
	
	#cruise:before{
		left: 100%;	
	}
		
	#cruise:after{
		right: 100%;
	}
}

#fares h2{
	margin-bottom: 3.125rem;
}

#fares div h4{
	background-color: #0d4f56;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 0;
	padding: 1.25rem .9375rem;
	text-transform: uppercase;
}

#fares table {
	width: 100%;
}

table.fares th,
table.fares td{
    color: grey;
    font-size: 0.875rem;
    padding: 1rem .9375rem;
    text-transform: uppercase;
}

#fares table thead tr{
    background-color: #fff;	
}

#fares table tbody tr {
	background-color: rgba(153, 153, 153, 0.2);
}

@media(min-width:1025px) {
	table.fares { 
		text-align: center;
	}
	
	.page-schedule table.fares th:nth-child(odd),
	.page-schedule table.fares td:nth-child(odd){
		width: 25%;
	}
}

@media(max-width:1024px) {
	.page-schedule table.fares thead {
		display: none;
	}
		
	.page-schedule table.fares tbody{
	    display: -webkit-box;
	    display: -ms-flexbox;
	    display: flex;
	}
		
	.page-schedule table.fares td:nth-child(odd){
		background-color: #fff;
	}
	
	.page-schedule table.fares,
	.page-schedule table.fares tr, 
	.page-schedule table.fares td {
		display: block;
	    width: 100%;
	}
	
	.page-schedule table.fares td:before {
		content: attr(data-label) ": ";
		font-weight: 700;
		padding-left: 1rem;
	}
	.page-schedule #more-info .column h3 {
		margin-top: 1rem;
	}
}

.cruise-schedule,
#fares-top,
#fares-bottom {
	border: 2px solid #fff;
	background: #fff;
}

#fares-top {
    margin-bottom: 1.5rem;
}

#fares-bottom {
    margin-bottom: 1rem;
}

#fares h4{
	color: white;
	font-size: 1.125rem;
	font-weight: 700;
}

#fares > h4{
    margin-top: 1.4375rem;
}

#fares p{
	color: #7c8689;
	font-size: 1rem;
}

#fares p:last-child{
	font-size: 1.125rem;
}

/* get my fonts out of the way */
#mfPreviewBarShow, #mfPreviewBar {
	display: none !important;
}


article {
	padding-bottom: 6.25rem;
	padding-top: 6.25rem;
}

@media(max-width:1024px){
	article {
		padding-bottom: 4rem;
		padding-top: 4rem;
	}
	section{
		padding-bottom: 4rem !important;
		padding-left: .9375rem !important;
		padding-right: .9375rem !important;
	    padding-top: 4rem !important;
	}
}	

@media(max-width:768px){
	article,
	section{
	    padding-bottom: 2.5rem !important;
		padding-top: 2.5rem;
	}
}	

/*
@media(max-width:640px){
	article,
	section{
	    padding-bottom: 2rem !important;
		padding-top: 2rem !important;
	}
}

@media(max-width:480px){
	article,
	.page-home #ctas,
	section:not(#services){
	    padding-bottom: 1.5rem !important;
		padding-top: 1.5rem !important;
	}
}	
*/

/******************* Locations Page *******************/

.page-locations .hero {
	background-image: url('../img/Hero/hero_bus-fleet.jpg');
}

/******************* Charter Services Page *******************/

.page-charter-services .hero {
	background-image: url('../img/Hero/hero_bus-profile.jpg');
}

/******************* SF Cruises Page *******************/

.page-sf-cruises .hero {
    background-image: url('../img/Hero/hero_bus-diag.jpg');
}

.page-sf-cruises {
    overflow-x: hidden;
}

.page-sf-cruises article{
	padding-bottom: 2rem !important;
	padding-left: .9375rem;
	padding-right: .9375rem;
    padding-top: 2rem !important;
}

.page-sf-cruises table.fares th,
.page-sf-cruises table.fares td{
	border: none;
	width: 11%;
}

.page-sf-cruises #cruise{
	background-color: #fff;
    padding-bottom: 0 !important;
}

.cruise-schedule:first-child {
    border: 2px solid #02232d;
    border-bottom: none;
}

.cruise-schedule:last-child {
    border: 2px solid #02232d;
    border-top: none;
}

@media(min-width:1281px){
	.page-sf-cruises article .wrapper .row {
		padding-left: .9375rem;
		padding-right: .9375rem;
	}
}

@media(min-width:1025px) and (max-width:1200px){
	.page-sf-cruises #cruise {
	    padding-left: 1.75rem;
	    padding-right: 1.75rem;
	}
}
	
@media(max-width:1024px){
	.page-sf-cruises article .row .column{
		padding-left: 0;
		padding-right: 0;
	}
	.page-sf-cruises article {
		padding-left: .9375rem !important;
	    padding-right: .9375rem !important;
	}
}

@media (max-width: 1023px){
	.page-sf-cruises article .row .column.large-3.small-12 {
	    -webkit-box-ordinal-group: 0;
	    -ms-flex-order: -1;
	    order: -1;
	}
}

@media(max-width:768px){
	#cruise {
	    max-width: 100%;
	    margin-right: 1rem;
	    overflow: auto;
	    padding-top: 2rem !important;
	}
	.cruise-schedule {
	    margin: 0;
		min-width: 1200px;
	}
}

@media(max-width:640px){
	.page-sf-cruises article .row .column{
		padding-left: 0;
		padding-right: 0;
	}
}


/******************* Reservations Page *******************/
.page-reservations .hero { background-image: url('../img/Hero/hero_bus-fleet.jpg'); }

/******************* Cruise Reservations Page *******************/
.page-cruise-reservations .hero { background-image: url('../img/Hero/hero_bus-fleet.jpg'); }

/******************* About Us Page *******************/

.page-about .hero {
	background-image: url('../img/Hero/hero_bus-seats.jpg');
}

.page-about article .row .column.large-9.small-12{
	margin-bottom: 2rem;
}

.page-about article .row{
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

h2#about_us {
	margin-bottom: 2.5rem;
}

h2#giving_back {
    margin-bottom: 2.5rem;
    margin-top: 2.5rem;
}

#charities{
	padding: 2.5rem 0;
}

.charity {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
	margin-bottom: 3.125rem;
	text-align: center;
}

@media(max-width:1024px){
	h2#about_us {
	    margin-bottom: 0;
	    padding-bottom: .5rem;
	}
	h2#giving_back {
	    margin-bottom: 0.75rem;
	    margin-top: 1.25rem;
	    padding-bottom: .5rem;
	}
	#charities {
	    padding: 1rem 0 .5rem;
	}
	.charity:first-child {
		margin-top: 2rem;	
	}
	.charity {
	    margin-bottom: 2rem;
	}
}

@media(max-width:768px){
	body:not(.page-home) h2{
		border-bottom: 2px solid #cc9f45;
		width: 100%;
	}
	#charities {
		border-bottom: 2px solid #0d4f56;
		width: 100%;
	}
}

@media(max-width:768px) and (min-width:481px){
	body:not(.page-home) h2,
	#charities{
		text-align: center;
	}
}

@media(min-width:641px) and (max-width:1024px) {
	.charity:nth-child(2) {
		margin-top: 2rem;	
	}
}

@media(max-width:640px) {
	.charity > .row > .column:not(:last-child) {
		margin-bottom: 1rem;
	}
}

/******************* Contact Us Page *******************/

.page-contact-us .hero {
    background-image: url('../img/Hero/hero_schedule_fpo.png');
}

#contact-form > .row {
	margin-right: 0;
}

.required {
    padding-right: 1rem;
    position: relative;
}

.required:after {
    color: red;
    content: "*";
    position: absolute;
    right: 0;
    top: 0;
}

#contact-form input[name="url"] {
	display: none;
}

#form-message:not(:empty) {
	background: rgba(75, 181, 67, .2);
	border: 1px solid #4BB543;
	border-radius: 5px;
	color: green;
	font-weight: bold;
	margin: 1em 0;    
	padding: 1em;
}

.callout {
    margin: 0 0 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(10, 10, 10, 0.25);
    border-radius: 0;
    position: relative;
    color: #0a0a0a;
    background-color: #e1faea;
}

.callout.hidden {
	display: none;
}

[data-whatinput='mouse'] .close-button {
    outline: 0;
}

.callout > :last-child {
    margin-bottom: 0;
}

.close-button {
    position: absolute;
    color: #8a8a8a;
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1;
    cursor: pointer;
}
	
/******************* Newsletter Page *******************/

.page-newsletter .hero {
    background-image: url('../img/Hero/hero_schedule_fpo.png');
}

/******************* Travel Tips Page *******************/

.page-travel-tips .hero {
    background-image: url('../img/Hero/hero_travel.jpg');
}

/******************* Go-Green Page *******************/

.page-go-green .hero {
	background-image: url('../img/Hero/hero_bus-profile.jpg');
}

/******************* Free Wifi Page *******************/

.page-free-wifi .hero {
	background-image: url('../img/Hero/hero_bus-seats.jpg');
}

/******************* Sidebar *******************/

.sidebar > ul:last-child {
	margin-bottom: 0;
	padding-bottom: 2rem;
}

aside.fixed > ul:last-child {
	display: none;
}

ul.sidebar-top {
	border: 0.063rem solid #cc9f45;
	border-radius: 0 0 0.313rem 0.313rem;
	max-width: 292px;
}

ul.quicklinks-bot {
	border: 0.063rem solid #cc9f45;
	border-radius: 0 0 0.313rem 0.313rem;
	max-width: 292px;
}

@media(max-width:480px){
	.sidebar{
		max-width: 100%;
	}
}


@media(min-width:1025px) {
	
	aside.sidebar.fixed {
		position: fixed;
	}

	aside.sidebar.fixed-bottom {
		position: absolute;
	}
}

.sidebar-body{
	color: #5c6671;
	font-size: 1rem;
	width: 100%;
}

ul.sidebar-top,
ul.sidebar-bottom {
    margin-left: 0;
}


@media(max-width:1023px){   
    body:not(.page-contact-us) #page > article .wrapper .row .column.large-3.small-12 {
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
            -webkit-order: -1;
                order: -1;
    }
    ul.sidebar-top,
    ul.sidebar-bottom li {
        max-width: 100%;
    }
}


ul.sidebar-top li,
ul.sidebar-bottom li {
	padding: 1rem;
}

ul.sidebar-top li,
ul.sidebar-bottom li,
ul.sidebar-bottom li .sidebar-title{
	font-size: 1.5rem;
	font-weight: 400;
	list-style-type: none;
    margin-left: 0;
}


ul.sidebar-bottom .sidebar-title {
	display: inline-block;
}

@media(max-width:1150px) and (min-width:769px){	
	ul.sidebar-top li, ul.sidebar-bottom li .sidebar-title {
	    font-size: 1.125rem;
	}
}

@media(max-width:1150px) and (min-width:481px){	
	ul.sidebar-top li:nth-child(2){
		padding-top: 1rem !important;
	}
	
	ul.sidebar-top li:last-child{
		padding-bottom: 1rem;
	}
	ul.sidebar-bottom li:nth-child(2):before {
    	background-position: -374px -420px !important;
    }
}

@media(max-width:1150px){
	ul.sidebar-top {
	    padding-bottom: 1rem;
	}
	ul.sidebar-top li:not(:first-child){
		padding: 0;
		padding-right: .9375rem;
	}
	ul.sidebar-bottom li{
		padding: 0;
	}
}

@media(max-width:1024px){
	ul.sidebar-top,
	ul.sidebar-bottom {
	    margin-left: 0;
	}
}

@media(max-width:640px){
	.sidebar > ul:last-child {
	    padding-bottom: 1.5rem;
	}
	ul.sidebar-top {
	    padding-bottom: 1rem;
	}
}

@media(max-width:480px){
	ul.sidebar-top {
	    margin-bottom: 0;
	}
}

ul.sidebar-top:first-child li:first-child {
	background-color: #cc9f45;
	color: #fff;
	display: block;
	text-align: center;
}

ul.sidebar-top li:not(:first-child):before,
ul.sidebar-bottom li:before {
	background-image: url('../img/icons/icon_sprite.png');
	background-position: center center;
	background-repeat: no-repeat;
	content: "";
	display: inline-block; 
	margin-right: .75rem;
    vertical-align: middle;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
}

ul.sidebar-bottom li:before {
	margin-right: 0;
}

ul.sidebar-top li:nth-child(2):before{
	background-position: -16px -444px;
	width: 72px;
	height: 62px;
}

ul.sidebar-top li:nth-child(2):hover:before{
	background-position: -16px -548px;
}

ul.sidebar-top li:nth-child(3):before{ 
	background-position: -108px -442px;
	width: 70px;
	height: 68px; 
}

ul.sidebar-top li:nth-child(3):hover:before{
	background-position: -108px -546px;
}

ul.sidebar-top li:nth-child(4):before{
	background-position: -198px -440px;
	width: 70px;
	height: 72px; 
}

ul.sidebar-top li:nth-child(4):hover:before{
	background-position: -198px -544px;
}

ul.sidebar-bottom li:first-child:before{
	background-position: -288px -434px;
	width: 84px;
	height: 84px;
}

ul.sidebar-bottom li:first-child:hover:before{
	background-position: -288px -538px;
}

ul.sidebar-bottom li:nth-child(2):before{
	background-position: -392px -433px;
    width: 84px;
    height: 84px;
}


ul.sidebar-bottom li:nth-child(2):hover:before{
	background-position: -392px -537px;
}

ul.sidebar-top li:hover a,
ul.sidebar-bottom li:hover a{
	color: #750400;
}


ul.quicklinks-bot { display: flex; margin: 0 auto; max-width: 30%; }
/*ul.quicklinks-bot li { padding: 1rem; }*/
ul.quicklinks-bot li { font-weight: 400; list-style-type: none; margin-left: 0; }

ul.quicklinks-bot li:first-child { display: none; }
ul.quicklinks-bot li:not(:first-child):before {
	background-image: url('../img/icons/icon_sprite.png');
	background-position: center center;
	background-repeat: no-repeat;
	content: "";
	display: inline-block; 
	margin-right: .75rem;
    vertical-align: middle;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
}
ul.quicklinks-bot li:nth-child(2):before{ background-position: -16px -444px; width: 72px; height: 62px; }
ul.quicklinks-bot li:nth-child(2):hover:before{ background-position: -16px -548px; }
ul.quicklinks-bot li:nth-child(3):before{ background-position: -108px -442px; width: 71px; height: 68px; }
ul.quicklinks-bot li:nth-child(3):hover:before{ background-position: -108px -546px; }
ul.quicklinks-bot li:nth-child(4):before{ background-position: -198px -440px; width: 70px; height: 72px; }
ul.quicklinks-bot li:nth-child(4):hover:before{ background-position: -198px -544px; }

ul.quicklinks-bot:first-child li:first-child {
	background-color: #cc9f45;
	color: #fff;
	/*display: block;*/
	display: none;
	text-align: center;
}


home page wallet
{ background: url('../img/icons/icon_sprite.png') -20px -30px; width: 168px; height: 168px; }

home page calendar
{ background: url('../img/icons/icon_sprite.png') -208px -28px; width: 170px; height: 170px; }

home page bus
{ background: url('../img/icons/icon_sprite.png') -398px -20px; width: 172px; height: 178px; }

social yelp off
{ background: url('../img/icons/icon_sprite.png') -19px -218px; width: 68px; height: 89px; }

social yelp on
{ background: url('../img/icons/icon_sprite.png') -19px -326px; width: 68px; height: 89px; }

social Facebook off
{ background: url('../img/icons/icon_sprite.png') -106px -218px; width: 80px; height: 80px; }

social Facebook on
{ background: url('../img/icons/icon_sprite.png') -106px -326px; width: 80px; height: 80px; }

social twitter off
{ background: url('../img/icons/icon_sprite.png') -204px -218px; width: 98px; height: 80px; }

social twitter on
{ background: url('../img/icons/icon_sprite.png') -204px -326px; width: 98px; height: 80px; }

topnav email off
{ background: url('../img/icons/icon_sprite.png') -343px -234px; width: 72px; height: 58px; }

topnav email on
{ background: url('../img/icons/icon_sprite.png') -343px -234px; width: 72px; height: 58px; }

topnav phone off
{ background: url('../img/icons/icon_sprite.png') -435px -235px; width: 57px; height: 58px; }

topnav phone on
{ background: url('../img/icons/icon_sprite.png') -435px -311px; width: 57px; height: 58px; }

/******************* footer *******************/

footer { 
	padding-bottom: .625rem;
	padding-top: .625rem;
}

footer > .row {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	            -ms-grid-row-align: center;
	    -webkit-align-items: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

footer nav ul {
	position: relative;
}

footer nav ul li {
	padding: 0 .9375rem;
}

footer nav ul .social li:first-child,
footer nav ul .social li:nth-child(2),
footer nav ul .social li:last-child {
    height: auto;
    width: 100px;
}

footer nav ul .social li {
    padding: 0;
}

footer > .row {
	max-width: 100%;
	padding: 1.5rem .9375rem;
}

footer nav#bottom-links,
footer nav#social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
}

span.social {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

#copyright {
    color: grey;
    font-size: 1.375rem;
}

a.yelp,
a.facebook,
a.twitter{
	background-image: url('../img/icons/icon_sprite.png');
	background-position: center center;
	background-repeat: no-repeat;
	content: "";
	display: inline-block; 
	font-size: 0;
	height: 100px;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    width: 100px;
}

a.yelp {
	background-position: 0px -214px;
}

a.facebook {
	background-position: -98px -208px;
}

a.twitter {
	background-position: -204px -208px;
}

a.yelp:hover {
    background-position: 0px -322px;
}

a.facebook:hover {
    background-position: -98px -316px;
}

a.twitter:hover {
    background-position: -204px -316px;
}

@media(max-width:1600px) {
	#copyright {
		font-size: 1.125rem;
	}
	footer nav ul a {
	    font-size: 1.125rem;
	}
}

@media(min-width:1025px) and (max-width:1280px) {
	#copyright {
		font-size: 1rem;
	}
	footer nav ul li {
	    -webkit-box-flex: 1;
	        -ms-flex-positive: 1;
	            flex-grow: 1;
	    padding: 0 .9375rem;
	    text-align: center;
	}	
	a.yelp {
		-webkit-transform: scale(.45);
		        transform: scale(.45);
	}
	a.facebook {
		-webkit-transform: scale(.45);
		        transform: scale(.45);
	}
	a.twitter {
		-webkit-transform: scale(.45);
		        transform: scale(.45);
	}
}

@media(max-width:1024px) {
	footer nav#bottom-links{
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        flex: 0 0 100%;
	    max-width: 100%;	
	}
	nav#social{
	    -webkit-box-flex: 0;
	        -ms-flex: 0 0 100%;
	            flex: 0 0 100%;
	    max-width: 100%;
		margin-top: 0;
	}
	#copyright {
	    display: -webkit-box;
	    display: -ms-flexbox;
	    display: flex;
	    -webkit-box-flex: 0;
	        -ms-flex: 0 0 100%;
	            flex: 0 0 100%;
	    max-width: 100%;
	    -webkit-box-ordinal-group: 2;
	        -ms-flex-order: 1;
	            order: 1;
		padding-left: 0;
	    padding-top: 0;
	    -ms-flex-pack: distribute;
	        justify-content: space-around;
	}
	footer nav ul .social li:first-child,
	footer nav ul .social li:nth-child(2),
	footer nav ul .social li:last-child {
	    height: 90px;
	    width: 100px;
	}
}

@media(max-width:768px) {
	footer { 
		padding-bottom: 0;
		padding-top: 0;
	}
	footer nav#bottom-links {
	    padding-left: 0;
	    padding-right: 0;
	}
	footer nav#bottom-links .row{
	    width: 100%;
	}
	footer nav#bottom-links ul li {
	    border-bottom: 1px solid #a82c28;
		padding: .5rem 0rem;
	    width: 100%;
	}
	footer nav ul li:first-child{
		padding-left: 0;
	}
	nav#social {
	    margin-top: 1rem;
	}
}

@media(max-width:641px) {
	footer > .row {
	    -webkit-box-pack: center;
	        -ms-flex-pack: center;
	            justify-content: center;
	}
	footer .logo {
		max-width: 140px;
	}
}

@media(max-width:640px) {
	nav#social{
		margin-top: 0;
	}
	#copyright {
		font-size: 1rem;
	    min-width: 100%;
	    width: 100%;
	}
	a.yelp {
		-webkit-transform: scale(.45);
		        transform: scale(.45);
	}
	a.facebook {
		-webkit-transform: scale(.45);
		        transform: scale(.45);
	}	
	a.twitter {
		-webkit-transform: scale(.45);
		        transform: scale(.45);
	}
}

@media(max-width:480px) {
	#copyright {
		margin-top: 0rem;
	}
}