/*
Pape Salter Teillet LLP (2025) Styles
*/


/* Table of Contents

- Font Declarations
- Base Styles
- Bootstrap Modifications
- Page Wrapper Styles
- Colour Declarations
- Typography
- List Styles
- Link Styles
- Mobile Menu
- Header
- Footer
- Component Styles
- Card Styles
- Page-specific Styles
- Generic Page Styles

*/



/* Font Declarations */

@font-face {
    font-family: 'Antique Legacy';
    src: url('fonts/AntiqueLegacy-Regular.eot');
    src: url('fonts/AntiqueLegacy-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/AntiqueLegacy-Regular.woff2') format('woff2'),
        url('fonts/AntiqueLegacy-Regular.woff') format('woff'),
        url('fonts/AntiqueLegacy-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Antique Legacy';
    src: url('fonts/AntiqueLegacy-Italic.eot');
    src: url('fonts/AntiqueLegacy-Italic.eot?#iefix') format('embedded-opentype'),
        url('fonts/AntiqueLegacy-Italic.woff2') format('woff2'),
        url('fonts/AntiqueLegacy-Italic.woff') format('woff'),
        url('fonts/AntiqueLegacy-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}



/* Base Styles */

html {
	position: relative;
	min-height: 100%;
	scroll-padding-top: 80px;
}
body {
	font-family: "Antique Legacy", Arial, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
	font-size: 16px;
	line-height: 118%;
	color: #000;
	background: #fff;
  
    text-rendering: optimizeLegibility;     /* emphasizes in legibility over rendering speed */    
    -webkit-font-smoothing: antialiased;    /* apply font anti-aliasing */    
    -moz-osx-font-smoothing: grayscale;     /* optimize font rendering */

    -moz-font-feature-settings:"kern" 1;    /* turn on kerning, highly recomened */ 
    -ms-font-feature-settings:"kern" 1;     /* turn on kerning, highly recomened */ 
    -o-font-feature-settings:"kern" 1;      /* turn on kerning, highly recomened */
    -webkit-font-feature-settings:"kern" 1; /* turn on kerning, highly recomened */
    font-feature-settings:"kern" 1;         /* turn on kerning, highly recomened */
    font-kerning: normal;                   /* turn on kerning, highly recomened */

    font-feature-settings: "liga" on;      /* ligatures: on or off */
    font-feature-settings: "dlig" off;      /* discretionary-ligatures: on or off */
    font-feature-settings: "tnum" off;      /* tabular figures: on or off */        
    font-feature-settings: "onum" off;      /* old-style-figures: on or off */
    font-feature-settings: "ss01" off;      /* alternate glyphs (stylistic Set): on or off */
}
p:last-child {
	margin-bottom: 0;
}
p + p {
	margin-top: 20px;
}
strong {
	font-weight: 600;
}
a,
a:visited,
a:hover,
a:focus,
a:active {
	color: inherit;
}
::after {
	font-family: "Antique Legacy", Arial, sans-serif !important;
}
button:focus,
button.btn:focus,
button.btn-primary:focus {
	outline: 0 !important;
	box-shadow: 0 0 0 0 !important;
}
ul.list-dashed,
.text-wrapper ul:not(.collapse-series):not(.credentials-contact) {
	margin-left: 0;
	padding-left: 0;
    list-style: none;
}
ul.list-dashed li,
.text-wrapper ul:not(.collapse-series):not(.credentials-contact) li {
    margin-left: 1.5em;
	text-indent: 0;
}
ul.list-dashed li::before,
.text-wrapper ul:not(.collapse-series):not(.credentials-contact) li::before {
    content: '\2014';
    margin-left: -1.5em;
	margin-right: .3em;
}

@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm) {
    img {
        image-rendering: -webkit-optimize-contrast !important;
    }
}

/* Unset for Safari 11+ */
@media not all and (min-resolution:.001dpcm) {
	@supports (-webkit-appearance:none) and (stroke-color:transparent) {
        img {
            image-rendering: unset !important;
        }
    }
}

@media (min-width: 992px) {
	html {
	    scroll-padding-top: 110px;
    }
	body {
		font-size: 18px;
		line-height: 118%;
	}
}



/* Bootstrap Modifications */

.container,
.container-fluid,
.container-flushright {
	padding-left: 18px;
	max-width: 100%;
}
.container,
.container-fluid {
	padding-right: 18px;
}

@media (min-width: 576px) {
	.container,
	.container-fluid {
		max-width: 100%;
	}
}

@media (min-width: 768px) {
	.container,
	.container-swap,
	.container-fluid {
		max-width: 100%;
	}
	.container-swap {
		padding-left: 18px;
		padding-right: 18px;
	}
}

@media (min-width: 992px) {
    .container,
	.container-swap,
	.container-fluid,
	.container-flushright {
		padding-left: 40px;
		max-width: 100%;
    }
    .container,
	.container-swap,
	.container-fluid {
		padding-right: 40px;
    }
}



/* Page Wrapper Styles */

.page-wrapper {
	padding-top: 60px;
}

@media (min-width: 992px) {
    .page-wrapper {
		padding-top: 110px;
    }
}



/* Colour Declarations */

.bckgnd-white {
	background: #fff;
}
.bckgnd-orange {
	background: #fe4914;
}
.bckgnd-ltblue {
	background: #e0f1ff;
}
.bckgnd-ltgreen {
	background: #dce7c2;
}
.bckgnd-dkgreen {
	color: #fff;
	background: #2c3a10;
}
.bckgnd-ltcream {
	background: #f0f0e6;
}

.split-orange {
	background: linear-gradient(to bottom, #fe4914 0%, #fe4914 60%, #fff 60%, #fff 100%);
}
.split-ltblue {
	background: linear-gradient(to bottom, #e0f1ff 0%, #e0f1ff 60%, #fff 60%, #fff 100%);
}
.split-ltgreen {
	background: linear-gradient(to bottom, #dce7c2 0%, #dce7c2 60%, #fff 60%, #fff 100%);
}
.split-dkgreen {
	background: linear-gradient(to bottom, #2c3a10 0%, #2c3a10 60%, #fff 60%, #fff 100%);
}

.text-dkgreen {
	color: #2c3a10;
}



/* Typography */

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: inherit;
}
.title,	
.title p,
.xlarge-headline,	
.xlarge-headline p,
.large-headline,
.large-headline p,
.medium-deck,
.medium-deck p,
.standard-body,
.standard-body p,
.small-body,
.small-body p {
	font-weight: 400;
}
.title,	
.title p {
	font-size: 43px;
	line-height: 104%;
	letter-spacing: -0.03em;
}
.xlarge-headline,	
.xlarge-headline p {
	font-size: 36px;
	line-height: 97%;
	letter-spacing: -0.02em;
}
.large-headline,
.large-headline p {
	font-size: 33px;
	line-height: 99%;
	letter-spacing: -0.015em;
}
.medium-deck,
.medium-deck p {
	font-size: 22px;
	line-height: 24px;
	letter-spacing: -0.015em;
}
.standard-body,
.standard-body p {
	font-size: 16px;
	line-height: 118%;
}
.small-body,
.small-body p {
	font-size: 14px;
	line-height: 18px;
}
.small-body p + p {
	margin-top: 20px;
}

@media (min-width: 768px) {
	.title,	
	.title p {
		font-size: 68px;
	}
	.xlarge-headline,	
	.xlarge-headline p {
		font-size: 48px;
	}
	.large-headline,
	.large-headline p {
		font-size: 44px;
	}
	.medium-deck,
	.medium-deck p {
		font-size: 28px;
		line-height: 104%;
	}
}

@media (max-width: 991px) {
	.medium-deck {
		margin-bottom: 20px;
	}
	#team-wrapper #team-profile h2.medium-deck {
		margin-bottom: 0;
	}
}

@media (min-width: 992px) {
	.title,	
	.title p {
		font-size: 93px;
	}
	.xlarge-headline,	
	.xlarge-headline p {
		font-size: 60px;
	}
	.large-headline,
	.large-headline p {
		font-size: 53px;
		line-height: 99%;
		letter-spacing: -0.015em;
	}
	.medium-deck,
	.medium-deck p {
		font-size: 36px;
	}
	.medium-deck p + p {
		margin-top: 35px;
	}
	.standard-body,
	.standard-body p {
		font-size: 18px;
	}
	.small-body,
	.small-body p {
		font-size: 16px;
		line-height: 118%;
	}
}



/* List Styles */

ul.collapse-series {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.collapse-series.divided {
	border-top: 1px solid #000;
}
h2 + ul.collapse-series.divided {
	margin-top: 15px;
}
ul.collapse-series li {
	border-bottom: 1px solid #000;
}
ul.collapse-series li button {
	padding: 10px 60px 10px 0;
	width: 100%;
	font-size: 22px;
	line-height: 24px;
	letter-spacing: -0.015em;
	color: #000;
	text-align: left;
	background: transparent;
	background-image: url(../imgs/pst-collapse-plus.png);
	background-size: 27px;
	background-position: right 8px;
	background-repeat: no-repeat;
	border: none;
	border-radius: 0;
}
ul.collapse-series li button:hover,
ul.collapse-series li button:focus {
	color: #000;
	background: transparent;
	background-image: url(../imgs/pst-collapse-plus.png);
	background-size: 27px;
	background-position: right 8px;
	background-repeat: no-repeat;
}
ul.collapse-series li button[aria-expanded="true"] {
	background-image: url(../imgs/pst-collapse-minus.png);
	background-size: 27px;
	background-position: right 8px;
	background-repeat: no-repeat;
}
ul.collapse-series li .card-collapse {
	padding: 20px 0px 35px;
}
ul.collapse-series li .card-collapse ul li {
	margin-bottom: 20px !important;
	border-bottom: none;
}
ul.collapse-series li .card-collapse ul li:last-child {
	margin-bottom: 0 !important;
}

@media (min-width: 576px) {
	ul.collapse-series li .card-collapse {
		padding: 20px 60px 35px 0;
	}
}

@media (min-width: 992px) {
	h2 + ul.collapse-series.divided {
		margin-top: 25px;
	}
	ul.collapse-series li button {
		font-size: 36px;
		line-height: 104%;
		background-size: 29px;
		background-position: right 14px;
	}
	ul.collapse-series li button:hover,
	ul.collapse-series li button:focus,
	ul.collapse-series li button[aria-expanded="true"] {
		background-size: 29px;
		background-position: right 14px;
	}
}



/* Link Styles */

.link-arrow,
.link-offsite,
.link-footer,
.link-tel,
.link-back {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
.link-arrow,
.link-back {
	transition: margin .5s ease;
}
.link-arrow {
	margin-left: 0;
	letter-spacing: 0;
}
a.link-arrow.link-pad {
	display: block;
	padding-top: 10px !important;
}
.link-arrow:hover {
	margin-left: 10px;
	font-weight: bold;
	letter-spacing: -0.02em;
}
.link-arrow::after,
.link-back::after {
	font-family: "Antique Legacy", Arial, sans-serif !important;
	content: '\00A0\2192';
}
.link-arrow:hover::after,
.link-back:hover::after {
	font-weight: bold;
}
.link-offsite::after,
.link-footer::after {
	font-family: "Antique Legacy", Arial, sans-serif !important;
	content: '\00A0\2197';
}

@media (max-width: 767px) {
	.link-arrow,
	.link-offsite,
	.link-back {
		font-weight: bold;
	}
    .link-back {
	    margin-left: 0;
    }
    .link-back:hover {
	    margin-left: 10px;
	    font-weight: bold;
		letter-spacing: -0.02em;
    }
}

@media (min-width: 768px) {
    .link-back {
	    margin-right: 0;
    }
    .link-back:hover {
	    margin-right: -10px;
	    font-weight: bold;
	    letter-spacing: -0.02em;
    }
}


/* Mobile Menu */

#mobile-menu {
	display: none !important;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3000;
	padding-left: 18px;
	padding-right: 18px;
	width: 100%;
	height: 100%;
	color: #fff;
	background: #2c3a10;
}
#mobile-menu.mobile-menu-open {
	display: block !important;
}
#mobile-menu #mobile-menu-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 60px;
}
#mobile-menu #mobile-menu-header #mobile-menu-logo {
	filter: invert(100%);
}
#mobile-menu #mobile-menu-header #mobile-menu-logo,
#mobile-menu #mobile-menu-header #mobile-menu-logo img {
	width: 222px;
}
#mobile-menu #mobile-menu-header #mobile-menu-button {
	position: relative;
	margin-left: auto;
	margin-right: 0;
	padding: 0;
	width: 26px;
	height: 26px;
	background: transparent;
	border: none;
}
#mobile-menu #mobile-menu-header #mobile-menu-button span {
	position: absolute;
	left: 0;
	width: 26px;
	height: 2px;
	background: #fff;
}
#mobile-menu #mobile-menu-header #mobile-menu-button #menu-button-midleft,
#mobile-menu #mobile-menu-header #mobile-menu-button #menu-button-midright {
	top: 12px;
}
#mobile-menu #mobile-menu-header #mobile-menu-button #menu-button-midleft {
	transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
  	-webkit-transform: rotate(-45deg);
  	-moz-transform: rotate(-45deg);
  	-o-transform: rotate(-45deg);
}
#mobile-menu #mobile-menu-header #mobile-menu-button #menu-button-midright {
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
  	-webkit-transform: rotate(45deg);
  	-moz-transform: rotate(45deg);
  	-o-transform: rotate(45deg);
}
#mobile-menu #mobile-navigation {
	margin-top: 50px;
	width: 100%;
	height: calc(100% - 60px)
}
#mobile-menu #mobile-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#mobile-menu #mobile-navigation ul li {
	font-size: 40px;
	line-height: 44px;
	letter-spacing: -0.02em;
}
#mobile-menu #mobile-navigation ul li a {
	text-decoration: none;
}
#mobile-menu #mobile-navigation ul li a:hover,
#mobile-menu #mobile-navigation ul li a:focus {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

