/*
 Theme Name:   KSAS Blocks Custom Posts
 Theme URI:    https://krieger.jhu.edu
 Description:  Child theme of KSAS Blocks. Use for sites with custom post type archives.
 Author:       KSAS Communications
 Author URI:   https://github.com/ksascomm
 Template:     ksas-blocks
 Version:      3.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  ksas-blocks-custom-posts
*/

/* General Styles
--------------------------------------------- */
.prose u {
  text-decoration: none;
}

.opacity-0 {
  opacity: 0;
}

.cursor-pointer {
  cursor: pointer;
}

.leading-normal {
  line-height: 1.5;
}

.capitalize {
  text-transform: capitalize;
}

@media (min-width: 768px) {
  .md\:w-1\/3 {
    width: 33.333333%;
  }
  .md\:flex-row {
    flex-direction: row;
  }
}

.justify-around {
  justify-content: space-around;
}

input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="text"],
input[type="time"],
input[type="url"] {
  border: 1px solid #d6d6d6;
  border-radius: 3px;
  color: #31261d;
  padding: 3px;
}

.w-3\/4 {
  width: 75%;
}

.mt-8 {
  margin-top: 2rem;
}

.p-6 {
  padding: 1.5rem;
}

.max-w-sm {
  max-width: 24rem;
}

.w-1\/2 {
  width: 50%;
}

.shadow-lg {
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

@media (min-width: 768px) {
  .md\:float-left {
    float: left;
  }
}

.h-80 {
  height: 20rem;
}

.flex-none {
  flex: none;
}

@media (min-width: 62rem) { 
  .lg\:flex-nowrap {
    flex-wrap: nowrap;
  }
  .lg\:w-3\/5 {
    width: 60%;
  }
}

.pt-2 {
  padding-top: 0.5rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.float-left {
  float: left;
}


.grid {
  display: grid;
}

.grid-cols-2 {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4,minmax(0,1fr));
}


@media (min-width: 768px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .md\:grid-cols-4 {
    grid-template-columns: repeat(4,minmax(0,1fr));
  }
}


@media (min-width: 62rem) { 
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4,minmax(0,1fr));
  }
}

.gap-4 {
  gap: 1rem;
}

.mt-6 {
	margin-top: 1.5rem; /* 24px */
}
.flex-col-reverse {
	flex-direction: column-reverse;
}
.pl-3 {
	padding-left: 0.75rem; /* 12px */
}
.text-xs {
  font-size: 0.75rem; /* 12px */
  line-height: 1rem; /* 16px */
}

.text-sm {
  font-size: 0.875rem; /* 14px */
  line-height: 1.25rem; /* 20px */
}

.rounded-2xl {
  border-radius: 1rem; /* 16px */
}

@media (min-width: 640px) {
.sm\:pl-6 {
  padding-left: 1.5rem;
}
}

/* Accordion Tabs
--------------------------------------------- */
.single-people details,
.bulletin details {
  border: 1px solid #e6e6e6;
}

summary::-webkit-details-marker {
  display: none;
}


.single-people details[open] summary,
.bulletin details[open] summary {
  -webkit-transition: max-height 0.35s;
  -o-transition: max-height 0.35s;
  transition: max-height 0.35s;
  font-size: 1.25rem; /*.text-xl*/
  padding: 1.25rem; /*.p-5*/
  border-left-width: 2px; /*.border-l-2*/
  border-color: #002d72; /*.border-blue*/
  background-color: #f8fafc; /*.bg-gray-100 */
  color: #002d72; /*.text-blue*/
}

.single-people details summary::after,
.bulletin details summary::after {
  float: right;
  width: 1.5em;
  height: 1.5em;
  text-align: center;
  transition: all 0.35s;
  text-rendering: auto;
  font: var(--fa-font-solid);
  content: "\f078";
  font-weight: bold; /*.font-bold*/
}

.single-people details[open] summary::after,
.bulletin details[open] summary::after {
  content: "\f077";
}

.single-people details > *,
.bulletin details > * {
  padding-left: 1.25rem; /*.p-5*/
  padding-right: 1.25rem; /*.p-5*/
}

.single-people details ol,
.single-people details ul,
.bulletin details ol,
.bulletin details ul {
  padding-left: 2rem;
}

