/* ==========================================================================
   HTML5 Boilerplate styles - h5bp.com (generated via initializr.com)
   ========================================================================== */

html,button,input,select,textarea { color: #222;}
body { font-size: 1em; line-height: 1.4; }
::-moz-selection {background: #74b643;text-shadow: none;}
::selection {background: #74b643;text-shadow: none;}
hr {display: block;height: 1px;border: 0;border-top: 1px solid #ccc;margin: 1em 0;padding: 0;}
img {vertical-align: middle;}
fieldset {border: 0;margin: 0;padding: 0;}
textarea {resize: vertical;}
.chromeframe {margin: 0.2em 0;background: #ccc;color: #000;padding: 0.2em 0;}
body {font: 15px/21px 'urw-din', Helvetica, 'Helvetica Neue', Arial, sans-serif; font-weight: 300;}
.wrapper {width: 90%;margin: 0 5%; }
.footer-container,.main aside {}
.header-container,.footer-container,.main aside { transition: 0.5s width; }
/* MOBILE: Menu */
nav { clear: both; margin-bottom: 25px; margin-top: 0px; }
nav ul {margin: 0;padding: 0;}
nav a, nav a:visited, nav a:focus {font-size: 20px;font-weight: 500;display: block;padding: 0px 27px;text-align: center;text-decoration: none; color: #838689; text-transform: uppercase;cursor:pointer;outline:0; transition: padding 0.5s; white-space: nowrap; letter-spacing: -0.01em;}
nav a:hover, nav a.on {color: #274185; }
nav ul, nav li ul { display: none; }
nav li ul a, nav li ul a:visited, nav li ul a:focus { font-weight: 400; }
nav li a { line-height: 15vh; padding: 0 27px;}
.menu-toggle { width: 50px;height: 50px;overflow: hidden;line-height: 50px;text-align: center;position: absolute; top: 0;right: 0;z-index: 100;}
.menu-toggle a, .menu-toggle a:visited { padding: 0 8px; color: #888b8e; }
.menu-toggle a:before { font-family: 'laitymorrow' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; margin-right: 20px; content: "\e908"; font-size: 32px;  }
.menu-toggle a.close:before { content: "\e90a";  }
.main-menu { background: rgba(255,255,255,1); position: fixed; z-index: 5; top: 0; left: 0; margin: 0px 0px; padding: 60px 0px; width :100%; height: calc(100vh - 120px); }
.home .main-menu { height: calc(100vh - 120px); }
/* MOBILE: Main */
h1 { font-size: 36px; font-weight: 300;}
.main aside {padding: 0px 5% 10px;}
.footer-container footer {color: white;padding: 20px 0;}
/* IE Fixes */
.ie7 .logo {padding-top: 20px;}

/* Custom styles */

/* Layout */
html, body { height: 100%; }
body { background: url(../img/bg.jpg) center center no-repeat fixed; min-width: 100%; min-height: 100%; background-size: cover !important; }
.header-container { padding-top: 60px; }
.logo { display: block; text-align: center; height: 122px; overflow: hidden;  }
.logo img { display: block; margin: 0 auto; width: 150px; height: auto; }
.logo img.print { display: none; } /* Logo Print */
.main-container { /*min-height: calc(100% - 160px);*/}
.main { background: rgba(255, 255, 255, 0.4); margin: 0; padding: 5%; }
.home .main.wrapper { background: none; }
article { margin-bottom: 65px; clear: both;}
article img { max-width :100%; }
.main-container aside { clear: both; max-width: 640px; padding: 50px 50px 70px 50px; margin: 0 auto; }	
.main-container aside .wrapper { width: 100%; margin: 0 auto;}
.footer { margin: 0; padding: 5%; }
.center { text-align: center; }
.grid-2, .grid-3, .grid-4, .grid-5 {  } 
.desktop-show { display: none;  }
.tablet-show { display: none;  }
.mobile-show { display: block; }

/* Type */
strong { font-weight: 500; }
section a, section a:link, section a:visited { color: #74b643; text-decoration: underline;}
section a:hover { text-decoration: none;}
footer a, footer a:link, footer a:visited { color: #636669; text-decoration: none;}
h1 { font-size: 36px; font-weight: 500; color: #74b643; line-height: 1.3; letter-spacing: -0.02em; word-spacing: 0.02em; margin-left: -0.05em;}
h2 { font-size: 1.066666666em; margin: 1.66em 0 0.83em 0; font-weight: 600;  }
h3 { font-size: 1em; font-weight: 500;  }
h4 { margin-bottom: 0; font-weight: normal; }
blockquote { font-size: 1.3em; line-height: 1.3em; color: #999; text-align: center; }
.small { font-size: 0.8em;  }
.large { font-size: 1.2em; font-weight: 500;}
.cond { font-family: 'Open Sans Condensed', sans-serif; }
strong.initial { color: #74b643; width: 1em; display: inline-block;}
footer p { margin: 0; color: #636669; line-height: 1.25em;}
.signature { margin-top: 1em;}
.blue { color: #274185; }
.body-text { font-size: 1em; color: #222; font-weight: 300;}
.body-text-bold { font-size: 1em; color: #222; font-weight: 500; }
section a.body-text-bold { color: #222; text-decoration: none; }
section a.body-text-bold:hover { text-decoration: underline; }

/* Forms */
input[type="submit"], input[type="button"], button, .button, a.button, section a.button { font-family: 'urw-din', 'Heletica Neue', Helvetica, Arial, sans-serif; text-align: center; text-decoration: none; padding: 1em 1.75em; border: 1px solid #274185; color: #274185; background: none; font-weight: 600; display: inline-block;}
button:hover, .button:hover, a.button:hover { background: #274185; color: #fff!important;}


/* Home */
body.home { overflow: hidden; }
.home .main.wrapper, .home .main-container { height: auto !important; }
.home .header-container .logo { display: none; }
.home h1 { color: #274185; margin-bottom: 0; line-height: 1; }
.home header { margin-bottom: 6px; }
.home article { color: #274185; text-align: center; }
.home .main .logo { height: 244px; margin: auto; max-width: 75%; }
.home .main .logo img { width :300px; margin-bottom: 300px; opacity: 0; transition: opacity 0.5s; }
.home .main .logo img.fade-in { opacity: 1; }

.home .main-container { margin: 0 auto; padding: 0; width: 100%; height: calc(100vh - 184px) !important; position: relative;}
.home .main.wrapper { padding: 0; width: 100%; }
.home article { position: absolute; margin: auto; top: 0; left: 0; right: 0; bottom: 0; height: 244px; }
.home article header { margin: 0; }	

/* Expertise */
.show-hide h2 { display: block; border-top: 1px solid #eee; cursor: pointer; padding-top: 0.8em; margin-top: 1em; }
.show-hide h2:hover, .show-hide h2.open { color: #274185;  }
.show-hide h2:after { font-family: 'laitymorrow' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; margin-left: 20px; font-size: 20px; content: "\e903"; float: right; }
.show-hide h2.open:after { content: "\e902"; }
.closed { width: 100%; display: none; padding-bottom: 1em; }
.closed p { margin-top: 0; }

/* Lawyers / Directors */
.team-photos h2 { margin: 1em 0 0 0; }
.team-photos h2 a { text-decoration: none; color: inherit; }
.team-photos h2 a:hover, .team-photos h2 a:focus { text-decoration: underline; }
.team-photos p { margin-top:0; }
.team-photos img { -ms-interpolation-mode: nearest-neighbor;  /* IE (non-standard property) */ }
.photo-col { min-width: 250px; max-width: 300px; }
.photo-col img { margin-bottom: 25px; -ms-interpolation-mode: nearest-neighbor;  /* IE (non-standard property) */ }
.lawyers header h1 { margin-bottom: 0; font-size: 24px;}
.lawyers header p { margin-top: 0; font-weight: 500; font-size: 1.1em; }
.lawyers.specialist article:after { clear: both; content: " "; display: table; }
.lawyers.specialist header h2 { font-size: 24px; font-weight: 500; color: #74b643; line-height: 1.3; letter-spacing: -0.02em; word-spacing: 0.02em; margin-bottom: 0; }
.contact-details .contact-inner { position: relative; }
.contact-details ul.social-icons { position: absolute; top: 0; right: 0; float: none; margin-right: 0;  }
.contact-details a, .contact-details a:link, .contact-details a:visited { color: #274185; }

/* Contact */
.contact .main.wrapper, .contact .main-container { height: auto !important; }
.contact .main.wrapper { /*background: #fff; background: rgba(255,255,255,0.85);*/}
.contact section.map { height: 400px; width: 100%; margin: 50px 0% 0px 0%; }
a.email { color: #274185; }

/* Icons */
ul.social-icons { transition: left 0.5s; list-style-type: none; padding-left: 0; margin: 0; float: left; margin-right: 1em; margin-top: -0.5em }
header ul.social-icons { float: right; margin: 50px 0 0 0; }
.social-icons li { width: 48px; height: 48px; line-height: 48px; display: inline-table; }
.social-icons a { color: #bcbec0; display: block;overflow: hidden;width: 48px;height: 48px; text-decoration: none; }
.social-icons li a:focus { outline: 0; text-decoration: none; }
.social-icons li a:hover { color: #274185; text-decoration: none; }
.social-icons li a:before { font-family: 'laitymorrow' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; margin-right: 20px; font-size: 48px; }
.social-icons li.linkedin a:before { content: "\e910"; }
section .social-icons a { text-decoration: none; width: 36px; height: 36px; }
section.contact-details .social-icons li { width: 36px; height: 36px;line-height: 36px; margin-left: -4px;}
section.contact-details .social-icons li a:before { font-size: 36px; }
.arrow-right:before { content: "\e901"; float: right; margin-left: 1em; margin-right: -2px; font-size: 20px; font-family: 'laitymorrow' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; }
.arrow-left:before { content: "\e901"; float: left; margin-right: 0.3em; margin-left: -2px; font-size: 20px; font-family: 'laitymorrow' !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; }


/* Award logos */
.awards { line-height: 80px; text-align: center; margin: -30px 0; /*margin-top: 2em;padding: 1em 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; background: #fff; */ }
.awards a { display: inline-block;  padding: 0 3em; margin: -15px 0;  }
.awards a img { height: 120px; width: auto; filter: gray;  filter: grayscale(1);  -webkit-filter: grayscale(1); opacity: 0.85; }
.awards a:hover img { filter: none; -webkit-filter: none; opacity: 1; }


/* Media Queries */

@media only screen and (min-width: 480px) {
/* INTERMEDIATE: Menu */
.logo { }
.logo img {  }
nav {  }
nav a { }
nav li:first-child a {}
nav li:last-child a {}
/*INTERMEDIATE: IE Fixes */
nav ul li { }
.oldie nav a { }
/* Cols */
.col { display: inline-block; vertical-align: top; width: 45%; margin-right: 5%; }
.grid-2 { margin-right: -5%; }
.grid-3, .grid-4, .grid-5 { margin-right: -5%; } /* */
.grid-4.center { text-align: center; margin: 0 -2.5%; }
.grid-4.center .col { text-align: left; }    
.grid-5.center { text-align: center; margin: 0 -2.5%; }
.grid-5.center .col { text-align: left; }
}
@media only screen and (min-width: 768px) {
/* WIDE: Menu */
nav { position: absolute; top: 50%; transform: translateY(-50%); }
nav ul { display: block; }
nav li ul, .menu-toggle { display: none; }
nav a, nav a:visited, nav a:focus { text-align: left; font-size: 14px; padding: 2px 24px; }
nav li ul a, nav li ul a:visited, nav li ul a:focus  { padding: 2px 24px 2px 48px; }
nav li ul { position:relative; top: 0; left: 0px; z-index:5000;  }
nav li ul li {   }
nav li a { line-height: 21px; padding: 2px 24px;}
.main-menu { margin: 0; padding: 0; height: auto; position: relative; background: transparent; }
header ul.social-icons { position: fixed; bottom: 50px; left: 50px; }
/* WIDE: Main  */
.header-container { position: fixed; top:0; width: 260px; height: calc(100% - 60px); }
header.wrapper { margin: 0 auto 0 auto; width: 200px; }
article header { margin-top: 63px; _margin-bottom: 55px; margin-bottom: 24px; }
.main-container, .footer-container { margin-left: 260px; margin-right: 0; }
.main-container { padding-top: 80px; height: calc(100% - 80px);  }
.main.wrapper, footer.wrapper { text-align: left; margin: 0 auto; padding: 0px 50px; /*background: #fff;*/ position: relative;}
.main.wrapper { width: auto; /*min-height: 100%;*/ /*max-width: 680px; */ /*-webkit-box-shadow: 0px 0px 35px 6px rgba(14,48,84,0.1); -moz-box-shadow: 0px 0px 35px 6px rgba(14,48,84,0.1); box-shadow: 0px 0px 35px 6px rgba(14,48,84,0.1);*/ }
footer.wrapper { background: none; padding: 0; }
.footer-container { text-align: right; }
/* Cols */
.col {  }
.col:first-child { clear: both; }
/*.col:last-child, .grid-3 .col:nth-child(3n), .grid-4 .col:nth-child(4n) { margin-right: 0!important; }*/
.grid-3, .grid-4, .grid-5 { margin-right: -20px; }
.grid-4 .col { width : calc(50% - 20px); margin-right: 20px; } /* Tablet 2 cols */    
.grid-5 .col { width : calc(50% - 20px); margin-right: 20px; } /* Tablet 2 cols */
.grid-4.center, .grid-5.center  { margin: 0 -10px; }
.grid-4.center .col, .grid-5.center .col {  margin: 0 10px; } 
/* Home */
.home .main-container { margin: 0 auto; padding: 0; width: calc(100% - 460px); height: 100vh !important; position: relative;}
.home .main.wrapper { padding: 0; min-height: 100%; width: 100%; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none;}
.home .main-menu { height: auto; }
.home article { position: absolute; margin: auto; top: 0; left: 0; right: 0; bottom: 0; height: 244px; }
.home article header { margin: 0; }	
.home .main .logo { margin-top: -50px; }
.home .footer-container { position: absolute; bottom: 50px; right: 0; width: auto; margin-right: 60px; margin-left: 120px; }
.home footer.wrapper { text-align: right; width: 100%; }
.home footer ul.social-icons { position: fixed; bottom: 50px; left: 50px; }
/* About */
.about .main.wrapper { background: rgba(255,255,255,0.4); }
.with-aside .main.wrapper { padding: 0px 50px; max-width: 640px; width: auto; }
.narrow .main.wrapper { padding: 0px 50px; max-width: 640px; width: auto; float: none; }
/* Lawyer Profiles */
.lawyers nav li ul, .team nav li ul { display: block; }
.lawyers article { }	
/* Contact */
.contact article header { margin-bottom: 0; }
a.email { font-size: 0.9em; }
/* Text */
.home header h1 { padding-top: 47px; }
}
@media only screen and (min-width: 960px) {
.main-container, .footer-container { margin-right: 5%; }
.contact .main.wrapper {  } /* Must set widths for 2 column floats */
.contact .main.wrapper, .contact .main-container, .contact article, .contact .map { height: 750px !important; margin-bottom: 0; }
.contact .main.wrapper { width: calc(100% - 100px); } /* Must set widths for 2 column floats */
.contact section { width: 50%; float: left; }
.contact section.contact-details { width: 50%; margin-right: -10%; }
.contact section.map { margin:0; margin-left: 10%; margin-top: 50px; width: 50%; height: 650px!important;}
.grid-4 .col { width : calc(25% - 20px); margin-right: 20px; } /* Tablet 4 cols */    
.grid-5 .col { width : calc(33.33333333% - 16px); margin-right: 16px; } /* Tablet 3 cols */
.mobile-show {display: none;}
.tablet-show {display: block;}
.photo-col { float: right; padding-left: 5%; max-width :250px;  }
}
@media only screen and (min-width: 1140px) {
.main-container, .footer-container { margin-right: 8%; }
.contact .main.wrapper {  } /* Must set widths for 2 column floats */
.grid-4 .col { width : calc(25% - 20px); margin-right: 20px; }    
.grid-5 .col { width : calc(20% - 20px); margin-right: 20px; }
.tablet-show {display: none;}
.desktop-show {display: block;}    
.photo-col { width: 30%; max-width :300px; margin-bottom: 50px; }	
.with-pic { max-width: 640px; width: 60%; }
}
@media only screen and (min-width: 1140px) and (max-width: 1440px) {
.lawyers a.email { /*font-family: "urw-din-condensed";*/ }
}
@media only screen and (min-width: 1360px) {
.with-aside .main-container { margin-right: 0; }
.main-container, .footer-container { margin-left: 320px; margin-right: 10%; }
.main.wrapper, footer.wrapper { float: left; }
.main.wrapper, .with-aside .main.wrapper { width: calc(100% - 100px); }
.main-container aside { clear: none; width: calc(100% - 840px); float: right; height: calc(100% - 40px); margin-top: -80px; }	
.main-container aside .wrapper { max-width: 300px; margin: auto; top: 50%; position: relative; transform: translateY(-50%);}
.with-aside .main.wrapper { max-width: 640px; }
ul.two-col:after { clear: both; content: " "; display: table;}
ul.two-col li { width: 50%; float: left; }
}
@media only screen and (min-width: 1440px) {
.main-container, .footer-container { margin-left: 360px; }
.home h1 { font-size: 42px; }
.home header h1 { padding-top: 33px; }
/*.contact header h1 { padding-top: 50px; }*/
.contact .main.wrapper {  } /* Must set widths for 2 column floats */
}
/* Heights */
@media only screen and (min-width: 480px) and (min-height: 0px) and (max-height: 480px) {
.home .main .logo { height: 122px; margin-top:25px  }
.home .main .logo img { height: 122px; width :auto; }
}
@media only screen and (min-width: 768px) and (min-height: 0px) and (max-height: 720px) {
header.wrapper {  }
/*article header { margin-top: 100px; }
.home article header { margin-top: 100px; }
.photo-col { margin-top: -100px;}
.contact .main.wrapper { margin-top: 0px; }*/
nav li ul { display: none!important;}
}
@media only screen and (min-width: 768px) and (min-height: 820px) {
/*.header-container { padding-top: 80px; height: calc(100% - 80px); }*/
nav { margin-top: -50px; }	
nav li a, nav li a:visited, nav li a:focus { padding: 8px 24px; }
nav li ul a, nav li ul a:visited, nav li ul a:focus  { padding: 0px 24px 0px 48px; }
/*article header { margin-top: 150px; }
.home article header { margin-top: 250px; }
.photo-col { margin-top: -150px;}
.contact .main.wrapper { margin-top: 110px; }*/
}
/* iPhone4 */
@media screen and (-webkit-min-device-pixel-ratio: 2) and (min-device-width: 480px){
 	
}
/* iPad3 */
@media screen and (-webkit-min-device-pixel-ratio: 2) and (min-device-width: 768px){

}

/* Helper classes */
.ir {background-color: transparent;border: 0;overflow: hidden;*text-indent: -9999px;}
.ir:before {content: "";display: block;width: 0;height: 150%;}
.hidden {display: none !important;visibility: hidden;}
.visuallyhidden {border: 0;clip: rect(0 0 0 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}
.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus {clip: auto;height: auto;margin: 0;overflow: visible;position: static;width: auto;}
.invisible {visibility: hidden;}
.clearfix:before,.clearfix:after {content: " ";display: table;}
.clearfix:after {clear: both;}
.clearfix {*zoom: 1;}

/* Print styles */
@media print {
* {background: transparent !important;color: #000 !important; box-shadow: none !important;text-shadow: none !important;}
a,a:visited {text-decoration: underline;}
/* Don't show links for images, or javascript/internal links */
.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after {content: "";}
pre,blockquote {border: 1px solid #999;page-break-inside: avoid;}
thead {display: table-header-group; /* h5bp.com/t */}
tr,img {page-break-inside: avoid;}
img {max-width: 100% !important;}
@page {margin: 0.5cm;}
p,h2,h3 {orphans: 3;widows: 3;}
h2,h3 {page-break-after: avoid;}
.menu-toggle { display: none;}
.logo img.print { display: block; }
.logo img.screen { display: none; }
.photo-col { float: right; padding-left: 50px; }
.contact section.map { height: 400px !important; width: 100% !important; margin: 25px 0; }
}