@media (min-width: 992px) {
    #mobile-menu {
	    display: none !important;
    }
}



/* Header */

#header,
#header .content-wrapper #header-logo,
#header .content-wrapper #header-nav {
	display: flex;
	align-items: center;
}
#header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2000;
	width: 100%;
	height: 60px;
	background: rgb(255 255 255);
	transition: background .5s ease;
}
#header.bckgnd-orange {
	background: rgb(254 73 20);
}
#header.bckgnd-ltblue {
	background: rgb(224 241 255);
}
#header.bckgnd-ltgreen {
	background: rgb(220 231 194);
}
#header.bckgnd-dkgreen {
	color: #fff;
	background: rgb(44 58 16);
}
#header.bckgnd-ltcream {
	background: rgb(240 240 230);
}
#header .content-wrapper {
	display: grid;
	grid-column-gap: 24px;
	grid-template-columns: 6fr 3fr;
}
#header .content-wrapper > * {
	min-width: 0;
}
#header .content-wrapper #header-logo {
	justify-content: start;
}
#header .content-wrapper #header-logo,
#header .content-wrapper #header-logo img {
	width: 222px;
}
#header.bckgnd-dkgreen .content-wrapper #header-logo,
#header.bckgnd-dkgreen .content-wrapper #header-search {
	filter: invert(100%);
	transition: filter .5s ease;
}
#header.header-scrolled {
	color: #000 !important;
	background: #fff !important;
}
#header .content-wrapper #header-menu-button {
	position: relative;
	margin-left: auto;
	margin-right: 0;
	padding: 0;
	width: 26px;
	height: 26px;
	background: transparent;
	border: none;
}
#header .content-wrapper #header-menu-button span {
	position: absolute;
	left: 0;
	width: 26px;
	height: 2px;
	background: #000;
}
#header.bckgnd-dkgreen .content-wrapper #header-menu-button span {
	background: #fff;
}
#header .content-wrapper #header-menu-button #menu-button-top {
	top: 5px;
}
#header .content-wrapper #header-menu-button #menu-button-midleft,
#header .content-wrapper #header-menu-button #menu-button-midright {
	top: 12px;
}
#header .content-wrapper #header-menu-button #menu-button-bottom {
	top: 19px;
}
#header .content-wrapper #header-nav {
	justify-content: end;
	width: 100%;
    text-align: right;
}
#header .content-wrapper #header-nav nav {
	margin-left: auto;
	margin-right: 0;
}
#header .content-wrapper #header-nav nav #header-search {
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}
#header .content-wrapper #header-nav nav #header-search,
#header .content-wrapper #header-nav nav #header-search img {
	width: 18px;
}
#header.header-scrolled .content-wrapper #header-logo,
#header.header-scrolled .content-wrapper #header-nav nav #header-search {
	filter: invert(0%) !important;
}
#header.header-scrolled .content-wrapper #header-menu-button span {
	background: #000;
}

@media (max-width: 991px) {
	#header .content-wrapper #header-nav {
		display: none;
	}
}

@media (min-width: 992px) {
	#header {
		height: 110px;
	}
	#header .content-wrapper {
		grid-template-columns: 3fr 6fr;
	}
	#header .content-wrapper #header-logo {
		margin-left: -2px;
	}
	#header .content-wrapper #header-logo,
	#header .content-wrapper #header-nav {
		height: 100%;
	}
	#header .content-wrapper #header-logo,
	#header .content-wrapper #header-logo img {
		width: 338px;
	}
	#header .content-wrapper #header-logo img {
		height: auto;
	}
	#header .content-wrapper #header-menu-button {
		display: none;
	}
	#header .content-wrapper #header-nav nav > *,
	#header .content-wrapper #header-nav nav ul li {
		display: inline-block;
	}
	#header .content-wrapper #header-nav nav ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	#header .content-wrapper #header-nav nav ul li {
		margin-right: 15px;
	}
	#header .content-wrapper #header-nav nav ul li:last-child {
		margin-right: 0;
	}
	#header .content-wrapper #header-nav nav ul li a {
		text-decoration: none;
	}
	#header .content-wrapper #header-nav nav ul li.current-menu-item,
	#header .content-wrapper #header-nav nav ul li.current-page-item {
		text-decoration: underline;
		text-decoration-thickness: 1px;
		text-underline-offset: 2px;
	}
}



