/*
Theme Name:    Professional and Continuing Education (Toolset) 2024 Rebrand
Theme URI:     https://source.cloud.google.com/eai-team-cloud-source-repos/pce-catalog-wp-theme/+/main:
Description:   Professional and Continuing Education website. GeneratePress child theme that depends on Toolset.
Author:        Isaac Dansicker, Technology Department
Author URI:    https://www.massart.edu
Template:      generatepress
Version:       0.8.5
License:       GNU General Public License v2 or later
License URI:   http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:   massart-pce
*/

/* 
 * Fonts
 */

@font-face {
  font-family: 'Ciron Classic';
  font-style: normal;
  font-weight: normal;
  src: url('/wp-content/themes/pce-theme-classic/font/CironClassic-Regular.woff2') format('woff2'),
       url('/wp-content/themes/pce-theme-classic/font/CironClassic-Regular.woff') format('woff'),
       url('/wp-content/themes/pce-theme-classic/font/CironClassic-Regular.otf') format('opentype');
}

@font-face {
  font-family: 'Ciron Classic';
  font-style: italic;
  font-weight: normal;
  src: url('/wp-content/themes/pce-theme-classic/font/CironClassic-Italic.woff2') format('woff2'),
       url('/wp-content/themes/pce-theme-classic/font/CironClassic-Italic.woff') format('woff'),
       url('/wp-content/themes/pce-theme-classic/font/CironClassic-Italic.otf') format('opentype');
}

@font-face {
  font-family: 'Ciron Classic';
  font-style: normal;
  font-weight: bold;
  src: url('/wp-content/themes/pce-theme-classic/font/CironClassic-Bold.woff2') format('woff2'),
       url('/wp-content/themes/pce-theme-classic/font/CironClassic-Bold.woff') format('woff'),
       url('/wp-content/themes/pce-theme-classic/font/CironClassic-Bold.otf') format('opentype');
}

@font-face {
  font-family: 'Ciron Classic';
  font-style: italic;
  font-weight: bold;
  src: url('wp-content/themes/pce-theme-classic/font/CironClassic-BoldItalic.woff2') format('woff2'),
       url('wp-content/themes/pce-theme-classic/font/CironClassic-BoldItalic.woff') format('woff'),
       url('wp-content/themes/pce-theme-classic/font/CironClassic-BoldItalic.otf') format('opentype');
}

@font-face {
  font-family: 'Romek Rounded';
  font-style: normal;
  font-weight: 200;
  src: url('/wp-content/themes/pce-theme-classic/font/Romek Extra Light.woff2') format('woff2');
}

