body {
	background:#fff;
	margin:0;
	padding:0;
	font-size:16px;
	line-height:1.45;
	font-family:'Montserrat',sans-serif;
}

img {
	max-width:100%;
}

iframe {
	width:100%;
	border:none;
	outline:none;
	display:block;
}

.trustspotbg iframe {
	height:11em;
}

a {
	text-decoration:none;
}

.clr {
	float:none;
	clear:both;
	display:block;
	width:100%;
	height:0;
}

.left-text,.text-left {
	text-align:left;
}

.center-text,.text-center {
	text-align:center;
}

.right-text,.text-right {
	text-align:right;
}

header {
	position:relative;
	top:0;
	left:0;
	height:16em;
	width:100vw;
	background:transparent;
	text-align:center;
	margin:0;
	padding:0;
	z-index:1;
}

header .inner {
	position:relative;
	top:1em;
	left:0;
	width:calc(100% - 4em);
	height:auto;
	margin:0 auto;
	text-align:center;
}

header #site-logo {
	position:relative;
	width:auto;
	text-align:center;
	margin:0;
}

header #site-logo img {
	display:inline-block;
	vertical-align:middle;
}

header h1.corpname {
	display:block;
	font-size:1.33em;
	margin:0;
	padding:0;
	font-weight:600;
	color:#002868;
}

header h2.tagline {
	display:block;
	font-size:.86em;
	font-style:oblique;
	margin:0;
	padding:0;
	font-weight:500;
}

header a {
	text-decoration:none;
	font-weight:400;
	color:#c4070c;
}

header .contactheader {
	padding-top:1.75em;
}

header .contactheader a {
	font-weight:600;
	margin:0 1em;
}

header .contactheader a svg {
	color:#002868;
}

#mobilecontact {
	position:fixed;
	bottom:0;
	left:0;
	width:calc(100% - 2em);
	padding:.5em 1em 0;
	margin:0;
	height:auto;
	background:#fff;
	border-top:1px rgba(0,25,50,.5) solid;
	display:none;
}

#betterbusb,#chatnow {
	width:58px;
	height:69px;
	position:fixed;
	top:1em;
	right:1em;
	background:url(../images/bbb.png) center center no-repeat transparent;
	z-index:12;
}



#betterbusb-mobile {
	width:58px;
	height:69px;
	float:right;
	background:url(../images/bbb.png) center center no-repeat transparent;
}

#chatnow {
	display:none;
	top:50vh;
	right:0;
	width:1em;
	height:1em;
	font-size:1.75em;
	padding:.5em;
	-webkit-border-radius:1em 0 0 1em;
	-moz-border-radius:1em 0 0 1em;
	border-radius:1em 0 0 1em;
	color:#fff;
	background:#c4070c;
	text-align:left;
	cursor:pointer;
}

#chatnow {
	display:none;
	top:50vh;
	right:0;
	width:1em;
	height:1em;
	line-height: 1;
	font-size:1.75em;
	padding:.5em;
	-webkit-border-radius:1em 0 0 1em;
	-moz-border-radius:1em 0 0 1em;
	border-radius:1em 0 0 1em;
	color:#fff;
	background:#c4070c;
	text-align:left;
	cursor:pointer;
}

#chatnow .textchat {
	position:absolute;
	top:1.5em;
	right:1em;
	display:none;
	font-size:.5em;
	margin-left:1em;
	line-height:1;
}

#chatnow:hover {
	width:6em;
}

#chatnow:hover .textchat {
	display:inline-block;
	vertical-align:middle;
}

header.fixie #chatnow {
	display:block;
}

header nav {
	position:absolute;
	top:16em;
	left:0;
	width:100%;
	height:2.5em;
	text-align:center;
	background:#002868;
	z-index:3;
}

header nav .mobileicon {
	display:none;
}

header.fixie nav {
	position:fixed;
	top:0;
	left:0;
}

header nav ul {
	position:relative;
	top:.225em;
	left:0;
	list-style:none;
	display:block;
	height:2.5em;
	width:100%;
	font-size:1em;
	line-height:1;
	text-transform:uppercase;
	margin:0;
	padding:0;
}

header nav ul li {
	display:inline-block;
	position:relative;
	width:auto;
	margin:0;
	padding:0;
	font-weight:400;
	background:transparent;
}

header nav ul li a {
	display:inline-block;
	vertical-align:middle;
	color:#fff;
	background:#002868;
	padding:0 1em;
	font-weight:500;
	height:2em;
	line-height:2;
}

header nav ul li a:hover {
	color:#002868;
	background:#fff;
}

header nav ul li.home_scroll_nav,header nav ul li.call_scroll_nav {
	display:none;
}

header nav ul li.home_scroll_nav img {
	max-height:100%;
}

header.fixie nav ul li.home_scroll_nav,header.fixie nav ul li.call_scroll_nav {
	display:inline-block;
}