.tab {
  border: 1px solid #e6e6e6;
}
/* Tab content - closed */
.tab-content {
  max-height: 0;
  -webkit-transition: max-height 0.35s;
  -o-transition: max-height 0.35s;
  transition: max-height 0.35s;
}
/* :checked - resize to full height */
.tab input:checked ~ .tab-content {
  max-height: 100vh;
}
/* Label formatting when open */
.tab input:checked + label {
  /*@apply text-xl p-5 border-l-2 border-blue-500 bg-gray-100 text-indigo*/
  font-size: 1.25rem; /*.text-xl*/
  padding: 1.25rem; /*.p-5*/
  border-left-width: 2px; /*.border-l-2*/
  border-color: #002d72; /*.border-blue*/
  background-color: #f8fafc; /*.bg-gray-100 */
  color: #002d72; /*.text-blue*/
}
/* Icon */
.tab label::after {
  float: right;
  right: 0;
  top: 0;
  display: block;
  width: 1.5em;
  height: 1.5em;
  line-height: 1.5;
  font-size: 1.25rem;
  text-align: center;
  -webkit-transition: all 0.35s;
  -o-transition: all 0.35s;
  transition: all 0.35s;
}
/* Icon formatting - closed */
.tab input[type="checkbox"] + label::after {
 /* content: "+";*/
  content: "\25BE";
  font-weight: bold; /*.font-bold*/
  border-width: 1px; /*.border*/
  border-radius: 9999px; /*.rounded-full */
  border-color: #b8c2cc; /*.border-grey*/
}
.tab input[type="radio"] + label::after {
  content: "\25BE";
  font-weight: bold; /*.font-bold*/
  border-width: 1px; /*.border*/
  border-radius: 9999px; /*.rounded-full */
  border-color: #b8c2cc; /*.border-grey*/
}
/* Icon formatting - open */
.tab input[type="checkbox"]:checked + label::after {
  /*transform: rotate(315deg);*/
  transform: rotateX(180deg);
  background-color: #002d72; /*.bg-indigo*/
  color: #f8fafc; /*.text-grey-lightest*/
}
.tab input[type="radio"]:checked + label::after {
  transform: rotateX(180deg);
  background-color: #002d72; /*.bg-indigo*/
  color: #f8fafc; /*.text-grey-lightest*/
}

.tab input[type="checkbox"]:focus + label,
.tab input[type="radio"]:focus + label {
  border-left-width: 2px; /*.border-l-2*/
  border-color: #002d72; /*.border-blue*/
  background-color: #f8fafc; /*.bg-gray-100 */
  color: #002d72; /*.text-blue*/
}

.tab-content > * {
  padding-left: 1.25rem; /*.p-5*/
  padding-right: 1.25rem; /*.p-5*/
}

/* People Post Type Tabs
--------------------------------------------- */

.prose .tabbed a:hover {
  border-style: none;
}

[role="tablist"] {
  margin-block: 0 !important;
  margin-bottom: 0px !important;
  padding: 0px;
  padding-left: 0px !important;
}

[role="tablist"] li,
[role="tablist"] a {
  display: inline-block;
}

[role="tablist"] a {
  text-decoration: none;
  padding: 0.5rem 1em;
  display: block;
  cursor: pointer;
  border-style: none;
  padding: 1.25rem;
  font-family: Gentona-SemiBold, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, sans-serif;
  font-weight: 600;
  line-height: 1.5;
}

[role="tablist"] [aria-selected] {
  background-color: rgb(191 204 217 / var(--tw-bg-opacity));
  --tw-bg-opacity: 0.5;
  --tw-text-opacity: 1;
  color: rgb(49 38 29 / var(--tw-text-opacity));
  border-bottom: 0;
  position: relative;
  top: 2px;
}

[role="tabpanel"] {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/*[role="tabpanel"] * + * {
  margin-top: 0.75rem;
}*/

@media (max-width: 550px) {
  [role="tablist"] li,
  [role="tablist"] a {
    display: block;
    position: static;
  }

  [role="tablist"] [aria-selected] {
    position: static;
  }

  [role="tablist"] [aria-selected]::after {
    content: "\0020⬅";
  }

  .tabbed [role="tablist"] a:hover {
    border-width: 2px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(49 38 29 / var(--tw-border-opacity));
  }
}

@media (min-width: 551px) {
  .tabbed [role="tablist"]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(248 248 248 / var(--tw-bg-opacity));
  }
}