@font-face {
  font-family: 'Romek Rounded';
  font-style: italic;
  font-weight: 200;
  src: url('/wp-content/themes/pce-theme-classic/font/Romek Extra Light Italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Romek Rounded';
  font-style: normal;
  font-weight: 300;
  src: url('/wp-content/themes/pce-theme-classic/font/Romek Light.woff2') format('woff2');
}

@font-face {
  font-family: 'Romek Rounded';
  font-style: italic;
  font-weight: 300;
  src: url('/wp-content/themes/pce-theme-classic/font/Romek Light Italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Romek Sharp';
  font-style: normal;
  font-weight: 200;
  src: url('/wp-content/themes/pce-theme-classic/font/RomekSharp-ExtraLight.woff2') format('woff2');
}

@font-face {
  font-family: 'Romek Sharp';
  font-style: italic;
  font-weight: 200;
  src: url('/wp-content/themes/pce-theme-classic/font/RomekSharp-ExtraLightItalic.woff2') format('woff2');
}

@font-face {
  font-family: 'Romek Sharp';
  font-style: normal;
  font-weight: 300;
  src: url('/wp-content/themes/pce-theme-classic/font/RomekSharp-Light.woff2') format('woff2');
}

@font-face {
  font-family: 'Romek Sharp';
  src: url('/wp-content/themes/pce-theme-classic/font/RomekSharp-LightItalic.woff2') format('woff2');
  font-style: italic;
  font-weight: 300;
}

@font-face {
  font-family: 'Rois';
  font-style: normal;
  font-weight: bold;
  src: url('/wp-content/themes/pce-theme-classic/font/Rois-Bold.woff2') format('woff2'),
       url('/wp-content/themes/pce-theme-classic/font/Rois-Bold.woff') format('woff'),
       url('/wp-content/themes/pce-theme-classic/font/Rois-Bold.ttf') format('truetype'),
       url('/wp-content/themes/pce-theme-classic/font/Rois-Bold.eot'),
       url('/wp-content/themes/pce-theme-classic/font/Rois-Bold.eot?#iefix') format('embedded-opentype');
}

/*
 * Variables
 */
:root {
  --sans-font-stack: "Ciron Classic","Inter", "Arial", sans-serif;
  --serif-font-stack: "Romek","Source Serif", "Georgia", serif;
  --theme-color-blue: #96d9ff;
  --theme-color-brown: #341922;
  --theme-color-go-green: #c9e939;
  --theme-color-line-green: #229e5c;
  --theme-color-neutral: #f8faeb;
  --theme-color-orange: #f78d31;
  --theme-color-purple: #dec3ff;
}

/*
 * Components
 */
/* Keep the descendent selectors to override Bootstrap */
body .btn.btn-primary,
body .nav-pills > li.active > a
{
  background-color: var(--theme-color-go-green);
  border: 2px solid var(--theme-color-line-green);
  color: black;
  transition: all .3s ease;
  text-decoration: none;
}
/* FontAwesome shouldn't have borders */
body .nav-pills > li a .fas,
body .nav-pills > li.active a .fas,
body .social .btn .fab {
  text-decoration: none;
  border: 0 none;
}

body .btn-primary:focus,
body .btn-primary:hover,
body .nav-pills > li > a:hover,
body .nav-pills > li > a:focus,
body .nav-pills > li > a:hover .fas,
body .nav-pills > li > a:focus .fas,
body .nav-pills > li.active > a:hover,
body .nav-pills > li.active > a:focus,
body .nav-pills > li.active > a:hover .fas,
body .nav-pills > li.active > a:focus .fas
{
  background-color: var(--theme-color-line-green);
  color: white
}

body a.btn,
body a.btn:active,
body a.btn:hover,
body a.btn:visited,
body .nav-pills > li > a,
body #primary-menu #menu-primary-navigation .view_cart > a,
body #primary-menu #menu-primary-navigation .view_cart > a .fas,
body .entry-content a.cart_link,
body .register-class .fas,
body .register-class .fas:active,
body .register-class .fas:hover
{
  text-decoration: none;
}

.panel.panel-default {
	background-color: var(--theme-color-blue);
	padding: 1rem;
}

/*
 * Typography.
 */
html {
  font: normal normal 18px/25px var(--sans-font-stack);
}

body {
  background-color: var(--theme-color-neutral); 
}


body, button, input, select, textarea {
  font-family: var(--sans-font-stack);
  font-style: normal;
  font-weight: normal;
}
h1 {
  font: normal normal 48px/1.25 var(--sans-font-stack);
}
h2 {
  font: normal normal 36px/46px var(--sans-font-stack);
}
h3 {
  font: normal normal 30px/40px var(--serif-font-stack);
}

h4 {
  font: normal bold 16px/20px var(--sans-font-stack);
  letter-spacing: 4%;
}

a,
a .fab,
a .fas,
.entry-content a,
.entry-content a:active, 
.entry-content a:visited, 
.entry-content li a,
.entry-content li a:active,
.entry-content li a:visited,
.entry-content p a,
.entry-content p a:active,
.entry-content p a:visited
.main-navigation a {
  text-decoration: underline;
  transition: all ease .3s;
}

a:focus,
a:hover,
a:focus .fab,
a:hover .fab,
a:focus .fas,
a:hover .fas,
.catalog_navigation ul.catalog_navigation_links li a:focus,
.catalog_navigation ul.catalog_navigation_links li a:hover,
.entry-content a:focus,
.entry-content a:hover,
.entry-content li a:focus,
.entry-content li a:hover,
.entry-content p a:focus,
.entry-content p a:hover,
.main-navigation li:active > a,
.main-navigation li:focus > a,
.main-navigation li:hover > a,
.row .section_details_summary a.read-more:focus,
.row .section_details_summary a.read-more:hover,
p a.read-more:focus,
p a.read-more:hover
{
  text-decoration: none;
}

/* Don't indent our lists. */
.entry-content ul {
  margin-left: 0;
}

/* Add space after each list item. */
.entry-content ul li {
  margin-bottom: 5px;
}

h3 a {
  padding-bottom: 4px;
}

.entry-content p,
.entry-content li,
.search-results .entry-summary p {
  /* https://css-tricks.com/almanac/properties/h/hyphenate/ */
  hyphens: auto;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/*.entry-content p:last-child,*/
.entry-content li:last-child,
.search-results .entry-summary p:last-child {
	margin-bottom: 0;
}

/*
Shopping cart link.
*/
.btn.register-class {
  background-color: var(--theme-color-go-green);
  color: black;
  text-transform: uppercase;
}

.btn.register-class:focus,
.btn.register-class:hover {
  background-color: var(--theme-color-line-green);
  color: white;
}

.btn.register-class .course_price {
  font-weight: bold;
}

.btn.register-class .cost_type {
  hyphens: none;
  text-wrap: pretty;
  white-space: pre-wrap;
}

/* Footer styles. */
/* .footer-widgets {
  padding: 40px 40px 0 40px;
} */


#footer-widgets .custom-html-widget p {
  margin-bottom: .5em;
}

#footer-widgets .footer-widget-1 .custom-html-widget img {
  padding-right: 1rem;
  margin-bottom: 1rem;
}

#footer-widgets .footer-widget-4 .custom-html-widget .social {
  margin-bottom: 1rem
}
#footer-widgets .footer-widget-4 .custom-html-widget .social > a {
  color: black;
}


