/*!
International Theme Base Styles
Based on NDT 2.4 
Updated:2018-06-14
Author: Shawn Maust, Nevin McElwrath, Erik Runyon
        Marketing Communications:Web

CONTENTS
-----------------------------------------
1. Common
2. Screen
3. Media Queries
4. Themes
5. Grid
6. Print

BRANDING
-----------------------------------------
1. COLORS
   - Blue (Headings):#0c2340
   - Blue (Links):#004da3
   - Gold:#dcb439

   - Gold: d2a43e
   - Green: 029a45
   - Red: b52023
   - Purple: 584170
   - Turquoise: 07a6b5
   - Orange: b76620
   
2. FONT STACKS
   - Headings:GPC, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif
   - Body:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif

3. GALAXIE POLARIS FONT WEIGHTS
   - 100 light
   - 300 book
   - 400 medium (normal)
   - 700 bold
   - 900 heavy
*/

:root { 
  --accent-color: #0c2340;
} 

/*************************************************************************************
 * 1. Common Styles
 ************************************************************************************/
*, *:before, *:after {box-sizing:border-box;}
@-ms-viewport {width:device-width; zoom:1;}
@-o-viewport {width:device-width; zoom:1;}
@viewport {width:device-width; zoom:1;}
html {width:100%; margin:0; padding:0; font-size:100%; overflow-y:scroll; -webkit-text-size-adjust:100%; -moz-text-size-adjust:100%; -ms-text-size-adjust:100%; text-size-adjust:100%; -webkit-font-smoothing:antialiased; }
body {width:100%; margin:0; padding:0; color:#333; font:1em/1.5 "Noto Serif", Georgia, "Times New Roman", Times, serif; }
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {display:block;}
audio, canvas, progress, video {display:inline-block; vertical-align:baseline;}
audio:not([controls]) {display:none; height:0;}
[hidden] {display:none;}
p {margin:0 0 1em;}
a {color:#0c2340; background-color:transparent; -webkit-tap-highlight-color:rgba(0,0,0,0); transition: all 125ms ease; }
a:visited { color:#173355; }
a:hover { color:#173355; }
a:active { color:#aa272f; }
a:focus { outline: 0.125rem solid #15a6b5; }
::-moz-selection,
::-moz-selection { background:#0058cf; color:#fff; text-shadow:none; }
::-moz-selection,
::selection { background:#0058cf; color:#fff; text-shadow:none;}
strong, b {font-weight:bold;}
em, i {font-style:italic;}
small {font-size:80%;}
iframe, embed {width:100%;}
sub,
sup {position:relative; vertical-align:baseline; line-height:0; font-size:smaller;}
sup {vertical-align:super;}
sub {vertical-align:sub;}
pre, code, kbd, samp {overflow:auto; font-family:monospace, sans-serif;}
hr {clear:both; position:relative; width:100%; height:0.5rem; margin:2em auto; border:none; border-top:0.2rem solid #0c2340; }
  hr::after { content:''; display:block; position:absolute; -webkit-transform:translateX(-50%); transform:translateX(-50%); left:50%; top:0; height:0.3rem; width: 15%; background:#0c2340; }

/* Fonts
   https://dev.conductor.nd.edu/fonts/
----------------------------------------------------*/
@font-face {font-family:GPC; font-weight:200; font-style:normal;
  src:url('https://static.nd.edu/fonts/gp-min/gpc-light.woff2') format('woff2'),
      url('https://static.nd.edu/fonts/gp-min/gpc-light.woff') format('woff'),
      url('https://static.nd.edu/fonts/gp-min/gpc-light.ttf') format('truetype');
}
@font-face {font-family:GPC; font-weight:300; font-style:normal;
  src:url('https://static.nd.edu/fonts/gp-min/gpc-book.woff2') format('woff2'),
      url('https://static.nd.edu/fonts/gp-min/gpc-book.woff') format('woff'),
      url('https://static.nd.edu/fonts/gp-min/gpc-book.ttf') format('truetype');
}
@font-face {font-family:GPC; font-weight:400; font-style:normal;
  src:url('https://static.nd.edu/fonts/gp-min/gpc-medium.woff2') format('woff2'),
      url('https://static.nd.edu/fonts/gp-min/gpc-medium.woff') format('woff'),
      url('https://static.nd.edu/fonts/gp-min/gpc-medium.ttf') format('truetype');
}
@font-face {font-family:GP; font-weight:400; font-style:normal;
  src:url('https://static.nd.edu/fonts/gp-min/gp-medium.woff2') format('woff2'),
      url('https://static.nd.edu/fonts/gp-min/gp-medium.woff') format('woff'),
      url('https://static.nd.edu/fonts/gp-min/gp-medium.ttf') format('truetype');
}
@font-face {font-family:GP; font-weight:700; font-style:normal;
  src:url('https://static.nd.edu/fonts/gp-min/gp-bold.woff2') format('woff2'),
      url('https://static.nd.edu/fonts/gp-min/gp-bold.woff') format('woff'),
      url('https://static.nd.edu/fonts/gp-min/gp-bold.ttf') format('truetype');
}

/* Headings
----------------------------------------------------*/
h1,h2,h3,h4,h5,h6 { margin:1.4em 0 0.25em; line-height:1.4; color:#0c2340; font-weight:400; text-shadow: none; text-rendering:optimizeLegibility; font-family: GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a { text-decoration:none; }
h1 a:visited,h2 a:visited,h3 a:visited,h4 a:visited,h5 a:visited,h6 a:visited { color: #163153; }
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover {text-decoration:underline;}
h1 {margin-top:0; font-size:2.25rem; }
h2 {font-size:1.8rem;}
h3 {font-size:1.5rem; }
h4 {font-size:1.35rem; font-weight:700; }
h5 {font-size:1.2rem; font-weight:400; text-transform: uppercase; letter-spacing:1px; }
h6 {font-size:1rem; font-weight:700; }
h1 + h2,
h2 + h3,
h3 + h4,
h4 + h5 { clear: both; margin-top:0;}

div > h2:first-child,
div > h3:first-child,
div > h4:first-child,
div > h5:first-child,
div > h6:first-child { margin-top: 0; }

.text-align-right { text-align: right; }
.text-align-center { text-align: center; }

/* Lists
----------------------------------------------------*/
ol, ul {margin:1em 0; padding:0 0 0 2em;}
li {margin:0 0 0.25em;}
nav ul {list-style:none;}
nav ul,
nav li {margin:0; padding:0;}
nav a {text-decoration:none;}
.no-bullets {list-style-type:none; padding-left:0;}

dl { width: 100%; }
dl dt,
dl dd { padding: 0.25em; display: inline-block; vertical-align: top; }
dl dt { font-weight: bold; text-align: right; width: 30%; }
dl dd { text-align: left; margin: 0; width: 65%; }

/* Tables
----------------------------------------------------*/
table {width:100%; margin:2em 0; border-collapse:collapse; border-spacing:0; border-bottom: 1px solid #d4d4d4; font-family: sans-serif; }
tr {border-top:1px solid #ccc;}
/*tr:nth-child(odd):hover td {background:#ede1bc;}*/
tr:nth-child(odd) td {background:rgba(0,0,0,0.035);}
th,
thead th {text-align:left; background-color:#0c2340; color:#eee; border:1px solid #0a1d35; font-family:GPC, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-weight:300; font-size:1.25em;}
tfoot th {text-align:right;}
th, td {padding:0.5em 0.75em;}
  .number {text-align:right;}
td {border-right:1px solid #d4d4d4; border-left:1px solid #d4d4d4;}
td, td img {vertical-align:top;}
table p { margin: 0; }

/* Form Elements
----------------------------------------------------*/
form {margin:0 0 1em;}
form p { max-width:100%; }
fieldset {margin:0 2px; padding:0.35em 0.625em 0.75em; border:1px solid #c0c0c0;}
legend {padding:0; border:0;}
label {display:block; font-weight:bold;}
button, input, optgroup, select, textarea { margin:0 0 1em; color:inherit; font-size:100%; vertical-align:baseline;}
button {width:auto; overflow:visible;}
button, input {line-height:normal;}
button,
select {text-transform:none;}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {cursor:pointer; -webkit-appearance:button;}
input[type="checkbox"],
input[type="radio"] {padding:0;}
input[type="search"] {-webkit-appearance:textfield;}
button::-moz-focus-inner,
input::-moz-focus-inner {border:0; padding:0;}
button[disabled],
html input[disabled] {cursor:default;}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {height:auto;}
input[type="search"] {-webkit-appearance:textfield; box-sizing:content-box;}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {-webkit-appearance:none;}
textarea {overflow:auto; vertical-align:top;}
optgroup {font-weight:bold;}
summary { cursor:pointer; }
.wufoo { font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif }
#errorLi, .error-container { border-radius:0.25rem; }

/* Quotes
----------------------------------------------------*/
blockquote {margin:1em; padding:0; font-family:Georgia, "Times New Roman", Times, serif; font-weight:400;}
blockquote p { font-size:1.25em;}
blockquote footer {display:block; margin-top:1em; line-height:1.1; font-size:1em; font-style:normal; font-family: GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
blockquote cite { font-style:normal; font-size:0.9em; }
blockquote.pull {float:right; font-style:normal;}

/* Images
----------------------------------------------------*/
svg:not(:root) {overflow:hidden;}
img {max-width:100%; width:auto; height:auto; border:none; vertical-align:bottom; -ms-interpolation-mode:bicubic; box-sizing:content-box;}
.image-default,
.image-right,
.image-left { position:relative; margin:0 0 1em; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-style:italic; font-size:0.9rem; color:#777;}
.image-default dl,
.image-right dl,
.image-left dl { font-style: normal; color: #333; }
.image-right {float:right; margin:0 0 1em 1em;}
.image-left {float:left; margin:0 1em 1em 0;}
.image-right,
.image-left { max-width:48%; }
.image-center {text-align:center;}
.image-default a,
.image-right a,
.image-left a {display:block; text-decoration:none; border:none;}
.image-left + h2 {margin-top:0;}
.captioned img {margin-bottom:0.5em;}
.image-label { margin:0.5em 0 0.25em; display:inline-block; }

.image-left ~ .image-default { width: 48%; float: right; }

figure {margin:0 0 1em;}
figure,
aside.right,
figure.right {float:right; max-width:100%;}
aside.right p {margin-right:0;}
figure.left {float:left;}
figcaption {display:block; text-align:left; line-height:1.5em;}

/* Icons
  <span class="icon" data-icon="nd-monogram"></span>
  https://dev.conductor.nd.edu/icons/
----------------------------------------------------*/
.icon {display:inline-block; width:1em; height:1em; fill:currentColor;}
[data-icon="nd-monogram"] {fill:#0c2340;}

/* General Classes
----------------------------------------------------*/
.noborder,
.noborder img {border:none !important; box-shadow:none !important}
.webcal {font-weight:bold;}
  .webcal i {font-weight:normal;}
a[href$=".pdf"] { padding-left: 1.2em; background-image: url('/images/icons/pdf.gif'); background-position: left center; background-repeat: no-repeat; }
a.btn[href$=".pdf"] { padding-left: 2.85em; background-position: 1.5em center; }
.ndmark {display:block; width:200px; max-width:100%; text-decoration:none; }
.visibility-hidden {position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.hidden { display:none; }

.cf:before, .cf:after {content:"\0020"; display:block; height:0; overflow:hidden;}
.cf:after {clear:both;}
.cf {zoom:1;}

.btn-video,
.video {position:relative; display:block; text-align:center;}
.btn-video::after { content:''; display:block; }
.btn-video::after,
.video .play { position:absolute; top:0; left:0; width:100%; height:100%; margin:0 auto; background:url('/stylesheets/images/play-btn.svg') center center no-repeat; background-size: auto 25%; transition: all 250ms ease; }
.btn-video:hover:after,
.video .play:hover { background-size: auto 30%; }

ul.gallery { list-style:none; margin:2rem -0.5rem 2rem 0; padding:0; display:flex; flex-flow:row wrap; }
ul.gallery li { padding:0.5rem 0.5rem; width:50%; }
ul.gallery.three-col li { width:33.33%; }

.skip-links {position:absolute; left:0; top:0; width:100%; margin-left:0; text-align:center; list-style:outside none;}
.skip-links a {position:absolute; left:-100vw; top:0.5em; transition:0.25s;}
.skip-links a:active,
.skip-links a:focus,
.skip-links a:hover {left:0.5em; width:auto; height:auto; overflow:visible; background:#dcb439; padding:0.5em 1em; color:#0c2340; font-weight:bold; font-size:14px; box-shadow:0 0 10px 0 #000; z-index:10001;}

.site-alert { padding:0.8em; font-size:1.1rem; letter-spacing:0.05em; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; text-align:center; }

.single:before { content: ""; background-color: #0c2340; height: 0.5rem; margin-top: 1rem; width: calc(100% - 2.5rem);/* transform: translateX(-100%);*/ }
/*.single.has-image:before { display: none; }*/

/* Breadcrumbs
----------------------------------------------------*/
.breadcrumbs {margin:0 0 1em;  list-style:none; font-size:0.8rem; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; }
  .breadcrumbs li {display:inline-block; margin:0 4px 0 0; color:#777;}
    .breadcrumbs li:last-child { display: none; }
  .breadcrumbs a {text-decoration:none;}
    .breadcrumbs a:hover { text-decoration:underline;}
    .breadcrumbs a:visited {color: inherit; }

/* Stats */
.stat { text-align:center; padding:2rem; margin:0; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; position: relative; }
.stat-number { display:block; font-family:GPC, sans-serif; font-size:2.5em; font-weight:700; line-height:1; margin-bottom:0.5rem; }
.stat-text { font-size: 1.2em; }
.stats-row { display:flex; margin:2rem 0; width: 100%; }
.stats-column { display:flex; flex-flow:column }
.stats-grid { display:flex; flex-flow:column; }
 
/* Page Sections */
.section-header { display:flex; flex-flow:column; text-transform:uppercase; margin:2rem 0; }
.section-header .section-subtitle { order:-1; margin:0; font-size:1rem; letter-spacing:0.15em; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
.section-header .section-title { font-size:2rem; font-style:normal; margin:0; font-family: GPC, sans-serif; }

.page-section { display:flex; flex-flow:row wrap; margin-bottom: 3rem; margin-top: 3rem; }
  .page-section-copy,
  .page-section-image,
  .page-section-stats { width:100%; }
  .page-section-image { position:relative; }
    .page-section-image img { width:100%; }
    
.btn-group ul { list-style:none; padding:0; margin:0; display:contents; }
.btn-group li { display:inline-block; margin:0 0.5em 0 0; }
.btn-group .btn,
.btn-group .more { margin:0; }
.featured-item-image { position:relative; }

/* Staff */
.staff-grid { display:flex; flex-flow:row wrap; margin:0 -1rem 0 0; }
.staff-item { width:100%; padding-right:1rem; margin-bottom:2rem;  }
.staff-item-name { margin-top:0.5rem; font-size: 1.3em; font-weight: bold; }
.staff-item-title { margin-bottom:0.5em; font-style:italic; }
.staff-item-location { }
.staff-full-name.with-title { margin-bottom: 0; }
.staff-title { font-family: GP; font-size: 1.2em; margin-bottom:0.5em;}
.staff-location {  font-family: GP; margin-bottom:1.5rem; }

/* Lists */
.list-grid ul { list-style:none; padding:0; margin:2rem -0.5rem; display:flex; flex-flow:row wrap;}
.list-grid li { width:100%; text-align:center; padding:0 0.5rem; margin:0.5rem 0; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;  }
.list-grid a { display:block; color: #0c2340; padding:1rem; text-decoration:none; -webkit-transform:scale(1); transform:scale(1); transition:all 0.4s; border-bottom: 0.25rem solid #0c2340; }
.list-grid a:hover { -webkit-transform:scale(1.02); transform:scale(1.02); box-shadow:0 0 0.25rem rgba(0,0,0,0.2); color: #0c2340; }

.list-grid li:nth-child(7n+1) a { border-bottom-color: #cb9a2b; }
.list-grid li:nth-child(7n+2) a { border-bottom-color: #009a4d; }
.list-grid li:nth-child(7n+3) a { border-bottom-color: #b3272d; }
.list-grid li:nth-child(7n+4) a { border-bottom-color: #604876; }
.list-grid li:nth-child(7n+5) a { border-bottom-color: #0fa6b5; }
.list-grid li:nth-child(7n+6) a { border-bottom-color: #b56b29; }
.list-grid li:nth-child(7n+7) a { border-bottom-color: #0c2340; }

/* NEWS & EVENTS
----------------------------------------------------*/
article {margin-bottom:2em;}
article header {margin:0 0 1em;}
.additional-links {margin:0 0 1em; padding:0; list-style:none; text-align: right; }
  .additional-links li {display:inline-block; margin:0;}
  .additional-links a {text-decoration:none;}
.entry-title {margin:0 0 0.25em; padding:0; font-size:1.25rem; font-weight:500; line-height:1.35em; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
  .entry-title.page-title {border:none;}
  .entry-title .icon {margin-left:0.25rem; font-size:0.67em; fill:#aaa;}
  .entry-title a { color:#0c2340; }
.meta-item {display:inline-block; margin:0.2em 1em 0 0; color:#333; font-size:1rem; font-weight:normal; font-family:inherit;}
.meta-item b,
.posted-in {color:#777; font-weight:bold;}
.author a {text-decoration:none;}
  .author a:hover {text-decoration:underline;}
.entry-summary {margin: 0 0 1em; }
.description { margin: 0 0 1em; }
.posted-in {display:none;}
.news-hentry .posted-in,
.event .posted-in {display:block;}
.attribution {font-style:italic; margin-top:1rem; display:none; }
.article-more span {position:absolute; left:-999em;}
.entry-body { display:flex; flex-flow:column;  width:100%; }
.entry-meta,
.entry-date { order:-1; }
.entry-header { display:flex; flex-flow:column; margin:0 -1rem; }
.event-date { display:none; }
.event-date-day,
.event-date-month { display:block; }
.event-date-day { font-size:2em; }

/* Events */
.events-date-header {margin:0 0 0.25em; padding:0; color:#777; font-weight:300; font-size:1.25rem; font-family:GPC, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
.home .events-date-header {display:none;}


/* Timeline */
.timeline { clear:both; }
.timeline-list {  list-style:none; padding:0;  }
.timeline-item { padding:1rem !important; text-align:center; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; }
.timeline-item-date { font-size:2em; font-weight:700; display:block; font-family:GPC; }
.timeline-wrapper { position:relative; }
.timeline-controls span { position:absolute; cursor:pointer; top:50%; padding: 0.75rem; height:3rem; width:3rem; border-radius: 100%; transition: all 125ms ease; z-index: 3; }
.timeline-controls span svg { width: 100%; height: 100%; transition: all 125ms ease; }
.timeline-prev { left:-0.5rem; } 
.timeline-next { right:-0.5rem; }

@supports (display:grid) {
  .event-header { 
    display:grid;   
    grid-template-rows:auto;   
    grid-template-columns:4.5rem 1fr;
    grid-template-areas:
      "date meta"
      "date title"
    }
  .event-date {  grid-area:date; display:block; text-align:center; width:4rem; padding:1rem 0.25rem; text-transform:uppercase; line-height:1.2; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; }
  .event-meta { grid-area:meta; } 
  .event-title { grid-area:title; } 
  .event-date-string { display:none; }
}

/* SEARCH
----------------------------------------------------*/
.promotions-results {margin:0 0 2rem; padding:1rem; border:1px solid #777; border-radius:3px; background:#eee;}
  .promotions-results ul,
  .promotions-results li,
  .promotions-results p {margin:0;}
.search-count,
.search-time {font-family:inherit;}
.search-count {margin:0; font-size:1.4rem;}
  .search-query i {font-style:normal; font-weight:700;}
.search-time {margin:0 0 1em; color:#666; font-size:1.2rem;}
.search-results {margin:1em 0; padding:0; list-style:none;}
  .search-results li {overflow:hidden; margin:0 0 2rem;}
    .search-record {display:flex; flex-flow:row wrap; margin:0;}
    .search-result-img {max-width:120px; width:100%; margin-right:1rem;}
    .search-result-img + .search-result-text {max-width:calc(100% - 120px - 1em);}
    .search-record header {margin:0 0 0.5em;}
    .search-result-title {font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-size:1.4rem;}
    .search-result-title b {font-weight:500;}
    .search-result-url {font-size:0.9rem; font-family:inherit; word-break:break-all;}
      .search-result-url a {color:#388222; font-weight:700;}
    .search-result-excerpt {margin:0 0 0.5em; line-height:1.3em;}
    .search-result-excerpt br {display:none;}
    .search-result-meta {color:#777; font-size:0.9rem;}
    
  .header-social { list-style:none; display:none; }
  
/*************************************************************************************
 * 2. Screen Styles
 ************************************************************************************/
@media only screen {
  p {max-width:65em;}
  .image-default img,
  .image-right img,
  .image-left img { display:block; }
  .tablewrap {position:relative; overflow-y:auto; margin:0 auto;}
  .staff-image { max-width:100%; width:100%; margin:0 0 1rem; }
  .staff-image img { width:100%; }

  .embed-inner {position:relative; padding:0;}
  .embed-inner iframe,
  .embed-inner object,
  .embed-inner embed {position:absolute; top:0; left:0; width:100%; height:100%;}

  /* Graphic Elements */
  .colored-border { position:relative; border-bottom:0 !important; }
  .colored-border::after { content:''; display:block; height:0.25rem; position:absolute; left:0; right:0; bottom:0; background:url(images/colored-border.svg) 50% 50% / 100% no-repeat; }

  
  .accent-border { position:relative; border-bottom:0.25rem solid; border-color:#0c2340; /*padding-bottom:2rem;*/ -webkit-column-break-inside: avoid; break-inside: avoid; }
  .accent-border.top { border-bottom:none; margin-bottom:inherit; padding-top:2rem; border-top:2px solid #0c2340; }
  /* .accent-border::after { content:''; position:absolute; height:0.4rem; width:4rem; left:50%; bottom:0; transform:translateX(-50%); background:#0c2340; } */
  /* .accent-border.top::after { top:0; bottom:auto;  } */
  
  .dark .accent-border { border-color:#fff;} 
  .dark .accent-border::after { background:#fff; } 
  
  /* Buttons
  ----------------------------------------------------*/
  .btn,
  .more,
  .excerpt_continuation,
  .btn-inline {position:relative; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;  display:inline-block; white-space:nowrap; margin:0.25em 0; padding:0.725em 1.5em 0.6em; cursor:pointer; font-size:1rem; line-height:1.2em; text-decoration:none; text-align: center; vertical-align:middle; font-weight:400; color: white; background: #0c2340; border: 0.125rem solid transparent; border-radius:0.25rem; transition:all 0.2s; letter-spacing: 0.03em; }
  
  .btn:hover,
  .more:hover { color:#fff; -webkit-transform: scale(1.05); transform: scale(1.05); box-shadow:0 0 0.5rem rgba(0,0,0,0.2); }

  .btn:active,
  .more:active { -webkit-transform: scale(1.025); transform: scale(1.025); }
  
  .btn:focus,
  .more:focus { box-shadow: 0 0 0.25rem #07a6b5; border-color:#07a6b5; outline: none; }

  .btn:visited,
  .more:visited { color:#eee; }

  .btn-inline,
  .more { background:transparent; color:#0c2340; border: 0.125rem solid transparent; text-transform: none; letter-spacing: normal; box-shadow: none; text-decoration: none; text-align: center; padding: 0.725em 1.5em 0.6em; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; display: inline-block; }
  .btn-inline:hover,
  .more:hover { background:#e1e8f2; color:#0c2340; box-shadow: none; }
  .btn-inline:visited,
  .more:visited { border-color: #e1e8f2; color: #06162b; }

  
  .btn.cta { text-transform: uppercase; letter-spacing: 0.07em; }
  
  .more,
  .btn-inline { min-width: unset; }

  .btn [data-icon] {margin:0.1rem 0.5rem 0 0; fill:currentcolor; }

  .more::after,
  .excerpt_continuation::after { content:' \203a'; font-size:1.25em; margin-left: 0.25em; }
  
  .more .icon,
  .btn .icon { margin-bottom:-0.125em; } 
  .page-section-region .more::after { content:''; }
  
  .btn-group { display:flex; flex-flow:row wrap; margin:1rem 0; }
  .btn-group .btn,
  .btn-group .more { margin:0.5rem 0.5rem 0 0; }
  
  .ribbon.dark .btn { background: white; color: #0c2340; }
    .ribbon.dark .btn:visited { color: #06162b; }
  .ribbon.dark .btn.btn-inline,
  .ribbon.dark .more { background: transparent; color: white; }
  .ribbon.dark .btn.btn-inline,
  .ribbon.dark .btn.btn-inline:visited,
  .ribbon.dark .more,
  .ribbon.dark .more:visited { color: white; }
  .ribbon.dark .btn.btn-inline:hover,
  .ribbon.dark .more:hover { color: white; background: rgba(255, 255, 255, 0.2); }
  
  .btn.cta { min-width: 300px; }

  .btn-small { font-size: 0.8em; }
  .btn-large { font-size: 1.4em; }

  /* Structure
  ----------------------------------------------------*/
  html {height:100%; background:#fff; }
  body {height:100%; padding:0; margin:0;}
  .wrapper { overflow-x:hidden; }
  .site-content { padding-bottom:1em;}
  .beta {padding:1em 0; border-top:1px solid #dadada; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);}
  .aside {margin-top:1em;}
  .page-title { font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; margin:0 0 .35em; padding:0 0 0.25em; font-weight: 700; line-height: 1.2; }

  /* Header
  ----------------------------------------------------*/
  .site-header {text-align:center;}
  .brandbar,
  .titlebar {overflow:hidden; position:relative;}
    .dept {display:none; border-top:1px solid  #000; box-shadow:0 1px rgba(0,122,217,0.4) inset;}
    .brandbar li {margin:0 -0.9375rem; padding:0;}
    .brandbar a {display:block; margin:0 auto; text-decoration:none; height:50px; text-indent:-9999px; overflow:hidden; background-repeat:no-repeat;}
    .brandbar a:focus {background-color:rgba(255,255,255,0.2);}
      .dept-nd a {background-position:left 0;}
      .dept a {background-position:right 0;}
    .titlebar {padding:0.75em 0;}
    .site-title {max-width:80%; margin:0; font-size:2.4em; line-height:1.1; font-weight:300; text-transform:uppercase; text-align:left; font-family:GPC, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; letter-spacing: 0.06em; }
      .site-title a {display:block; padding:0.5em 0; border:none; color:#fff; text-decoration:none;}
      .site-title a:hover {text-decoration:none;}
      .site-title a:focus {background-color:rgba(255,255,255,0.2);}
      .site-title a span { color: #ccc; display:block; font-size:0.4em; letter-spacing:0.15em; line-height:1; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; margin-bottom: 0.3em }
       .subtitled .site-title {margin:0; line-height:1.15em;}
       .site-subtitle {clear:left; margin:0; color:#333; font-family:inherit; font-size:1rem; text-align:left;}

  .header-util {display:none; position:relative; margin:0 auto; padding:0 1em; text-align:center;}
    .search-form {display:none; overflow:hidden; width:91%; margin:0 auto 0.5em; padding:2px 2px 2px 6px; line-height:1.1em; background-color:#fff; box-shadow:inset 0 1px 2px rgba(0,0,0,0.3), 0 1px rgba(255,255,255,0.45); border-radius:3px;}
    .search-form label {border:0; clip:rect(0 0 0 0); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px;}
    .search-input {display:inline-block; vertical-align:middle; width:86%; margin:0; padding: 0.25em; border:none; font-size:1.2rem; color:#444; -webkit-appearance:textfield; background:transparent; font-family: sans-serif; }
    .search-button {display:block; float:right; position:relative; margin: 0.25em 0.25em 0.25em 0; padding:0; line-height:1rem; color:#222; cursor:pointer; transition:all .15s ease-in-out; border:0; background:none; }
      .search-button .icon {position:relative; left:2px; width:2em; height:2em; margin:0;}
      .search-button span {display:inline-block; text-indent:-9999px; overflow:hidden; height:0;}
      .search-button:hover,
      .search-button:active { color:#029a45; }
  .header-util nav ul {margin:0.4em 0 0; text-align:center; line-height:1em;}
  .header-util nav li {display:inline-block; width:32%;}
  .header-util nav a {display:block; padding:.625em; color:#0c2340; font-family:"HelveticaNeue", Helvetica, Arial, sans-serif; font-weight:bold; text-decoration:none; text-shadow:0 1px rgba(255,255,255,.9); border:1px solid #562e07;}

  /* Site Alert */
  .site-alert { position:relative; z-index:999;  padding-top:1.1em; box-shadow:0 1px 2px rgba(0,0,0,0.25); }
    .site-alert .icon { margin-bottom:-0.125em; margin-right:0.25em; }
    .site-alert .more { background:none; margin:-0.25em 0 0 1rem; font-size:0.9rem; padding:0.25em 0.75em; border:1px solid; }
    .site-alert .more:hover { background: white; }
    
  .site-alert-red { color:#721c24; background:#f8d7da; }
    .site-alert-red .more { color:#721c24;  }
    
  .site-alert-blue { color:#004085; background:#cce5ff; }
    .site-alert-blue .more { color:#004085;  }


  /* Offscreen Nav
  ----------------------------------------------------*/
  body, html {-ms-overflow-style:none !important;} /* Needed for WinPhone to allow vertical scrolling in nav */
  .nav-mobile {overflow-y:scroll; position:fixed; top:0; bottom:0; transition:0.15s ease; right:-13.755rem; width:13.755rem; height:auto; padding:1em; border-left:1px solid rgba(0,0,0,0.3); background-color:rgba(200,200,200,0.2); box-shadow:0 0 8px 0 rgba(0,0,0,0.25) inset;}
    .lt-ie9 .nav-mobile {display:none;}
  .nav-mobile.active {right:0;}
    .nav-mobile .search-form {display:block; margin:0 auto 1.5em; padding:1px 1px 1px 4px; border:1px solid #888; font-size:0.75rem; line-height:1.1em; background-color:#fff; border-radius:3px;}
    .nav-mobile .search-input { width:calc(100% - 3em);}
    /* Hide Home subpages (if needed) */
    .nav-full a[href="/"] + ul { display:none; }
  .wrapper {position:relative; right:0; transition:0.15s ease;}
  .wrapper.active {right:13.755rem;}

  /* New mobile nav button */
  .btn-nav-mobile {position:absolute; top:0.9rem; right:0.8rem; display:block; width:2.6rem; height:2.6rem; padding:0.3rem; text-decoration:none; border:1px solid #001227; border-radius:3px; background:#0c2340;}
    .ni {transition-duration:0.5s; transition-delay:0.2s, 0;}
      line.ni {stroke:#fff; -webkit-transform:rotate(0deg); transform:rotate(0deg);}
      g.ni {fill:#fff;}
      .toggled .ni1 {-webkit-transform:translate(5px, 2px) rotate(45deg);transform:translate(5px, 2px) rotate(45deg);}
      .toggled .ni2 {-webkit-transform:translate(-3px, 11.4px) rotate(-45deg);transform:translate(-3px, 11.4px) rotate(-45deg);}
      .toggled .ni3 {opacity:0; -webkit-transform:translate(0, 6px); transform:translate(0, 6px);}

  /* Top Nav
  ----------------------------------------------------*/
  .nav-top {display:none; position:relative; z-index:10; bottom:0; width:100%; text-align:left; background:#fff; /*border-bottom:1px solid rgba(0,0,0,0.1);*/  }
    .nav-top li {display:inline-block; vertical-align:top; font-family:GP, Helvetica, Arial, Verdana, sans-serif; font-size:1rem;}
    .nav-top li a {display:table-cell; text-transform:uppercase; vertical-align:middle; padding:0.75em 1em; color:#0c2340; text-align:center; transition:all 250ms ease-in-out; font-size:0.85em; }
    .nav-top li.active a { background:#e0e0e0; }
    .nav-top li a:hover { color: #029a45; } 

  /* General Nav
  ----------------------------------------------------*/ 
  .nav-site ul {  padding: 0;  }
    .nav-site li {margin:0.2em 0;}
    .nav-site a {display:block; padding:0.4em 0.5em 0.4em 1.5em; text-indent:-1em; text-transform:none; color:#0c2340; font-size:1.1rem; font-family: GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; transition: all 250ms ease; }
    .nav-site a:hover { background:#eee; }
    .nav-site a:active,
    .nav-site a:focus {outline:1px dotted #0c2340;}
    .nav-site ul > .active > a { font-weight:700; }
    .nav-site ul ul {  padding: 0;  }
    .nav-site ul ul a {padding: 0.4em 0 0.4em 2rem; text-indent:-0.5em; color:#444; font-size:1rem; }
    .nav-site ul ul li {margin:0;}
    .nav-site li.last{margin-bottom:1em;}
  .nav-site ul ul ul {margin-left:1.5em; padding:0; font-size:0.9rem;}
  .nav-section {display:none;}

  .page-content, 
  .page-nav { padding:1rem; }
  .page-intro { padding: 1rem 1rem 0 1rem; }

  .breadcrumbs { padding: 0.75rem 1.5rem 0.5rem 0; margin: 0; }
  .heading { padding: 0.5em 3em 0 0; }
  .intro-image img { width:100%; }
  .intro-image + .heading { display:inline-block; position:relative; margin-top:-2.75rem; max-width:80%; z-index:10; background:#fff; min-width: 280px; }

  /* Page Hero 
  ----------------------------------------------------*/
  .page-hero { padding:5vw 1rem 25vw; text-align:center; margin-bottom:2rem; background:#344454;  }
  .page-hero .page-title { padding: 0; margin: 0 0 0.35em; }
  .page-hero .page-title span { color:#333; font-weight:300; font-size:1.2rem; border:none; text-shadow:none; background: white; padding: 0.4em 0.9em; text-transform: uppercase; display: inline-block; letter-spacing: 0.1em; line-height: 1; }
  .page-tagline { font-family:GPC; font-size:4rem; display:inline-block; line-height:1; padding:0.25em 0.35em; color:#fff; text-transform:uppercase; font-weight:200; background: #0c2340; }

  /* Page Intro 
  ----------------------------------------------------*/
  .page-lead { width:90%; max-width: 40em; font-size:1.2em; font-weight:700; color:#0c2340; padding:2rem; z-index:100; position:relative; margin:-5rem auto 2rem; font-family: GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; background:#fff; letter-spacing: 0; }
  .has-nav .page-lead { width:100%; max-width:100%; font-weight:700; color:#0c2340; padding:0; margin:0 auto 2rem; }
  .intro-ctas { text-align:center; margin:2rem auto; }

  /* Page Content 
  ----------------------------------------------------*/
  .ribbon.dark { color:#fff; background:#0c2340; }
  .dark h2, .dark h3, .dark h4, .dark h5, .dark .stat-number { color:#fff; }
  
  .aside { margin:1rem 0; padding:1.5rem; color:#fff; background: #0c2340; }
  .aside h2,
  .aside h3,
  .aside h4,
  .aside h5 { margin-top:0; color:#fff; text-shadow:none; }
  
  .section-title a:visited { color: #163153; position:relative; }
  .section-title a:hover,
  .section-title a:visited:hover{ color: #163153; text-decoration: none; }
  .section-title a::after { content:" "; display:inline; position:absolute; width: 1em; height: 1em; margin-top:0.1em; margin-left: 0.25em; -webkit-transform:translateX(-0.25em); transform:translateX(-0.25em); background: url(/stylesheets/images/angle-right.svg) left 0.15em / 0.7em 0.7em no-repeat; transition: -webkit-transform 0.5s ease; transition: transform 0.5s ease; transition: transform 0.5s ease, -webkit-transform 0.5s ease; }
  .section-title a:hover::after { -webkit-transform:translateX(0); transform:translateX(0); }

  .stats-row { flex-flow:column; }

  .stats-row .stat:after,
  .stats-column .stat:after,
  .stats-grid > .stats-column:after { height:0.2rem; content: ""; display: block; background: url(/stylesheets/images/border-dots.svg) 50% 50% / auto 9px repeat-x; position: absolute; width: 100%; bottom: 0; }
  
  .stats-column .stat:after { left: 0; }
  .stats-row .stat:after { right: 0; }

  .stats-row .stat:last-child:after,
  .stats-column .stat:last-child:after,
  .stats-grid > .stats-column:last-child:after { background: none; }

  .stats-grid > .stats-column::last-child { display:flex; }

  .page-section-title,
  .page-section-subtitle { font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; } 
  .page-section-title { font-weight:700; margin-top:0; line-height: 1.2; }
    .ribbon .page-section-title { font-weight:200; text-transform:uppercase; font-family:GPC, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; }
    .dark .page-section-title { color:#fff; text-shadow:none; }
  .page-section-subtitle { text-transform:uppercase; letter-spacing:0.15em; font-weight: 600; }
    .dark .page-section-subtitle { color: #ccc; }

  .page-section .image-label { font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.15em; display: none; }
  .page-section-copy { display:inline-flex; flex-flow:column; }
  .page-section-copy .btn-group { margin:auto 0 0; }

  .page-section.ribbon { padding-top:0; padding-bottom:0; margin-top:2rem; margin-bottom:2rem; font-family: GP, "Helvetica Neue", Helvetica, Arial, sans-serif; }
  .page-section.ribbon .page-section-copy { padding:2rem 2rem 1rem; z-index:100; }
  .page-section.ribbon .page-section-image { width:calc(100% + 2rem); margin-left:-1rem; margin-right:-1rem; }

  .featured-item { margin-bottom:3rem; }
  .featured-item-image img { width:100%; }
  .featured-item-title:first-child { margin:0.5rem 0; font-style:normal; font-size:1.3em; line-height:1.2; }

  /* News & Events */
  .entry-date { padding:0.25rem 1rem 0.25rem 0; margin:0; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; background:#fff; }
  .entry-meta { padding:0.25rem 0; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; }
  .entry-title { padding:0.5rem 0; margin:0 0 0.5rem; line-height:1.2; border-top:0.25rem solid #0c2340; }
  .entry-body { position:relative; }
  .entry-image img { width:100%; }
  .stacked.has-image .entry-date { position:absolute; left:0; bottom:calc(100% - 0.25rem); }
  .news-hentry .meta { margin: 1em 0 2em; }
  .news-hentry .meta .publish-info,
  .news-hentry .meta .author { margin: 0 0 0.25em; }
  
  /* Testimonials 
  ----------------------------------------------------*/
  .testimonial-switcher { margin-top:2rem; }
  .testimonial-item-name { font-family: GP, "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 700; font-size: 2.5em; }
  .testimonial-item-title { font-weight: 700; }
  .testimonial-item-title,
  .testimonial-item-location { display:block; font-family: GP, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.2em; line-height: 1.4; margin-bottom: 0.25em }
  .testimonial-item-current { display:none; }
  
  .testimonial-list .testimonial-item-name { font-size: 1.4em; }
  .testimonial-list .testimonial-item-title,
  .testimonial-list .testimonial-item-location { font-size: 1em; }
  
  /* Timeline */
  .timeline-controls span:hover { background: white; }
  .timeline-controls span:hover svg { color: #0c2340; color:var(--accent-color); }
  .timeline-controls [aria-disabled='true'] { opacity: 0.25; outline: none; }
  .timeline-controls [aria-disabled='true']:hover { color: inherit; cursor: default; background: none; }
  .timeline-controls [aria-disabled='true']:hover svg { color: white; }

  
  /* Forms 
  ----------------------------------------------------*/
  label { margin:0.25rem 0; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
  .form-input { width:100%; margin:0; color:#444; padding: 0.44444rem; height: 2.05556rem; border: 1px solid #ccc; transition: all 125ms ease; font-family: sans-serif; }
  .form-select { width:100%; margin:0; overflow:hidden; } 
  .form-select-multi { height:10em; background:none; overflow:auto; }
  .form-reset, 
  .form-submit { background:none; border:1px solid #ccc; margin:1rem 0 0; font-family:inherit; padding:0.25rem 1rem; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; }
  select { -webkit-appearance: none !important; -moz-appearance: none !important; border-radius: 0; background: #FAFAFA url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+") 100% center no-repeat; border: 1px solid #ccc; color: #444; font-family: sans-serif; font-size: 0.77778rem; line-height: normal; padding: 0.44444rem; height: 2.05556rem; }
  .form-input:focus,
  select:focus { border-color: #0c2340; }
  
  /* Lists */
  .details-list { background:#f6f6f6; padding:1rem; margin:0 0 1rem; font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; } 
  .details-list dt { font-weight:600;  } 
  .details-list dd { margin:0 0 0.5rem 0; } 
    .details-list dd:last-child { margin-bottom:0 }
  .details-list ul { list-style:none; padding:0; margin:0; }
  
  /* Grid Lists */
  .list-grid a { background:#eee; }
  .staff-information { overflow:hidden; text-align:center;  }
  .staff-information dt,
  .staff-information dd { width:auto; display:inline; }
  .staff-information dd::after { content: ''; height:0.25rem; display: block; } 
  .staff-information a { display:inline; } 
  
 
  .staff-information dd {}
  /* Summary/Detail */ 
  details { margin-bottom:1rem;  font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; background:#f6f6f6; border:1px solid rgba(0,0,0,0.1);}
  summary { font-size:1.3rem; line-height:1.1; position:relative;  font-family:GPC; padding:0.5rem 0.5rem 0.5rem 2.5rem; display:flex; flex-flow:row wrap; align-items:center;  }
  summary h2 { font-size:1.5rem; margin:0; } 
  summary span { display:block; font-size:0.8rem; width:100%; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;  }
  summary::-webkit-details-marker { display: none }
  summary:before { content: "+";  position:absolute; left:0.5rem; font-size:1.5rem; display:inline-block; text-align: center; width:1.5rem; }
    details[open] summary:before { content: "-"; }
    details[open] summary { border-bottom:1px solid rgba(0,0,0,0.1);}
  .details-body { padding:1rem 1.5rem 1rem 2.5rem; }

  /* Footer
  ----------------------------------------------------*/
  .site-footer {position:relative; clear:both; overflow:hidden; text-align:center;}
    .footer-inner {position:relative; margin:0 auto; padding:1em 0; border-top:1px solid #ccc; box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);}
    .site-footer p {clear:both; margin:0; font-size:0.875rem;}
  .site-info {margin:1em 0;}
  .site-info li {display:inline-block; margin:0 2%;}
  .site-info a {text-decoration:underline;}
  .address {display:block; margin:0; }
  .site-link,
  .org,
  .tel {display:block;}
  .footer-social { list-style:none; display:inline-block; padding:0; margin:1rem 0 0; }
    .footer-social li { display:inline-block; margin-right:0.5em; }
    .footer-social a { display:block; font-size:2rem; height:1.5em; width:1.5em; overflow:hidden; }
  .ndmark {width:200px; margin:1em auto;}

}

/*************************************************************************************
 * 3. Media Queries
 ************************************************************************************/

/* 580px
----------------------------------------------------*/
@media only screen and (min-width:36.25em) {
  .image-right,
  .image-left {max-width: 48%; }
  .dept {display:block; border:none;}
  
  /* Staff */
  .staff-item { width:50%; }
}


/* 700px
----------------------------------------------------*/
@media only screen and (min-width:43.75em) {
  h1 {font-size:2.8rem; }
  h2 {font-size:2.4rem; }
  h3 {font-size:2rem; }
  h4 {font-size:1.6rem; }
  h5 {font-size:1.2rem; }
  h6 {font-size:1rem; }

  blockquote {margin:1em; padding:0;}
  
  .staff-information { width: 100%; }
  .staff-image { max-width:40%; padding-left:1rem; }
  .staff-image + .staff-information { width:60%; }

  .tablewrap {background:none;}
  .image-label { max-width: 50%; position:absolute; top:-0.5px; right:0; padding:0.5rem 1rem; margin:0; background:#fff; }
  .image-label.bl { top:auto; left:0; right:auto; bottom:0; padding-left:0; }
  .image-label.br { top:auto; bottom:0; padding-right:0; }

  /* Structure
  ----------------------------------------------------*/
  body, html {-ms-overflow-style:auto !important;}
  body { display:flex; flex-direction:column;}
  .wrapper { flex:1 0 auto; display:flex; flex-direction:column;}
  .site-header { flex:0 0 auto;}
  .site-content { flex:1 0 auto; padding-bottom:2em;}
    .nav-top-true.home .alpha { display:block; width:auto; left:0; margin:0;}
  .beta { border:none; box-shadow:none;}
  .site-footer { flex:0 0 auto;}
   
  /* Header
  ----------------------------------------------------*/
  .site-header {text-align:left;}
  .brandbar,
  .titlebar {padding:0;}
    .brandbar li {margin:0;}
  .brandbar.colored-border { padding-bottom: 0.25rem; }
  
  
  .dept {border-top:none; box-shadow:none; float:right;}
    .dept-nd {float:left;}
  
  .site-title {float:left; width:auto; margin:0; padding:0; font-size:2.75rem;}
    .site-title a {padding:0.65em 0 0.75em; line-height:1em;}
    .subtitled {float:left; padding:0.65em 0 0.75em;}
      .subtitled .site-title a {padding:0;}
    .site-subtitle {float:left;}
    
  /* Navigation */  
  .nav-section { display:block; }
  .page-nav {  position:relative; padding-top:3rem; display:none; }
    .page-nav::after { content:''; display:block; position:absolute; top:1rem; right:2.5rem; left:-100vw; height:0.5rem; background:#0c2340; }
    .has-nav .page-nav {  display:block; }
  .page-nav .nav-site {  padding-right:1em;  border-right:2px solid; }
  .page-nav .nav-full {display:none;}
  
  /* Content
  ----------------------------------------------------*/
  /* Intro */
  .intro-copy { max-width:65rem; margin:0 auto; /* column-count:2; column-gap:3rem; */ }
  .intro-image + .heading {  max-width:67%; }
  .aside { float:right; margin-top:0; margin-left:1rem; max-width:40%; }

  /* Stats */
  .stats-row { flex-flow:row; }
  .stats-row-4,
  .stats-row-5 { flex-flow:column; }
  
    .stats-row .stat:after {  width:0.2rem; content: ""; display: block; background: url(/stylesheets/images/border-dots.svg) left top / 9px auto repeat-y; height:100%; position: absolute; top: 0; }
    .stats-row-3 .stat { width:33%; }
    
    .stats-row-4 .stat:after,
    .stats-row-5 .stat:after { display:none; }
/*
    .stats-row-4 .stat { width:25%; }
    .stats-row-5 .stat { width:20%; }
    .stats-row-6 .stat { width:16.66%; } 
*/
  .stats-grid { flex-flow:row;  }
    .stats-grid > .stats-column { width:33%; padding:0 2vw; border-bottom:0; justify-content:flex-start; }
    
  .stats-column .stat:after {  left: 0; }
  .stats-row .stat:after {   right: 0; }

  /* Page Section */
  .section-header { padding-left:4rem; position:relative; transition:1s; transition-timing-function: cubic-bezier(.175,.885,.32,1);  }
  .section-header::before { content:''; display:block; position: absolute; width:3rem; left:0; top:50%; height:0.2rem; background:#0c2340; transition:1.2s all;}
  
  .section-header .section-title { font-size:2.5rem; line-height:1.2; }
  .section-header .section-subtitle { font-size: 1.25rem; }

  .section-header.is-offscreen { opacity:0.1;  }
  .section-header.is-offscreen::before { -webkit-transform: scaleX(0); transform: scaleX(0); opacity:0; transform-origin-x: 0; }
  
  .section-header.is-onscreen { opacity:1; }
  .section-header.is-onscreen::before { -webkit-transform: scaleX(1); transform: scaleX(1); opacity:1; transform-origin-x: 0; }

  .page-section-image { width:40%; }
  .page-section-image + 
  .page-section-copy { width:60%; padding-left:2rem;  }

  .page-section.ribbon { margin-bottom:6rem; margin-top: 6rem; }
  .page-section.ribbon .page-section-copy { width:48%; justify-content:center; }
  .page-section.ribbon .page-section-image { width:calc(52% + 2vw + 1rem); margin:-2rem 0 0 calc(-2vw - 1rem); overflow:hidden;  }
  .page-section.ribbon .page-section-image img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; transition:1.5s all; transition-timing-function: cubic-bezier(.175,.885,.32,1); }
  .ribbon.full-bleed-image .page-section-title { font-family: GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-weight: 600; text-transform: none; }
  
  .page-section-alt.ribbon .page-section-copy { order:0; padding:2rem 2rem 2rem 0; }
  .page-section-alt.ribbon .page-section-image { order:1; margin:-2rem calc(-2vw - 1rem) 0 0; }
  
  /* Forms 
  ----------------------------------------------------*/
  .form-group { display:flex; justify-content:space-between; } 
  .form-group-item { display:flex; flex-flow:column; justify-content:flex-start; align-items:flex-start; }
    .form-group-2 .form-group-item { width:calc(50% - 1rem); }
    .form-group-3 .form-group-item { width:calc(33.3% - 1rem); }
  
  /* Staff 
  ----------------------------------------------------*/
  .staff-item { width:33.3%; }

  /* News & Events 
  ----------------------------------------------------*/
  .news-entry { display:flex; flex-flow:row; }
  .entry-body { padding:0 1rem; }
  .entry-body { padding-left:0; }
  .has-image .entry-body { padding-left:1rem; }
  .stacked .entry-body { padding:0; }
  
  .news-entry .entry-image { width:33%; }
  .news-entry.stacked .entry-image { width:100%; }

  .stacked .entry-title { margin:0; padding:0.6rem 0; }
  .stacked { flex-flow:column; }
  .stacked > div { width:100%; }

  .has-image .entry-body { width:67%; }
  .stacked.has-image .entry-body { width:100%; }
    
  /* Custom Pages
  ----------------------------------------------------*/
  
  /* Lists */
  .details-list { display:flex; flex-flow:row wrap;} 
  .details-list dt { width:33%; text-align:right; } 
  .details-list dd { width:67%; padding-left:1rem; } 
  
  /* Summary/Details */
  summary { flex-flow:row; }
  summary span { width:auto; margin-left:auto; max-width:50%; text-align:right; padding-right:0.5rem; }
  
  /* Grid Lists */
  .list-grid li { width:50%; align-items:center; display:inline-flex; justify-content:center; align-items:center; font-size: 1.2em; }
  .list-grid a { display:inline-flex; width:100%; min-height:100%; flex-grow:1; justify-content:center; align-items:center; }

  /* Testimonials
  ----------------------------------------------------*/
  .testimonial-item,
  .testimonial-item-current { display:flex; margin-bottom:2em; position:relative; } 
  .testimonial-item-image { width:33.33%; padding-right:1rem; } 
  .testimonial-item-body { width:66.67%; } 
  .testimonial-item-current .testimonial-item-image + .testimonial-item-body { width:66.67%; position:absolute; left:calc(33.33% + 0.33rem); top:0; bottom:0; overflow:auto; } 
  .testimonial-item-name { margin-top:0; } 

  .testimonial-list  { display:flex; margin-right:-1rem;  }
  .testimonial-list .testimonial-item { width:33.33%; padding-right:1rem; cursor:pointer; opacity:0.5; transition: all 125ms ease; }
  .testimonial-list .testimonial-item.active { opacity:1; }
  .testimonial-list .testimonial-item-copy { display:none;  } 

}

/* 960px
----------------------------------------------------*/
@media only screen and (min-width:60em) {
  
  
  /* Footer
  ----------------------------------------------------*/
  .site-footer {text-align:left;}
    .footer-social { position:absolute; margin:0; top:2.2rem; right:250px;  }
    .footer-inner {padding:2rem 0;}
    .ndmark {position:absolute; right:0; top:2.5rem; margin:0;}
    .site-link {display:block;}
    .org {display:inline;}
    .address { max-width:25rem;}
    .address + .email { clear:left; }
    
  .contact-info {margin:0;}
  .site-link,
  .address,
  .site-link,
  .tel,
  .email {float:left; margin:0 1em 0 0;}
  .site-link {margin-right:0.5em;}
  .address,
  .phone {clear:left;}
  .footer-social { right:50%; -webkit-transform:translateX(100%); transform:translateX(100%);  }

  /* IE8 Over-rides */
  .lt-ie8 .header-util nav li {float:right;}
  .lt-ie8 .search-form {width:300px;}
  .lt-ie8 .search-input {float:left;}
}

/* 1024px
----------------------------------------------------*/
@media only screen and (min-width:64em) {
  .brandbar {padding:0;}
  
  /* Navigation
  ----------------------------------------------------*/
  .nav-top-true .nav-top {display:block;}
  .nav-top li a {font-size:0.85em; }

  .search-input {float:left; width:auto; font-size:0.9rem; line-height:1.4rem;}
  
  a.nav-skip,
  .btn-nav-mobile {display:none;}

  .header-util {display:block; float:right; top:2.2em; margin:0; padding:0; text-align:right;}
    .subhead .header-util {top:1.9em;}
    .search-form {display:block; width:auto; margin:0;}
    .header-util nav {display:block; margin:3px 0;}
    .header-util nav ul {margin:0;}
    .header-util nav li {width:auto; display:block; text-align:right;}
    .header-util nav a {font-size:0.825rem; font-weight:normal;}
    .header-util nav a,
    .header-util nav a:hover {display:inline; padding:0; border:0 none; background:none; box-shadow:0 0 rgba(255,255,255,0) inset, 0 0 rgba(0,0,0,0);}
    .header-util nav a:hover {color:#0c2340; text-decoration:underline; text-shadow:0 1px rgba(255,255,255,.9);}
    .header-util .search-toggle {display:none;}
    .search-button .icon {width:18px; height:20px;}

  
  .ribbon.full-bleed-image .page-section-image { width:100vw; margin:0;  }
  .ribbon.full-bleed-image .page-section-copy { position:absolute; bottom:-0.25em; right:0; padding-right:2rem; max-width:40em; max-height:100%; background:#fff; transition:0.5s; transition-timing-function: cubic-bezier(.175,.885,.32,1); -webkit-transform:translateY(2rem); transform:translateY(2rem);  }
  .full-bleed-image:hover .page-section-copy { -webkit-transform:translateY(0); transform:translateY(0); }
  
  .site-header { position:relative; }
  .header-social { display:block; margin:0; padding:0; width:3rem; top:calc(100% + 17vw); z-index:99; position:absolute; right:0; font-family:GP, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; }
  .header-social li { position:relative; height:3rem; width:3rem; margin:0; }
  .header-social svg { height:1.7rem; width:1.7rem; margin:0.75rem; vertical-align:middle; }
  .header-social a { display:block; color:#fff; font-size:1rem; height:3rem; width:15em; line-height:3rem; position:absolute; top:0; left:0; text-decoration:none; transition:all 0.3s ease-in-out; background:rgba(0,0,0,0.6);}
  .header-social a:hover { background-color:var(--accent-color); -webkit-transform:translateX(calc(-100% + 3rem)); transform:translateX(calc(-100% + 3rem)); }
  
  /* Staff 
  ----------------------------------------------------*/
  .staff-item { width:25%; }
  
  /* Grid Lists */
  .list-grid li { width:33%; }
  
  /* Stats */
  .stats-row-4,
  .stats-row-5 { flex-flow:row; }
    .stats-row-4 .stat { width:25%; }
    .stats-row-5 .stat { width:20%; }
    .stats-row-4 .stat:after,
    .stats-row-5 .stat:after { display:block; }
  
  
  #home .page-hero { min-height: 40vw; }
}

/* 1200px
----------------------------------------------------*/
@media only screen and (min-width: 75em) {
    .nav-top li a {font-size:0.95em; letter-spacing:0.04em;}
  
}

/* 1280px
----------------------------------------------------*/
@media only screen and (min-width: 80em) {
    .nav-top li a { letter-spacing: 0.08em; }
  
}

/* Hi-res
----------------------------------------------------*/
@media
  only screen and (-webkit-min-device-pixel-ratio:1.5),
  only screen and (min-device-pixel-ratio:1.5),
  only screen and (-webkit-min-device-pixel-ratio:144),
  only screen and (min-resolution:144dpi),
  only screen and (min-resolution:1.5dppx){
    .more {background-image:none; }
    .dept-nd a,
    .dept a {background-size:auto 50px;} 
}

/*************************************************************************************
 * 4. Themes
 ************************************************************************************/
@media screen {

  /* Brand Bar
  ----------------------------------------------------*/
  /** White Text **/
  .dept-nd a   {width:301px; background-image:url('https://static.nd.edu/images/brandbar/dept-nd-white.png');}
  .dept-intr a {width:325px; background-image:url('https://static.nd.edu/images/brandbar/dept-intr-white.png');} /* Office of Internationalization */
  .brandbar { background:#0c2340;}
  .titlebar { background:#0c2340; color:#fff; }
  
  @supports(--css: variables) { 
    .entry-title,
    .accent-border { border-color:var(--accent-color); }
    .accent-border::after { background-color:var(--accent-color); }
    .stat-number { color:var(--accent-color); }
    .ribbon.dark { background:var(--accent-color); }
  }
}

/* Hi-res
----------------------------------------------------*/
@media
  only screen and (-webkit-min-device-pixel-ratio:1.5),
  only screen and (min-device-pixel-ratio:1.5),
  only screen and (-webkit-min-device-pixel-ratio:144),
  only screen and (min-resolution:144dpi),
  only screen and (min-resolution:1.5dppx){
  .dept-nd a   {background-image:url('https://static.nd.edu/images/brandbar/dept-nd-white@2x.png');}
  .dept-intr a {background-image:url('https://static.nd.edu/images/brandbar/dept-intr-white@2x.png');} /* Office of Internationalization */
}



/*************************************************************************************
 * 5. Grid
 ************************************************************************************/

/* Flexbox 
----------------------------------------------------*/
.row { max-width:80rem;  width:100%; display:flex; flex-flow:column; }
.column,
.columns { padding:0 1rem; }
.small-3 {  flex:0 0 25%; max-width:25%; }
.small-4 { flex:0 0 33.33333%; max-width:33.33333%; }
.small-6 { flex:0 0 50%; max-width:50%; }
.small-8 { flex:0 0 66.66667%; max-width:66.66667%; }
.small-9 { flex:0 0 75%; max-width:75%; }
.small-12 { flex:0 0 auto; max-width:100%; }

.ribbon { margin:0 -2rem; padding:2rem;}
.page-content > .row,
.page-intro > .row,
.page-nav > .row { width:calc(100% + 2rem); margin:0 -1rem; }

/* 700px
----------------------------------------------------*/
@media 
  only screen and (min-width:43.75em),
  print  {

  .row { flex-flow:row wrap; margin:0 auto; }
  /* .row-container {max-width:96%; } */
  .column,
  .columns { flex:1 1 0%; }
  .medium-3 { flex:0 0 25%; max-width:25%; }
  .medium-4 { flex:0 0 33.33333%; max-width:33.33333%; }
  .medium-6 { flex:0 0 50%; max-width:50%; }
  .medium-8 { flex:0 0 66.66667%; max-width:66.66667%; }
  .medium-9 { flex:0 0 75%; max-width:75%; }
  .medium-12 { flex:0 0 100%; max-width:100%; }

  .ribbon { margin:0 calc(-2vw - 1rem); padding:2rem calc(2vw + 1rem); }
  .ribbon.full-bleed-image { padding:0; }
  
  .page-content { padding: 0 0 1rem;}
  .page-nav { padding:1rem 0 }
  .page-intro { padding:1rem 0 0; }
  
  .has-nav .page-nav { padding-right:1rem; padding-top:2rem; }
  .has-nav .page-intro,
  .has-nav .page-content { padding-left:0.5rem; }
  .has-nav.has-hero .page-content { padding-left:0; }
}

/* 1024px
----------------------------------------------------*/
@media only screen and (min-width:64em) {
  .large-3 { flex:0 0 25%; max-width:25%; }
  .large-4 { flex:0 0 33.33333%; max-width:33.33333%; }
  .large-6 { flex:0 0 50%; max-width:50%; }
  .large-8 { flex:0 0 66.66667%; max-width:66.66667%; }
  .large-9 { flex:0 0 75%; max-width:75%; }
}

/* 1200px
----------------------------------------------------*/
@media only screen and (min-width:75em) {
  .ribbon { margin:0 calc(-50vw + 50%); padding:2rem calc(50vw - 50% + 1rem); }
}

/* 1360px
----------------------------------------------------*/
@media only screen and (min-width:85em) {
  /* row-container {max-width:80em;} */
}


/* CSS Grid 
----------------------------------------------------*/
@supports (display:grid) {

  .page-intro { grid-area: intro; }
  .page-content { grid-area: copy; min-width:0; overflow:inherit;}
  .page-nav { grid-area: nav; }
  .page-hero { grid-area: hero; }

  .site-content { 
    display:grid;   
    grid-template-rows:auto;   
    grid-template-columns:100%;
    grid-template-areas:
      "hero"
      "intro"
      "copy"
      "nav";
    min-height:0;
    min-width:0;
    }

  /* 700px
  ----------------------------------------------------*/
  @media only screen and (min-width:43.75em) {

    .site-content { 
      flex:none; 
      grid-template-columns: 1rem 1fr 3fr 1rem;
      grid-template-areas:
        ".     intro intro ."
        ".     copy  copy  .";
     }
     
    .site-content.has-hero { 
      grid-template-areas:
        "hero  hero  hero  hero" 
        ".     intro intro ."
        ".     copy  copy  .";
     }

    .site-content.has-nav { 
      grid-template-rows:auto 1fr;
      grid-template-areas:
        ".    nav  intro ."
        ".    nav  copy  .";
    }

    .site-content.has-nav.has-hero { 
      grid-template-rows:auto;
      grid-template-areas:
        "hero hero hero  hero" 
        ".    nav  intro ."
        ".    copy copy  .";
    }
    .site-content.single { 
      grid-template-columns: 10% 0% 1fr 10%;
    }
    
    .ribbon.has-nav { margin:0 -1rem 0 calc(-33.333% - 2rem); padding:2rem 1rem; }
  }

  /* 1200px
  ----------------------------------------------------*/
  @media only screen and (min-width:75em) {
    .site-content.single {  grid-template-columns: 5% 0% 1fr 5%; }
    .site-content.single .image-right { margin-right: -4vw; }
    .image-right, .image-left {max-width:55%; }
    .staff-image { max-width:40%; }

    
  }
  /* 1360px
  ----------------------------------------------------*/
  @media only screen and (min-width:85em) {
    .site-content { grid-template-columns: 1fr 19em 59em 1fr; }
    .site-content.single { grid-template-columns: 1fr 0 58em 1fr; }
    .site-content.single .image-right { margin-right: -8vw; }
    .ribbon.has-nav { 
      margin:0 calc(-50vw + 39rem) 0 calc(-50vw + 19rem); 
      padding:2rem calc(50vw - 39rem); }
  }
}

/* IE Fallback
----------------------------------------------------*/
@media screen and (min-width:43.75em) and (-ms-high-contrast:active), 
       screen and (min-width:43.75em) and (-ms-high-contrast:none) {
  .site-content { display:flex; flex-flow:row wrap; justify-content:flex-end; }
  .page-hero { width:100%; } 
  .has-hero .page-intro { width:100%; } 
  .has-hero .page-content { width:100%; } 

  .has-nav .page-intro {  width:75%;  } 
  .has-nav .page-content {  width:75%;  } 
  .has-nav .page-nav {  width:25%; order:-1 }

  .has-nav.has-hero .page-hero {  order:-1; }
  .has-nav.has-hero .page-nav {  order:0; }
  .has-nav.has-hero .page-intro {  width:75%; order:1; }
  .has-nav.has-hero .page-content {  width:100%; order:2; } 
}


/*************************************************************************************
 * 5. Plugins
 ************************************************************************************/
.no-js .lazyload {display:none;}

/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp { padding: 0; margin: 0; border: 0; outline: none; vertical-align: top; }
.fancybox-wrap { position: absolute; top: 0; left: 0; z-index: 8020; }
.fancybox-skin { position: relative; background: #f9f9f9; color: #444; text-shadow: none; border-radius: 4px; }
.fancybox-opened { z-index: 8030; }
.fancybox-opened .fancybox-skin { box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); }
.fancybox-outer, .fancybox-inner { position: relative; }
.fancybox-inner { overflow: hidden; }
.fancybox-type-iframe .fancybox-inner { -webkit-overflow-scrolling: touch; }
.fancybox-error { color: #444; font: 14px/20px GP, "Helvetica Neue",Helvetica,Arial,sans-serif; margin: 0; padding: 15px; white-space: nowrap; }
.fancybox-image, 
.fancybox-iframe { display: block; width: 100%; height: 100%; }
.fancybox-image { max-width: 100%; max-height: 100%; }
#fancybox-loading, 
.fancybox-close, 
.fancybox-prev span, 
.fancybox-next span { background-image: url('images/fancybox_sprite.png'); }
#fancybox-loading { position: fixed; top: 50%; left: 50%; margin-top: -22px; margin-left: -22px; background-position: 0 -108px; opacity: 0.8; cursor: pointer; z-index: 8060; }
#fancybox-loading div { width: 44px; height: 44px; background: url('images/fancybox_loading.gif') center center no-repeat; }
.fancybox-close { position: absolute; top: -18px; right: -18px; width: 36px; height: 36px; cursor: pointer; z-index: 8040; }
.fancybox-nav { position: absolute; top: 0; width: 40%; height: 100%; cursor: pointer; text-decoration: none; background: transparent url('images/blank.gif'); /* helps IE */ -webkit-tap-highlight-color: rgba(0,0,0,0); z-index: 8040; }
.fancybox-prev { left: 0; }
.fancybox-next { right: 0; }
.fancybox-nav span { position: absolute; top: 50%; width: 36px; height: 34px; margin-top: -18px; cursor: pointer; z-index: 8040; visibility: hidden; } 
.fancybox-prev span { left: 10px; background-position: 0 -36px; }
.fancybox-next span { right: 10px; background-position: 0 -72px; } 
.fancybox-nav:hover span { visibility: visible; }
.fancybox-tmp { position: absolute; top: -99999px; left: -99999px; visibility: hidden; max-width: 99999px; max-height: 99999px; overflow: visible !important; }

/* Overlay helper */
.fancybox-lock { overflow: hidden !important; width: auto; }
.fancybox-lock body { overflow: hidden !important; } 
.fancybox-lock-test { overflow-y: hidden !important; } 
.fancybox-overlay { position: absolute; top: 0; left: 0; overflow: hidden; display: none; z-index: 8010; background: url('images/fancybox_overlay.png'); }
.fancybox-overlay-fixed { position: fixed; bottom: 0; right: 0; }
.fancybox-lock .fancybox-overlay { overflow: auto; overflow-y: scroll; } 

/* Title helper */
.fancybox-title { visibility: hidden; font: normal 13px/20px GP, "Helvetica Neue",Helvetica,Arial,sans-serif; position: relative; text-shadow: none; z-index: 8050; }
.fancybox-opened .fancybox-title { visibility: visible; } 
.fancybox-title-float-wrap { position: absolute; bottom: 0; right: 50%; margin-bottom: -35px; z-index: 8050; text-align: center; }
.fancybox-title-float-wrap .child { display: inline-block; margin-right: -100%; padding: 2px 20px; background: transparent; /* Fallback for web browsers that doesn't support RGBa */ background: rgba(0, 0, 0, 0.8); border-radius: 15px; text-shadow: 0 1px 2px #222; color: #FFF; font-weight: bold; line-height: 24px; white-space: nowrap; }
.fancybox-title-outside-wrap { position: relative; margin-top: 10px; color: #fff; }
.fancybox-title-inside-wrap { padding-top: 10px; }
.fancybox-title-over-wrap { position: absolute; bottom: 0; left: 0; color: #fff; padding: 10px; background: #000; background: rgba(0, 0, 0, .8); }

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	   only screen and (min--moz-device-pixel-ratio: 1.5),
	   only screen and (min-device-pixel-ratio: 1.5){
	#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { background-image: url('fancybox_sprite@2x.png'); background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/ }
	#fancybox-loading div { background-image: url('fancybox_loading@2x.gif'); background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/ }
}

/* https://raw.githubusercontent.com/ganlanyuan/tiny-slider/ */
.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-outer.ms-touch{overflow-x:scroll;overflow-y:hidden;-ms-overflow-style:none;-ms-scroll-chaining:none;-ms-scroll-snap-type:mandatory;-ms-scroll-snap-points-x:snapInterval(0%, 100%)}.tns-slider{transition:all 0s}.tns-slider>.tns-item{box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left;margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;transition:opacity 0s, -webkit-transform 0s;transition:transform 0s, opacity 0s;transition:transform 0s, opacity 0s, -webkit-transform 0s}.tns-gallery>.tns-moving{transition:all 0.25s}.tns-lazy-img{transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.loaded{opacity:1}.tns-ah{transition:height 0s}.tns-ovh{ /*overflow:hidden*/}.tns-hdx{overflow-x:hidden}.tns-hdy{overflow-y:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-ovh:after { left: 100%; }.tns-ovh:before { right: 100%; }
.tns-inner { margin:0 1rem; }
.tns-ovh:after,
.tns-ovh:before { position: absolute; width: 100vw; background: var(--accent-color); opacity:0.7; content: ""; height: 100%; top: 0; z-index: 2; }

/*************************************************************************************
 * 7. Print Styles
 ************************************************************************************/
@media print {
  @page {margin:0.5cm;}
  body {font-size:13pt; line-height:1.3; font-family:Georgia, "Times New Roman", Times, serif; color:#000;}
  img, tr {page-break-inside:avoid;}
  p, h2, h3 {orphans:3; widows:3;}
  h2, h3 {page-break-after:avoid;}

  /* Styles
  ----------------------------------------------------*/
  a {page-break-inside:avoid;}
  blockquote {page-break-inside:avoid;}
  h1, h2, h3, h4, h5, h6 {page-break-after:avoid; page-break-inside:avoid;}
  img {page-break-inside:avoid; page-break-after:avoid;}
  canvas { max-width:100%; }
  table, pre {page-break-inside:avoid;}
  ul, ol, dl {page-break-before:avoid;}
  a[href^="javascript:"]:after,
  a[href^="#"]:after {content:"";}
  .ndmark {width:150px;}
  .image-right img {float:right; margin:0 0 1em 2em;}
  .image-left img {float:left; margin:0 2em 1em 0;}
  article {overflow:hidden;}

  /* HIDDEN
  ----------------------------------------------------*/
  .article-more,
  .breadcrumbs,
  .header-util,
  .skip-links,
  .nav-mobile,
  .nav-site,
  .nav-skip,
  .nav-top,
  .footer-social,
  .testimonial-item-current,
  .btn-nav-mobile {display:none;}

  /* STRUCTURE
  ----------------------------------------------------*/
  .site-header {overflow:hidden; position:relative; margin:0 0 20px; padding:0 0 20px; border-bottom:1px solid gray;}
    .brandbar {font-size:12px; text-transform:uppercase; font-family:"Adobe Garamond", Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;}
      .brandbar i {text-transform:none;}
    .site-title {margin:0; color:#333; font-family:GPC, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;}
    .site-header a,
    .site-title a,
    .site-subtitle a {color:#000; text-decoration:none;}
    .site-title {margin:4px 0 2px; font-size:2rem;}
    .site-subtitle {font-size:1rem;}

  .site-content { padding:0 1rem; }

  .alpha a:link:after {content:" [link:" attr(href) "] "; font-size:11px; font-family:inherit;}
  .alpha abbr:after {content:" (" attr(title) ")";}
  .ribbon { margin:2rem 0; padding:0; }
  .page-section-image { width:40%; }
  .page-section-image + 
  .page-section-copy { width:60%; padding:1rem 1rem 1rem 2rem;  }
  .section-header { margin-left:1rem; }
  
  .list-grid li { width:50%; align-items:center; display:inline-flex; justify-content:center; align-items:center;  }
  .stats-row { flex-flow:row; }
    .stats-row-3 .stat { width:33%; }
    .stats-row-4 .stat { width:25%; }
    .stats-row-5 .stat { width:20%; }
    .stats-row-6 .stat { width:16.66%; }
  .stats-grid { flex-flow:row;  }
   .stats-grid > .stats-column { width:33%; padding:0 2vw; border-bottom:0; }
   
  .testimonial-item { display:flex; margin:0 0 2rem; } 
  .testimonial-item-image { width:40%; } 
  .testimonial-item-body { width:60%; padding-left:2rem; } 
    
  .site-footer {position:relative; clear:both; margin:20px 0 0; padding:20px 0 0; border-top:1px solid gray;}
    .site-footer p {margin:0;}
    .geo {display:none;}
    .address { display:block; max-width:30rem; }
    .tel {display:block;}
    .site-footer .ndmark {position:absolute; top:20px; right:1rem;}
}