/* Blog Meta
--------------------------------------------- */
.blog-excerpt a,
.blog-excerpt a:hover {
  border: none;
}

.post-taxonomies {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: .5em .75em;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color .25s ease-out,color .25s ease-out;
  font-family: inherit;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  border: 1px solid #002d72;
}

.post-taxonomies > span {
  text-transform: uppercase;
  margin-bottom: .25rem;
}

.post-taxonomies a {
  font-family: gentona-semibold,"Helvetica Neue",Roboto,sans-serif;
  font-weight: 600;
  font-size: 1rem;
}

.blog-excerpt .entry-meta {
  display: flex;
  justify-content: space-between;
  font-size: 1.125rem;
  font-family: gentona-semibold,"Helvetica Neue",Roboto,sans-serif;
  font-weight: 600;
  max-width: 70ch;
}

.blog-excerpt .entry-meta .posted-by,
.blog-full .entry-meta .posted-by {
  text-transform: initial;
}

.blog-full .entry-meta {
  display: flex;
  justify-content: space-between;
	margin: 1rem 0;
	padding: .75rem 1rem;
	background-color: #f4f4f4;
	max-width: 100ch;
  font-family: gentona-semibold,"Helvetica Neue",Roboto,sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
}

.blog-full .entry-content p {
  font-size: 1.25rem;
}

/* Bulletins
--------------------------------------------- */
.single-bulletinboard .bulletinboard .posted-on::before {
  content:"Posted: ";
}

.single-bulletinboard .bulletinboard .deadline::before {
  content:"Deadline: ";
}


.single-bulletinboard .bulletinboard .posted-on,
.single-bulletinboard .bulletinboard .deadline {
  font-size: 1.5rem;
  text-transform: capitalize;
}

.single-bulletinboard .bulletinboard .deadline {
  margin-top: -0.5rem;
margin-bottom: -0.5rem;
font-family: Gentona-SemiBold, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, sans-serif;
}

.bulletin ul.entry-meta {
  text-transform: capitalize !important;
  list-style-type: none;
  padding-left: 1.25rem;
}

.bulletin ul.entry-meta li {
  padding-left: 0;
}

/* Classrooms
--------------------------------------------- */

.single-classroom .prose {
  max-width: 115ch;
}


@media (max-width: 1024px) { 
  .classroom .classroom-callouts h3 {
  font-size: 1.25rem;
  }
}

#classroom-radio-buttons input, #classroom-checkboxes input, #classroom-radio-buttons .classroom-type {
  margin-right: .25rem;
}


.classroom-type {
	color: white;
	padding: .25rem;
}

.classroom-type h3.text-white{
	color: white !important;
}

.classroom-type.computer-lab {
  background: #a15a95;
}

.classroom-type.instructor-computer {
	background: #0072ce;
}

.classroom-type.bring-your-computer {
	background: #cf4520;
}