/* Footer */

.footer {
	margin-top: 15px;
	position: relative;
}
.footer .footer-top,
.footer .footer-top .footer-contact,
.footer .footer-bottom {
	display: grid;
	column-gap: 24px;
	grid-column-gap: 24px;
}
.footer .footer-top > *,
.footer .footer-top .footer-contact > *,
.footer .footer-bottom > * {
	min-width: 0;
}
.footer .footer-top {
	grid-template-columns: 1fr 4fr;
	margin-bottom: 140px;
	padding-top: 10px;
	border-top: 1px solid #000;
}
.footer .footer-top #footer-emblem,
.footer .footer-top #footer-emblem img {
	width: 55px;
	height: auto;
}
.footer .footer-top .footer-contact {
	grid-template-columns: 3fr 2fr;
}
.footer .footer-top .footer-contact,
.footer .footer-top .footer-contact > *,
.footer .footer-top .footer-contact h2,
.footer .footer-bottom #footer-copyright-desktop,
.footer .footer-bottom #footer-copyright-desktop > * {
	font-size: 15px;
	line-height: 118%;
}
.footer .footer-top .footer-contact #footer-contact-toronto,
.footer .footer-top .footer-contact #footer-contact-vancouver {
	display: none;
}
.footer .footer-top .footer-contact h2 {
	margin-bottom: 18px;
}
.footer .footer-top .footer-contact #footer-contact-links ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.footer .footer-top .footer-contact #footer-awards-mobile,
.footer .footer-top .footer-contact #footer-awards-desktop {
	display: none;
}
.footer .footer-bottom #footer-wordmark {
	display: flex;
	align-items: end;
	height: 100%;
}
.footer .footer-bottom #footer-copyright-desktop {
	display: none;
	padding-bottom: 15px;
}
.footer .footer-bottom #footer-wordmark {
	padding-bottom: 10px;
}
.footer .footer-bottom #footer-wordmark img {
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.footer .footer-top .footer-contact #footer-copyright-mobile {
		font-size: 12px;
		line-height: 16px;
	}
}

@media (min-width: 768px) {
	.footer .footer-top #footer-emblem,
	.footer .footer-top #footer-emblem img {
		width: 78px;
	}
}

@media (max-width: 991px) {
	.footer .footer-top .footer-contact #footer-contact-links h2 {
		display: none;
	}
	.footer .footer-top .footer-contact #footer-awards-mobile {
		display: block;
		margin-bottom: 15px;
		font-size: 15px;
		line-height: 118%;
	}
}

@media (min-width: 992px) {
	.footer {
		margin-top: 20px;
	}
	.footer .footer-top,
	.footer .footer-bottom {
		grid-template-columns: 5fr 9fr;
	}
	.footer .footer-top .footer-contact {
		grid-template-columns: 1fr 1fr 1fr 2fr;
	}
	.footer .footer-top .footer-contact #footer-contact-toronto,
	.footer .footer-top .footer-contact #footer-contact-vancouver,
	.footer .footer-top .footer-contact #footer-awards-desktop {
		display: block;
	}
	.footer .footer-top .footer-contact #footer-copyright-mobile {
		display: none;
	}
	.footer .footer-bottom #footer-copyright-desktop {
		display: flex;
		align-items: end;
		height: 100%;
	}
}

@media (min-width: 1200px) {
	.footer .footer-top .footer-contact {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 1300px) {
	.footer .footer-top .footer-contact {
		grid-template-columns: 1fr 1fr 1fr 2fr;
	}
}



/* COMPONENT STYLES */

/* Text Styles */

.text-wrapper {
	position: relative;
}

@media (min-width: 992px) {
	.text-drop {
		position: absolute;
		bottom: 0;
		left: 0;
	}
}

/* Image Styles */

.image-background {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 100%;
	overflow: hidden;
}
.image-crop img {
	width: 100%;
	min-width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
}

@media (max-width: 767px) {
	.image-crop {
		height: calc(100vw - 15px);
		aspect-ratio: 1 / 1;
	}
}

/* Page Title Styles */
.page-title {
	padding-top: 50px;
	padding-bottom: 15px;
}
.page-title h1 + .medium-deck {
	margin-top: 20px;
}

@media (min-width: 992px) {
	.page-title {
		padding-top: 120px;
		padding-bottom: 15px;
	}
	.page-title h1 {
		margin-left: -4px;
	}
	.page-title h1 + .medium-deck {
		margin-top: 30px;
	}
}

/* Hero (and Homepage Footer) Styles */

.page-hero {
	width: 100%;
}
#home-hero.page-hero {
	padding-top: 40px;
}
.page-hero .hero-lockup,
#home-footer .footer-lockup {
	position: relative;
	width: 100%;
}
.page-hero .hero-lockup,
.page-hero .hero-lockup .hero-animation,
#home-footer .footer-lockup,
#home-footer .footer-lockup .footer-animation {
	color: #fff;
}
.page-hero .hero-lockup .hero-animation {
	margin-top: 35px;
}
.page-hero .hero-lockup .hero-animation,
#home-footer .footer-lockup .footer-animation {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.page-hero .hero-lockup .hero-animation,
.page-hero .hero-lockup .hero-animation #hero-animation-arc .arc-mask,
#home-footer .footer-lockup .footer-animation,
#home-footer .footer-lockup .footer-animation #footer-animation-arc .arc-mask {
	overflow: hidden;
}
.page-hero .hero-lockup .hero-animation #hero-animation-open,
.page-hero .hero-lockup .hero-animation #hero-animation-close,
#home-footer .footer-lockup .footer-animation #footer-animation-open,
#home-footer .footer-lockup .footer-animation #footer-animation-close {
	position: absolute;
    animation-duration: 3s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.page-hero .hero-lockup .hero-animation #hero-animation-open,
.page-hero .hero-lockup .hero-animation #hero-animation-open p,
.page-hero .hero-lockup .hero-animation #hero-animation-close,
.page-hero .hero-lockup .hero-animation #hero-animation-close p,
#home-footer .footer-lockup .footer-animation #footer-animation-open,
#home-footer .footer-lockup .footer-animation #footer-animation-open p,
#home-footer .footer-lockup .footer-animation #footer-animation-close,
#home-footer .footer-lockup .footer-animation #footer-animation-close p {
	font-size: 17px;
	line-height: 17px;
	letter-spacing: -0.015em;
}
.page-hero .hero-lockup .hero-animation #hero-animation-open,
#home-footer.animate .footer-lockup .footer-animation #footer-animation-open {
    animation-name: animate-open;
}
.page-hero .hero-lockup .hero-animation #hero-animation-arc,
#home-footer .footer-lockup .footer-animation #footer-animation-arc {
	position: relative;
	height: 70%;
	aspect-ratio: 1 / 1;
}
.page-hero .hero-lockup .hero-animation #hero-animation-arc .arc-mask,
#home-footer .footer-lockup .footer-animation #footer-animation-arc .arc-mask {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 42%;
}
.page-hero .hero-lockup .hero-animation #hero-animation-arc .arc-mask #arc-circle,
#home-footer .footer-lockup .footer-animation #footer-animation-arc .arc-mask #arc-circle {
	position: absolute;
	bottom: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: transparent;
    border: 1px solid #fff;
    border-bottom-color: transparent;
    border-left-color: transparent;
    border-radius: 50%;
    transform: rotate(-45deg);
    animation-duration: 3s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
}
.page-hero .hero-lockup .hero-animation #hero-animation-close,
#home-footer.animate .footer-lockup .footer-animation #footer-animation-close {
    animation-name: animate-close;
}
.page-hero .image-background,
#home-footer .footer-lockup .image-background {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 100%;
	overflow: hidden;
}
.page-hero .image-background img,
#home-footer .footer-lockup .image-background img {
	width: 100%;
	min-width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
}

@media (min-width: 576px) {
	.page-hero .hero-lockup .hero-animation #hero-animation-open,
	.page-hero .hero-lockup .hero-animation #hero-animation-open p,
	.page-hero .hero-lockup .hero-animation #hero-animation-close,
	.page-hero .hero-lockup .hero-animation #hero-animation-close p,
	#home-footer .footer-lockup .footer-animation #footer-animation-open,
	#home-footer .footer-lockup .footer-animation #footer-animation-open p,
	#home-footer .footer-lockup .footer-animation #footer-animation-close,
	#home-footer .footer-lockup .footer-animation #footer-animation-close p {
		font-size: 21px;
		line-height: 102%;
		letter-spacing: -0.015em;
	}
}