#footer-widgets .footer-widget-4 .custom-html-widget .mailing_list_signup {
  margin-top: 1rem;
}

/*
Styles used on the Course Index Page.
*/
/* constrain image height. */
img.category_header_image {
  width: 100%;
  object-fit: cover;
  height: 300px;
}

/* Add space between each course listing on the course index template. */
#course_block > div > div.row {
  margin-bottom: 3rem;
}

/*
Styles used on the Catalog Landing Page.
*/
.catalog_navigation {
  padding: 1em 0;
  margin-bottom: 2em;
  margin-top: 2em;
}



.catalog_navigation .catalog_navigation_links li a {
  text-decoration: none;
}

.row .section_details_summary {
  padding-left: 0;
}

.row .section_details_summary a.read-more,
.section-template-default #recommended_sections a.read-more,
p a.read-more {
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: bold;
}

.row .section_details_summary p.section_detail_subhead {
  /* text-transform: uppercase; */
  font-weight: bold;
}

.row .section_details_summary .section_details_category_listing.section_details_category_listing_first_row {
  border-top: 1px solid var(--theme-color-neutral);
  padding-top: 2rem;
}

.row .section_details_summary .register_button_container {
  padding-top: 1rem;
}

.row .section_details_summary .view_course_details {
  margin-top: 1rem;
}

.row.section_details_summary_container {
  margin-left: 0;
}

/* constrain image height. */
.course_index_image_container a {
  display: block;
}
.course_index_image_container a img {
  padding-top: 8px;
  width: 100%;
  object-fit: cover;
  height: 420px;
}

/* Styles for the site header. */
.inside-header {
  padding: 0;
}

/*
Section Detail Page.
*/

.section-header-image {
  margin: -40px -35px 0 -35px;
  position: relative;
}

/* Format section images. Restrain height and ensure they stretch the full width of the screen. They will be vertically centered, too. */
.section-header-image img {
  object-fit: cover;
  width: 100%;
  max-height: 50dvh;
}

.section-header-image .caption-icon-container {
  position: absolute;
  bottom: 1dvh;
  right: 1dvw;
  font-size: 1.2rem;
  color: black;
  background-color: var(--theme-color-purple);
  transition: opacity .3s ease;
}

.section-header-image .caption-icon-container .fas.fa-info:hover {
  cursor: help;
}

/* Catalog landing page and category index header image caption. */
/* https://stackoverflow.com/questions/9998260/css-absolute-position-wont-work-with-margin-leftauto-margin-right-auto */
.catalog_title_container,
.category_title_container,
.page_title_container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1100px;
  width: 100%;
  /*top: 0;*/
  left: 0;
  right: 0;
  bottom: 0;
}

.catalog_title_container .catalog_header_image_caption,
.category_title_container .category_header_image_caption,
.page_title_container .page_header_image_caption
{
  text-align: start;
  position: absolute;
  bottom: calc(2rem + 40px);
  right: 5px;
  opacity: 0;
  border-radius: 3px;
  transition: opacity .3s ease;
  margin-bottom: 1rem;
  margin-left: 10px;
  background-color: var(--theme-color-purple);
  color: black;
  padding: 23px 25px;
  font-size: 0.7rem;
  border: 1px solid #ffffffB3;
  max-width: 25%;
  line-height: 1rem;
  box-shadow: 0 3px 4px rgba(0,0,0,.4);
}