header nav ul li ul.drop {
	position:absolute;
	left:0;
	top:2em;
	display:block;
	width:25em;
	height:0;
	overflow:hidden;
	margin:0;
	padding:4px 0 0;
	background:transparent;
	-webkit-transition:height .5s;
	transition:height .5s;
	text-align:left;
}

header nav ul li ul.drop li {
	display:block;
	width:100%;
	min-height:3em;
	margin:0;
	padding:0;
}

header nav ul li ul.drop li a {
	width:calc(100% - 2em);
	padding:0 1em;
	margin:0;
	line-height:3em;
	min-height:3em;
}

header nav ul li:hover ul.drop {
	height:21em;
}

div.hero {
	position:relative;
	top:0;
	width:100%;
	height:56vh;
	background:url(../images/Boston1.jpg) center center no-repeat white;
	-webkit-background-size:cover;
	-moz-background-size:cover;
	-o-background-size:cover;
	background-size:cover;
	z-index:0;
}

div.hero .inner {
	position:absolute;
	height:calc(75vh - 10em);
	top:3em;
	width:100%;
}

div.hero .inner .servicesWheel {
	height:100%;
}

div.hero .inner .servicesWheel img {
	max-height:100%;
	min-width:0;
	max-width:1000%;
	min-height:0;
	width:auto;
	height:auto;
}

div.hero h2,div.hero h3,div.hero .visaselector,div.hero .passportselector {
	position:relative;
	top:0;
	left:0;
	width:100%;
	text-align:center;
}

div.hero h2 {
	margin-top:2vh;
	margin-bottom:1.6vh;
	color:#9e0000;
	font-weight:700;
}

div.hero h3 {
	margin-top:-1.5vh;
	color:#1e1156;
	font-weight:1000;
	font-size:30px;
	line-height: 30px;
}


div.hero select,div.hero select option,div.hero select optgroup {
	font-size:1.125em;
	background:#fff;
	color:#4a4a4a;
	box-shadow:none;
	padding:.25em .75em;
	margin:0 0 1em;
	height:1.66em;
	border:1px gray solid;
	outline:none;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	border-radius:0;
	font-family:'Montserrat',sans-serif;
	z-index:22;
}

div.hero .selector button.specialbutton {
	position:relative;
	top:.5em;
	vertical-align:middle;
}

button.specialbutton {
	display:inline-block;
	font-size:1.25em;
	font-weight:700;
	line-height:1;
	background:#ff4746;
	color:#fff;
	padding:.33em;
	margin:0;
	border:none;
	outline:none;
	cursor:pointer;
	-moz-border-radius:1em;
	-webkit-border-radius:1em;
	border-radius:1em;
}

button.specialbutton.minwidth {
	min-width:9em;
}

button.specialbutton.red {
	background:#ff4746;
	color:#fff;
}

button.specialbutton.red:hover,button.specialbutton:hover {
	color:#fff;
	background:#8d8d8d;
}

button.specialbutton.blue {
	background:#002868;
	color:#fff;
}

button.specialbutton.blue:hover {
	color:#002868;
	background:#fff;
}

div.spotlight {
	position:absolute;
	bottom:0;
	left:50%;
	width:95vw;
	max-width:80em;
	height:auto;
	background:#c4070c;
	color:#fff;
	text-align:center;
	padding:.25em 0;
	margin:0;
	font-weight:500;
	transform:translate(-50%,0);
}

#main {
	width:100%;
	position:relative;
	margin:0;
	padding:0;
}

#main a.concierge {
	position:relative;
	top:0;
	left:0;
	width:100%;
	height:0;
	padding-top:60%;
	display:block;
	background:url(../images/concierge-blue.svg) center center no-repeat transparent;
	-webkit-background-size:contain;
	-moz-background-size:contain;
	-o-background-size:contain;
	background-size:contain;
}

#main a.emergency-concierge {
	position:relative;
	top:0;
	left:0;
	width:100%;
	height:0;
	padding-top:60%;
	display:block;
	background:url(../images/emergency-concierge.svg) center center no-repeat transparent;
	-webkit-background-size:contain;
	-moz-background-size:contain;
	-o-background-size:contain;
	background-size:contain;
}

#main .bg.conciergebg p {
	font-weight:500;
}

#main .bg.servicesbg {
	background:#fff;
}

.whitebg {
	background:rgba(255,255,255,.75);
}

#main > .inner {
	width:92%;
	max-width:80em;
	margin:0 auto;
	padding:1em 0 2em;
	display:block;
	float:none;
	clear:both;
}

#main a {
	color:#c4070c;
	font-weight:600;
	text-decoration:none;
}

#main h2,#main h3,#main h4,#main h5 {
	font-weight:500;
	color:#002868;
	font-size:1.6em;
	line-height:1.2;
	margin:.25em 0 1em;
	padding:0;
	text-align:center;
}

#main h2.banner {
	background:transparent;
	color:#002868;
	padding:.25em 0;
	margin:0.25em 0 .25em;
	border-bottom:#002868 1px solid;
	font-size:1.8em;
}