@media (max-width: 767px) {
	.page-hero .hero-lockup,
	.page-hero .image-background,
	#home-footer .footer-lockup,
	#home-footer .image-background {
		height: calc((100vw - 51px)* 1.17);
		aspect-ratio: 1 / 1.17;
	}
		
}

@media (min-width: 768px) {
	.page-hero .hero-lockup,
	#home-footer .footer-lockup,
	.page-hero .hero-lockup .hero-animation #hero-animation-arc,
	#home-footer .footer-lockup .footer-animation #footer-animation-arc {
		height: 100%;
	}
	.page-hero .hero-lockup .hero-animation #hero-animation-open,
	.page-hero .hero-lockup .hero-animation #hero-animation-open p,
	.page-hero .hero-lockup .hero-animation #hero-animation-close,
	.page-hero .hero-lockup .hero-animation #hero-animation-close p,
	#home-footer .footer-lockup .footer-animation #footer-animation-open,
	#home-footer .footer-lockup .footer-animation #footer-animation-open p,
	#home-footer .footer-lockup .footer-animation #footer-animation-close,
	#home-footer .footer-lockup .footer-animation #footer-animation-close p {
		font-size: 26px;
	}
	.page-hero .image-background {
		height: calc((100vw - 51px)* .62);
	}
}

@media (min-width: 992px) {
	#home-hero.page-hero {
		padding-top: 75px;
	}
	.page-hero .hero-lockup .hero-animation #hero-animation-open,
	.page-hero .hero-lockup .hero-animation #hero-animation-open p,
	.page-hero .hero-lockup .hero-animation #hero-animation-close,
	.page-hero .hero-lockup .hero-animation #hero-animation-close p,
	#home-footer .footer-lockup .footer-animation #footer-animation-open,
	#home-footer .footer-lockup .footer-animation #footer-animation-open p,
	#home-footer .footer-lockup .footer-animation #footer-animation-close,
	#home-footer .footer-lockup .footer-animation #footer-animation-close p {
		font-size: 36px;
		line-height: 104%;
	}
	.page-hero .image-background {
		height: calc((100vw - 95px)* .62);
	}
}

@media (min-width: 1200px) {
	.page-hero .hero-lockup .hero-animation #hero-animation-open,
	.page-hero .hero-lockup .hero-animation #hero-animation-open p,
	.page-hero .hero-lockup .hero-animation #hero-animation-close,
	.page-hero .hero-lockup .hero-animation #hero-animation-close p,
	#home-footer .footer-lockup .footer-animation #footer-animation-open,
	#home-footer .footer-lockup .footer-animation #footer-animation-open p,
	#home-footer .footer-lockup .footer-animation #footer-animation-close,
	#home-footer .footer-lockup .footer-animation #footer-animation-close p {
		font-size: 36px;
		line-height: 104%;
		letter-spacing: -0.015em;
	}
}

/* Hero (and Home Footer) Animation */

@keyframes animate-open {
  0%   {opacity: 0;}
  35%  {opacity: 1;}
  100% {opacity: 1;}
}

@keyframes animate-circle-clock {
  0%   {transform: rotate(-45deg);}
  70%  {transform: rotate(135deg);}
  100% {transform: rotate(135deg);}
}

@keyframes animate-circle-counterclock {
  0%   {transform: rotate(-45deg);}
  70%  {transform: rotate(-225deg);}
  100% {transform: rotate(-225deg);}
}

@keyframes animate-close {
  0%   {opacity: 0;}
  55%  {opacity: 0;}
  85% {opacity: 1;}
  100% {opacity: 1;}
}

/* Hero Animation Variation > Homepage */

#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
	top: calc((100vw - 95px)* .35 - 40px);
	left: calc((100vw - 95px)* .15 - 25px);
}
#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
	margin-left: 6%;
	top: -16%;
    transform: rotate(20deg);
}
#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc .arc-mask #arc-circle {
    animation-name: animate-circle-counterclock;
}
#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
	top: calc((100vw - 95px)* .62 - 10px);
	right: calc((100vw - 95px)* .14 - 25px);
}

@media (min-width: 576px) {
	#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .33 - 45px);
		left: calc((100vw - 95px)* .16 - 60px);
	}
	#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: 12%;
		top: -16%;
	}
	#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .61 - 15px);
		right: calc((100vw - 95px)* .10 - 30px);
	}
}

@media (min-width: 768px) {
	#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .15 - 55px);
		left: calc((100vw - 95px)* .26 - 100px);
	}
	#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		top: -16%;
	}
	#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .34 - 5px);
		right: calc((100vw - 95px)* .17 - 45px);
	}
}

@media (min-width: 992px) {
	#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .14 - 75px);
		left: calc((100vw - 95px)* .25 - 200px);
	}
	#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		top: -16%;
	}
	#home-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .34 - 25px);
		right: calc((100vw - 95px)* .17 - 75px);
	}
}

/* Home Footer Animation */

#home-footer .footer-lockup .footer-animation #footer-animation-open {
	top: calc((100vw - 95px)* .38 - 18px);
	right: calc((100vw - 95px)* .25 - 40px);
}
#home-footer .footer-lockup .footer-animation #footer-animation-arc {
	margin-left: -10%;
	top: -5%;
    transform: rotate(-32deg);
}
#home-footer.animate .footer-lockup .footer-animation #footer-animation-arc .arc-mask #arc-circle {
    animation-name: animate-circle-clock;
}
#home-footer .footer-lockup .footer-animation #footer-animation-close {
	top: calc((100vw - 95px)* .84 - 10px);
	left: calc((100vw - 95px)* .19 - 30px);
}

@media (min-width: 576px) {
	#home-footer .footer-lockup .footer-animation #footer-animation-open {
		top: calc((100vw - 95px)* .34 - 15px);
		right: calc((100vw - 95px)* .23 - 90px);
	}
	#home-footer .footer-lockup .footer-animation #footer-animation-arc {
		top: -7%;
	}
	#home-footer .footer-lockup .footer-animation #footer-animation-close {
		top: calc((100vw - 95px)* .8 - 15px);
		left: calc((100vw - 95px)* .19 - 50px);
	}
}

@media (min-width: 768px) {
	#home-footer .footer-lockup .footer-animation #footer-animation-open {
		top: calc((100vw - 95px)* .12 - 15px);
		right: calc((100vw - 95px)* .23 - 120px);
	}
	#home-footer .footer-lockup .footer-animation #footer-animation-arc {
		top: -10%;
	}
	#home-footer .footer-lockup .footer-animation #footer-animation-close {
		top: calc((100vw - 95px)* .49 - 5px);
		left: calc((100vw - 95px)* .19 - 50px);
	}
}

@media (min-width: 992px) {
	#home-footer .footer-lockup .footer-animation #footer-animation-open {
		top: calc((100vw - 95px)* .12 - 40px);
		right: calc((100vw - 95px)* .23 - 180px);
	}
	#home-footer .footer-lockup .footer-animation #footer-animation-arc {
		top: -12%;
	}
	#home-footer .footer-lockup .footer-animation #footer-animation-close {
		top: calc((100vw - 95px)* .49 - 50px);
		left: calc((100vw - 95px)* .19 - 130px);
	}
}

/* Hero Animation Variation > Approach */

#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
	top: calc((100vw - 95px)* .29 - 12px);
	left: calc((100vw - 95px)* .15 - 30px);
}
#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
	margin-left: 5%;
	top: -12%;
    transform: rotate(30deg);
}
#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc .arc-mask #arc-circle {
    animation-name: animate-circle-counterclock;
}
#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
	top: calc((100vw - 95px)* .74 - 12px);
	right: calc((100vw - 95px)* .16 - 30px);
}

@media (min-width: 576px) {
	#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .30 - 18px);
		left: calc((100vw - 95px)* .14 - 50px);
	}
	#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: 5%;
	}
	#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .73 - 16px);
		right: calc((100vw - 95px)* .16 - 60px);
	}
}

@media (min-width: 768px) {
	#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .10 - 25px);
		left: calc((100vw - 95px)* .24 - 105px);
	}
	#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: 5%;
		top: -15%;
	}
	#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .41 - 15px);
		right: calc((100vw - 95px)* .23 - 105px);
	}
}

@media (min-width: 992px) {
	#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .12 - 45px);
		left: calc((100vw - 95px)* .24 - 150px);
	}
	#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: 5%;
		top: -12%;
	}
	#approach-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .41 - 25px);
		right: calc((100vw - 95px)* .23 - 160px);
	}
}

/* Hero Animation Variation > Services */

#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
	top: calc((100vw - 95px)* .28 - 12px);
	right: calc((100vw - 95px)* .20 - 35px);
}
#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
	margin-left: -10%;
	top: -12%;
    transform: rotate(-32deg);
}
#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc .arc-mask #arc-circle {
    animation-name: animate-circle-clock;
}
#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
	top: calc((100vw - 95px)* .75 - 8px);
	left: calc((100vw - 95px)* .16 - 25px);
}