.catalog_title_container .catalog_header_image_caption::before,
.category_title_container .category_header_image_caption::before,
.page_title_container .page_header_image_caption::before {
  content: '';
  border: solid #ffffffB3;
  background-color: var(--theme-color-purple);
  border-width: 0 1px 1px 0;
  display: inline-block;
  padding: 6px;
  transform: rotate(45deg);
  position: absolute;
  bottom: -7px;
  right: 36px;
  /*box-shadow: 0 3px 4px rgba(0,0,0,.4);*/
}

.catalog_title_container .caption_icon_container,
.category_title_container .caption_icon_container,
.page_title_container .caption_icon_container {
  position: absolute;
  bottom: 2rem;
  right: 35px;
  margin-bottom: 1rem;
  font-size: 1.2rem;
  color: var(--theme-color-purple);
  transition: opacity .3s ease;
}

.caption_icon_container .fas.fa-info {
  color: black;
  background-color: var(--theme-color-purple);
  border-radius: 50%;
  border: 1px solid #ffffffB3;
  padding: 6px 10px;
  font-size: .7rem;
}

.caption_icon_container .fas.fa-info:hover {
  cursor: help;
}

/* Share icons. */
ul.print_share_icons {
  list-style-type: none;
  margin-left: 0;
  font-size: 0.7rem;
  margin-bottom: 4px;
}

ul.print_share_icons li {
  display: inline-block;
  margin-right: 1em;
}

/* Faculty headshot. */
.faculty-headshot {
  filter: grayscale(100%); /* black and white */
  margin: 1rem auto;
}

/* Formatting for course status messages. */
p.class_canceled_message,
p.class_full_message,
p.class_almost_full_message,
p.class_ended_message {
  font-style: italic;
  font-size: 0.9em;
}

/* Breadcrumbs. */
.breadcrumbs {
  margin-top: 0;
}


.breadcrumbs .breadcrumb-sep {
  padding-left: 5px;
  padding-right: 5px;
}

/* Global header message styles. */
.global_header_message_container {
  background-color: var(--theme-color-go-green);
  border-bottom: 1px solid white;
  height: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
}

.global_header_message_container .global_header_message_container_inner {
  hyphens: auto;
  background: transparent;
}

#global_interstitial_header {
  position: relative;
}

/* Position the close icon. */
#global_interstitial_header_close_container {
  position: absolute;
  right: 0;
  top: 0;
}

div#global_interstitial_header p#global_interstitial_header_text {
  margin-top: 1.5em;
  margin-right: 35px;
  padding-right: 30px;
}

.featured_image_container {
  position: relative;
}

.featured_image_container h1.catalog_title,
.featured_image_container h1.page_title,
.featured_image_container h1.category_title {
  color: white;
  /* font-size: 10dvw; */
  font-size: 2em;
  text-transform: uppercase;
  /* text-shadow: 0 0 10px rgb(100, 100, 100); */
  margin-bottom: 2rem;
}


.featured_image_container .catalog_title_container,
.featured_image_container .category_title_container,
.featured_image_container .page_title_container {
  position: absolute;
  bottom: 0;
  left: 0;
  /*margin: 2rem 2rem 0 2rem;*/
  width: 100%;
}

.one-container .inside-article>[class*=page-header-] {
  margin-bottom: 1.5em;
}

/* Adult Programs and Youth Programs */
.program_container {
  position: relative;
  background-color: black;
  overflow: hidden;
  margin-bottom: 2px;
}

.program_container img {
  opacity: 1;
  transition: all .3s ease;
}

.program_container:hover img {
  opacity: 0.5;
}
/* https://www.w3schools.com/howto/howto_css_image_text.asp */
/* https://www.w3schools.com/css/tryit.asp?filename=trycss_css_image_overlay_slidebottom */
.program_container .text_container {
  position: absolute;
  /*top: calc(100% - 110px);*/
  /*bottom: -110px;*/
  transform: translateY(-110px);
  left: 0;
  padding: 2rem 2rem 2rem 2rem;
  /*overflow: hidden;*/
  transition: all .3s ease;
  /*border: 2px solid red;*/
  width: 100%;
}

.program_container .text_container .program_description {
  width: 60%;
}

.program_container:hover .text_container {
  /*top: 50%;*/
  /*bottom: 0;*/
  transform: translateY(-100%);
}

