/*
Theme Name: Armstrong Law
Theme URI: https://armstronglawtexas.com/
Description: 
Version: 2.0
Author: Black Eye
Author URI: 
Tags: 



*/

/* ================================ Resets / Base Styles ================================ */

html { margin: 0; padding: 0; }
	
body {
	margin: 0; padding: 62px 0 0 0;
    font-size: 14px;
    background: #FAF3E7; 
    color: #000; /* black */

	text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased !important;
    position:relative;
	}
body, h1, h2, h3, h4, h5, h6, td, p, li, input, select, textarea { font-family: urw-din, sans-serif; font-weight:400; font-variant-numeric: lining-nums;
  -moz-font-feature-settings: "lnum";
  -webkit-font-feature-settings: "lnum";
  font-feature-settings: "lnum";
  }
a, a:visited, a:active { color: #636466; text-decoration:none; outline:0; border:0; }
a:hover { color: #97cb59; text-decoration:underline; outline:0; }
a:active, a:focus { outline: 0; border: none; -moz-outline-style: none;text-decoration:none; }

img { border: 0; max-width:100%; height:auto; }
p, ul, ol, dl { margin: 0 0 1.2em 0; padding: 0; font-size: 1.0em; line-height: 1.9em; }
ul li, ol li { font-size: 1.0em; margin-bottom:0.4em; }
dl dt { font-weight:700; }
dl dd {	margin:0 0 0.5em 0;	}	
input, textarea, select, td, th { font-size: 1.0em; -webkit-appearance:none; -webkit-border-radius:0; border-radius:0; }
acronym, abbr { border-bottom: 2px dotted black; cursor: help; }
sup { font-size: 0.9em; }
code { font: 1.1em 'Courier New', Courier, Fixed; }	
button:focus { outline: none; }
blockquote { font-style:normal; color: #9BC341; text-align: center; line-height: 1.5em; font-size: 42px; } 
cite { letter-spacing: 3px; margin-bottom: 40px; display:block; text-align:center; font-style: normal; font-size: 16px;  }

hr { /* For Internet Explorer */ clear:both; height: 1px; margin-bottom:0; border-top:1px solid #000000;}

.hidden { display:none; }	
.error { color: #a00; }
input[type="submit"] {-webkit-appearance: none; -moz-appearance: none;}

.clearfix:after { content: ""; display: table; clear: both; }

section { position:relative; clear:both; }


/* ================================ Headers ================================ */

h1 { font-family: schoolbook, serif; font-weight:700; font-size: 2.4em; margin:0; padding:0; color: #F2E0C2; }
h2 { font-size:1.7em; letter-spacing:0.01em; font-family: schoolbook, serif; font-weight:700; color: #546373; margin:0 0 0.5em 0; padding:0;  }
h3 { color: #000; font-weight:700; padding: 0 0 1.5em 0; display:block; border-bottom:2px dotted #546373; font-size:1.2em; letter-spacing: 0.05em;  }		
h4 { color: #fff; font-weight:700; margin:0; font-size:1.3em; letter-spacing: 0.01em; }
h5 { color: #fff; font-size:1.0em; margin:0; padding: 0 0 1.5em 0; font-weight:700; border-bottom:2px dotted #F2E0C2; letter-spacing: 0.05em; }	
h6 { color: #000; font-family: urw-din, sans-serif; font-weight:400; padding: 0; margin:0; letter-spacing: 0.04em; font-size:1.0em; }

/* ================================ Header ================================ */

header#header { background: #ffffff; height:62px; text-align:center; position:fixed; top:0; left: 0; width: 100%; z-index:100000000; -webkit-box-shadow: 0px 4px 4px 2px rgba(10,10,10,0.1); -moz-box-shadow: 0px 4px 4px 2px rgba(10,10,10,0.1); box-shadow: 0px 4px 4px 2px rgba(10,10,10,0.1);}
header#header::before { 
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    background:#fff;
    margin-left: -60px;
    top:-30px;
    left: 50%;        
    border-radius:50%;
     -webkit-box-shadow: 0px 4px 4px 2px rgba(10,10,10,0.1); -moz-box-shadow: 0px 4px 4px 2px rgba(10,10,10,0.1); box-shadow: 0px 4px 4px 2px rgba(10,10,10,0.1); z-index: 1; }

div#logo { width:42px; height:40px; cursor:pointer; display:block; position:absolute; top:20px; left:50%; margin-left:-21px; z-index:100; }
div#logo a { margin: 0 0 0 0; padding: 0; position:relative; width:100%; height:100%; overflow:hidden; text-indent:-10000px; display:block; cursor:pointer; z-index: 1000;}
div#logo a span { display:block; position:absolute; left:0; top:0; z-index:1; width:100%; height:100%; margin:0; padding:0; background:url(images/icon.png) top center no-repeat; cursor:pointer; background-size:contain;  }
div#logo::after { content: ""; background: #fff; width: 140px; height: 62px; position: absolute; top: -20px; left: 50%; margin-left: -70px; }

#menu-toggle { display:flex; align-items: center; cursor:pointer; z-index: 10000; position:relative; justify-content: flex-end; float:right; height: 100%; margin-right: 15px;}
#menu-toggle span { color: #8DC63F; border: 1px solid #8DC63F; font-size:1.3em; padding: 6px 12px; cursor:pointer; font-weight:500;  }
#menu-toggle:hover span { color: #000; border-color: #000; }

nav#nav { display:none; padding: 50px 0; background: #546373; text-align:center; margin: 0 calc(50% - 50vw); z-index: 100000; position: fixed; width: calc(100% + 20px); height: calc(100vh - 62px); }
nav#nav .container { display:flex; height: 100%; align-items: center; }
nav#nav a { color: #ffffff; position:relative; display:block; }
nav#nav a:hover { color: #8DC63F !important; }
nav#nav ul#menu-navigation { list-style-type:none; padding: 0; margin-left:75px; margin-top:0.4em; }
nav#nav ul#menu-navigation li { text-align:left; display:block; margin-bottom:0.8em;}
nav#nav ul#menu-navigation li a { display:block; font-size: 3.2em; padding: 0.4em 0 0.3em; color: #ffffff; position:relative; font-family: schoolbook, serif; font-weight:700; }
nav#nav ul#menu-navigation li a:after { border-bottom:2px solid #8DC63F; position:absolute; bottom:0; left:0; width: 50px; content:""; }
nav#nav ul#menu-navigation li a:hover, nav#nav ul#menu-navigation li.current-menu-item a, body.single-attorney nav#nav ul#menu-navigation li.menu-item-2467 a { color: #F2E0C2 !important; text-decoration:none; }

/* ================================ Footer ================================ */

footer#footer { text-align:center; background: #000; padding: 10px 0; color: #fff; position: relative; }
footer#footer .container { padding:0; }
footer#footer a { color: #fff; padding: 0 12px;  }
footer#footer a:hover { color: #8CC440; }
footer#footer span { text-align:left; font-weight:500; letter-spacing: 0.050em; font-size:14px; border-right:2px solid #fff; line-height:1.0em; padding: 0 12px; display:inline-block; }
footer#footer ul { list-style-type:none; margin: 0 auto; padding: 0 0 0 0; text-align: left; display: inline-block;  }
footer#footer ul li { display:inline-block; font-weight:500; letter-spacing: 0.050em; font-size:14px; border-right:2px solid #fff; line-height:1.0em }

footer#footer .social-list li { border:0;}
footer#footer .social-list a { padding: 0; }
.social-list .fa {  background: transparent; color: #fff; font-size: 16px; line-height: 22px; height: 25px; width: 25px; text-align:center;}
.social-list .fa:hover { color: #8CC440; }

/* ================================ Content ================================ */	

#page { position:relative; overflow:hidden; min-height:calc(100vh - 102px);}

#main { position:relative; clear:both;}
#content, #attorneys { padding: 0; }
section#content section .container, section#attorneys section .container { padding: 0 100px; background: #fff;}

section ul, section ol { margin-left: 25px; }

.block .content { margin-bottom: 3em; }
.block .container { padding: 60px 100px !important; }
.block .container .row { position:relative; }
.block .container .row::before { border-left: 2px dotted #546373; content: ""; position: absolute; top: 0; left: calc(50% - 1px); height: 100%; }

.accordion .container { padding: 60px 100px !important; }

.more { font-size:0.8em; position:relative; letter-spacing: 0.070em; font-weight:500; color: #000000; text-transform:uppercase; line-height: 1.9em; cursor:pointer; }
.more .fa { font-size:12px;}

header#page-header { color: #fff; text-align:center; height:17vw; display:flex; align-items:center; justify-content:center; flex-direction:column; position: relative; }
header#page-header h1 { margin:0 auto;  }
header#page-header p { font-size:1.2em; margin:0 auto; max-width: 880px; width: 70%; color: #fff }

.button, .menu-button a { background: #8dc63f; color: #fff !important; text-align:center; margin: 0 auto; height:45px; line-height: 45px; padding: 0 40px; display:inline-block; font-size:1.35em; font-weight:500;  }
.button-alt, .button-grey { background-color: #000000; color: #fff !important;}
.button:hover { background: #000000; text-decoration:none;}
.button-text { background: transparent; padding: 0; height: auto; line-height: 1.0em; color: #000000 !important; font-size: 1.1em; }
.button-text:hover { background: transparent; color: #000 !important; }

section#content section.buttons { background: #fff; text-align:center; padding-top:20px;  }
section.buttons .container a.button { width:auto; margin: 0 auto; }

.toggle { display:none; border-bottom:2px dotted #546373; padding: 1.0em 0 1.0em; margin-bottom: 1.0em; }
.toggler { cursor:pointer; position:relative; padding-right: 30px; }
.toggler:after { content:"\f13a"; font-family: 'Font Awesome 5 Pro'; font-weight:400; color: #8DC63F; font-size:18px; position:absolute; right:0; width: 20px; top: 3px;}
.toggler.active:after { content:"\f057"; }
.toggle p, .toggle li { line-height:1.8em; }

section#content section.image .container { padding: 0 0; }
section#content section.image .container img { border-bottom:20px solid #8DC63F; display:block; }

ul#menu-services { list-style-type:none; text-align:center; margin-top: -3vw; margin-bottom: 3vw; margin-left: 0 !important;}
ul#menu-services li { display:inline-block; border-left:1px solid #8DC63F; line-height:1.0em; }
ul#menu-services li:first-child { border:0; }
ul#menu-services li a { font-family: schoolbook, serif; font-weight:700; font-size:1.4em; color: #F2E0C2; padding: 0 10px; display:block; }

#downloads ul { width: 50%; margin: 2.0em auto; list-style-type:none; }
#downloads ul li { margin-bottom:1.0em;}
#downloads a { cursor:pointer; position:relative; color: #000; font-weight:700; padding: 0 30px 1.5em 0; display:block; border-bottom:2px dotted #546373; font-size:1.2em; letter-spacing: 0.05em;}
#downloads a:after { content:"\f138"; font-family: 'Font Awesome 5 Pro'; font-weight:400; color: #8DC63F; font-size:20px; position:absolute; right:0; width: 20px; top: 3px;}

#careers p { text-align:center; width: 80%; margin: 0 auto 1.0em; }


#disclaimers .content { width: 50%; margin: 2.0em auto;  }

.callout .box { width: 50%; margin: 0 auto 4.0em auto; background: #FAF3E7; padding: 40px 50px; text-align:center; border:2px dotted #546373; }
.callout .box h5 { color: #000; border:0; line-height:1.4em; font-size:1.2em; }
section#content .callout section.buttons { background: transparent; padding:0;}
.callout .box::after { content: ""; border-left: 2px dotted #546373; position: absolute; top: -60px; left: calc(50% - 1px); height: 60.3px; }

.info { text-align:center; }
.info img { margin-bottom:1.0em; }
.info h2 { font-weight:400; letter-spacing: 0.025em; margin-bottom: 0.2em; }
.info h2 a { color: #546373; }

#back { position:absolute; top: 16vw; left: -100px; padding-top:24px; font-weight: 400; font-size:0.8em; color: #000; width: 100px; text-align:center; }
#back:after { content:"\f137"; font-family: 'Font Awesome 5 Pro'; font-weight:400; color: #8DC63F; font-size:16px; position:absolute; left:40px; width: 20px; top: 0;}

#next { padding: 10px 0 0 0; }
.home .image { text-align: center;}
.home #next { background: #fff; }
#next .container { padding-bottom:30px !important;  }
section.block + section#next, section.accordion + section#next { margin-top: -60px; }

/* ================================ Maps ================================ */	

#map { width: 100%; overflow:hidden; padding:0; margin:0; background: #7D8C5C; }
#map-mobile { display:none; }
#mapper, #legend div{ -webkit-transition:all 1.0s ease-in-out; -moz-transition:all 1.0s ease-in-out; -o-transition:all 1.0s ease-in-out; transition:all 1.0s ease-in-out;}
#mapper div { padding:0; margin:0; }
#mapper #map-dallas, #mapper #map-plano { height: 26vw; width:100%; }
#mapper #legend { position:relative; display: flex; align-items: center;}
#mapper #legend:before { position:absolute; top: 70px; right:-100px; background: url(images/triangle-right.png) no-repeat top left / contain; height: 80px; width: 100px; content: ""; z-index: 10000;}
#mapper #legend:after { position:absolute; top: 260px; left:-100px; background: url(images/triangle-left.png) no-repeat top right / contain; height: 80px; width: 100px; content: ""; z-index: 10000;}
#mapper #legend div { margin: 0; }
#legend a { color: #fff; }
#legend h5 { text-align: left; color: #fff; margin-bottom: 1.5em; }
#legend h4 { color: #F2E0C2; text-align:left; position:relative; cursor:pointer;}
#legend h4 .fas { font-size: 15px; position: absolute; top: 3px; left: -20px;}
#legend p { color: #fff; line-height: 1.6em; }

.gm-style { font-size:1.0rem !important;  }
.gm-style .gm-style-iw.gm-style-iw-c, .gm-style .gm-style-iw.gm-style-iw-c { background: rgba(0,0,0,0.8); padding: 0 !important; color: #fff !important; }
.gm-style .gm-style-iw-t::after { background: linear-gradient(45deg,rgba(0,0,0,0.8) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0) 100%); }
.gm-style .gm-style-iw-d { overflow: auto !important; }
.map-info { color: #fff; margin: 10px !important;}
.map-info h4 { color: #F2E0C2; font-size:1.2em; margin-bottom: 0.5em; }
.map-info p { color: #fff; line-height: 1.5em; margin:0;}
.map-info a { color: #8DC63F; }
button.gm-ui-hover-effect img { background: #fff; border-radius:50%; width: 10px !important; height:10px !important; margin: 10px !important}

/* ================================ Attorney ================================ */	

.single-attorney #main { float:right; }
.single-attorney #content .row { padding: 8vw 125px 4vw; position:relative;}
.single-attorney #content .row:before { background: #fff; top: 16vw; left:25px; position: absolute; content:""; width: calc(100% - 50px); height:100%; }
.single-attorney #sidebar { padding: 0; }
.single-attorney header.bio { height: calc(16vw - 120px); margin-bottom: 40px;}
.single-attorney h1 { font-size: 2.3em; margin-bottom: 0.2em; }
.single-attorney h3.toggler { margin-bottom:2.0em; }
.single-attorney .toggle { padding-top:0; }
.single-attorney .details { margin: 2.0em 0 0 0; border-left: 2px dotted #546373; padding-left:30px; }
.single-attorney .details h4 { color: #000; line-height:1.6em; letter-spacing: 0.05em; font-size:1.0em; }
.single-attorney .details p { letter-spacing: 0.05em; line-height:1.6em; }
.single-attorney .details p a { color: #000; }
.single-attorney #awards { margin-top: 1.0em; }
.single-attorney #awards:after { content: ""; display: table; clear: both; }
.single-attorney #awards div { margin-top:2.0em; padding-left: 0;}

/* ================================ Home ================================ */	

.home section#content section#intro { padding: 60px 0; background: #546373; }
.home section#content section#intro .container { background: transparent; color: #fff; padding: 30px 100px 30px 100px; position:relative; }
.home section#content section#intro .container:after { content: ""; position: absolute; top: 0;left: 100px; width: calc(34% - 100px); height: 100%; background: url(images/armstrong-law.png) no-repeat center center / contain; display:block; }
.home section#content section#intro .container:before { border-left: 2px dotted #F2E0C2; content:""; position:absolute; top: 0; left: 38%; height: 100%; }

.home #intro h2 { font-size: 2.0em; font-weight: 400; color: #D9C7A6; margin-bottom: 0.5em; line-height:1.2em; margin-left:40%}
.home #intro h2:after { content: ""; display: table; clear: both; }
.home #intro h2 span { float: left; margin-right: 0.2em; }
.home #intro h2 span.word-1, .home #intro h2 span.word-2 { font-size: 2.5em; font-weight: 700; line-height:1.0em; }
.home #intro h2 span.word-3, .home #intro h2 span.word-7 { clear:both; }
.home #intro .content { margin-left:40%; }
.home #intro p { margin-bottom:0; max-width: 90%;}

.home section#content .image .container-fluid { padding: 0; }

.home #services { padding: 2.4em 0; background: #F2e0c2; }
.home ul#menu-services { margin-top:0; margin-bottom:0; }
.home ul#menu-services li a { color: #546373; font-size: 1.6em }

.home #body { background: #fff; padding: 60px 0 20px; }
.home #body .content { column-count:2; column-gap: 60px;}


/* ================================ Misc ================================ */	

body .bg { width:100%; height:26vw; position:fixed; top: 62px; left:0; overflow:hidden; z-index:0; background: #546373; }

body.home .bg { }
body.page-template-page-attorneys #attorneys > section:after { background: #fff; top:9vw; width: 100%; position:absolute; left:0; height: calc(100% - 6vw); content: ""; z-index: -1; }
body.page-template-page-attorneys .bg, body.single-attorney .bg { background-color: #7D8C5C; }
body.single-attorney .bg { position:absolute; top:0; height:16vw; }
body.page-id-2464 .bg { background-color: #8C7D5C; }
body.page-id-2370 .bg { background-color: #7D8C5C; }

body.page-id-2464 .accordion .container { border-top:20px solid #8DC63F; }
body.page-id-2370 #downloads .container { border-top:20px solid #8DC63F; padding: 60px 100px; }
body.page-id-2372 #disclaimers .container { border-top:20px solid #8DC63F; padding: 60px 100px; }

body.page-template-page-contact #careers .container { padding: 100px; }

.attorney { margin-bottom:40px; }

/* ================================ Responsive ================================ */


@media only screen and (max-width : 1370px) { 
}
@media only screen and (max-width : 1240px) { 
}

@media only screen and (max-width : 1100px) { 
	#mapper #map-dallas, #mapper #map-plano { height: 34vw; }
}

@media only screen and (max-width : 991px) {
    .container { width: 90%; }

}

@media only screen and (max-width : 900px) {
    body { font-size:12px; }
	body .bg { height: 50vh;}
               
	.home section#content section#intro .container { padding: 180px 0 0 0; }
    .home section#content section#intro .container::after { width: 100%; left:0; content:""; height: 150px; background: url(images/armstrong-law.png) no-repeat top center / contain }
	.home section#content section#intro .container::before { display:none; }
	.home #intro h2, .home #intro .content { margin-left:0; text-align:center; }
	.home #intro p { max-width: 100%; }
	.home #intro h2 span { float:none; display:inline-block; margin-right: 0;}
	
	section#content section .container, section#attorneys section .container { padding:0; }
	.block .container { padding:30px !important; }
	.block .container .row::before { display:none; }
	
	.home #body { text-align:center; }
	.home #body .content { column-count:1; }
	
	ul#menu-services li { line-height:2.2em; }
	ul#menu-services li a { font-size: 1.4em; font-weight: 400; }
	
	footer#footer ul li, footer#footer span { font-size:1.0em; font-weight:400; }
	footer#footer span { border:0; }
	footer#footer ul.social-list { margin: 1.0em auto; text-align:center; display:block; font-size:1.2em;}
	
	nav#nav ul#menu-navigation { margin-left:0; }
	nav#nav ul#menu-navigation li a { font-size: 2.4em; }
	
	header#page-header { height: auto; padding: 50px 25px; }
	header#page-header p { width: 100%; line-height: 1.4em;}
	
	div.attorney { margin-bottom: 1.5em; }
	.info { text-align: center; max-width: 80%; margin: 0 auto 1.5em; }
	
	.accordion .container { padding: 20px 20px !important; }
	.accordion img.size-attorney { max-width: 80%; margin: 0 auto 40px auto; display: block; }
	
	#downloads ul { width: 100%; }
	body.page-id-2370 #downloads .container { padding: 30px 30px; }
	
	#careers p { width: 100%; }	
	body.page-template-page-contact #careers .container { padding: 30px;}
	
	ul#menu-services { background: #546373;padding-bottom: 1em; }
	.home ul#menu-services { background: transparent; padding-bottom:0; }
    
    #mapper { display:none; }
    #map-mobile { display: block; padding: 20px 25px 0 25px; background: #7D8C5C; }
    #map-mobile::after {  }
    #map-mobile div#map-mo-dallas, #map-mobile div#map-mo-plano { height: 200px; display:block; }
    #map-mobile a { color: #fff; }
    #map-mobile h5 { color: #fff; margin-bottom: 20px; }
    #map-mobile h4 { color: #F2E0C2; font-size:1.1em; text-align:center; position:relative; cursor:pointer;}
    #map-mobile h4 .fa { font-size: 20px; position: absolute; top: 10px; left: -20px;}
    #map-mobile p { font-size:1.0em; line-height:1.4em; padding-bottom:0; margin-bottom: 20px; color: #fff;  }    
    h4#mo-tog-plano { margin-top: 20px }
	
	
	.single-attorney #content .row { padding: 200px 25px 4vw; position:relative;}
	.single-attorney #content .row:before { background: #fff; top: 200px; left:0; position: absolute; content:""; width: 100%; height:100%; }
	body.single-attorney {  }
	body.single-attorney .bg { height: 200px; }
	.single-attorney #main { float:none; }
	.single-attorney header.bio { height: 100px; margin-top: -100px; }
	.single-attorney .details { border:0;  }
	.single-attorney #content .row::before { left: 5%; width: 90%; }
	
	.callout .box { width: 80%; margin: 0 auto 4.0em auto; background: #FAF3E7; padding: 30px 40px; text-align:center; border:2px dotted #546373; }
	.callout .box::after { display:none }
	
	#back { position: relative; display: block; left: auto; top: auto; text-align: left; width: auto; margin: 4em 0 2em 30px; font-size: 1.0em; padding: 0 0 0 25px; }
	#back::after { left: 2px; width: 20px; top: -2px; }
}

@media only screen and (min-height : 600px) and (max-height:800px) and (orientation: landscape) { 

}


@media only screen and (max-width : 500px) {
    
}