@media (min-width: 576px) {
	#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .27 - 10px);
		right: calc((100vw - 95px)* .18 - 70px);
	}
	#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: -10%;
	}
	#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .74 - 15px);
		left: calc((100vw - 95px)* .15 - 50px);
	}
}

@media (min-width: 768px) {
	#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .08 - 20px);
		right: calc((100vw - 95px)* .28 - 90px);
	}
	#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: -10%;
		top: -15%;
	}
	#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .42 - 18px);
		left: calc((100vw - 95px)* .21 - 60px);
	}
}

@media (min-width: 992px) {
	#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .11 - 45px);
		right: calc((100vw - 95px)* .26 - 125px);
	}
	#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: -10%;
		top: -12%;
	}
	#services-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .43 - 40px);
		left: calc((100vw - 95px)* .21 - 160px);
	}
}

/* Hero Animation Variation > Team */

#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
	top: calc((100vw - 95px)* .3 - 12px);
	left: calc((100vw - 95px)* .14 - 20px);
}
#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
	margin-left: 5%;
	top: -12%;
    transform: rotate(30deg);
}
#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc .arc-mask #arc-circle {
    animation-name: animate-circle-counterclock;
}
#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
	top: calc((100vw - 95px)* .77 - 20px);
	right: calc((100vw - 95px)* .16 - 30px);
}

@media (min-width: 576px) {
	#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .3 - 20px);
		left: calc((100vw - 95px)* .14 - 40px);
	}
	#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: 5%;
	}
	#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .73 - 15px);
		right: calc((100vw - 95px)* .16 - 40px);
	}
}

@media (min-width: 768px) {
	#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .09 - 24px);
		left: calc((100vw - 95px)* .24 - 130px);
	}
	#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: 5%;
		top: -16%;
	}
	#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .41 - 22px);
		right: calc((100vw - 95px)* .23 - 130px);
	}
}

@media (min-width: 992px) {	
	#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .12 - 45px);
		left: calc((100vw - 95px)* .24 - 200px);
	}
	#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: 5%;
		top: -12%;
	}
	#team-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .41 - 25px);
		right: calc((100vw - 95px)* .23 - 185px);
	}
}

/* Hero Animation Variation > Opportunities */

#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
	top: calc((100vw - 95px)* .3 - 12px);
	left: calc((100vw - 95px)* .15 - 20px);
}
#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
	margin-left: 5%;
	top: -12%;
    transform: rotate(30deg);
}
#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc .arc-mask #arc-circle {
    animation-name: animate-circle-counterclock;
}
#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
	top: calc((100vw - 95px)* .77 - 20px);
	right: calc((100vw - 95px)* .18 - 30px);
}

@media (min-width: 576px) {
	#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .3 - 20px);
		left: calc((100vw - 95px)* .16 - 60px);
	}
	#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .72 - 12px);
		right: calc((100vw - 95px)* .16 - 60px);
	}
}

@media (min-width: 768px) {
	#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .09 - 25px);
		left: calc((100vw - 95px)* .24 - 130px);
	}
	#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: 5%;
		top: -16%;
	}
	#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .41 - 25px);
		right: calc((100vw - 95px)* .23 - 130px);
	}
}

@media (min-width: 992px) {
	#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-open {
		top: calc((100vw - 95px)* .12 - 45px);
		left: calc((100vw - 95px)* .24 - 200px);
	}
	#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-arc {
		margin-left: 5%;
		top: -12%;
	}
	#opportunities-hero.page-hero .hero-lockup .hero-animation #hero-animation-close {
		top: calc((100vw - 95px)* .41 - 25px);
		right: calc((100vw - 95px)* .23 - 180px);
	}
}

/* Lead Styles */

.lead-home,
.lead-text,
.lead-subnav,
.lead-combined {
	margin-top: 15px;
}
.lead-home,
.lead-text,
.lead-combined {
	margin-bottom: 90px;
}
.lead-subnav {
	position: relative;
	z-index: 500;
	padding-bottom: 90px;
}
.lead-subnav a,
.lead-combined .content-wrapper .subnav-wrapper a {
	display: block;
	text-decoration: none;
}
.lead-subnav a:hover,
.lead-subnav a:focus,
.lead-combined .content-wrapper .subnav-wrapper a:hover,
.lead-combined .content-wrapper .subnav-wrapper a:focus {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

@media (max-width: 767px) {
	.lead-home h1 {
		margin-bottom: 15px;
	}
	.lead-home .small-body,
	#home-lead #home-awards.small-body,
	#home-lead #home-awards.small-body p {
		font-size: 12px;
		line-height: 118%;
	}
	#team-lead.lead-text {
		margin-top: 25px;
	}
	.lead-combined .subnav-wrapper {
		margin-bottom: 80px;
	}
}

@media (min-width: 768px) {
	.lead-home,
	.lead-text {
		margin-top: 25px;
	}
	.lead-home,
	.lead-text {
		margin-bottom: 180px;
	}
	.lead-home .lead-wrapper,
	.lead-combined .content-wrapper {
		display: grid;
		grid-column-gap: 24px;
		grid-template-columns: 5fr 9fr;
	}
	.lead-home .lead-wrapper > * ,
	.lead-combined .content-wrapper > * {
		min-width: 0;
	}
	.lead-text .text-wrapper {
		width: 75%;
	}
	.lead-text,
	.lead-combined {
		margin-bottom: 120px;
	}
	.lead-subnav,
	.lead-combined {
		position: relative;
		margin-top: 20px;
		z-index: 500;
	}
	.lead-subnav {
		min-height: 180px;
	}
	.lead-combined .content-wrapper .text-wrapper {
		padding-top: 120px;
	}
	.lead-combined .content-wrapper .text-wrapper .medium-deck + .small-body {
		margin-top: 50px;
	}
}

@media (min-width: 992px) {
	.lead-home,
	.lead-text {
		margin-top: 35px;
	}
	.lead-home {
		margin-bottom: 310px;
	}
	.lead-subnav {
		min-height: 240px;
	}
	#opportunities-lead.lead-combined {
		margin-bottom: 180px;
	}
}

/* Heading Styles */