.program_container .text_container h3 {
  color: white;
}

.subheading_container h2 {
  margin-top: 3.5rem;
}

.program_container:hover .text_container p {
  opacity: 1;
  margin-bottom: 0; /* Gives us a tiny bounce. */
}

.program_container .text_container p {
  opacity: 0;
  hyphens: auto;
  transition: all .3s ease .3s;
  color: white;
}

.subheading_container p.subheading_description {
  hyphens: auto;
}

body.section-template-default .site-header {
  margin-bottom: 40px;
}

/* Main menu. */
ul#menu-primary-navigation li.menu-item,
ul#menu-primary-navigation li.menu-item a {
  text-transform:capitalize;
}

ul#menu-primary-navigation li.nav_subhead,
.section_details_summary .register {
  /* color: var(--theme-color-line-green); */
  text-transform: uppercase;
}

.main-navigation .main-nav ul ul li {
  padding: 10px 20px 0;
  line-height: normal;
}

/* Override GeneratePress */
.header-wrap {
  background: var(--theme-color-neutral);
  /* position: fixed; */
}

.main-navigation ul, 
.main-navigation ul ul {
  background-color: var(--theme-color-neutral);
}

.main-navigation .inside-navigation {
  align-items: end !important;
}


/* Override GeneratePress .main-navigation .main-nav ul */
.main-navigation .main-nav>ul {
  padding: 1rem 0;
}

/* Override GeneratePress .main-navigation .main-nav ul */
.main-navigation #primary-menu > #menu-primary-navigation > .menu-item > .sub-menu {
  padding: 1rem;
  width: 18rem;
}

/* Override GeneratePress .main-navigation li */
.main-navigation #menu-primary-navigation  .menu-item > .sub-menu > .menu-item {
  position: static;
}

/* Override GeneratePress .main-navigation ul ul */
.main-navigation #menu-primary-navigation  .menu-item > .sub-menu > .menu-item > .sub-menu {
  opacity: 1;
  float: none;
  position: static;
  box-shadow: none;
  height: 100%;
  width: 100%;
}

.main-navigation #menu-primary-navigation .nav_subhead > .sub-menu > .menu-item {
  /* padding: 1rem 0; */
  margin: .5rem 0;
}

#menu-primary-navigation .sub-menu > .menu-item > .sub-menu > .menu-item > a {
  padding: 0;
}

#menu-primary-navigation .sub-menu > .menu-item > .sub-menu > .menu-item > a:hover  {
  text-decoration: underline;
}

/* Mobile Fix */
/* Override GeneratePress .main-navigation.toggled .main-nav ul ul */
.main-navigation.toggled #primary-menu #menu-primary-navigation .toggled-on *,
.main-navigation.toggled #primary-menu #menu-primary-navigation .toggled-on > .sub-menu {
  visibility: visible;
}


/* View cart link in header. */
/* Mailchimp button */
#menu-primary-navigation li.view_cart {
  margin-left: 20px;
  text-align: center;
}

#menu-primary-navigation li.view_cart a {
  line-height: 45px;
}


.main-navigation .main-nav ul ul ul li {
  padding: 10px 0;
}

/* Override GP, never show the nav logo */
.inside-header .inside-navigation .navigation-logo {
  display: none;
}

header#masthead .inside-header {
  background-color: var(--theme-color-neutral);
}

header#masthead .inside-header .site-logo {
  margin: 1rem;
  align-self: flex-start;
  max-width: 50dvw;
}

header#masthead .inside-header .site-logo a {
  display: block;
}

header#masthead .inside-header .site-logo a img {
  max-height: 10dvh;
  width: auto;
}

.main-navigation .menu-bar-item>a {
  line-height: 5rem !important;
}