.classroom-field-card-outline {
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgba(237, 242, 247, var(--tw-border-opacity));
  /* hex: #edf2f7*/
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.classroom-field-card ul {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-inline-start: 0px;
}

.classroom-field-card ul > li {
  padding-left: 0;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.classroom-field-card ul > li::before {
  content: none;
}

.classroom-field-card p {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.classroom-field-card h3 {
  font-size: 1.5rem;
}

.classroom-field-card dd {
  line-height: 1.5;
  margin-inline-start: 0px;
}

.classroom-field-card img {
  margin-bottom: 0rem;
  margin-top: 0rem;
}


/* Documents
--------------------------------------------- */
.documents {
  margin-bottom: -3rem !important;
  padding-bottom: 3rem;
}

.documents > h3 {
  max-width: 75ch;
  margin-left: auto;
  margin-right: auto;
}

.documents .tab {
  background-color: #fefefe;
  max-width: 100ch;
  margin-left: auto;
  margin-right: auto;
}

/* Faculty Books
--------------------------------------------- */
.category-books img.wp-post-image,
.faculty-books img.wp-post-image {
  width: 15rem;
  padding-right: 1rem;
  float: left;
 }

.category-books .entry-content ul.book-meta li,
.faculty-books .entry-content ul.book-meta li {
 margin: .5rem 0;
}

.category-books .entry-content ul.book-meta li::marker,
.faculty-books .entry-content ul.book-meta li::marker{
  color: transparent;
}


@media (max-width: 787px) {
  .category-books img.wp-post-image,
  .faculty-books img.wp-post-image {
    float: none;
    margin-left: .5rem;
 }
  .category-books .entry-content ul.book-meta,
  .faculty-books .entry-content ul.book-meta {
    padding-inline-start: 0;
  }
  .category-books .entry-content ul.book-meta li,
  .faculty-books .entry-content ul.book-meta li {
    padding-left: 0;
  }
}

.page-template-faculty-books .faculty-books hr {
  padding-top: 1rem;
  clear: both;
}

/*.page-template-faculty-books .faculty-books .entry-content p {
 line-height: 1.5;
}*/

.faculty-books-excerpt-tab {
  clear: both;
  padding-top: 1rem;
}

.faculty-books-excerpt-tab h2 {
  font-size:1.25rem;
}

.faculty-books-excerpt-tab img.wp-post-image {
  margin-right: 1rem;
  margin-bottom: 1rem;
  width: 12rem;
}

/* Graduate Field of Study
--------------------------------------------- */
.graduate-field-card-outline {
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgba(237, 242, 247, var(--tw-border-opacity));
  /* hex: #edf2f7*/
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.graduate-field-card ul {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-inline-start: 0px;
}

.graduate-field-card ul > li {
  padding-left: 0;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.graduate-field-card ul > li::before {
  content: none;
}

.graduate-field-card p {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.graduate-field-card h3 {
  font-size: 1.5rem;
}

.graduate-field-card dd {
  line-height: 1.5;
  margin-inline-start: 0px;
}

/* Isotope
--------------------------------------------- */
.isotope-to-sort a.button {
  margin: 0 0.25rem;
  text-align: center;
  font-family: Gentona-SemiBold, system-ui, BlinkMacSystemFont, -apple-system,
    Segoe UI, sans-serif;
  vertical-align: text-bottom;
  line-height: 1.2;
}

.site-main .isotope-to-sort a {
  color: inherit;
}

.isotope-to-sort a.all.button {
  --tw-text-opacity: 1;
  color: rgba(254, 254, 254, var(--tw-text-opacity));
}

.isotope-to-sort a.all.button:hover {
  --tw-text-opacity: 1;
  color: rgba(49, 38, 29, var(--tw-text-opacity));
}

.isotope-to-sort a.button {
  color: #fefefe;
  border-bottom: 0;
  text-transform: capitalize;
}

.isotope-to-sort a.button.is-checked {
  background-color: #68ace5;
  color: #31261d;
}

/* People Directory
--------------------------------------------- */
.people p.interests {
  margin-top: .5rem;
  margin-bottom: .5rem;
}

.prose .people .contact-info ul {
  margin-block: 0;
  padding-left: 0;
  list-style-type: none;
}

.prose .people .contact-info li {
  margin: 0;
  padding-left: 0;
}

.prose .people .contact-info p {
  margin-top: .75rem;
  margin-bottom: .75rem;
}

.prose .people .contact-info .position p {
  font-size: 1.25rem;
}

/* Research Projects
--------------------------------------------- */
.research-project-card-outline {
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgba(237, 242, 247, var(--tw-border-opacity));
  /* hex: #edf2f7*/
  --tw-shadow: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.research-project-card ul {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-inline-start: 0px;
}

.research-project-card ul > li {
  padding-left: 0;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.research-project-card ul > li::before {
  content: none;
}

.research-project-card p {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.research-project-card h3 {
  font-size: 1.25rem;
}


/* Tables
--------------------------------------------- */
.table-auto {
  table-layout: auto;
}

.classroom-table {
  border: 1px solid #e5e7eb;
}

.classroom-table th {
  padding-top: .5rem;
  padding-left: 1rem;
}

.classroom-table td {
 padding-left: 1rem;
}


/* Testimonials/Profiles
--------------------------------------------- */
.single-profile .profile img.wp-post-image,
.single-testimonial .testimonial img.wp-post-image {
  margin-right: 1.5rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .single-profile .entry-content::after,
  .single-testimonial .entry-content::after,
  .category-books .entry-content::after {
    content: "";
    clear: both;
    display: table;
  }
}

/* Toolkit
--------------------------------------------- */
.toolkit-meta {
  margin-bottom: 1.5rem;
}

.border-l-2 {
  border-left-width: 2px;
}