.heading-band {
	display: flex;
	align-items: center;
	height: 50px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.heading-band h2 {
	margin-bottom: 0;
}

/* CTA Styles */

.cta .text-wrapper {
	padding-top: 95px;
	padding-left: 5%;
	padding-right: 5%;
	padding-bottom: 90px;
	border-top: 1px solid #000;
}
.cta .text-wrapper a {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

@media (min-width: 768px) {
	.cta .text-wrapper {
	    padding-left: 10%;
	    padding-right: 10%;
	}
}

@media (min-width: 992px) {
	.cta .text-wrapper {
		padding-top: 150px;
		padding-left: 18%;
		padding-right: 18%;
		padding-bottom: 150px;
		text-align: center;
	}
}



/* CARD STYLES */

/* Process Card Styles */

.card-process {
	padding: 15px 20px 20px;
	width: 100%;
	height: calc((100vw - 43px)* 1.5);
	max-height: 650px;
	aspect-ratio: 1 / 1;
	background: #eff5e3;
}
.card-process .text-wrapper {
	width: 100%;
	height: 100%;
}

@media (min-width: 576px) {
	.card-process {
		height: calc((100vw - 43px)* .74);
		aspect-ratio: 1 / .75;
	}
}

@media (min-width: 768px) {
	.card-process {
		height: calc((100vw - 87px)* .7);
		aspect-ratio: 1 / 2;
	}
}

@media (max-width: 991px) {
	.card-process .text-drop {
		position: absolute;
		bottom: 0;
		left: 0;
	}
}

@media (min-width: 992px) {
	.card-process {
		height: calc((100vw - 109px)* .6);
		aspect-ratio: 1 / 1.6;
	}
}

/* History Card Styles */

.card-history,
.card-history .image-wrapper {
	margin: 0;
	padding: 0;
	width: 100%;
}
.card-history {
	min-height: 105vw;
}
.card-history .image-wrapper {
	display: flex;
	align-items: flex-start;
	max-height: calc(105vw - 60px);
	overflow: hidden;
}
.card-history .image-wrapper img {
	width: 100%;
	height: auto;
}
.card-history .image-caption {
	padding-top: 10px;
}
.card-history .image-caption,
.card-history .image-caption p {
	font-size: 14px;
	line-height: 16px;
}

@media (min-width: 768px) {
	.card-history {
		min-height: 80vw;
	}
	.card-history .image-wrapper {
		max-height: calc(80vw - 60px);
	}
}

@media (min-width: 992px) {
	.card-history {
		min-height: 45vw;
	}
	.card-history .image-wrapper {
		max-height: calc(45vw - 60px);
	}
}

/* Team Card Styles */

.card-team {
	display: block;
	margin-bottom: 50px;
	text-decoration: none;
}
.card-team:hover,
.card-team:focus {
	text-decoration: underline;
}
.card-team .image-wrapper {
	display: flex;
	align-items: start;
	justify-content: center;
	margin: 0;
	margin-bottom: 10px;
	padding: 0;
	width: 100%;
	aspect-ratio: 1 / 1.25;
	overflow: hidden;	
}
.card-team .image-wrapper img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: cover;
    transform-origin: top;
	transition: transform .3s ease;
}
.card-team:hover .image-wrapper img,
.card-team:focus .image-wrapper img {
	zoom: 1.05; /* Old IE only */
    -moz-transform: scale(1.05);
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}
.card-team .text-wrapper,
.card-team .text-wrapper p,
.card-team .text-wrapper h3 {
	font-weight: normal;	
	font-size: 16px;
	line-height: 118%;
}

@media (min-width: 992px) {
	.card-team .text-wrapper,
	.card-team .text-wrapper p,
	.card-team .text-wrapper h3 {
		font-size: 18px;
	}
}

/* Testimonial Card Styles */

.card-testimonial {
	display: block;
}
.card-testimonial .testimonial-quote,
.card-testimonial .testimonial-attribution {
	padding-left: 10%;
	padding-right: 10%;
	text-align: center;
}
.card-testimonial .testimonial-quote {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 200px;
}
.card-testimonial .testimonial-attribution {
	margin-top: 25px;
	height: 70px;
}
.card-testimonial .testimonial-attribution p::before {
	margin-right: 5px;
	content: '\2013';
}

@media (min-width: 576px) {
	.card-testimonial .testimonial-attribution {
		padding-left: 20%;
		padding-right: 20%;
	}
}

@media (min-width: 768px) {
	.card-testimonial .testimonial-quote {
		padding-left: 15%;
		padding-right: 15%;
	}
	.card-testimonial .testimonial-attribution {
		padding-left: 25%;
		padding-right: 25%;
	}
}

@media (min-width: 992px) {
	.card-testimonial .testimonial-quote {
		height: 320px;
	}
	.card-testimonial .testimonial-attribution {
		margin-top: 35px;
		padding-left: 30%;
		padding-right: 30%;
		height: 90px;
	}
}

@media (min-width: 1200px) {
	.card-testimonial .testimonial-quote {
		padding-left: 20%;
		padding-right: 20%;
	}
	.card-testimonial .testimonial-attribution {
		padding-left: 35%;
		padding-right: 35%;
	}
}



/* PAGE-SPECIFIC STYLES */

/* Homepage Styles */

#home-wrapper #home-lead #home-awards {
	margin-top: 15px;
	max-width: 300px;
}
#home-wrapper #home-approach {
	margin-bottom: 85px;
}
#home-wrapper #home-approach #home-approach-image-mobile,
#home-wrapper #home-services #home-services-image,
#home-wrapper #home-team #home-team-image-mobile {
	margin-bottom: 15px;
}
#home-wrapper #home-approach #home-approach-image-desktop,
#home-wrapper #home-focus #home-focus-image,
#home-wrapper #home-team #home-team-image-desktop {
	display: none;
}
#home-wrapper #home-services {
	margin-bottom: 55px;
}
#home-wrapper #home-focus,
#home-wrapper #home-team,
#home-wrapper #home-team {
	margin-bottom: 70px;
}
#home-wrapper #home-footer {
	width: 100%;
	overflow: hidden;
}

@media (max-width: 767px) {
	#home-lead #home-awards {
		margin-bottom: 30px;
	}
}

@media (min-width: 768px) {
	#home-wrapper #home-approach {
		margin-bottom: 190px;
	}
	#home-wrapper #home-approach .content-wrapper,
	#home-wrapper #home-services .content-wrapper,
	#home-wrapper #home-focus .content-wrapper,
	#home-wrapper #home-team .content-wrapper {
		display: grid;
		grid-column-gap: 24px;
	}
	#home-wrapper #home-approach .content-wrapper > * ,
	#home-wrapper #home-services .content-wrapper > * ,
	#home-wrapper #home-focus .content-wrapper > * ,
	#home-wrapper #home-team .content-wrapper > * {
		min-width: 0;
	}
	#home-wrapper #home-approach #home-approach-image-mobile,
	#home-wrapper #home-services #home-services-image,
	#home-wrapper #home-team #home-team-image-mobile {
		display: none;
	}
	#home-wrapper #home-approach #home-approach-image-desktop,
	#home-wrapper #home-focus #home-focus-image,
	#home-wrapper #home-team #home-team-image-desktop {
		display: block;
	}
	#home-wrapper #home-approach .content-wrapper,	
	#home-wrapper #home-team .content-wrapper {
		grid-template-columns: 9fr 5fr;
	}
	#home-wrapper #home-services .content-wrapper {
		grid-template-columns: 3fr 4fr;
	}
	#home-wrapper #home-focus {
		margin-bottom: 140px;
	}
	#home-wrapper #home-focus .content-wrapper {	
		grid-template-columns: 9fr 7fr;
	}
	#home-wrapper #home-team {
		margin-bottom: 100px;
	}
	#home-wrapper #home-footer {
		aspect-ratio: 1 / .7;
	}
}

@media (min-width: 992px) {
	#home-wrapper #home-approach {
		margin-bottom: 300px;
	}
	#home-wrapper #home-approach .content-wrapper .image-crop {
		aspect-ratio: 1 / .7;
	}
	#home-wrapper #home-approach .content-wrapper .text-wrapper,
	#home-wrapper #home-team .content-wrapper .text-wrapper {
		padding-bottom: 75%;
	}
	#home-wrapper #home-services {
		margin-bottom: 70px;
	}
	#home-wrapper #home-services .content-wrapper .text-wrapper:first-child {
		padding-right: 8vw;
	}
	#home-wrapper #home-services .content-wrapper .text-wrapper:last-child {
		padding-right: 22vw;
	}
	#home-wrapper #home-focus {
		margin-bottom: 240px;
	}
	#home-wrapper #home-focus .content-wrapper .image-crop {
		aspect-ratio: 1 / 1;
	}
	#home-wrapper #home-team {
		margin-bottom: 135px;
	}
	#home-wrapper #home-team .content-wrapper .image-crop {
		aspect-ratio: 1 / .65;
	}
	#home-wrapper #home-footer .image-crop {
		height: calc((100vw - 95px)* .7);
	}
}

/* Approach Styles */

#approach-wrapper #approach-how {
	margin-bottom: 25px;
}
#approach-wrapper #approach-how .slider-wrapper {
	margin-top: 15px;
	padding-left: 18px;
}
#approach-wrapper #approach-beliefs {
	margin-top: 25px;
}
#approach-wrapper #approach-history {
	padding-top: 25px;
}
#approach-wrapper #approach-how .lSAction > .lSNext {
	right: 15px;
	background-image: url(../imgs/pst-carousel-arrow.png);
	background-size: 40px 27px;
	background-position: center;
	background-repeat: no-repeat;
}
#approach-wrapper #approach-beliefs .heading-band + .content-wrapper,
#approach-wrapper #approach-beliefs .content-wrapper + .content-wrapper {
	margin-top: 50px;
}
#approach-wrapper #approach-beliefs {
	margin-bottom: 70px;
}
#approach-wrapper #approach-testimonials .slider-wrapper {
	padding-bottom: 100px;
}
#approach-wrapper #approach-testimonials .slider-wrapper .lSPager.lSpg > li a {
	width: 12px;
	height: 12px;
	background: #d9d9d9;
}
#approach-wrapper #approach-testimonials .slider-wrapper .lSPager.lSpg > li.active a {
	background: #000;
}
#approach-wrapper #approach-history {
	padding-bottom: 75px;
}
#approach-wrapper #approach-history .slider-wrapper {
	margin-top: 15px;
	margin-bottom: 30px;
}
#approach-wrapper #approach-history .content-float .content-wrapper .history-text + .history-heading {
	margin-top: 20px;
}
#approach-wrapper #approach-history .content-float .content-wrapper .history-heading h3 {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 16px;
	line-height: 118%;
}

@media (max-width: 991px) {
	#approach-wrapper #approach-beliefs .content-wrapper h3 {
		margin-bottom: 20px;
	}
}