footer h2,footer h3,footer h4,footer h5 {
	font-weight:500;
	color:#fff;
	font-size:1.6em;
	line-height:1.2;
	margin:1em 0 .25em;
	padding:0;
}

#main h3,footer h3 {
	font-size:1.4em;
	color:#c4070c;
}

#main h4,footer h4 {
	font-size:1.2em;
	color:#c4070c;
}

#main h5,footer h5 {
	font-size:1.1em;
}

#main h3.numeric {
	font-size:2.25em;
	line-height:1;
	margin:0;
	padding:0;
	background:#c4070c;
	color:#fff;
	width:1em;
	height:1em;
	padding:.25em;
	display:inline-block;
	-moz-border-radius:50%;
	-webkit-border-radius:50%;
	border-radius:50%;
	text-align:center;
}

#main .trustspotbg {
	padding:2em 0;
	border-top:1px #666 dotted;
	border-bottom:1px #666 dotted;
}

.reviews a {
	position:relative;
	float:left;
	width:14.2857%;
	margin:0;
	padding:0;
	height:auto;
	text-align:center;
}

.reviews a .padd {
	position:relative;
	display:block;
	width:calc(100% - 2em);
	height:6em;
	margin:1em;
	background:#fff;
}

.reviews a .padd img {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}

#main .bg.reviewsbg {
	background:#fff;
	margin-bottom:0;
}

#main a.mobileapp {
	font-size:7em;
	color:#002868;
}

footer {
	padding:3em 0;
	margin:3em 0 0;
	background:#002868;
	color:#fff;
}

footer .inner {
	width:92%;
	max-width:80em;
	margin:0 auto;
}

footer nav {
	margin:0;
	padding:0;
	font-size:.85em;
}

footer nav ul {
	list-style:none;
	color:#fff;
	margin:0;
	padding:0;
}

footer nav ul li a {
	color:#fff;
}

footer nav ul li.social_nav {
	margin-left:2em;
}

footer nav ul li.social_nav a {
	padding:0 .125em;
	margin:0;
	background:transparent;
	color:#fff;
	height:1em;
	line-height:1;
	font-size:2.5em;
}

footer nav ul li.social_nav a:hover {
	background:transparent;
	color:#fff;
	opacity:.5;
}

@media( max-height: 700px) {
	div.hero h2 {
		font-size:1em;
	}

	div.hero h3 {
		font-size:1.25em;
	}
}

/*
64em = 1024px
*/
@media( max-width: 64em) {

	header {
		height:12em;
	}
	
	div.hero  {
		height:46vh;
	}
	
	div.hero h2 {
		font-size:1em;
	}

	div.hero h3 {
		font-size:1.25em;
	}
	
	div.hero .inner  {
		top: 1em;
	}
	
	header nav,header.fixie nav {
		position:fixed;
		left:auto;
		right:1em;
		top:1em;
		display:block;
		width:2.25em;
		height:2.25em;
		text-align:center;
		padding:0;
		margin:0;
		background:rgba(255,255,255,.5);
	}
	
	header .inner {
		width:calc(100% - 2em);
	}
	
	header nav .mobileicon {
		display:block;
		font-size:2.25em;
		line-height:1;
	}
	
	header nav .mobileicon svg {
		color:#c4070c;
	}
	
	header nav ul {
		display:none;
	}
	
	header h1.corpname {
		font-size:1em;
	}
	
	header h2.tagline {
		font-size:.7em;
	}
	
	header .contactheader {
		display:none;
	}
	
	#betterbusb {
		display:none;
	}
	
	#mobilecontact {
		display:block;
	}
	
	header.fixie #chatnow {
		display:none;
	}
	
	div.hero {
		margin-bottom:1em;
	}
	
	div.hero .inner {
		margin-top:0;
	}
	
	div.hero h2 {
		margin-top:0;
	}
	
	#main .bg.conciergebg a.concierge {
		height:8em;
		padding:0;
		clear:both;
		float:none;
		position:relative;
	}
	
	.reviews a {
		width:50%;
	}
	
	#main h2,#main h3,#main h4,#main h5 {
		font-size:1.5em;
		text-align:center;
	}
	
	footer h2,footer h3,footer h4,footer h5 {
		font-size:1.5em;
	}
	
	#main h3,footer h3 {
		font-size:1.333em;
	}
	
	#main h4,footer h4 {
		font-size:1.25em;
	}
	
	#main h5,footer h5 {
		font-size:1.125em;
	}
	
	footer {
		padding-bottom:10em;
	}
	
	footer nav ul li {
		display:inline-block;
		margin:0 1em 0 0;
	}
	
}

@media( max-width: 32em) {

	div.hero  {
		height:36vh;
	}
	
	div.hero h2 {
		font-weight:900;
		font-size:1.2em;
	}

	div.hero h3 {
		font-weight:1000;
		font-size:1.4em;
		margin-top:-0.5vh;
	}
	
	header h2.tagline {
    	font-weight: 800;
    	line-height: 1em;
	}

}
