/* Resets */
* {box-sizing: border-box;}
:last-child {margin-bottom:0;}


/* BS updates */
:root {    
    --container-gutter-y: calc(var(--grid-gutter) * 3);    
    --grid-gutter: 25px;
	--grid-gutter-x: var(--grid-gutter);
    --grid-gutter-y: var(--grid-gutter);
    --sticky-top-z:1020;
    --content-spacer: calc(var(--grid-gutter) * 2);
}
@media (max-width: 991px){
	:root {
		--container-gutter-y: 50px;
	}
}

/* Section Hero settings */
@media (min-width: 576px) {
    :root {--contMaxWidth: 540px; }
}
@media (min-width: 768px) {
    :root { --contMaxWidth:  720px; }
}
@media (min-width: 992px) {
    :root { --contMaxWidth:  960px; }
}
@media (min-width: 1200px) {
    :root { --contMaxWidth:  1140px; }
}
@media (min-width: 1400px) {
    :root { --contMaxWidth:  1320px; }   
}

.container, .container-fluid, .tr-container {max-width:var(--cont-max-width);  padding-left:var(--grid-gutter-x); padding-right:var(--grid-gutter-x);}
div:is(.container, .container-fluid, .tr-container):not(header *) {max-width:var(--cont-max-width); padding-top:var(--container-gutter-y); padding-bottom:var(--container-gutter-y);}
.row {margin-right:calc(-1 * var(--grid-gutter-x)); margin-left:calc(-1 * var(--grid-gutter-x));}
.row>* {padding-right: var(--grid-gutter-x); padding-left: var(--grid-gutter-x);}
.navbar-brand {flex:1;}
@media (max-width: 991px){
    .row {margin-right: var(--tr-row-margin-mb, calc(-1 * var(--grid-gutter-x))); margin-left: var(--tr-row-margin-mb, calc(-1 * var(--grid-gutter-x)));}
}


