/* =============================================== */
/* ====================== header ================= */
/* =============================================== */
header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 0;
  z-index: 100;
  height: 80px;
  -js-display: flex;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
/* header elements */
header .logo {
  position: relative;
  z-index: 200;
}
header .logo img {
  width: 100%;
  max-width: 280px;
  height: auto;
}
@media only screen and (min-width: 768px) {
  header .logo img {
    width: 100%;
    max-width: 250px;
  }
}
@media only screen and (min-width: 1200px) {
  header .logo img {
    width: 100%;
    max-width: 300px;
  }
}
@media only screen {
  header .printlogo {
    display: none;
  }
}
header .custom-logo-link:focus {
  outline: none;
}
.header-tools-wrapper {
  position: relative;
  -js-display: flex;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  z-index: 16;
}
.header-tools {
  -js-display: flex;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
}
.header-tools button {
  margin-left: 10px;
}
.search-btn {
  padding: 0;
  border-radius: 0;
  width: 36px;
  height: 36px;
  background-image: url(images/icon-search-white.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.search-btn.active {
  background-image: url(images/icon-close.png);
}
.single-person .search-btn {
  background-image: url(images/icon-search-dark.svg);
}

.single-legal_professional .search-btn {
  background-image: url(images/icon-search-dark.svg);
}
@media only screen and (min-width: 768px) {
  .search-btn {
    width: 40px;
    height: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .search-btn {
    width: 40px;
    height: 40px;
  }
}
/* main menu navigation */
.mainmenu {
  display: none;
}
@media only screen and (min-width: 992px) {
  .mainmenu {
    -js-display: flex;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    text-align: center;
    z-index: 0;
  }
}
.mainmenu ul {
  font-size: 18px;
  color: #FFFFFF;
  font-weight: 700;
  margin: 0;
  padding: 0;
  list-style: none;
  -js-display: flex;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  text-align: center;
}
.mainmenu ul li {
  display: block;
}
@media only screen and (min-width: 992px) {
  .mainmenu ul li {
    display: inline-flex;
    margin: 0;
  }
}
.mainmenu ul li a:link, .mainmenu ul li a:visited {
  color: #FFFFFF;
  text-decoration: none;
  transition: none;
  padding: 0;
  padding-left: .55rem;
  padding-right: .55rem;
}
.mainmenu ul li a:hover, .mainmenu ul li a:focus, .mainmenu ul li.current_page_item > a, .mainmenu ul li.current_page_parent > a {
  color: #FFFFFF;
  text-decoration: underline;
}
.single-person .mainmenu ul li a:link, .single-person .mainmenu ul li a:visited {
  color: #232323;
}
.single-person .mainmenu ul li a:hover, .single-person .mainmenu ul li a:focus, .single-person .mainmenuul li.current_page_item > a, .single-person .mainmenu ul li.current_page_parent > a {
  color: #232323;
}

.single-legal_professional .mainmenu ul li a:link, .single-legal_professional .mainmenu ul li a:visited {
  color: #232323;
}
.single-legal_professional .mainmenu ul li a:hover, .single-legal_professional .mainmenu ul li a:focus, .single-legal_professional .mainmenuul li.current_page_item > a, .single-legal_professional .mainmenu ul li.current_page_parent > a {
  color: #232323;
}




.mainmenu ul.dropdown-menu li.current_page_item a {
  text-decoration: none;
}
/* ==============    main menu drop downs ======================= */
/* ==============    Hamburger button ======================= */
.close {
  opacity: 1;
}
.close:not(:disabled):not(.disabled):focus, .close:not(:disabled):not(.disabled):hover {
  opacity: 1;
}
.button-lines {
  background: transparent;
  border: none;
  cursor: pointer;
  display: inline-block;
  padding: 0.5rem;
  padding-top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 9999;
  position: relative;
}
.lines {
  display: inline-block;
  height: 4px;
  width: 34px;
  border-radius: 0;
  position: relative;
  background-color: #FFF;
}
.lines:after, .lines:before {
  background-color: #FFF;
  display: inline-block;
  height: 4px;
  width: 34px;
  content: "";
  left: 0;
  position: absolute;
}
.lines:after:hover, .lines:before:hover {
  background: #FFF;
}
.active .lines:after, .active .lines:before {
  /*background-color: #232323;*/
  background-color: #FFF;
}
.active .lines:after:hover, .active .lines:before:hover {
  /*background: #232323;*/
  background: #FFF;
}
/* bio header */
.single-person .lines {
  background-color: #232323;
}
.single-person .lines:after, .single-person .lines:before {
  background-color: #232323;
}
.single-person .lines:after:hover, .single-person .lines:before:hover {
  background: #232323;
}


.single-legal_professional .lines {
  background-color: #232323;
}
.single-legal_professional .lines:after, .single-legal_professional .lines:before {
  background-color: #232323;
}
.single-legal_professional .lines:after:hover, .single-legal_professional .lines:before:hover {
  background: #232323;
}




@media only screen and (min-width: 768px) {
  .lines {
    height: 4px;
    width: 44px;
  }
  .lines:after, .lines:before {
    height: 4px;
    width: 44px;
  }
}
/* hamburger button */
header button:focus {
 
  box-shadow: none;
}
.lines:after {
  top: 10px;
}
.lines:before {
  top: -10px;
}
@media only screen and (min-width: 768px) {
  .lines:after {
    top: 12px;
  }
  .lines:before {
    top: -12px;
  }
}
.button-lines-x .lines {
  transition: background 0.3s ease;
}
.button-lines-x .lines:after, .button-lines-x .lines:before {
  transform-origin: 50% 50% 0;
  transition: top 0.3s 0.4s ease, transform 0.3s ease;
}
.button-lines-x.active .lines {
  background: transparent;
}
.button-lines-x.active .lines:after, .button-lines-x.active .lines:before {
  top: 0;
  transition: top 0.3s ease, transform 0.3s 0.3s ease;
}
.button-lines-x.active .lines:after {
  transform: rotate3d(0, 0, 1, 45deg);
}
.button-lines-x.active .lines:before {
  transform: rotate3d(0, 0, 1, -45deg);
}


/* ======== OVERLAY CLOSE BUTTON ========== */
.overlay-lg .closebtn {
  position: absolute;
  top: 20px;
  right: 90px;
  width: 100%;
  z-index: 9999;
  line-height: 100%;
  color: #FFF;
  text-decoration: none;
  text-align: right;
	
		
	
  
}
.overlay-lg .close-btn {
  width: 34px;
}
.overlay-lg .closebtn span {
  font-size: 22px;
	font-weight:700;
  display: inline-block;
  padding-top: 4px;
	margin-left: 15px;
	vertical-align: middle;

}

/* ==================================================== */
/* ====================  large slide out =============== */


.overlay-lg {
  width: 0%;
  height: auto;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0px;
  background-color: #DC1E34;
  overflow: hidden;
  transition: 0.5s;
  z-index: 9999;
}



/* ======== OVERLAY CONTENT ========== */
.overlay-lg-content {
  position: relative;
  width: 100%;
}

/* ==============  Menu Overlay ======================= */
@media only screen and (max-width: 768px) {
  .overlay-lg {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  .overlay-sm {
    display: none !important;
  }
}
.overlay {
  height: 0%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  /*color: #1A385C;
    background-color: #E0E0E0;*/
  color: #FFF;
  background-color: #DC1E34;
  overflow: hidden;
  transition: 0.5s;
  z-index: 10;
  -webkit-box-shadow: 6px 6px 7px -1px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 6px 6px 7px -1px rgba(0, 0, 0, 0.15);
  box-shadow: 6px 6px 7px -1px rgba(0, 0, 0, 0.15);
}
.overlay.open {
  height: auto;
}
.overlay-content {
  position: relative;
  
  padding-top: 110px;
  padding-bottom: 50px;
  width: 100%;
}
.mobilemenu ul {
  text-align: center;
}

@media only screen and (min-width: 768px) {
	.mobilemenu ul {
  text-align: left;
}

	
	}

@media only screen and (min-width: 992px) {
  .mobilemenu {}
  .mobilemenu ul {
    margin-left: auto;
  }
  
}
.mobilemenu ul li {
  line-height: 147%;
  list-style: none;
}
.mobilemenu ul li a, .mobilemenu ul li a:visited {
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1rem;
  color: #1A385C;
  color: #FFF;
  display: block;
  width: 100%;
  text-decoration: none;
  padding: 15px;
}
.mobilemenu ul li a:hover, .mobilemenu ul li a:focus {
  color: #FFFFFF;
	text-decoration: underline;
  background-color: transparent;
}
/* ============== takeover search ==============  */
/* Large Search Overlay */
.search-overlay {
  height: 0%;
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  background-color: #FFFFFF;
  transition: 0.5s;
  z-index: 30;
  -js-display: flex;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  -webkit-box-shadow: 6px 6px 7px -1px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 6px 6px 7px -1px rgba(0, 0, 0, 0.15);
  box-shadow: 6px 6px 7px -1px rgba(0, 0, 0, 0.15);
}
.search-overlay.open {
  /*height: 50vh;*/
  height: auto;
}
@media only screen and (min-width: 992px) {
  .search-overlay.open {
    /*height: 350px;*/
  }
}
.search-overlay .search-area {
  display: none;
}
.search-overlay.open .search-area {
  display: block;
}
@media only screen and (max-width: 767px) {
  .container.search-area {
    padding: 0;
  }
}
.search-area .form-btn input {
  font-size: 18px;
  color: #1A385C;
  background-color: transparent;
  height: 60px;
  font-weight: 600;
}
@media only screen and (min-width: 1200px) {
  .search-area .form-btn input {
    font-size: 28px;
  }
}
@media only screen and (min-width: 1800px) {
  .search-area .form-btn input {
    font-size: 36px;
  }
}
/* large search */
.large-search form {
  width: 100%;
}
.large-search .form-control-feedback {
  position: absolute;
  z-index: 2;
  display: block;
  width: 2.375rem;
  height: 2.375rem;
  line-height: 2.375rem;
  text-align: center;
  pointer-events: none;
  color: #aaa;
}
.large-search .input-group {
  background-color: transparent;
  background-clip: border-box;
  font-weight: 500;
  border: 2px solid #DC1E34;
}
.search-area .large-search .input-group {
  border: 2px solid #DC1E34;
  background-color: transparent;
}
.large-search input {
  background-color: transparent;
  background-clip: border-box;
  font-weight: 400;
  border: none;
  text-align: left;
}
.large-search .form-control {
  color: #232323;
  padding: .65rem;
  /*padding-left: 1rem;*/
  height: auto;
  font-size: 16px;
}
@media only screen and (min-width: 768px) {
  .large-search .form-control {
    font-size: 2.292vw;
  }
}
.search_form .form-control::-webkit-input-placeholder {
  color: #232323;
  font-weight: 600;
  opacity: 1;
}
.search_form input::-webkit-input-placeholder {
  color: #232323;
  font-weight: 600;
}
.search_form input:-moz-placeholder {
  color: #232323;
  font-weight: 600;
}
.search_form input::-moz-placeholder {
  color: #232323;
  font-weight: 600;
}
.search_form input:-ms-input-placeholder {
  color: #232323;
  font-weight: 600;
}
.search-area .search_form .form-control::-webkit-input-placeholder {
  color: #DC1E34;
}
.search-area .search_form input::-webkit-input-placeholder {
  color: #DC1E34;
}
.search-area .search_form input:-moz-placeholder {
  color: #DC1E34;
}
.search-area .search_form input::-moz-placeholder {
  color: #DC1E34;
}
.search-area .search_form input:-ms-input-placeholder {
  color: #DC1E34;
}
.form-control {
  border-radius: 0;
}
.input-group-prepend .btn, .input-group-append .btn {
  position: relative;
  z-index: 0;
}
.searchform fieldset {
  float: none;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #8A8C8C;
}
.searchform fieldset:last-of-type {
  margin-bottom: 0;
  padding-bottom: 10px;
  border: none;
}
.searchform fieldset.noborder {
  margin-bottom: 0;
  border: none;
}
.searchform legend {
  float: none;
}
.search-area .btn-searchsubmit, .search-area .btn-searchsubmit:visited {
  height: 60px;
  color: #DC1E34;
}
.btn-searchsubmit:hover, .btn-searchsubmit:focus {
  color: #C61B2E;
  background-color: transparent;
  text-decoration: none;
}
.btn-searchsubmit .fa {
  font-size: 38px;
}
@media only screen and (min-width: 992px) {
  .btn-searchsubmit {
    padding-top: .6rem;
    padding-right: 1.25rem;
    padding-bottom: .6rem;
    padding-left: 1.25rem;
    font-size: 32px
  }
  .btn-searchsubmit .fa {
    font-size: 34px;
  }
}
.search-overlay .close-btn {
  display: none;
}
.search-overlay.open .close-btn {
  display: block;
  position: absolute;
  top: 100px;
  right: 30px;
  width: 60px;
  height: 60px;
  z-index: 101;
}
.search-close {
  padding: 0;
  font-size: 72px;
  line-height: 1;
  font-weight: 300;
  display: block;
}