@charset "utf-8"; /* CSS Document */
@import url("https://use.typekit.net/qrd4apr.css");
@keyframes fadein { from { opacity: 0; } to { opacity: 1; } }
@-moz-keyframes fadein { from { opacity: 0; } to {opacity: 1; } }
@-webkit-keyframes fadein { from { opacity: 0; } to { opacity: 1; } } 
@-webkit-keyframes fadein { from { opacity: 0; } to { opacity: 1; } } 
@-webkit-keyframes fadein { from { opacity: 0; } to { opacity: 1; } } 
@-o-keyframes fadein { from { opacity: 0; } to { opacity: 1; } } 

@page { margin: 2cm; }

@media all {
	
	* { margin: 0; padding: 0; box-sizing: border-box; font-family: "freight-sans-pro", sans-serif; font-weight: 400; color: #111111; }
	body { background-color: #ffffff; }
	h1, h2, h3 { color: #ec1218; }
	h1 { font-size: 4vw; }
	h2 { font-size: 3vw; }
	h3 { font-size: 2vw; text-transform: uppercase; }
	p { font-size: 1.5vw; text-align: justify; margin-bottom: 1vmin; }
	p.rightlink, p.gotolist { display: inline-block; width: 72vw; float: right; clear: both; font-size: 1.25vw; text-align: right; text-transform: uppercase; }
	p.leftlink { display: inline-block; width: 100%; float: right; clear: both; font-size: 1.25vw; text-align: left; text-transform: uppercase; }
	p.gotolist-top { display: inline-block; background: #f1f1f1; padding: 1vw; float: left; font-size: 3.5vw; text-align: left; text-transform: uppercase; }
	p.allow-hyphen { -ms-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; }
	a { text-decoration: none; color: #ec1218; }
	a:hover { text-decoration: underline; }
	a.back-to-top { display: none; width: 60px; height: 60px; text-indent: -9999px; position: fixed; z-index: 999; left: 5px; bottom: 20px; background: #ec1218 url("/images/up-arrow.png") no-repeat center 43%; -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; }
	ul { list-style: square; }
	img { -ms-interpolation-mode: bicubic; }

/* ALL PAGES */
	#menu { display: flex; top: 0; justify-content: flex-end; flex-wrap: wrap; width: 100vw; padding: 0 5vw; height: auto; border-bottom: 2px solid #ec1218; margin-bottom: 0; font-size: 1.75vw; text-transform: uppercase; background-color: rgba(255, 255, 255, .6 ) }
	#menu a { display: block; float: left; padding: 0 1vw; color: #444444; text-decoration: none; }
	#menu a:hover { background: #e8e4d9; color: #ec1218; text-decoration: none; }
	#menu a.current { background: #ec1218; color: #ffffff; text-decoration: none; }
	
	#header { display: flex; justify-content: space-between; align-items: center; width: 100vw; padding: 0.5vw 5vw; background-color: rgba(255, 255, 255, .6 ); }
	#header img { width: 20vw; }
	
	#footer { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100vw; padding: 0 5vw; border-top: thin solid #afa593; font-size: 1vw; }
	#footermenu, #footertc, #footercopyright { width: 40%; }
	#footertc { text-align: right; }
	#footer.home { width: 100%; padding: 0; }
	
/* HOME */
	#homesplash a { color: #444444; font-size: 1.25vw; text-align: right; }
	#homesplash a:hover { text-decoration: none; }
		
	#home-text-container { display: block; float: left; clear: both; width: 90vw; margin: 0 5vw .5vw 5vw; background-color: rgba(232, 228, 217, .85 ); position: fixed; bottom: 0; }
	#home-text { display: block; float: left; width: 90vw; padding: 2vmin; }

        #background-video { position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%; z-index: -1; object-fit: cover; }
        #background-video video { transform: translateX(calc((100% - 100vw) / -2)); }
	
	.infomap { display: block; float: left; width: 60vw; border-top: 1px #afa593 solid; margin-top: 2vh; padding-top: 2vh; }
	.infomap_1 { font-size: 3vw; color: #ec1218; margin-bottom: 1vh; }
	.infomap_2 { float: left; font-size: 1.25vw; text-align: justify; margin-bottom: .5vw; width: 66vw; }

	#home-links { display: block; float: right; width: 20vw; margin-top:0; }
	#home-links p.leftlink { text-align: center; padding: 1vw;}
	#home-links a:hover img { filter: grayscale(0); filter: none; overflow: hidden; -webkit-transform: scale(1.1); -moz-transform: scale(1.1); -o-transform: scale(1.1); transform: scale(1.1); -webkit-transition: 0.5s; transition: 0.5s; }
	.home-link-button { display: inline; margin-left: 1vw; }
	.home-link-button img { width: 9vw; margin-bottom: .5vw; filter: grayscale(1); }
	
	.news-updates-title { width: 100%; margin-top: 10vw; }
        p.news-updates { color: #ffffff; background-color: #ec1218; width: 100%; text-align: center; }
	p.news-updates a { color: #ffffff; background-color: #ec1218; text-decoration: none; }
	p.news-updates a i { color: #ffffff; }
	.news-updates div { border: thin solid #ec1218; width: 15vw; height: 15vw; margin: 1vw; padding: 1vw; font-size: 1.5vw; text-align: center; background-color: #ffffff; color: #ec1218; display: flex; align-items: center; }
	.news-updates div a { color: #ec1218; }
	.news-updates div.highlight-item { width: 15vw; height: 15vw; margin: 1vw; padding: 1vw; font-size: 1.5vw; text-align: center; background-color: #ec1218; color: #ffffff; display: flex; align-items: center; }
	.news-updates div.highlight-item a { color: #ffffff; }
	.news-updates div:hover { overflow: hidden; -webkit-transform: scale(1.02); -moz-transform: scale(1.02); -o-transform: scale(1.02); transform: scale(1.02); -webkit-transition: 0.5s; transition: 0.5s; }

}

@media only screen and (max-width: 950px) and (orientation: portrait) {

	p { font-size: 4vw; }
	p.rightlink, p.gotolist, p.leftlink { font-size: 3.5vw; }
	h1 { font-size: 8vw; }
	h2 { font-size: 6vw; }
	h3 { font-size: 4vw; }
	.news-updates div, .news-updates div.highlight-item { font-size: 4vw; height: auto; width: 100%; align-items: left; }
	.news-updates div a { width: 100%; text-align: left; }
	
	#menu { z-index: 100; font-size: 3.5vw; position: fixed; top: 0; left: 70vw; width: 30vw; padding: 0; border-bottom: none; height: 20.5vw; align-content: stretch; }
	#menu a { width: 100%; padding-left: 2vw; background: #e8e4d9; }
	#menu a:hover { background: #ffffff; }
	#menu a.current { background: #ffffff; color: #ec1218; font-weight: 500; padding-left: 0.25vw; }
	
	#header { width: 100vw; position: fixed; top: 0; left: 0; margin-bottom: 30vw; padding: 1vw; }
	#header.home { flex-wrap: wrap; }
	#header img { width: 60vw; }

        #footer { margin-top: 6vw; padding: 1vw; font-size: 2.5vw; border-top: none; padding: 0; }
	#footermenu, #footertc, #footercopyright { width: 100%; text-align: center; }	
	#homesplash { padding: 2vw 1vw 1vw 1vw; text-align: center; width: 100vw; font-size: 2vw; }
	#homesplash a { font-size: 2vw; }
	
	#home-links { width: 98vw; padding: 1vw 1vw 5vw 1vw; display: flex; justify-content: space-evenly; }
	.home-link-button { width: 100%; }
	.home-link-button img { width: 100%; }
	#home-text-container { width: 100vw; margin: 0; position: static; bottom: auto; margin-top: 80vw; background-color: rgba(232, 228, 217, .95 ); z-index: 100; }
	#home-text { width: 100%; }
	.infomap_1 { font-size: 5vw; }
	.infomap_2 { font-size: 4vw; width: 96vw; }
	
	#content, #content.offices, #content.profile { width: 98vw; margin-top: 25vw; margin-left: 1vw; }

        #background-video { position: fixed; top: 30vw; left: 0; width: 100vw; height: 58vw; z-index: -1; object-fit: contain; min-height: auto; min-width: 100vw; margin: 0; }
        #background-video video { width: 100vw; transform: none; }
	 
}

@media only screen and (max-width: 950px) and (orientation: landscape) {

        #home-text-container { position: static; bottom: auto; margin-top: 60vh; background-color: rgba(232, 228, 217, .95 ); z-index: 100; }

}

@media print {
	#menu, #footermenu, #footertc, #returntodirectory, .vclink { display: none; }
	#header img { width: 25mm; }
	#footer { border-top: none; }
	#footer { display: block; }
	#content, #content.offices, #content.profile { width: 72.5%; }
	#content a, #content i, #sidebar a { color: #111111; }
	.profOffice { margin-bottom: 0; }
	#sidebar, #sidebar.about, #sidebar.practice, #sidebar.profile { width: 20%; margin: 0; padding-left: 1vw; }
	#sidebar.profile p { margin-left: 0; width: 100%; }
	.barid { display: inline; }

	h1, h2, h3 { page-break-inside: avoid; }
	h1::after, h2::after, h3::after { content: ""; display: block; height: 100px; margin-bottom: -100px; }
	h1 { font-size: 16pt; }
	h2, #content.profile h2 { font-size: 14pt; }
	h3 { font-size: 12pt; }
	#profTitle, #profPhoto img { height: 20vw; }
	.profName { font-size: 20pt; margin-top: 20pt; }
	p, ul.profileList li { font-size: 11pt; }
	#sidebar { font-size: 8pt; }
	#sidebar.profile h2 { font-size: 8pt; }
	#sidebar.profile p, #sidebar.profile ul li { font-size: 8pt; }
	
	ul.profileList li { text-align: justify; }
}