/*****************/
/* Global styles */
:root {
    --tr-header-height: 0px; /* fallback value */
    --tr-toc-height:0px;
    --tr-scroll-offset: calc(var(--tr-header-height) + var(--tr-toc-height));
    --tr-white: #fff;
    --tr-black: #000;
    --tr-container-gutter-y-offset: calc(-1 * var(--container-gutter-y));
    --tr-row-gap:50px;
    --tr-column-gap:0px;
}
html {font-size: var(--font-size, 16px);}
.offset-container-top {margin-top:var(--tr-container-gutter-y-offset);}
.offset-container-bottom {margin-bottom:var(--tr-container-gutter-y-offset);}
.anchor {scroll-margin-top: var(--tr-scroll-offset);}
h1, h2, h3, h4, h5 {font-weight:bold;}
.heading-1, .heading-2, .heading-3, .heading-4, .heading-5 {margin-top: 0; margin-bottom: .5rem; font-weight:bold; line-height: 1.2;}
h1, .heading-1 {font-size: var(--h1, 3rem);}
h2, .heading-2 {font-size: var(--h2, 2.25rem);}
h3, .heading-3 {font-size: var(--h3, 1.75rem);}
h4, .heading-4 {font-size: var(--h4, 1.5rem);}
h5, .heading-5 {font-size: var(--h5, 1.25rem);}
:is(p, ul, ol, div, figure) + *:is(.wp-block-heading, .heading-1, .heading-2, .heading-3, .heading-4, .heading-5) {margin-top: calc(1.5 * var(--grid-gutter-y));}
*:is(.wp-block-heading, .heading-1, .heading-2, .heading-3, .heading-4, .heading-5):has(+ p, + ul, + ol, + div, + figure) {margin-bottom: calc(0.75 * var(--grid-gutter-y));}
p, ul, ol, li {font-size:1rem;}
a {color:var(--tr-a-color, #3672cb); text-decoration:var(--tr-a-decoration, underline); transition:all 0.2s linear; font-weight: var(--tr-a-weight, inherit);}
a:is(:hover, :focus) {color:var(--tr-a-hover-color, #2155a3); text-decoration:var(--tr-a-hover-decoration, revert); font-weight: var(--tr-a-hover-weight, var(--tr-a-weight));}
img.responsive {max-width:100%; height:auto;}
@media (max-width: 991px){
    .desktop {display:none !important;}
	html {font-size: var(--font-size-mb, var(--font-size));}
    h1, h2, h3, h4, h5 {word-wrap: break-word;}
	h1 {font-size: var(--h1-mb, var(--h1, 2.5rem));}
	h2 {font-size: var(--h2-mb, var(--h2, 2rem));}
	h3 {font-size: var(--h3-mb, var(--h3, 1.75rem));}
	h4 {font-size: var(--h4-mb, var(--h4, 1.5rem));}
	h5 {font-size: var(--h5-mb, var(--h5, 1.25rem));}
}
@media (min-width: 992px){
    .mobile {display:none !important;}
}


/*****************/
/* Header styles */
header {background-color:#fff;}
.offcanvas-open header.sticky-top {z-index:calc(var(--sticky-top-z) - 1);}
@media (min-width: 992px){
    header .container-fluid, .navbar-collapse {align-items:unset !important;}
    header .navbar {padding-top:0; padding-bottom:0;}
    header .navbar-brand {padding-top:15px; padding-bottom:15px;}
    header .navbar-nav > li {display:grid;}
    header .navbar-nav > li > a {display:flex; align-items:center;}
    header .dropdown-menu {margin-top: 0 !important; padding:3px !important; border-top: none; border-radius: 0;}
}


/*****************/
/* Section styles */
section .sticky-top {top: calc(var(--tr-scroll-offset) + var(--grid-gutter)); z-index: 1;}


/***************/
/* Breadcrumbs */
.breadcrumbs:has(+ h2, + p, + ul, + ol) {margin-bottom:15px;}


/****************/
/* Table Styles */
table {margin: var(--grid-gutter-y) 0; width: 100%; border-collapse: collapse; box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);}
thead {background-color: var(--color-1); color: #ffffff; text-align: left;}
th, td {padding: 12px 15px; border: none;}
tbody tr {border-bottom: 1px solid #dddddd; background-color: #fff;}
tbody tr:nth-of-type(even) {background-color: #f3f3f3;}
tbody tr:last-of-type {border-bottom: 2px solid var(--color-1);}
@media (max-width: 991px){
    tr {display:grid; row-gap:15px; padding:25px;}
    th, td {padding:0 !important;}
}


/*****************/
/* Author Styles */
.author-item {display: flex; flex-wrap: wrap; gap:25px;}
.author-item .avatar {width: 10vw; max-width:200px; height: auto; object-fit: cover; object-position: center; aspect-ratio: 1; padding: 5px; background-color: #f2f2f2; border: solid 1px #ddd;}
.author-item .author-content {flex-basis: 0; flex-grow: 1;}
.author-item .author-name {font-size: 1.5rem; font-weight: bold;}
.author-item .author-bio:has( > * ) {font-size: 0.85rem;}
.author-box {border:1px solid #eee; box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.15);}
.author-box > div {padding:15px 25px;}
.author-box-title {background-color: #f2f2f2; font-weight: 600; font-size: 1.25rem; text-transform: uppercase;}
@media (max-width: 991px){
    .author-item {flex-direction: column;}
    .author-item .avatar {width:100%;}
}


/*****************/
/* Post Listings */
.tr-post-hero img {width:100%; height:auto; object-fit: cover; aspect-ratio: 3/2;}
.tr-post-info {display:flex; justify-content: space-between; padding:4px 10px; font-size:0.825rem; background-color:#f2f2f2;}
.tr-post-content {display: grid; row-gap: 15px; padding: 15px 10px;}


/**************/
/* Pagination */
.pagination {justify-content: center; margin-top: var(--grid-gutter); padding-top: var(--grid-gutter); border-top: 1px solid #ddd;}
.pagination .btn {border-radius:0;}
.pagination .pages .btn {border: 1px solid #6c757d;}


/**************/
/* ACF Blocks */


/****************/
/* Block - Logo */
.block-logo img {width:100%; height:auto;}


/*******************/
/* Block - Section */
.block-section {background-color: var(--sec-bg-color); background-position: var(--sec-bg-position, center); background-size:cover;}
.block-section .inner-wrapper {background-color: var(--sec-overlay-color);}
.block-section.watermark, .block-section.watermark > .inner-wrapper {position: relative;}
.block-section.watermark::before {content:''; position:absolute; width:100%; height:100%; background-image:var(--wp-bg-img); background-repeat:no-repeat; background-size: contain;}
.wmx-left::before {background-position-x:left;}
.wmx-center::before {background-position-x:center;}
.wmx-right::before {background-position-x:right;}
.wmx-custom::before {background-position-x:var(--wmx-custom);}
.wmy-top::before {background-position-y:top;}
.wmy-center::before {background-position-y:center;}
.wmy-bottom::before {background-position-y:bottom;}
.wmy-custom::before {background-position-y:var(--wmy-custom);}
@media (max-width: 991px){
	.block-section {background-image: var(--sec-bg-image-mb, var(--sec-bg-image)); background-position: var(--sec-bg-position-mb, var(--sec-bg-position));}
}
@media (min-width: 992px){
	.block-section {background-image: var(--sec-bg-image); }
}


/* Block - Section Hero */
.tr-section-hero {
    --sectHeroImgWidth: calc(((100% - var(--contMaxWidth)) / 2) + (var(--contMaxWidth) * var(--sectHeroCols))); 
    --sectHeroBgPos: center;
    --sectHeroBgSize: cover;
    --sectHeroSide: Left;
    --sectHeroSideLeft: auto;
    --sectHeroSideRight: auto;
    --sectHeroBgRepeat: no-repeat;
    
    --sectHeroBgImgMb: var(--sectHeroBgImg); 
    --sectHeroBgColorMb: var(--sectHeroBgColor); 
    --sectHeroBgPosMb: var(--sectHeroBgPos); 
    --sectHeroBgSizeMb: var(--sectHeroBgSize); 
    --sectHeroBgRepeatMb: var(--sectHeroBgRepeat); 
    --sectHeroEndMb: background;
    --sectHeroAspectRatioMb: 2 / 1;
}   
.tr-section-hero {position:relative;}
@media (max-width:991px){
    .tr-section-hero {background-color:var(--sectHeroBgColorMb);}
    .tr-section-hero::before {content:''; display:block; width: 100%; background-image: var(--sectHeroBgImgMb); background-color: var(--sectHeroBgColorMb); background-position: var(--sectHeroBgPosMb); background-size: var(--sectHeroBgSizeMb); background-repeat: var(--sectHeroBgRepeatMb)}
    .tr-section-hero:not(.has-end)::before {position:absolute; top:0; bottom:0; z-index: -1;}
    .tr-section-hero.has-end::before {aspect-ratio:var(--sectHeroAspectRatioMb);}
    .tr-section-hero.has-end-bottom {display:grid;}
    .tr-section-hero.has-end-bottom::before {order:2;}
}
@media (min-width:992px) {     
    .tr-section-hero {background-color:var(--sectHeroBgColor);}
    .tr-section-hero::before {content:''; position:absolute; top:0; bottom:0; left: var(--sectHeroSideLeft); right: var(--sectHeroSideRight); width: var(--sectHeroImgWidth); background-image: var(--sectHeroBgImg); background-color: var(--sectHeroBgColor); background-position: var(--sectHeroBgPos); background-size: var(--sectHeroBgSize); background-repeat: var(--sectHeroBgRepeat)}
}


/******************/
/* Block - Button */
:root {
    --tr-btn-padding-x: 0.75rem;
    --tr-btn-padding-y: 0.375rem;
    --tr-btn-font-family: ;
    --tr-btn-font-size: 1rem;
    --tr-btn-font-weight: 400;
    --tr-btn-line-height: 1.5;
    --tr-btn-color: #212529;
    --tr-btn-bg: transparent;
	--tr-btn-border-style: none;
    --tr-btn-border-width: 1px;
    --tr-btn-border-color: transparent;
    --tr-btn-border-radius: 0.375rem;
    --tr-btn-hover-border-color: transparent;
    --tr-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --tr-btn-disabled-opacity: 0.65;
    --tr-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--tr-btn-focus-shadow-rgb), .5);
}
.tr-btn {
    display: inline-block;
    padding: var(--tr-btn-padding-y) var(--tr-btn-padding-x);
    font-family: var(--tr-btn-font-family);
    font-size: var(--tr-btn-font-size);
    font-weight: var(--tr-btn-font-weight) !important;
    line-height: var(--tr-btn-line-height);
    color: var(--tr-btn-color) !important;
    text-align: center;
    text-decoration: none !important;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: var(--tr-btn-border-width) var(--tr-btn-border-style) var(--tr-btn-border-color);
    border-radius: var(--tr-btn-border-radius);
    background-color: var(--tr-btn-bg);
    transition: all .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}


/*****************/
/* Block - Image */
:root {
    --tr-image-offset: 0;
}
.block-image {position:relative; margin: var(--tr-image-offset) var(--tr-image-offset) 0 var(--tr-image-offset)}
.block-image .tr-image-overlay {position:absolute; padding:var(--grid-gutter-y) var(--grid-gutter-x); width:100%; background-color:rgba(0,0,0,0.25);}
.block-image a.tr-image-overlay {text-decoration:none; transition:all 0.2s linear;}
.block-image a.tr-image-overlay:is(:hover, :focus) {opacity:0.75;}
.block-image img {width:100%; height:100%; object-fit: cover; object-position: center;}
.block-image .logo-overlay::after {content:''; position:absolute; left:0; bottom:0; max-width:100%; background-size:contain; background-repeat:no-repeat; background-position:left center;}


/***************/
/* Block - Map */
:root {
    --map-stroke: #fff;
    --map-stroke-width: 1;
    --map-color: inherit;
    --map-hover-color: #a00;
}
.block-map {
    --grid-row-gap: 0;
}
.block-map .map-svg path {fill: currentColor; stroke: var(--map-stroke); stroke-width: var(--map-stroke-width);}
.block-map .map-svg a {color:var(--map-color); transition: color 0.2s;}
.block-map .map-svg a:is(.active, :hover, :focus) {color: var(--map-hover-color);}
@media (max-width: 991px){
    .block-map .row {row-gap: 25px;}
    .block-map .state-select {width: 100%; padding: 10px 15px; color: var(--color-1); font-size: 1.15rem;border: solid 1px var(--color-1);}
}


/*****************/
/* Block - Posts */
.block-posts {display:grid; row-gap:50px;}


/*****************************/
/* Block - Table of Contents */
body:not(.offcanvas-open) .sticky-top:has(.block-toc) {z-index:calc(var(--sticky-top-z) - 1);}
.sticky-top:has(.block-toc) {top:var(--tr-header-height);}
div:is(.container, .container-fluid):has(> .block-toc) {padding-top:10px; padding-bottom:10px;}
.block-toc .navbar-toggler {display: flex; align-items: center; justify-content: center; column-gap: 15px; padding: 0.5rem 1rem; background-color: #f2f2f2; border:1px solid var(--color-1);}
.block-toc .offcanvas {width: 300px;}
.block-toc .offcanvas-header {padding: .5rem 1rem; background-color: #f2f2f2; border-bottom: 2px solid var(--color-3);}
.block-toc .offcanvas-title {font-size:1rem;}
.block-toc .toc-item {display: flex; justify-content: space-between; padding: 10px 10px 10px 8px; color: #4a6a86; font-size: 0.85rem; font-weight: 400; line-height: 1.2em; text-decoration: none; border-left: 1px solid #dbe2eb; border-radius: 0 5px 5px 0; transition: color .2s, background-color .2s, color .2s;}
.block-toc .toc-item:is(.active, :hover) {color: #070e27; background-color: rgba(41, 98, 255, .1); border-left-width: 2px; border-left-color: #070e27; padding-left: 7px;}
.block-toc .toc-item.active {border-left-color: var(--color-1);}


/************************/
/* Block - Career Table */
.block-career-table {overflow-x:auto; height: 100%;}
.block-career-table table {table-layout: fixed;}
.block-career-table .summary {display: grid; gap: 15px;}


/*****************/
/* Block - Share */
section.share {
    --container-gutter-y: 25px;
}
.block-share .social-share-title {text-align: center;}
.block-share .social-share-list {display: flex; justify-content: center; gap: 15px; padding:0; margin:0; list-style: none;}
.block-share .social-share-link {font-size: 1.25rem;}


/************************/
/* Block - Degree Group */
.block-degree-group {margin-top: var(--content-spacer); margin-bottom: var(--content-spacer);}
.degree-group-title {padding:10px 25px; color:#fff; background-color: var(--color-1);}
.degree-group-posts {list-style: none; margin:0; padding:0;}
.degree-group-posts li {padding:10px 25px;}
.degree-group-posts li:nth-of-type(even) {background-color: #f3f3f3;}


/*******************/
/* Block - Authors */



/*****************/
/* Block - Menu */



/******************/
/* Core WP Blocks */

/* WP Block - Table */
.wp-block-table table {border-collapse: collapse; margin: 25px 0; /*font-size: 0.9rem;*/ box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);}
.wp-block-table thead tr {background-color: var(--color-1); color: #ffffff; text-align: left;}
.wp-block-table th, .wp-block-table td {padding: 12px 15px; border: none;}
.wp-block-table tbody tr {border-bottom: 1px solid #dddddd; background-color: #fff;}
.wp-block-table tbody tr:nth-of-type(even) {background-color: #f3f3f3;}
.wp-block-table tbody tr:last-of-type {border-bottom: 2px solid var(--color-1);}y tr {border-bottom: 1px solid #dddddd; background-color: #fff;}
.wp-block-table tbody tr:nth-of-type(even) {background-color: #f3f3f3;}
.wp-block-table tbody tr:last-of-type {border-bottom: 2px solid var(--color-1);}

/* WP Block - Gallery */
.wp-block-gallery.has-nested-images figure.wp-block-image img {width:revert-layer;}

/* WP Block - Image */
@media (min-width: 992px){
    .wp-block-image.alignleft {float: left; margin-inline-start: 0; margin-inline-end: 2em;}
    .wp-block-image.alignright {float: right; margin-inline-start: 2em; margin-inline-end: 0;}
}


/**************/
/* Post Types */

/***************/
/* Single Post */
.post-info {display:flex; justify-content: space-between; padding:4px 10px; font-size:0.825rem; background-color:#f2f2f2;}



/**************/
/* Shortcodes */

/* SC - Related Posts */
.sc-related-posts {margin: calc(2 * var(--grid-gutter)) 0; padding: var(--grid-gutter); border:2px solid #ddd; background-color:var(--color-4);}
.sc-related-posts h3 {margin-bottom:15px;}
.sc-related-posts-list {row-gap:0;}


/* SC - Posts Filter */
.posts-filter .filter-wrapper {display: flex; align-items: center; gap: 15px; margin-bottom:var(--grid-gutter, 25px); padding:10px; background-color: var(--color-2);}
.posts-filter .filter-title {color:#fff;}
.posts-filter #filter-category {padding: 0.25rem 1rem; background-color: #f2f2f2; border: 1px solid var(--color-1);}
@media (max-width:767px) {
    .posts-filter .filter-title {display:none;}
    .posts-filter #filter-category {width:100%;}
}
@media (min-width:768px) {
    .posts-filter .filter-wrapper {justify-content: end;}
}