@media (min-width: 992px) {
	#approach-wrapper #approach-how .lSAction > .lSNext {
		right: 55px;
	}
	#approach-wrapper #approach-how .slider-wrapper {
		margin-top: 20px;
		padding-left: 40px;
	}
	#approach-wrapper #approach-beliefs {
		margin-bottom: 150px;
	}
	#approach-wrapper #approach-beliefs .content-wrapper,
	#approach-wrapper #approach-history .content-float {
		display: grid;
		grid-column-gap: 24px;
	}
	#approach-wrapper #approach-beliefs .content-wrapper > *,
	#approach-wrapper #approach-history .content-float .content-wrapper > *,
	#approach-wrapper #approach-history .content-float > * {
		min-width: 0;
	}
	#approach-wrapper #approach-beliefs .content-wrapper {
		grid-template-columns: 4fr 8fr;
	}
	#approach-wrapper #approach-beliefs .heading-band + .content-wrapper,
	#approach-wrapper #approach-history .slider-wrapper {
		margin-top: 70px;
	}
	#approach-wrapper #approach-beliefs .content-wrapper + .content-wrapper {
		margin-top: 90px;
	}
	#approach-wrapper #approach-beliefs .content-wrapper .text-wrapper {
		padding-right: 5%;
	}
	#approach-wrapper #approach-testimonials .slider-wrapper {
		padding-bottom: 160px;
	}
	#approach-wrapper #approach-history {
		padding-bottom: 170px;
	}
	#approach-wrapper #approach-history .slider-wrapper {
		margin-left: calc((100vw - 55px) *.358);
		margin-bottom: 75px;
	}
	#approach-wrapper #approach-history .content-float {
		grid-template-columns: 5fr 9fr;
	}
	#approach-wrapper #approach-history .content-float .content-wrapper {
		padding-right: 15%;
	}
}

@media (min-width: 1200px) {
	#approach-wrapper #approach-history .content-float .content-wrapper {
		padding-right: 35%;
	}
}

/* Services Styles */

#services-wrapper #services-services .content-wrapper,
#services-wrapper #services-focus .content-wrapper {
	margin-top: 30px;
}
#services-wrapper #services-services #services-services-image-mobile {
	margin-top: 65px;
}
#services-wrapper #services-services #services-services-image-desktop {
	display: none;
}
#services-wrapper #services-focus {
	padding-top: 20px;
	padding-bottom: 90px;
}
#services-wrapper #services-focus p .link-arrow {
    display: block;
    padding-top: 10px;
}
#services-wrapper #services-focus .content-wrapper .text-wrapper {
	border-top: 1px solid #000;
}

@media (min-width: 768px) {	
    #services-wrapper #services-services #services-services-image-mobile {
		margin-bottom: 65px;
    }
}

@media (min-width: 992px) {
	#services-wrapper #services-services .content-wrapper,
	#services-wrapper #services-focus .content-wrapper {
		display: grid;
		grid-column-gap: 24px;
	}
	#services-wrapper #services-services .content-wrapper > *,
	#services-wrapper #services-focus .content-wrapper > * {
		min-width: 0;
	}
	#services-wrapper #services-services .content-wrapper {
		grid-template-columns: 9fr 7fr;
		margin-top: 70px;
		margin-bottom: 140px;
	}
	#services-wrapper #services-services .content-wrapper .prompt-wrapper {
		position: relative;
		padding-right: 30%;
		padding-bottom: 300px;
	}
	#services-wrapper #services-services #services-services-image-mobile {
		display: none;
	}
	#services-wrapper #services-services #services-services-image-desktop {
		display: block;
	}
	#services-wrapper #services-services .content-wrapper .prompt-wrapper .image-wrapper {
		position: absolute;
		left: 0;
		bottom: 0;
	}
	#services-wrapper #services-services .content-wrapper .prompt-wrapper .image-wrapper,
	#services-wrapper #services-services .content-wrapper .prompt-wrapper .image-wrapper img {
		width: 400px;
		max-width: 400px;
		height: auto;
	}
	#services-wrapper #services-focus .content-wrapper {
		grid-template-columns: 5fr 9fr;
		padding-top: 60px;
		padding-bottom: 380px;
	}
	#services-wrapper #services-focus .content-wrapper .text-wrapper {
		grid-column: 2;
	}
}

/* Team & Team Profile Styles */

#team-wrapper .team-series {
	margin-top: 40px;
}
#team-wrapper .team-series,
#team-wrapper #team-profile .content-wrapper {
	display: grid;
	grid-column-gap: 24px;
}
#team-wrapper .team-series > *,
#team-wrapper #team-profile .content-wrapper > * {
	min-width: 0;
}
#team-wrapper .team-series {
	grid-template-columns: repeat(2, 1fr);
}
#services-wrapper #services-services .content-wrapper {
	margin-top: 30px;
}
#team-wrapper #team-profile .content-wrapper {
	margin-bottom: 90px;
}
#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-credentials {
	padding-top: 15px;
	padding-bottom: 15px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-credentials .credentials-contact {
	list-style: none;
	padding: 0;
}
#team-wrapper #team-profile .content-wrapper .text-wrapper #credentials-desktop,
#team-wrapper #team-profile #team-profile-image-desktop {
	display: none;
}
#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-credentials dl:last-child,
#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-credentials dl dd {
	margin-bottom: 0;
}
#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-credentials dl dt {
	font-weight: bold;
}
#team-wrapper #team-profile #team-profile-image-mobile,
#team-wrapper #team-profile #team-profile-image-mobile img {
	width: 100%;
}
#team-wrapper #team-profile #team-profile-image-mobile {
	margin-bottom: 25px;
}

@media (max-width: 767px) {
	#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-links .links-left {
		margin-bottom: 15px;
	}
}

@media (min-width: 768px) {
	#team-wrapper .team-series {
		grid-column-gap: 24px;
		grid-template-columns: repeat(3, 1fr);
	}
	#team-wrapper #team-profile {
		margin-top: 55px;
	}
	#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-links {
		display: grid;
		grid-column-gap: 24px;
		grid-template-columns: 5fr 7fr;
	}
	#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-links > * {
		min-width: 0;
	}	
	#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-links .links-right {
		display: flex;
		justify-content: end;
	}
	#team-wrapper #team-profile .content-wrapper .text-wrapper #credentials-mobile,
	#team-wrapper #team-profile #team-profile-image-mobile {
		display: none;
	}
	#team-wrapper #team-profile .content-wrapper .text-wrapper #credentials-desktop {
		display: grid;
	}
	#team-wrapper #team-profile .content-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
	#team-wrapper #team-profile #team-profile-image-desktop {
		display: flex;
	}
	#team-wrapper #team-profile .content-wrapper .image-wrapper {
		align-items: flex-start;
		justify-content: center;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}
	#team-wrapper #team-profile .content-wrapper .image-wrapper img {
		width: 100%;
		max-width: 100%;
		height: unset;
		max-height: unset;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	#team-wrapper #team-additionalteam .team-series .card-team:nth-last-child(-n+2) {
		display: none;
	}
}

@media (max-width: 991px) {
	#team-wrapper #team-profile .team-profile-heading,
	#team-wrapper #team-profile .content-wrapper .team-profile-credentials {
		margin-bottom: 25px;
	}
	#team-wrapper #team-profile .content-wrapper .team-profile-bio {
		margin-bottom: 40px;
	}
}

@media (min-width: 992px) {
	#team-wrapper .team-series {
		grid-column-gap: 24px;
		grid-template-columns: repeat(4, 1fr);
		margin-top: 70px;
		margin-bottom: 150px;
	}
	#team-wrapper #team-profile {
		margin-top: 160px;
	}
	#team-wrapper #team-profile .content-wrapper {
		display: grid;
		grid-auto-rows: 1fr;
		grid-column-gap: 24px;
		margin-bottom: 135px;
	}
	#team-wrapper #team-profile .content-wrapper > * {
		min-width: 0;
	}
	#team-wrapper #team-profile .content-wrapper .text-wrapper {
		padding-right: 6vw;
	}
	#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-heading,
	#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-credentials {
		margin-bottom: 35px;
	}
	#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-links {
		margin-top: 85px;
	}
	#team-wrapper #team-profile .content-wrapper .image-wrapper img {
		height: 100%;
		max-height: 100%;
		object-fit: cover;
	}
}

@media (max-width: 1299px) {
	#team-wrapper #team-profile .team-profile-credentials .credentials-right {
		margin-top: 15px;
	}
}

@media (min-width: 1300px) {
	#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-credentials {
		grid-column-gap: 24px;
		grid-template-columns: repeat(2, 1fr);
	}
	#team-wrapper #team-profile .content-wrapper .text-wrapper .team-profile-credentials > * {
		min-width: 0;
	}
}

/* Opportunities Styles */