/* FIXME: we ought to be able to make this full-width through the GP Element. */
/* https://docs.generatepress.com/article/navigation-as-a-header/ */
/* Elements video: https://generatepress.com/premium/#premium-modules */
.page-header-image.grid-container.grid-parent,
.featured-image.page-header-image-single.grid-container.grid-parent {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.page-header-image.grid-container.grid-parent img,
.featured-image.page-header-image-single.grid-container.grid-parent img {
  width: 100%;
  object-fit: contain;
  height: auto;
}

.programs-navigation-wrapper {
  background-color: var(--theme-color-purple);
  position: absolute;
  left: 0;
  right: 0;
  height: 3rem;
  /* bottom: -40px; */
}
.programs-navigation {
  background-color: var(--theme-color-purple) !important;
  position: relative;
  margin: 0 auto;
  line-height: 3rem;
}

.site-footer footer.site-info {
  text-align: start;
  align-items: start;
  padding: 0 40px 40px;
}
.site-footer footer.site-info .footer-logo {
  display: block;
  margin: 0 
}
.site-footer footer.site-info .footer-logo img {
  width: 22%;
  height: auto;
}

.programs-navigation .programs_link {
  display: inline-block;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.02rem;
  text-decoration: none;
  padding: 0 4rem;
  position: relative;
}


.programs-navigation .programs_link:nth-child(1) {
  border-right: 1px solid white;
}

.programs-navigation .programs_link.notch:before {
  content: ' ';
  position: absolute;
  display: block;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  bottom: 0;
  border-left: 1rem solid transparent;
  border-right: 1rem solid transparent;
  border-bottom: 1rem solid white;
  z-index: 2;
}

/* Category description on category landing page. */
.category_description.category_landing_page {
  margin-top: 1rem;
  margin-bottom: 1rem;
  width: 75%;
}

/* Error message prefix formatting. */
strong.error {
  color: white;
  background-color: red;
  padding: 5px;
}

body.section-template-default .class_format_attributes {
  background-color:  var(--theme-color-blue);
  padding: 2rem;
  margin-bottom: 1rem;
  margin-right: 1rem;
  border-left: 2px solid black;
}

/* Reduce left padding. */
body.section-template-default .class_format_attributes {
  padding-left: 25px;
  border-left: 2px solid var(--theme-color-purple);
}

.section_details_summary div.course_status_message p::before,
.section-template-default .alternate_section_container p:first-child::before,
.section-template-default .class_format_attributes li.live_critiques::before,
.section-template-default .class_format_attributes li.live_meetings::before,
.section-template-default .class_format_attributes li.pre-recorded_content::before,
.section-template-default .section_body > *:first-child::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  padding-right: 1em;
  /* color: var(--theme-color-purple); */
  /* margin-left: -30px; */
}

.section_details_summary div.course_status_message p::before {
  content: "\f06a";
}

/* Pre-recorded content icon. */
.section-template-default .class_format_attributes li.pre-recorded_content::before {
  content: "\f144";
}

/* Live meetings icon. */
.section-template-default .class_format_attributes li.live_meetings::before {
  content: "\f03d";
}

/* Live critiques icon. */
.section-template-default .class_format_attributes li.live_critiques::before {
  content: "\f0c0";
}

.section-template-default .section_body > *:first-child::before,
.section-template-default .alternate_section_container p:first-child::before {
  content: "\f05a";
}

/* over-ride icon color */
/* .section-template-default .class_format_attributes p:first-child::before {
  color: var(--theme-color-purple);
} */

/* Turn off bullets on class format attributes ul. */
.section-template-default .class_format_attributes ul {
  list-style: none;
  margin-bottom: 0;
  padding-left: 30px;
}

/* Bold-face the class format attributes. */
/* .section-template-default .class_format_attributes ul li {
  font-style: normal;
  font-weight: bold;
} */

body.section-template-default a.housing {
  text-align: center;
  background-color: var(--theme-color-blue);
  color: white;
  text-shadow: 0 1px 5px rgb(100,100,100);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: .9em;
  font-weight: bold;
  padding: 10px 30px 10px 30px;
  display: inline-block;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
  border-bottom: none;
  transition: background-color 0.3s ease;
  margin-bottom: 1em;
}

body.section-template-default a.housing:hover {
  background-color: var(--theme-color-go-green);
}

/* Search overrides for GeneratePress */
.navigation-search {
  bottom: 0;
}
.navigation-search input[type="search"] {
  /* Fixes GP fixed height */
  height: 100%;
}


.search-results .entry-summary {
  margin-top: 1rem;
}

.search-results .entry-summary .search_results_content_type {
  font-weight: bold;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  font-size: 0.8rem;
}

.main-navigation .main-nav ul li.close-search.sfHover > a {
  background-color: var(--theme-color-neutral);
}

#menu-primary-navigation li.search-item a {
  padding-right: 0;
  padding-left: 32px;
}

.main-navigation.toggled ul ul ul {
  visibility: visible;
}

