img, iframe {max-width: 100%; height: auto} html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%} :root { --main-bg: #fff; --light: #f5f5f5; --light-comp: #4d4d4d; --dark: #243c5d; --dark-comp: #fff; --primary: #355989; --primary-comp: #fff; --secondary: #497abc; --secondary-comp: #fff; --accent: #1ba2b6; --dark-accent: #1ba2b6; } html, body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }body, .featured .grid h3 { font-family: 'Didact Gothic', Helvetica, Arial, Lucida, sans-serif; font-optical-sizing: auto; font-size: 20px; font-weight: 400; font-style: normal; line-height: 1.5; text-align: center; }body, nav a, form input, form textarea, ::placeholder { color: var(--light-comp); }body, header ul, nav ul, footer ul, .hero h1, .hero p, .featured .grid h3, .about .grid ul { padding: 0; margin: 0; }h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote, details, figcaption, .about .grid ul, .contact .social { text-align: left; }h1, h2, h3, h4, h5, h6, .hero h1, .hero strong { font-family: 'EB Garamond', Georgia, "Times New Roman", serif; font-weight: 400; line-height: 1.1; }img, iframe { max-width: 100%; height: auto; display: block; margin: 0 auto }iframe { display: block; aspect-ratio: auto 16 / 9; width: 100%; }.fullwidth { width: 100%; }a img, iframe { border: none; }a, .about .grid img { transition: ease-in-out .3s; }a, nav a:hover, form input[type=submit]:hover, .btn:hover, .featured .grid a:hover, .about .grid a:hover { text-decoration: none; }a, nav a:hover { color: var(--secondary); }a:hover { text-decoration: underline; }hr { border-width: 1px; border-color: #eee; border-style: none none solid; margin: 40px 0; }.imgLeft, .imgRight { max-width: 45%; }.imgLeft { float: left; margin: 10px 4% 2% 0; }.imgRight { float: right; margin: 10px 0 2% 4%; }.clear { clear: both; }.nowrap, a[href^=tel], .subfoot .grid p span { white-space: nowrap; }sup { line-height: 0; }svg { vertical-align: middle; }.hide { display: none !important; }.center, .hero h1, .hero p, .featured .grid h3, .support h2 { text-align: center; }.wrap { display: block; max-width: 1080px; margin: 0 auto; position: relative; }.bg-dark, .bg-dark a, .bg-primary, .bg-primary a, .top a, .hero, footer, footer a, .featured .grid h3, .comments h2 { color: var(--dark-comp); }.bg-dark, .bg-primary .btn, .top, .subfoot { background-color: var(--dark); }.bg-primary, footer { background-color: var(--primary); }.bg-secondary { background-color: var(--secondary); }.bg-light, .about .grid a, details { background-color: var(--light); color: var(--light-comp); }.mid { align-items: center; align-self: center; }.grid { display: grid; grid-gap: 10px clamp(10px, 3vw, 40px); }.grid.half { grid-template-columns: repeat(2,1fr); }.grid.third { grid-template-columns: repeat(3,1fr); }.grid.fourth { grid-template-columns: repeat(4,1fr); } header, footer { font-size: 18px; }header a { display: block; margin: 5px; padding: 5px }header > .wrap { padding: 20px 10px 15px; }header .grid, .subfoot .grid, .featured .grid, .about .grid { grid-gap: 10px; }header .grid { grid-template-columns: 250px 1fr; }header .grid img { max-width: 250px; width: 100% }.top { line-height: 1; }.top, nav { text-align: right; }.top ul, .top li, nav li, .social li, .about .grid li { display: inline-block; }.top li, nav li { margin-left: 10px; }header .social li { margin-left: 5px; }nav { font-weight: 600; } .cover, .hero, .featured .grid a, .comments { background-size: cover; background-position: center; position: relative; }.hero { min-height: 250px; height: 26vw; max-height: 350px }.hero:before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; }.hero, .featured .grid h3 { font-size: 24px; }.hero > .wrap { top: 50%; transform: translateY(-50%); z-index: 2; }.hero h1, .hero p, .featured .grid h3 { text-shadow: 0 0 5px rgba(0,0,0,.8); }.hero h1, .hero p { max-width: 700px; padding: 0 10px 10px; margin: 0 auto; }.hero h1, .hero strong, .home h2 { font-size: 52px; }.hero .btn { margin-top: 20px; text-shadow: none; }.bgimg { position: relative }.bgimg > img:first-of-type { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; z-index: 0 }.hero.bgimg > img { object-position: 50% 50% }.hero.bgimg.contact > img { object-position: 50% 5% }.hero.bgimg.abp > img { object-position: 50% 35% } .home > div { padding: 40px 10px; }.trust .wrap div { padding: 56.25% 0 0 0; position: relative; }.trust iframe { width: 100%; height: 100%; border: none; position: absolute; top: 0; left: 0; }.featured { margin-top: 60px; }.featured .grid { padding: 20px 0 50px; }.featured .grid a, .featured .grid h3, .about .grid img { border-radius: 4px; }.featured .grid a { display: block; height: 250px; position: relative }.featured a:hover, .featured a:focus-within { transform: scale(1.05); box-shadow: 0 0 20px rgba(0,0,0,.3); position: relative; z-index: 999; }.featured .grid h3 { font-weight: 600; letter-spacing: 1px; padding: 0; margin: 0; z-index: 2; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) }.featured .grid a:before { content: ""; background-color: rgba(0,0,0,.6); display: block; width: 100%; height: 100%; z-index: 1; position: absolute; }.comments { color: #fff; }.comments .btn { background-color: var(--dark); }.comments.overlay { padding: 100px 0; z-index: 1; }.comments .btn { margin: 40px 0; }.overlay { position: relative; }.practice { background-size: cover; background-position: center; }.practice.overlay { padding: 100px 0; z-index: 1; }figure { margin: 20px 0; }figcaption { font-style: italic; }.news h3 { margin-top: 10px; }.news .posts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.support { margin-top: 30px; }.support img { display: inline-block; max-width: 180px; height: auto; vertical-align: middle; margin: 20px 40px 40px; } form, .contact ul { margin: 20px 0 40px; }form .grid { grid-gap: 0 10px; }form label, .hero strong, .emphasis a, figcaption span { display: block; }form input[type=text], form input[type=email], form input[type=tel], form input[type=submit], form textarea, .btn { font-family: 'Didact Gothic', Helvetica, Arial, Lucida, sans-serif; font-size: 18px; }form input[type=text], form input[type=email], form input[type=tel], form textarea { background-color: var(--light); margin-bottom: 10px; padding: 0 15px; border: none; }form input[type=text], form input[type=email], form input[type=tel] { height: 50px; }form input[type=text], form input[type=email], form input[type=tel], form textarea { width: 100%; box-sizing: border-box; }form textarea { height: 200px; padding: 15px; }form input[type=submit], .btn { display: inline-block; min-width: 120px; text-align: center; line-height: 1.4; background-color: var(--primary); color: var(--primary-comp); padding: 10px 40px; margin: 10px 0; border-radius: 3px; border: none; transition: ease-in-out .3s; }form input[type=submit] { min-width: 250px; margin: 0; }form input[type=submit]:hover, .btn:hover { cursor: pointer; background-color: var(--secondary); box-shadow: 0 0 10px rgba(0,0,0,.3); }form input[type=submit]:hover, .btn:hover { color: var(--primary-comp); }form input[type=checkbox]:focus, form input[type=submit]:focus { outline-offset: 3px; outline: -webkit-focus-ring-color auto 1px }label { text-align: left; } footer .wrap { padding: 30px 10px 40px; }footer .grid.third { grid-template-columns: 250px 1fr 1fr; }footer .grid.third ul, footer .grid.third p { margin: 20px 0; }footer .grid.third div:nth-of-type(2) li { margin: 10px 0; }.subfoot .wrap { padding: 20px 10px; }.subfoot .grid { grid-template-columns: 1fr 150px; }.ccpaNotice { text-align: center !important; } main { padding: 40px 10px 50px; }main h1, main h2, main h3, main h4, main h5, main h6 { color: var(--primary); }main h1, .home h2 { font-size: 40px; }main h2 { font-size: 36px; }main h3 { font-size: 32px; }main h4, footer h2, .news h3, .team h2 { font-size: 30px; }main ul, main ol { padding-left: 25px; }main li, footer .grid li { margin: 5px 0; }.nolist, footer ul, .contact ul { list-style: none; padding-left: 0; }details { padding: 10px 20px; margin: 10px 0; border-radius: 3px; }.about .grid a { padding: 40px 20px; margin-bottom: 50px; }.about .grid img { object-fit: cover; width: 100%; object-position: top; margin-bottom: 10px; opacity: .8; filter: grayscale(100%); }.about .grid a:hover img { opacity: 1; filter: unset; }.about .grid h3, .about .grid p { margin: 0; }.about .grid li { margin: 15px 15px 0 0; }.team h1 { margin: 0; padding: 10px 0; }.team h2 { margin-top: 0; }.team .grid, .team .logos, .speak { margin: 40px 0; }.team .grid img { width: 100%; max-width: 500px; border-radius: 3px }.team .logos img { display: inline-block; vertical-align: middle; max-height: 120px; width: auto; margin: 20px; }.team .social { text-align: left; padding: 0; }.team .social li { margin-right: 15px; }.contact > .grid { grid-template-columns: 300px 1fr; }.contact .social li { margin-right: 5px; }main .social svg { stroke: var(--secondary); width: 28px; height: 28px }.blogs .post p + strong { display: block }.publications a:hover {text-decoration: none;}.publications a {color: var(--light-comp);}@media(max-width:767px) { .grid.third, footer .grid.third, .grid.fourth { grid-template-columns: 1fr 1fr } .grid.third > *:last-child:nth-of-type(odd) { grid-column: 1/-1 } .team .grid.half, header .grid { grid-template-columns: 1fr } .top, nav { text-align: center } nav li { margin-left: 0 }} @media(max-width:600px) { .grid.half, .grid.fourth { grid-template-columns: 1fr }} @media(max-width:500px) { .grid.third, footer .grid.third, .subfoot .grid { grid-template-columns: 1fr } .featured .grid a { height: 150px } .subfoot p { text-align: center }}