#opportunities-wrapper #opportunities-openings .content-wrapper,	
#opportunities-wrapper #opportunities-students .content-wrapper {
	margin-bottom: 70px;
}
#opportunities-wrapper #opportunities-openings .opportunities-openings-lead {
	margin-bottom: 40px;
	padding-top: 30px;
}
#opportunities-wrapper #opportunities-students .heading-band,
#opportunities-wrapper #opportunities-scholarship .heading-band {
	margin-bottom: 30px;
}
#opportunities-wrapper #opportunities-students h3,
#opportunities-wrapper #opportunities-scholarship h3 {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 16px;
	line-height: 118%;
}
#opportunities-wrapper #opportunities-students p + h3,
#opportunities-wrapper #opportunities-students ol + h3,
#opportunities-wrapper #opportunities-students ul + h3,
#opportunities-wrapper #opportunities-scholarship p + h3,
#opportunities-wrapper #opportunities-scholarship ol + h3,
#opportunities-wrapper #opportunities-scholarship ul + h3 {
	margin-top: 20px;
}
#opportunities-wrapper #opportunities-scholarship {
	margin-bottom: 75px;
}
#opportunities-wrapper #opportunities-scholarship .image-wrapper,
#opportunities-wrapper #opportunities-scholarship .image-wrapper img {
	width: 100%;
}
#opportunities-wrapper #opportunities-scholarship .image-wrapper img {
	height: auto;
}
#opportunities-wrapper #opportunities-students button,
#opportunities-wrapper #opportunities-scholarship button {
	padding-left: 0;
	line-height: 18px;
	color: #000;
	text-align: left;
	background: transparent;
	border: none;
	border-radius: 0;
}
#opportunities-wrapper #opportunities-students button::after,
#opportunities-wrapper #opportunities-scholarship button::after {
	font-family: "Antique Legacy", Arial, sans-serif !important;
	content: '\00A0\2193';
}
#opportunities-wrapper #opportunities-students button[aria-expanded="true"]::after,
#opportunities-wrapper #opportunities-scholarship button[aria-expanded="true"]::after {
	font-family: "Antique Legacy", Arial, sans-serif !important;
	content: '\00A0\2191';
}
#opportunities-wrapper .opportunities-form {
	padding-top: 30px;
}
#opportunities-wrapper .opportunities-form label,
#opportunities-wrapper .opportunities-form input[type=text],
#opportunities-wrapper .opportunities-form input[type=tel],
#opportunities-wrapper .opportunities-form input[type=email] {
	width: 100%;
	min-width: 100%;
	max-width: 100%;
}
#opportunities-wrapper .opportunities-form input[type=text],
#opportunities-wrapper .opportunities-form input[type=tel],
#opportunities-wrapper .opportunities-form input[type=email] {
	margin-top: 5px;
	margin-bottom: 5px;
	padding: 15px;
	border: 1px solid #000;
	border-radius: 0;
}
#opportunities-wrapper .opportunities-form .form-uploads {
	margin-top: 20px;
	margin-bottom: 20px;
}
#opportunities-wrapper .opportunities-form input[type=file] {
	margin-top: 20px;
	margin-bottom: 20px;
}
#opportunities-wrapper .opportunities-form input[type=submit] {
	padding: 14px 15px 16px 15px;
	color: #fff;
	background: #666;
	border: 0;
	border-radius: 0;
	transition: background .5s ease;
}
#opportunities-wrapper .opportunities-form input[type=submit]:hover {
	background: #000;
}
#opportunities-wrapper .opportunities-form p + p {
	margin-top: 0;
}
#opportunities-wrapper .opportunities-form .wpcf7-not-valid-tip {
	color: #fe4914 !important;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	margin-left: 0;
	padding: 0;
	color: #fe4914 !important;
	border: none;
}
.wpcf7 form.sent .wpcf7-response-output {
  border: none !important;
}
.wpcf7 form .wpcf7-response-output {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

@media (min-width: 576px) and (max-width: 767px) {
	#opportunities-wrapper .opportunities-form .form-twocol {
		display: grid;
		grid-column-gap: 24px;
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	#opportunities-wrapper #opportunities-scholarship .image-wrapper {
		margin-bottom: 20px;
	}
}

@media (min-width: 768px) {
	#opportunities-wrapper #opportunities-openings .content-wrapper,
	#opportunities-wrapper #opportunities-scholarship .content-wrapper,
	#opportunities-wrapper #opportunities-students .content-wrapper {
		display: grid;
		grid-column-gap: 24px;
		grid-template-columns: 5fr 9fr;
		margin-bottom: 190px;
	}
	#opportunities-wrapper #opportunities-openings .content-wrapper > * ,	
	#opportunities-wrapper #opportunities-students .content-wrapper > * ,
	#opportunities-wrapper #opportunities-scholarship .content-wrapper > * {
		min-width: 0;
	}
	#opportunities-wrapper #opportunities-openings .content-wrapper .text-wrapper ,	
	#opportunities-wrapper #opportunities-students .content-wrapper .text-wrapper,
	#opportunities-wrapper #opportunities-scholarship .content-wrapper .text-wrapper {
		grid-column: 2;
	}
	#opportunities-wrapper #opportunities-openings .content-wrapper,	
	#opportunities-wrapper #opportunities-students .content-wrapper {
		margin-bottom: 130px;
	}
	#opportunities-wrapper #opportunities-scholarship .image-wrapper,
	#opportunities-wrapper #opportunities-scholarship .image-wrapper img {
		width: 250px;
	}
}

@media (min-width: 992px) {
	#opportunities-wrapper #opportunities-openings .opportunities-openings-lead {
		padding-top: 70px;
	}
	#opportunities-wrapper #opportunities-students .content-wrapper,
	#opportunities-wrapper #opportunities-scholarship .content-wrapper {
		margin-top: 70px;
	}
	#opportunities-wrapper .opportunities-form .form-twocol {	
		display: grid;
		grid-column-gap: 24px;
		grid-template-columns: repeat(2, 1fr);
	}
}


/* Contact Styles */

#contact-wrapper .content-wrapper {
	margin-bottom: 90px;
}
#contact-wrapper .content-wrapper .contact-location h2 + p {
	margin-top: 15px;
}
#contact-wrapper .content-wrapper .contact-location .map-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
#contact-wrapper .content-wrapper .contact-location .map-wrapper img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: cover;
}

@media (max-width: 767px) {
	#contact-wrapper #contact-title {
		margin-bottom: 45px;
	}
	#contact-wrapper #contact-locations .contact-location + .contact-location {
		margin-top: 70px;
	}
}

@media (min-width: 768px) {
	#contact-wrapper .content-wrapper {
		display: grid;
		grid-column-gap: 24px;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 60px;
	}
	#contact-wrapper .content-wrapper > * {
		min-width: 0;
	}
	#contact-wrapper .content-wrapper .contact-location .map-wrapper {
		aspect-ratio: 1 / 0.714;
	}
}

@media (min-width: 992px) {
	#contact-wrapper .content-wrapper {
		margin-top: 110px;
		margin-bottom: 220px;
	}
}

/* Generic Page Styles */

#generic-wrapper {
	padding-bottom: 70px;
}
#generic-wrapper #generic-content {
	margin-top: 50px;
}
#generic-wrapper #generic-content h2 {
    margin-bottom: 15px;
	font-size: 22px;
	line-height: 24px;
}
#generic-wrapper #generic-content .content-block {
	margin-bottom: 70px;
}
#generic-wrapper #generic-content .block-heading-standard h2 {
	margin-bottom: 15px;
	font-size: 18px;
    line-height: 20px;
    letter-spacing: -0.015em;
}
#generic-wrapper #generic-content .block-heading-full h2 {
	margin-bottom: 0;
}
#generic-wrapper form label,
#generic-wrapper form input[type=text],
#generic-wrapper form input[type=tel],
#generic-wrapper form input[type=email] {
	width: 100%;
	min-width: 100%;
	max-width: 100%;
}
#generic-wrapper form input[type=text],
#generic-wrapper form input[type=tel],
#generic-wrapper form input[type=email] {
	margin-top: 5px;
	margin-bottom: 5px;
	padding: 15px;
	border: 1px solid #000;
	border-radius: 0;
}
#generic-wrapper form .form-uploads {
	margin-top: 20px;
	margin-bottom: 20px;
}
#generic-wrapper form input[type=file] {
	margin-top: 20px;
	margin-bottom: 20px;
}
#generic-wrapper form input[type=submit] {
	padding: 14px 15px 16px 15px;
	color: #fff;
	background: #666;
	border: 0;
	border-radius: 0;
	transition: background .5s ease;
}
#generic-wrapper form input[type=submit]:hover {
	background: #000;
}
#generic-wrapper form p + p {
	margin-top: 0;
}
#generic-wrapper form .wpcf7-not-valid-tip {
	color: #fe4914 !important;
}

@media (min-width: 576px) and (max-width: 767px) {
	#generic-wrapper form .form-twocol {
		display: grid;
		grid-column-gap: 24px;
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 768px) {
	#generic-wrapper #generic-title #generic-lead {
		width: 90%;
	}
}

@media (min-width: 992px) {
	#generic-wrapper {
		padding-bottom: 190px;
	}
	#generic-wrapper #generic-title #generic-lead {
		margin-bottom: 40px;
	}
	#generic-wrapper #generic-content {
		margin-top: 65px;
	}
	#generic-wrapper #generic-content .block-heading-standard h2 {
		font-size: 22px;
    	line-height: 24px;
	}
	#generic-wrapper #generic-content .block-heading-full h2 {
		font-size: 18px;
		line-height: 118%;
	}
	#generic-wrapper #generic-title #generic-lead,
	#generic-wrapper .block-text {
		width: 50%;
	}
	#generic-wrapper form .form-twocol {	
		display: grid;
		grid-column-gap: 24px;
		grid-template-columns: repeat(2, 1fr);
	}
}