/* Add whitespace under the category description on the catalog landing page. */
body.catalog-template-default .entry-content p.category_description_catalog_landing_page {
  margin-bottom: 2.5rem;
}

body.catalog-template-default .entry-content h2 {
  margin-bottom: 12px;
}

body.section-template-default p.alternate_section {
  margin-bottom: 5px;
}

body.section-template-default .ul_alternate_section {
  margin-bottom: 0;
}

/* Replace sort triangle. */
.wpv-sorting-indicator {
  position: absolute;
  display: none;
  width: 7px;
  height: 4px;
  margin-top: 11px !important;
  margin-left: 5px !important;
  background-image: url(img/sort.png) !important;
  background-repeat: no-repeat;
}

/* Recommended courses: Other courses we recommend. */
body.section-template-default #recommended_sections_heading h2 {
  border-top: 1px solid white;
  margin-top: 1.5em;
  padding-top: 2em;
  font-size: 30px;
}

/* Other courses we recommend course/section name. */
body.section-template-default #recommended_sections h3 {
  font-size: 25px;
  line-height: 1.6em;
  margin-bottom: 10px;
}

/* Other courses we recommend course/section image. */
body.section-template-default #recommended_sections p.recommended_course_image {
  margin-bottom: 10px;
}

/* constrain size of imagery */
body.section-template-default #recommended_sections p.recommended_course_image a img {
  width: 100%;
  object-fit: cover;
  height: 300px;
}

/* Other courses we recommend course/section wrapper. */
body.section-template-default #recommended_sections div.recommended_course_wrapper.nonvisible_course {
  border: 3px dashed red;
  border-radius: 5px;
  position: relative;
  padding: 15px;
  background-color: #ffffffaa;
}

body.section-template-default #recommended_sections div.recommended_course_wrapper.nonvisible_course h3, body.section-template-default #recommended_sections div.recommended_course_wrapper.nonvisible_course p.recommended_course_image, body.section-template-default #recommended_sections div.recommended_course_wrapper.nonvisible_course p.recommended_course_excerpt {
  opacity: 0.3;
  filter: grayscale(100%);
}

/* Other courses we recommend section status warnings. */
body.section-template-default #recommended_sections p.recommendation_status_warning {
  font-size: 0.8em;
  font-weight: bold;
  border-radius: 5px;
  padding: 10px 15px;
  width: 70%;
  position: absolute;
  top: 20px;
  left: 20px;
}

/* Reduce height of embedded YouTube videos (course trailers). */
body.section-template-default iframe {
  height: 300px;
  margin-bottom: 1rem;
  width: 96%;
}

