@charset "UTF-8";
/* CSS Document
Client: Piersall Law Firm
Company: Informatics, Inc
Author: Jeff S
Date: June 2019
*/

/* Variables */
:root {
  --primary: #60457a;
  --secondary: #056906;
  --secondary-light: #137e14;
  --light: #F9F9F9;
  --light-theme: #e7e3eb;
  --dark: #222;
  --dark-primary: #4c355a;
  --text: rgba(0,0,0,.7);
  --light-text: rgba(255,255,255,.7);
  --body: 'Roboto', sans-serif;
  --serif: 'Playfair Display', Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
  --spacer: 25px;
  --side-width: 25px;
  --max-width: 1100px;
}

/* TYPOGRAPHY */
.ccm-page {overflow-x: hidden;}
html {font-size: 100%; scroll-behavior: smooth;}
body {overflow-x: hidden;
font-family: var(--body); font-weight: 400; font-size: 1rem; line-height: 1.4; background:  #fff; color: var(--text);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
-moz-font-feature-settings: "liga" on; font-feature-settings: "liga";
}

h1, h2, h3, h4, h5 {font-family: var(--serif); color: #111; line-height: 1.1; color: #222; margin: 0 0 1.5rem 0; font-weight: 700;}
h1 {font-size: 2.5rem; line-height: .95; letter-spacing: -1px; text-shadow: 5px 5px 5px var(--light-theme);}
h2 {font-size: 2rem;font-family: var(--serif); letter-spacing: -1px;}
h3 {font-size: 1.35rem; margin: 0 0 25px; letter-spacing: -.5px;}
h4 {font-size: .8rem; text-transform: uppercase; margin: 0 0 25px 0; font-family: var(--body); letter-spacing: 1px;}
p, ul {margin-bottom: 1.5em; list-style: square;}
ol {margin-bottom: 1.5em;}
hr {border-color: #ddd;}
.ccm-page ul li {margin: 4px 0;}
.ccm-page ul li::marker {color: var(--secondary);}
.ccm-page ul ul {list-style: none; padding: 0; margin: 15px 0;}
.ccm-page .content ul ul li {border-left: 1px dotted #ccc; padding: 0 0 0 10px;}
.preheader {text-transform: uppercase; font-weight: 700; letter-spacing: 2px; color: var(--secondary); margin: 0 0 5px 0; font-size: .8rem;}
.ccm-page img {max-width: 100%; height: auto; margin: 0 0 25px 0;}
p {line-height: 1.5;}
.indent {padding-left: 40px; border-left: 1px dotted #ccc;}
.text-center {margin: 0 0 3rem 0;}
.text-center h2 {margin: 0 0 10px 0;}
.lead {font-size: 1.25rem; font-weight: 300; font-style: italic; color: var(--dark); position: relative; padding-left: 40px;}
.lead:before {position: absolute; left: 0; top: 16px; width: 25px; height: 4px; background: var(--secondary); content: "";}
.lead[style="text-align: center;"], .page-header.full-header .lead {padding: 25px 0 0 0;}
.lead[style="text-align: center;"]:before, .page-header.full-header .lead:before {left: 50%; margin-left: -12.5px;}
.date {padding: 5px 10px; background: var(--light); border-radius: 5px; display: inline-block; align-self: flex-start; font-weight: 700; color: var(--dark);}
.date:before {content: "\f274";font-family: FontAwesome; color: var(--secondary); margin: 0 5px 0 0;}
.download-link a {padding: 10px 15px 10px 45px; background: var(--light); display: inline-block; position: relative;}
.download-link a:before {content: "\f15b";font-family: FontAwesome; color: var(--secondary); margin: 0 5px 0 0; position: absolute; left: 0; top: 0; height: 100%; background: var(--secondary); color: #fff; padding: 10px;}
.download-link a:hover {background: var(--light-theme);}

.box {padding: var(--spacer); background: #f2eff4; padding: 25px; border-top: 5px solid var(--secondary); margin-bottom: 1.5rem;}
.box .download-link {font-size: .8rem;}
.box p:last-of-type {margin: 0;}

.fun-list ul {list-style: none; font-size: 1.25rem; font-weight: 300; padding: 0 0 0 15px;}
.fun-list ul li {margin: 10px 0; position: relative; padding: 0 0 0 25px;}
.fun-list li::before {content: "\f00c";font-family: FontAwesome; margin: 0 10px 0 0; color: var(--secondary-light); position: absolute; left: 0; top: 0;}

.quote {background: url(../img/quotes.png) left center no-repeat; background-size: 50px; min-height: 50px; padding: 15px 0 15px 75px; font-size: 1.5rem; line-height: 1.25; font-weight: 300; font-style: italic;}

.page-divider h2 {font-family: var(--body); font-size: 1rem; padding: 20px; border-left: 5px solid var(--primary); background: var(--light); text-transform: uppercase; letter-spacing: 2px; font-weight: 400; margin: 0 0 2.5rem; color: var(--primary); text-align: center;}

/* LINKS */
a {color: var(--primary);}
a:hover {color: var(--secondary);}
a.btn-theme, .btn-theme > a, button.btn-theme {display: inline-block; padding: 10px 15px; background: var(--primary); color: #fff; font-weight: 700; border-radius: 0 7px 0 7px; box-shadow: 5px 5px 3px rgba(0,0,0,.1); text-decoration: none; text-transform: uppercase; font-size: .8rem; letter-spacing: 1px; position: relative; overflow: hidden; z-index: 5;}
a.btn-theme:hover, .btn-theme > a:hover {text-decoration: none; background: var(--primary);}
a.btn-theme:after, .btn-theme > a:after {width: 100%; height: 100%; background: var(--secondary); content: ""; position: absolute; right: 100%; top: 0; z-index: -1;}
a.btn-theme:hover:after, .btn-theme > a:hover:after {right: 0;}
.btn-text {font-weight: 700; text-transform: uppercase; font-size: .8rem; letter-spacing: 1px; color: var(--primary); font-family: var(--body);}
a.btn-text::after, .btn-text a:after {content: "\f061";font-family: FontAwesome; margin-left: 5px;}
a.btn-text:hover:after, .btn-text a:hover:after {margin-left: 10px;}
p a {font-weight: 700; text-decoration: underline;}

/* Animate */
.ccm-page a, #header, #nav-main a:after, #nav-main ul, .cta-item *, .cta-item, .btn-text:after, .news-item *, .person-item *, .animate-in, #header button:after, a.btn-text::after, .btn-text a:after {
-webkit-transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
-moz-transition: all 300ms  cubic-bezier(0.25, 0.46, 0.45, 0.94);
-o-transition: all 300ms  cubic-bezier(0.25, 0.46, 0.45, 0.94);
transition: all 300ms  cubic-bezier(0.25, 0.46, 0.45, 0.94);}

.zip, a.btn-theme:after, .btn-theme > a:after, #hdr-search, .sidebar-feature img {transition: all 0.25s cubic-bezier(0.76, 0, 0.24, 1);}

/* Layout & Utility */
.container, .col {position: relative;}
.content section {padding: var(--spacer) var(--side-width); position: relative;}
.content .container {padding: var(--spacer) var(--side-width); position: relative; margin: 0; width: 100%;}
.content .container + .container {padding-top: 0;}
.content section.section-short {padding: 0 var(--side-width);}
.col > hr:first-of-type {border-color: #ccc; margin: 0 0 var(--spacer) 0;}
.grid {display: grid; gap: var(--spacer);}
.plus-corner:after {width: 150px; height: 150px; background: url(../img/plus.svg); content: ""; position: absolute; right: -75px; bottom: -75px; opacity: .2; object-position: left center;}
.plus-corner-left:after {width: 150px; height: 150px; background: url(../img/plus.svg); content: ""; position: absolute; left: -75px; bottom: -75px; opacity: .2;}
.bkg-light {background: var(--light-theme);}
.bkg-light hr {border-color: rgba(0,0,0,.1);}
.bkg-gradient {background: linear-gradient(160deg, rgba(137,72,179,1) 0%, rgba(19,167,128,1) 100%);}
.grid-auto-four {display: grid; grid-template-columns: repeat( auto-fit, minmax(250px, 1fr) );}
.text-skinny {max-width: 750px; margin: 25px auto;}

/* Search Layout */
.ccm-search-block-form h3 {font-size: 28px; border-bottom: 1px solid #ccc; padding: 15px 0; margin: 15px 0;}
.ccm-search-block-form input {width: 75%; float: left; height: 50px; background: #f4f4f4; border: 1px solid #ccc; padding: 10px;}
.ccm-search-block-form .btn {width: 23%; float: right; height: 50px; background: var(--primary); color: #fff; font-weight: bold; border: none;}
.ccm-search-block-form #searchResults {display: block; padding: 15px 0; width: 100%; overflow: hidden;}

/* Content */
#hero {margin: 0 var(--side-width); padding: 0;}
#hero .hero-bkg {position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: var(--light);}
#hero .hero-bkg img {opacity: .15;}
#hero .hero-img {display: none;}
#hero .text {position: relative; z-index: 5; padding: 50px 50px 100px 50px;}

.cta-group {margin-top: -75px; position: relative; z-index: 10; display: grid; gap: 25px; padding: 0 25px;}
.cta-item {background: linear-gradient(160deg, var(--dark-primary) 0%, var(--primary) 100%); display: block; padding: 25px; color: var(--light-text); box-shadow: 5px 5px 25px rgba(0,0,0,.3); border-left: 7px solid var(--dark); top: 0; position: relative; height: 100%; font-size: .9rem;}
.cta-item h3 {color: #fff; margin: 0 0 10px 0;}
.cta-item .fa {position: absolute; top: calc(50% - 3.5rem); right: 1rem; font-size: 7rem; opacity: .15;}
.cta-item:hover {color: #fff; text-decoration: none; top: -10px; border-color: var(--secondary);}
.cta-item:hover .fa {right: 1.25rem;}

.news-list {display: grid; grid-auto-flow: row; gap: 25px;}
.news-list h2 {font-size: 1.25rem; border-top: 1px solid var(--dark); padding: 15px 0 0 0;}
.news-list h2 a {margin-left: auto; float: right; padding: 5px;}
.news-item {display: grid; grid-template-columns: 35% auto; margin: 0;color: var(--text);background: var(--light); border-radius: 5px; overflow: hidden;}
.news-item .text {padding: 25px; font-size: .8rem;}
.news-item h3 {margin: 5px 0 15px 0; color: var(--dark); font-size: 1.5rem;}
.news-item img {width: 100%; height: 100%; object-fit: cover; margin: 0;}
.news-item p {margin: 0 0 10px 0;}
.news-item .col {overflow: hidden;}
.news-item:hover {text-decoration: none; color: var(--text);  background: var(--light-theme);}
.news-item:hover img {transform: scale(1.05);}
.news-item:hover h3 {color: var(--primary);}
.news-item:hover .btn-text:after {margin-left: 10px;}

.feature-img {border-radius: 0 50px 0 50px; overflow: hidden; height: 100%; background: var(--light);}
.feature-img img {margin: 0;}
.feature-img .text {padding: 30px 50px;}
.feature-img h2 {font-size: 2.15rem;}
.feature-img .lead {font-size: 1.25rem;}
.feature-img .btn-theme {margin: 0;}

.footer {background: var(--light-theme); font-size: .9rem; position: relative;}
.footer:after {background: url(../img/circle-pattern.png); width: 250px; height: 250px; display: block; content: ""; position: absolute; left: -100px; top: -125px; background-size: 100%;}
.footer-wrap {padding: 75px var(--side-width); display: grid; gap: 25px;}
.footer-wrap img {max-width: 225px; margin: 0 0 25px 0;}
.footer-wrap p {margin: 0 0 5px 0;}
.footer-wrap p.lead {font-size: 1.25rem;}
.footer-wrap ul {list-style: none; padding: 0;}
.footer-wrap ul a {position: relative; padding: 0px 5px 0px 15px; display: block; margin: 0 0 5px 0;}
.footer-wrap ul a:hover {padding: 0 0 0 20px;}
.footer-wrap ul a:after {position: absolute; left: 5px; top: calc(50% - 2px); width: 5px; height: 5px; background: var(--secondary); content: "";}
.social {margin-top: 25px;}
.footer-wrap .social ul a:after {display: none;}
.footer-wrap .social ul a {padding: 0;}
.footer-wrap .social ul li {margin: 0;}
.social a {font-size: 1.5rem; margin: 5px;}
.social a:hover {color: var(--secondary);}
.copy {margin: 0; padding: 15px; background: var(--primary); color: rgba(255,255,255,.5); text-align: center; font-size: .8rem;}
.copy a {color: rgba(255,255,255,.5);}

.page-header {margin: 0; border: 0; position: relative; padding: 25px var(--side-width);}
.page-header figure {border-radius: 0 50px 0 50px; overflow: hidden; background: linear-gradient(160deg, rgba(137,72,179,1) 0%, rgba(19,167,128,1) 100%);}
.page-header figure img {margin: 0; width: 100%; height: 100%; object-fit: cover;}
.page-header .text {padding: 25px 0;}
.page-header .text p:last-of-type {margin: 0;}
.page-header .breadcrumb {background: none; padding: 0; margin: 0 0 10px 0; font-size: .75rem;}
.explore {display: none;}
.page-header.full-header {text-align: center;}

.person-list {display: grid; grid-template-columns: repeat( auto-fill, minmax(145px, 1fr)); gap: 15px;}
.person-item {text-align: center; background: var(--secondary); border-radius: 15px; overflow: hidden; box-shadow: 5px 5px 15px var(--light);}
/* SR updates: Updated height from 200px to 300px because the person image was cropping on mobile view. */
.person-item img {width: 100%; height: 300px; object-fit: cover; object-position: center center; margin: 0;}
.person-item .text {background: var(--light-theme); position: relative; z-index: 5; display: flex; flex-direction: column; padding: 0; min-height: 225px;}
/* SR updates: decrease font-size from 1.25rem to 1.15rem so that content do not overlap view details. Also decrease padding from 15px to 8px. */
.person-item h3 {padding: 8px 15px 0 15px; margin: 0 0 10px 0; font-size: 1.15rem;}
.person-item p {margin: 5px 0; font-size: .75rem; font-weight: 400; margin: 5px 0 15px 0;}
.person-item p.cert-date {margin: 10px 0 0 0;}
.person-item p.title {margin: 0 0 10px 0; text-transform: capitalize;}
.person-item span {background: var(--primary); padding: 10px; color: #fff; font-size: .6rem; text-transform: uppercase; letter-spacing: 2px; display: block; margin-top: auto; position: absolute; bottom: 0; width: 100%;}
.person-item:hover {text-decoration: none;}
/* SR updates: added view details thus on hover board certified should not change its color. */
.person-item:hover span:not(.board-certified) {background: var(--secondary);}
.person-item:hover img {transform: scale(1.1);}

.col .person-item img {width: 100%;height: 300px;}
.col .person-item .text {min-height: 155px; padding-bottom: 25px;}	
.col .person-item p {padding: 0 10px; min-height: 50px;}
.grid-sidebar .col.text {border-top: 1px solid #ccc; padding-top: var(--spacer);}

.person-popover .modal-dialog {width: 90%; margin: 25px auto;}
.person-popover .modal-dialog figure {background: var(--primary); text-align: center; padding: 50px;}
.person-popover .modal-dialog figure img {margin: 0 0 -100px 0; box-shadow: 5px 5px 15px rgba(0,0,0,.2);}
.person-popover .modal-dialog .text {padding: 100px 25px 25px 25px; background: #fff;}
.person-popover .modal-dialog .text p {padding-left: 25px; border-left: 1px dotted #ccc; font-size: 1.15rem; font-weight: 300;}
.person-popover .modal-dialog .text h2 + h2 {font-size: 2.25rem;}
.person-popover .modal-dialog .text p a {font-weight: 300;}
.person-popover .modal-dialog .text p.lead:before {display: none;}
.person-popover .modal-dialog .text p.lead {font-size: 1.5rem;}
.person-popover .modal-dialog .text h4 {margin: 35px 0 15px 0;}
.person-popover button.close {font-size: 3rem; width: 52px; height: 52px; border-radius: 50%; color: #fff; background: var(--dark); opacity: .8; position: absolute; top: -15px; right: -15px; border: 2px solid #fff;}
.modal-backdrop.in {opacity: .8;}

/* Filter */
.filter {padding: 20px 10px 10px 10px; background: var(--light-theme); border-left: 10px solid var(--primary); margin: 0 0 35px 0; border-radius: 0 15px 15px 0;}
.filter form {display: flex; flex-wrap: wrap;}
.filter label {display: block; font-size: .8rem; text-transform: uppercase;}
.filter .form-group {flex-grow: 1; padding: 0 5px; font-size: .8rem; margin: 0 0 5px 0;}
.filter input, .filter select {width: 100%; height: 40px; padding: 5px 10px; background: #fff; border: 1px solid #ccc;}
.filter .form-group .btn-theme {margin: 0;}
.filter .form-group .btn-text {padding: 10px;}
.filter .form-group .btn-text:after {display: none;}
.filter .align-bottom {display: flex; flex-direction: column; justify-content: center; text-align: center;}
.filter .alpha-list {
    text-align: center;
    background: rgba(0,0,0,.1);
    position: relative;
    left: -10px;
    bottom: -10px;
    width: calc(100% + 20px);
    border-radius: 0 0 15px 0;
    padding: 5px;
}
.filter .alpha-list a {color: var(--primary);}
.filter .alpha-list a:hover, a.btn.btn-link.alphabet-search.activecl {background: rgba(255,255,255,.5);}
#pagination {display: flex; justify-content: center; margin: 25px 0;}
#pagination a, #pagination li span {color: var(--primary); font-weight: 700; background: var(--light-theme); border: none; margin: 0 2px;}
#pagination a:hover {opacity: .5;}
#pagination .active span {background: none;}

.img-bkg {margin: 50px 0; background: var(--dark-primary); color: var(--light-text);}
.img-bkg > img {width: 100%; height: 100%; object-fit: cover; position: absolute; left: 0; top: 0; opacity: .15; mix-blend-mode: overlay;}
.img-bkg .preheader {color: var(--secondary-light);}
.img-bkg li {color: var(--light-text);}

.color-bkg {background: url(../img/shape-pattern.jpg) var(--primary); color: var(--light-text); padding: 75px var(--side-width) !important; margin: 50px 0;}
.color-bkg h2, .img-bkg h2, .color-bkg h3, .img-bkg h3, .color-bkg .lead, .img-bkg .lead {color: #fff;}
.color-bkg .text-center, .img-bkg .text-center {margin-bottom: 50px;}
.color-bkg .btn-theme a {background: var(--secondary-light);}

.bkg-wall + .color-bkg {margin-top: 0;}
.color-bkg.no-margin {margin: 0;}
.color-bkg .preheader {color: #278b28;}
.color-bkg + .color-bkg {background: none; color: var(--dark);}
.color-bkg + .color-bkg h2,
.color-bkg + .color-bkg .lead {color: var(--dark);}

.icon-feature {padding: 0 25px;}
.icon-feature .fa {color: var(--secondary); background: rgba(0,0,0,.5); padding: 10px;}
.icon-feature h3 {font-family: var(--body); font-size: 2.5rem; font-weight: 300; margin: 15px 0;}
.icon-feature h4 {margin: 25px 0 10px 0; font-size: .9rem;}

.steps {max-width: 800px; margin: 0 auto;}
.step-item {display: block; position: relative; padding: 15px 0 15px 55px; border-left: 2px solid var(--dark); margin-left: 25px; font-size: .9rem;}
.step-item:before {position: absolute; left: -25px; top: calc(50% - 30px); width: 50px; height: 50px; background: var(--secondary); content: "1"; color: #fff; font-weight: 700; border-radius: 0 15px 0 15px; display: flex; justify-content: center; flex-direction: column; text-align: center; font-size: 2rem; box-shadow: 5px 5px 15px rgba(0,0,0,.1);}
.step-item h4 {margin: 0 0 10px 0; font-size: 1rem;}
.step-item p:last-of-type {margin: 0;}
.step-item:nth-of-type(2):before {content: "2";}
.step-item:nth-of-type(3):before {content: "3";}
.step-item:nth-of-type(4):before {content: "4";}
.step-item:nth-of-type(5):before {content: "5";}
.step-item:nth-of-type(6):before {content: "6";}
.step-item:nth-of-type(7):before {content: "7";}

#sec-nav {margin: 0 0 25px 0;}
#sec-nav ul {list-style: none; padding: 0; margin: 0; border-radius: 0 15px 0 15px; overflow: hidden; border-bottom: 1px dotted #ccc;}
#sec-nav ul a {display: block; padding: 15px; border-bottom: 1px dotted #ccc; background: var(--light);}
#sec-nav ul a:hover {text-decoration: none; padding: 15px 10px 15px 20px; color: var(--primary); background: var(--light-theme); background: none; color: #222;}
#sec-nav ul li {margin: 0;}
#sec-nav ul li:last-of-type a {border: none;}
#sec-nav ul > .nav-path-selected > a {background: var(--primary); color: #fff;}

#sec-nav ul ul {padding: 15px 0 20px 25px; border-radius: 0;}
#sec-nav ul ul a {padding: 10px; font-size: .9em; background: none; border: none; color: #555;}
#sec-nav ul ul a:hover {padding: 10px 5px 10px 15px;}
#sec-nav ul ul .nav-path-selected > a {color: var(--primary); background: none; font-weight: 700;}

.sidebar-feature {position: relative; margin: 25px 0; padding-top: 250px; background: linear-gradient(160deg, rgba(137,72,179,1) 0%, rgba(19,167,128,1) 100%); color: var(--light-text); font-size: .9rem; overflow: hidden; border-radius: 0 15px 0 15px;}
.sidebar-feature img {position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5;}
.sidebar-feature .text {position: relative; z-index: 5; padding: 50px 25px 25px 25px; background: rgba(0,0,0,.25); background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,.65) 100%)}
.sidebar-feature .text h3, .sidebar-feature .text h2 {margin: 0 0 15px 0; color: #fff; border-top: 1px dotted #eee; padding: 25px 0 0 0;}
.sidebar-feature .text p:last-of-type {margin: 0;}
.sidebar-feature:hover img {transform: scale(1.1);}

.image-left-tall {width: 100%; position: relative;}
.image-left-tall figure { overflow: hidden; border-radius: 0 25px 0 25px; box-shadow: 15px 15px 15px rgba(0,0,0,.1); margin: -50px 0 50px 0;}
.image-left-tall figure img {margin: 0;}

.page-template-sidebar-right .news-list .news-item h3 {font-size: 2rem; margin: 0 0 15px 0;}
.news-list .news-item .preheader {margin: 0 0 5px 0;}
.news-list .news-item .text {padding: 30px;}
.news-list h2, .ccm-block-tags-header h5, .ccm-block-topic-list-header h5 {font-size: 1.25rem; border-top: 1px solid #ccc; padding: 15px 0 0 0;}
.tag-cloud {list-style: none; display: flex; flex-wrap: wrap; padding: 0;}
.tag-cloud li {margin: 0;}
.tag-cloud a {padding: 0; background: var(--light); margin: 5px; padding: 5px; display: inline-block; font-size: .8rem; border: 1px solid rgba(0,0,0,.05);}
.tag-cloud a:hover {background: var(--light-theme);}
.social-share {text-align: center;}
.social-share ul {text-align: center; font-size: 2rem; margin: 0 0 .5em 0 !important;}
.social-share p a {font-size: .85rem;}

.faq-grid {margin: 0 0 2rem 0;}
.faq-grid .ccm-faq-block-links a {display: block; padding: 15px; border-bottom: 1px dotted #ccc;}
.faq-grid .ccm-faq-block-links a:last-of-type {border: none;}
.faq-grid .ccm-faq-block-links a:hover {padding: 15px 10px 15px 20px; background: var(--theme-light);}
.faq-grid .ccm-faq-block-entries h3 {font-size: 1.65rem; font-family: var(--body); font-weight: 400;}
.faq-grid .ccm-faq-block-entries .faq-entry-content + .faq-entry-content {border-top: 1px dotted #ccc; padding-top: 25px; margin-top: 25px;}
.ccm-faq-block-links {background: var(--light); padding: 15px;}

.disclaimer-wrap {background: var(--light); padding: 25px max(25px, 5%); font-size: .8rem; margin: 0 auto; border-radius: 0 50px 0 50px;}
.disclaimer-wrap b {font-size: 1.5rem; color: #222; display: block; font-family: var(--serif); text-align: center;}
.disclaimer-btns {display: flex; justify-content: center; align-items: center; margin: 25px 0 0 0;}
.disclaimer-btns .btn-theme {margin: 0 5px; padding: 10px 15px; font-size: .9rem;}
.disclaimer-btns .btn-theme + .btn-theme {background: #eee; color: #333;}

.auto-grid {display: flex; flex-wrap: wrap; justify-content: center; margin: 0 -15px;}
.auto-grid > * {margin: 0 15px 30px 15px;}
.simple-feature {background: var(--light); padding: 65px 35px 35px 35px; border-radius: 0 25px 0 25px; font-size: .9rem; position: relative;}
.simple-feature h3 {font-family: var(--body); font-weight: 300; text-align: center; font-size: 1.75rem;}
.simple-feature .fa {font-size: 2rem; width: 70px; height: 70px; color: var(--secondary); margin: 0 0 1rem 0; background: var(--primary); color: #fff; padding: 18px 0 0 0; position: absolute; left: calc(50% - 35px); top: -20px; border-radius: 0 10px 0 10px; text-align: center; dbox-shadow: 10px 10px 10px rgba(0,0,0,.1);} 

.auto-grid-five {display: grid; grid-template-columns: repeat( auto-fit, minmax(200px, 1fr) ); gap: 25px;}
#org-chart .auto-grid-five {gap: 0;}
#org-chart .col {font-size: .8rem; padding: 0 20px; border-right: 1px dotted #ccc;}
#org-chart .col h3 {font-family: var(--body); font-size: 1rem; border-top: 1px dotted #ccc; margin: 0 0 15px 0; padding: 15px 0 0 0; min-height: 70px;}
#org-chart .col img {width: 100%; height: 150px; object-fit: contain; mix-blend-mode: multiply; margin: 0;}
#org-chart .col .preheader {border-top: 1px dotted #ccc; padding-top: 15px;}
#org-chart .col ul:first-of-type {min-height: 125px;}
#org-chart .col ul:nth-of-type(2) {min-height: 100px;}

.content .sib-form {padding: 0; margin: 0 0 25px 0;}
.content #sib-form-container {border: 0;border-top-color: currentcolor;border-top-style: none;border-top-width: 0px;background: var(--light-theme); border-top: 5px solid var(--primary);border-radius: 0}
.content #sib-container {background: var(--light-theme) !important; border: none !important;}
.content .sib-form .entry__choice .checkbox, .sib-form .entry__choice .radio-button {margin: 0 5px 0 0;}
.content #sib-container p {font-family: var(--serif); color: #222;}
.content .checkbox__label {margin-left: 25px;}
.sib-form .entry__error, .sib-form .entry__label, .sib-form .entry__specification, .sib-form .form__error, .content #sib-container span {font-size: 13px !important;}
.sib-form-block__button-with-loader {background-color: var(--primary) !important;}
.content .sib-text-form-block p {font-family: var(--body) !important;}

.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {background-color: var(--secondary); border-color: var(--secondary);}

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
h1 {font-size: 3rem;}
.img-right {max-width: 50%; float: right; margin: 0 0 25px 25px;}
.content-img-two-col {grid-template-columns: 1fr 1fr;}
.content-img-two-col .text {display: flex; justify-content: center; flex-direction: column;}
.bkg-wall {background: url(../img/bkg-wall.jpg) left bottom no-repeat; background-size: 100% auto;}
.borders {border: 1px dotted #ccc; border-top: none; border-bottom: none;}
.header-wrap { display: grid; grid-template-columns: 1.15fr 100px 2fr; grid-template-rows: 50px auto 50px; position: relative;}
.header-wrap figure {grid-area: 1 / 2 / 4 / 4;}
.header-wrap .text {background: #fff; padding: 50px; grid-area: 2 / 1 / 3 / 3; position: relative; border: none; border-left: 1px solid #ccc; border-radius: 0 15px 15px 0; display: flex; justify-content: center; flex-direction: column;}
.explore {position: absolute; bottom: 0;left: 33px;padding: 25px 25px 25px 0;font-size: .7rem;text-transform: uppercase;font-weight: 700;letter-spacing: 3px; transform-origin: bottom left;transform: rotate(-90deg); background: #fff; display: block;}
.explore i {margin-right: 10px;}
.simple-header .header-wrap {min-height: auto; grid-template-columns: 1.5fr 100px 2fr;}
.simple-header h1 {font-size: 4.15rem;}
.page-header.full-header .header-wrap {min-height: auto; display: block;}
.page-header figure img {width: 100%; height: calc(100% + 50px); position: relative; top: -40px; object-fit: cover; opacity: .85;}

#hero {display: grid; grid-template-columns: 1fr 1.25fr; padding: 0;}
#hero .hero-img {display: block; height: calc(100% + 10px); position: relative; top: -10px; z-index: 10; background: none;}
#hero .hero-img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: top left; opacity: 1;}
.cta-group {display: grid; grid-template-columns: 1fr 1fr 1fr; padding: 0; margin-top: -125px;}
#hero .text {padding: 50px 25px 150px 50px;}

.step-item {width: 50%; position: relative; left: calc(50% - 30px);}
.step-item:nth-of-type(even) {left: auto; border: none; border-right: 2px solid var(--dark); margin: 0 0 0 -3px; padding: 15px 55px 15px 0; text-align: right;}
.step-item:nth-of-type(even):before {left: auto; right: -25px;}

.sidebar {display: grid; grid-template-columns: 1fr 1fr; gap: 25px;}
.sidebar #sec-nav {grid-column: span 2;}

.margin-100 {margin: 100px 0;}
.image-left-tall .text {padding: 50px 0 50px 50%;}
.image-left-tall figure {height: calc(100% + 100px); width: 45%; position: absolute; top: -50px; margin: 0;}
.image-left-tall figure img {width: 100%; height: 100%; object-fit: cover;}

.auto-grid > * {flex: 0 1 calc(33.3% - 30px);}
.person-list {grid-template-columns: repeat( auto-fill, minmax(160px, 1fr));}
.person-item p {font-size: .85rem;}
.col .person-list {display: grid; grid-template-columns: repeat( auto-fit, minmax(200px, 1fr)); gap: 35px;}
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 1100px) {
h1 {font-size: 4.5rem;}
h2 {font-size: 2.5rem; line-height: 1;}
h3 {font-size: 1.5rem;}
hr {margin: 35px 0;}
.lead {font-size: 1.5rem;}
.stack-stack-2 {grid-template-columns: 1fr 1fr; gap: 50px;}
.sidebar-right {grid-template-columns: 3fr 1.25fr; gap: 50px;}
.sidebar-right > .col:first-of-type {order: 2;}
.sidebar-left {grid-template-columns: 1.25fr 3fr;}

.grid-two-col {grid-template-columns: 1fr 3.25fr;}
.grid-two-col .sidebar {display: block;}
.grid-two-col .col {grid-column: 2; grid-row: 1;}
.grid-two-col .sidebar {grid-column: 1; grid-row: 1;}

.header-wrap {min-height: 60vh;}

.footer-wrap {display: flex;}
.footer-wrap .col {width: 18%;}
.footer-wrap .col:first-of-type {margin-right: auto; width: 30%;}

.image-left-tall figure {top: -100px; height: calc(100% + 200px);}

#news-detail h1 {font-size: 4rem;}
#news-detail header p {max-width: 800px; margin: 0 auto;}
#news-detail section {padding-top: 0;}
#news-detail figure {width: 80%; margin: 0 auto;}

.faq-grid {grid-template-rows: auto auto;}
.faq-grid .faq-sidebar {grid-column: 1;}
.faq-grid .ccm-faq-block-links {grid-column: 1;}
.faq-grid .ccm-faq-block-entries {grid-column: 2; grid-row: span 3;}

.filter .form-group {max-width: 185px;}

.person-popover .modal-dialog {display: grid; grid-template-columns: 1fr 2fr; max-width: 1200px; top: 50px; box-shadow: 0 0 50px rgba(0,0,0,.25);}
.person-popover .modal-dialog figure {border-radius: 0 0 0 50px; position: relative;}
.person-popover .modal-dialog figure img {margin: 0; position: initial; left: 50px; top: 50px; right: 0; bottom: 50px; object-fit: cover; width: 100%;}
.person-popover .modal-dialog .text {display: flex; flex-wrap: wrap; padding: 100px 50px 50px 100px; border-radius: 0 50px 0 0; overflow: hidden; align-content: flex-start;}
.person-popover .modal-dialog .text h2 {width: 100%;}
.person-popover .modal-dialog .text .col {padding: 0 25px 0 0; flex-basis: 50%;}
.person-popover h4 {font-size: 1.4rem;}
.person-popover .modal-dialog .text p {font-size: 1.4rem;}

}

.filter .zip-range-message {padding: 0 5px; color: red;}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1250px) {
:root {--spacer: 50px; --max-width: 1200px; --side-width: calc( (100vw - var(--max-width))/2 );}
.content {margin-top: 94px;}
.person-item img {height: 225px; object-position: center top;}
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1400px) {
:root {--max-width: 1200px;}
h1 {font-size: 4.75rem;}
h2 {font-size: 2.75rem;}

#hero {margin: 100px auto 0 auto; max-width: 1350px; min-height: 65vh;}
#hero .text {padding: 75px 50px 125px 75px; display: flex; justify-content: center; flex-direction: column;}
#hero .text h1 em {font-size: .7em;}
}
/* ----------------------*/
/* -- MENU AND HEADER -- */
/* ----------------------*/
/* GLOBAL */
#logo {width: 100%; display: block; paddinG: 15px; text-align: center;}
#logo img {max-width: 250px; margin: 0;}
.hdr-buttons {display: flex; justify-content: center; align-items: center;}
.hdr-buttons a, .hdr-buttons button {padding: 15px 10px; margin: 0 3px; font-size: .55rem;}
.hdr-buttons button {border: none; background: var(--light-theme); color: var(--primary); border-radius: 7px;}
.hdr-buttons .btn-theme .fa {margin: 0 5px 0 -5px; opacity: .5; display: none;}
#search-toggle {box-shadow: inset -5px -5px 5px rgba(0,0,0,.05); font-size: 1rem; padding: 10px 17px;}
#header {border-top: 4px solid var(--primary); padding-bottom: 15px;}
#header ul {list-style: none; margin: 0;}
#header ul li {margin: 0;}
#hdr-search {position: absolute; width: 100%; top: 75px; background: #fff; z-index: 10; display: flex; padding: 10px; justify-content: center; visibility: hidden; opacity: 0;}
#hdr-search input {padding: 5px 10px; height: 45px; border-radius: 5px 0 0 5px; border: 1px solid #ccc; margin: 0 -5px 0 0;}
#hdr-search button {border: 0; padding: 5px 15px; font-size: 1rem; height: 45px; border-radius: 5px; margin: 0 0 0 10px;}
#hdr-search form button {background: var(--primary); color: #fff; border-radius: 0 5px 5px 0; margin: 0;}
#hdr-search button .fa {width: 15px;}
#hdr-search.active {opacity: 1; top: 85px; visibility: visible;}

#nav-main {padding: 15px;}
#nav-main ul {padding: 0 15px;}
#nav-main a, #nav-main button {display: block; background: none; padding: 20px 10px; font-weight: 700; font-size: 1rem; color: var(--dark); border: 0; border-bottom: 1px dotted #ccc; width: 100%; text-align: left;}
#nav-main button .fa {float: right; position: relative; top: 0px;}
#nav-main a:hover {text-decoration: none;}
#nav-main ul a {padding: 7px 10px 7px 15px; border: none; font-weight: 400; text-transform: none; font-family: var(--body); position: relative;}
#nav-main ul a:before {position: absolute; left: 5px; top: calc(50% - 2px); width: 5px; height: 5px; background: var(--secondary); content: "";}
#nav-main ul a:hover {padding: 7px 5px 7px 20px;}
#nav-main li {position: relative;}
/* #nav-main li button {position: absolute; right: 0; top: 12px; height: 40px; width: 50px; display: block; background: none; border: none; border-left: 1px dotted #ccc; padding: 5px 0 0 0;}
#nav-main li button i {transform: rotate(0);} */
#nav-main > li > a > .fa {display: none;}
#nav-main li button.collapsed i {transform: rotate(-180deg); top: 5px;}
#nav-main ul li:first-of-type {margin-top: 15px;}
#nav-main ul li:last-of-type {margin-bottom: 15px;}
#nav-main ul .nav-path-selected a {font-weight: 700;}

/* TABLET */
@media (min-width: 768px) {
#header {display: flex; flex-wrap: wrap; padding: 15px var(--side-width);}
#logo {width: auto; margin-right: auto; padding: 0;}
#navbar {width: 100%;}
.hdr-buttons .btn-theme .fa {display: inline;}
#hdr-search {top: 0; right: var(--side-width); width: 450px; justify-content: flex-end; padding: 10px 00;}
#hdr-search.active {top: 15px;}
.hdr-buttons a, .hdr-buttons button {padding: 15px 15px; margin: 0 3px; font-size: .65rem;}

}

/* WIDE DESKTOP */
@media (min-width: 1100px) {
.content {margin-top: 80px;}
#header {flex-wrap: nowrap; align-items: center; justify-content: flex-end; padding: 0 var(--side-width); position: fixed; top: 0; width: 100%; z-index: 50;}
#header.scroll { box-shadow: 0 8px 8px -5px rgba(0,0,0,.05);background: #fff;}
#logo img {width: 215px;}
#navbar {order: 2; margin: 0; padding: 0; width: auto;}
.hdr-buttons {order: 3;}
.hdr-buttons a, .hdr-buttons button {margin: 0 0 0 10px; text-transform: none; letter-spacing: normal; font-size: .75rem;}
#nav-main {display: flex; padding: 0;}
#search-toggle {padding: 13px 17px;}

#nav-main > li > a, #nav-main > li > button {font-size: .8rem; border: 0; position: relative; padding: 30px 8px;}
#nav-main > li > button .fa {display: none;}
#nav-main > li > button:hover {cursor: default;}
#nav-main > li > a:after, #nav-main > li > button:after {position: absolute; left: 50%; top: calc(100% - 3px); width: 0; height: 3px; background: var(--secondary); content: ""; z-index: 5;}
#nav-main > li:hover > a:after, #nav-main > li.nav-path-selected > a:after,
#nav-main > li:hover > button:after, #nav-main > li.nav-path-selected > button:after
{left: calc(50% - 25px);  opacity: 1; width: 50px;}

#nav-main:hover > li.nav-path-selected > button:after, #nav-main:hover > li.nav-path-selected > a:after {opacity: 0;}
#nav-main:hover > li.nav-path-selected:hover > a:after, #nav-main:hover > li.nav-path-selected:hover > button:after {opacity: 1;}

#nav-main > li.nav-path-selected > a {color: #222;}
#nav-main ul {display: block; width: 280px; position: absolute; top: 100%; left: calc(50% - 140px); background: #fff; box-shadow: 0px 0px 25px rgba(0,0,0,.1); padding: 25px; border-radius: 0 25px 0 25px; visibility: hidden; opacity: 0;}
#nav-main ul li {margin: 0 !important;}
#nav-main > li:hover ul {visibility: visible; opacity: 1;}
#nav-main ul a {font-size: .85rem; line-height: 1.4;color: #666;}
#nav-main ul a:hover:before {background: var(--primary);}
#nav-main ul a:hover { opacity: 1; color: var(--dark);}
#nav-main:hover > li > a {opacity: .6;}
#nav-main:hover > li:hover > a {opacity: 1;}

#hdr-search {width: 800px; padding: 15px 0;}
#hdr-search.active {top: 5px;}
#hdr-search input[type="text"] {width: 500px;}

}

@media (min-width: 1200px) {
.content {margin-top: 93px;}
#header {padding: 0 var(--side-width);}
#logo img {width: 250px;}
#nav-main > li > a, #nav-main > li > button {padding: 35px 13px; font-size: .9rem;}
#nav-main ul a {font-size: .9rem;}

#hdr-search {width: 900px; padding: 23px 0}
#hdr-search.active {top: 0;}
}

/* Bootstrap Expand Nav Tablet Too */
@media (max-width: 1100px) {
  .navbar-toggle {
      display: block;
  }
  .navbar-collapse.collapse {
      display: none!important;
  }
  .collapse.in {
      display:block !important;
  }
.captcha_holder , .captcha_image{

	transform:scale(0.75) !important;
    -webkit-transform:scale(0.75) !important;
    transform-origin:0 0 !important;
    -webkit-transform-origin:0 0 !important;
}
}

/* Custom Login */
.custom-login-content .content { margin-top: 0;}
.custom-login-content section { padding: 0px var(--side-width); }
.custom-login-content #logo img {width: 100%; max-width: 500px;}
.custom-login-content .copy {
    margin: 0;
    padding: 15px;
    background: var(--primary);
    color: rgba(255,255,255,.5);
    text-align: center;
    font-size: .8rem;
    bottom: 0;
    position: fixed;
    width: 100%;
    z-index: 6;
}

.custom-login-content .custom-login-page {
    display: block;
    width: 100%;
    box-shadow : 0 0 50px rgb(0 0 0 / 25%);
    border-radius: 0 7px 0 7px;
    margin: 35px auto;
    padding: 25px;
    background: #fff;
}

.custom-login-content .custom-login-page h1 {
    text-align: center;
}

.custom-login-content .custom-login-page h1:after {
    width: 50px;
    height: 5px;
    background: var(--primary);
    content: "";
    position: absolute;
    left: calc(50% - 25px);
    bottom: -25px;
    margin-bottom: 10px;
}

.custom-login-content .login-row {
    width: 100%;
}

.custom-login-content .btn-theme {
    display: inline-block;
    padding: 10px 15px;
    background: var(--primary);
    color: #fff;
    font-weight: 700;
    border-radius: 0 7px 0 7px;
    box-shadow: 5px 5px 3px rgb(0 0 0 / 10%);
    text-decoration: none;
    text-transform: uppercase;
    font-size: .8rem;
    letter-spacing: 1px;
    position: relative;
    overflow: hidden;
    z-index: 5;
}

.custom-login-content .btn-theme:hover {
    text-decoration: none;
    background: var(--secondary);
}

@media (max-width: 425px) {
    .custom-login-content .form-action {display: flex; flex-direction: column; align-items: center;}
    .custom-login-content .form-action .btn-theme {margin-bottom: 10px;}
}

@media (min-width: 425px) {
    .custom-login-content .form-action .btn-theme {float: right;}
}


 