/* iPhone 8. */
@media (max-width:1024px) {
  .subheading_container .subheading_description {display:none !important;}
  
  .header-wrap {
    position: static !important;
  }
  
  .site-footer {
    padding: 0;
    display:none !important;
  }
  
  .featured_image_container h1.page_title {
    margin-bottom: 0;
  }
  
  /* Restore ability to click on third-level ul links. */
  .main-navigation ul ul {
    pointer-events: auto;
  }
  
  .inside-header>:not(:last-child):not(.main-navigation) {
    margin-bottom: 0;
  }
  
  .featured_image_container .page_title_container,
  .featured_image_container .category_title_container {
    margin: 1rem 2rem;
    width: auto;
  }
  
  .catalog_title_container .catalog_header_image_caption,
  .category_title_container .category_header_image_caption,
  .page_title_container .page_header_image_caption {
    bottom: 40px;
  }
  
  .catalog_title_container .caption_icon_container,
  .category_title_container .caption_icon_container,
  .page_title_container .caption_icon_container {
    bottom: 2px;
  }
  
  .catalog_title_container .catalog_header_image_caption,
  .category_title_container .category_header_image_caption,
  .page_title_container .page_header_image_caption,
  .section-header-image .section-header-image_caption
  {
    max-width: 50%;
  }
  
  .programs-navigation .programs_link {
    font-size: 0.6em;
    padding: 0 1rem;
  }
  
  header#masthead .inside-header .site-logo {
    display: inline-block;
  }
  header#masthead .inside-header .site-logo a img {
    height: 80%;
    width: auto;
  }
  
  /* Change the layout of the view cart link in the primary navigation. */
  ul#menu-primary-navigation li.view_cart {
    padding-left: 20px;
    padding-right: 20px;
    margin-left: 0;
  }

  ul#menu-primary-navigation li.view_cart a {
    display: block;
  }

  .program_container .text_container h3 {
    font-size: 1.1rem;
    margin-bottom: 0;
  }
  .program_container .text_container {
    transform: none;
    left: 0;
    bottom: 0;
  }

  .program_container:hover img {
    opacity: 1;
  }

  .program_container:hover .text_container {
    transform: none;
  }

  /* Catalog. */
  /* Courses, Workshops, Faculty pages & tables. */
  /* This is fragile to hide  */
  .subheading_container .subheading_description,
  .subheading_container .program_description,
  body.section-template-default p.faculty_headshot
  table.catalog_landing_page_faculty th:nth-child(2),
  table.catalog_landing_page_faculty th:nth-child(3),
  table.catalog_landing_page_faculty td:nth-child(2),
  table.catalog_landing_page_faculty td:nth-child(3)
  {
    display: none !important;
  }
  
  .catalog_landing_page_courses_and_workshops .course-name {}
  .catalog_landing_page_courses_and_workshops .course-number {display:none;visibility:hidden;}
  .catalog_landing_page_courses_and_workshops .course-category {display:none;visibility:hidden;}
  .catalog_landing_page_courses_and_workshops .course-start-date {}
  .catalog_landing_page_courses_and_workshops .course-end-date {display:none;visibility:hidden;}
	
	
  /* Faculty bio. */
  h1.entry-title {
    font-size: 1.3rem;
  }
  
  body.section-template-default .faculty_bio_text {
    margin-top: 1rem;
  }
  
  body.faculty-template-default p.faculty_headshot {
    margin-left: -15px;
    clear: both;
  }
  
  /* Section page. */
  body.section-template-default .section_body {
    margin-right: 0;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  
  body.section-template-default .entry-content .ddl-full-width-row .col-sm-3 {
    padding-left: 0;
  }

  /* Styles for the table of course details. */
  body.section-template-default .row.section_page_section_details div {
    margin-bottom: 15px;
  }

  .row.section_page_section_details.section_page_section_details_row_1 {
    padding-bottom: 0;
  }

  .row.section_page_section_details.section_page_section_details_row_2 {
    padding-bottom: 1rem;
  }

  body.section-template-default .section_page_section_details.section_page_section_details_row_1 {
    float: left;
    width: 50%;
    border-top: none;
  }

  body.section-template-default .section_page_section_details.section_page_section_details_row_2 {
    float: right;
    width: 50%;
    padding-top: 1.8em;
    margin-top: 1.5rem;
    border-bottom: none;
  }

  .row.section_details_category_listing p.section_detail_subhead {
    margin-bottom: 0;
  }

  .row.section_details_category_listing div div div:nth-child(1),
  .row.section_details_category_listing div div div:nth-child(2)
  {
    width: 50%;
    float: left;
    clear: left;
  }

  .row.section_details_category_listing div div div:nth-child(3),
  .row.section_details_category_listing div div div:nth-child(4)
  {
    width: 50%;
    float: right;
    clear: right;
  }

  /* Because of the behavior of floats, and that they are still in the normal flow,
  we manually move a div up higher than it would normally sit. */
  .row.section_details_category_listing div div div:nth-child(3) {
    margin-top: -21px;
  }

  .category_description.category_landing_page p {
    font-size: 1rem;
  }

  body.section-template-default .site-header {
    margin-bottom: 0;
  }

  /* Global header message. */
  .global_header_message_container .global_header_message_container_inner {
    width: 100% !important;
  }

  .global_header_message_container {
    padding: 20px;
  }

  .entry-content p, .entry-content li, .search-results .entry-summary p {
    font-size: 0.9rem;
  }

  body.catalog-template-default .entry-content h2 a {
    transition: none;
  }

  /* constrain image height on the Course Index Page. */
  img.category_header_image {
    height: 200px;
  }
}

/* iPhone 5 and SE or below. */
@media (max-width:320px) and (orientation: portrait) {

  .entry-content p, .entry-content li, .search-results .entry-summary p {
    FONT-size: 0.8rem;
  }

  .catalog_navigation ul.catalog_navigation_links li {
    font-size: 0.7rem;
  }

  .programs_navigation .programs_link_container {
    margin-left: 30px;
  }

  .programs_navigation .programs_link_container a.programs_link {
    font-size: 0.65rem;
  }

  table.catalog_landing_page_courses_and_workshops th:nth-child(4),
  table.catalog_landing_page_courses_and_workshops tr td:nth-child(4) {
    display: none;
  }
}
