/* Default Styles (small size) */


/* Generic Page */

body {
	margin: 0;
}

/* Remove default underlines */
a {
	text-decoration: none;
}

ul, ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

h1, h2 {
	color: var(--accept-color-bg);
}

h1 {
	margin-top: 40px;
	margin-bottom: 40px;
}
h2 {
	/*margin-top: 0; -- removing this because we adjusted how padding at the end of sections works, this might be too broad a correction */
}

main {
	padding-bottom: 50px;
}

main, footer {
 	border-bottom: 1px solid var(--accent-color-bg) !important;
}

.hidden {
	display: none !important;
}
.msg-box {
	margin-top: 20px;
	padding: 5px;
	border-radius: 10px;
	border: 1px solid #ccc;
	background-color: #eee;
}

.social-media-menu li > * {
	vertical-align: middle;
}

/* Generic Section Code */

.block.section {
	padding-top: 40px;
	padding-bottom: 40px;
}

.section-site .section-content,
.section-column .section-content,
.tiles {
	margin-right: 15px;
	margin-left: 15px;
}

.section-center .section-content {
	display: flex;
	justify-content: center;
}


/* Breadcrumbs aren't shown on the smallest setting */
.section--breadcrumb {
	display: none;
}

/* Pad this section because the background color changes and otherwise the
   content ends up flush with the top of the background color */
.section-accent {
	padding-top: 20px;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

/* Marks a section as the final one in a sequence such that we should 
 * draw a separator if appropriate
 */
.section-final {
	border-bottom: 1px solid var(--accent-color-bg);
}

/* Styles related to specific fields */
article.profile-full .field--name-field-square-image img {
	float: right;
	margin-left: 20px;
}
.field--name-field-square-image img {
	border-radius: 50%;
	width: 33%;
	height: 33%;
}
.profile-tile .field--name-field-square-image img {
	width: 140px;
	height: 140px;
}
.event-full-ucp .ticket-link a {
    display: inline-block;
    background-color: var(--accent-color-bg);
    color: var(--accent-color-fg);
    padding: 15px 40px;
    font-size: 24px;
    margin-bottom: 20px;
}

.field--name-field-person-faculty-affil-depts,
.field--name-field-person-email,
.field--name-field-person-academic-profile,
.field--name-field-person-faculty-education,
.field--name-field-person-student-field-ref,
.field--name-field-person-student-advisors,
.field--name-field-person-faculty-field-ref {
	margin-top: 20px;
}

.body h3,
.body p,
.body ul,
.body table {
	margin-top: 0px;
	margin-bottom: 1em;
}
/* don't put extra padding after the last block element. Its container should handle this */
.body h3:last-child,
.body p:last-child,
.body ul:last-child,
.body table:last-child {
	margin-top: 0px;
	margin-bottom: 0em;
}

/* Special Styling for unordered lists in paragraph bodies
 * Hanging indent with an em-dash bullet + 0.5em buffer between bullet and text.
 */
.body ul {
	padding-left: 1.5em;
}
.body ul > li {
	text-indent: -1.5em;
}
.body ul > li:before {
	content: "—";
	margin-right: 0.5em;
}

/* Special Styling for ordered lists in paragraph bodies
 * Hanging indent with a custom numeric counter (required to remove the trailing .)
 */
.body ol {
	padding-left: 1.5em;
	counter-reset: item;
}
.body ol > li {
	text-indent: -1.5em;
	counter-increment: item;
}
.body ol > li:before {
	content: counter(item);
	margin-right: 1em;
}

.body table {
	border-collapse: collapse;
	width: 100%;
}
.body th, .body td {
	text-align: left;
	border-bottom: 1px solid var(--active-color-bg); /*TODO: does this need another off-canvas color? */
}

.field .label {
	font-weight: bold;
}

.views-row:last-child > article {
    border-bottom: none;
}

/* Syles related to custom views */
.academic-profile-list,
.related-publications {}

.academic-profile-list > h3 {
	width: 100%;
}

/* Set the views exposed form to be full width
 * so that it gets its own row in the flex layout */
.academic-profile-list .views-exposed-form {
	width:100%;
	margin-bottom: 20px;
}
.academic-profile-list .views-row,
.related-publications .views-row {
	width: 200px;
	margin-bottom: 20px;
	display: inline-block;
	vertical-align: top;
}

.teaching-at {
	margin-top: 1em;
	margin-bottom: 1em;
}

/* Publications */
.related-publications .views-row {
	margin-right: 5%;
}
.publication-tile > div {
	line-height: 24px;
	font-family: "Gotham Narrow SSm A", "Gotham Narrow SSm B";
	font-size: 16px;
}
.publication-tile .info {
	font-weight: normal;
	font-style: italic;
	margin: 0px;
	line-height: 24px;
}
.publication-tile img {
	margin-bottom: 10px;
	width: auto;
	max-height: 200px;
	max-width: 100%;
	height: auto !important;
}
.publication-tile .field--name-field-publication-author-int {
	font-weight: 700;
}

/* Styles related to custom sections */

.section--nav-header {
	padding-top: 20px;
	padding-bottom: 20px;
}

.section--nav-header .section-content {
	display: flex;
	justify-content: space-between;
}

.site-name span.department-name {
	font-weight: bold;
}

/* The wordmark is used only at larger sizes */
.site-name img.logo {
	display: none;
}

.site-name img.logo {
	width: auto;
	height: 44px;
}

/* Primary Nav */

/* Hide the menu toggle button (as all menus are always drawn at this point) */
.section--nav-header .material-icons {
	font-size: 36px;
	color: inherit;
}
.section--nav-header .material-icons.search {
	margin-right: 30px;
}

/* Search box is always hidden unless its open class is present */
#search-box:not(.open) {
	display: none;
}
#search-box {
	padding-top: 40px;
	padding-bottom: 40px;
}
/* Style the search box itself, inheirits force the styles from
 * .search to apply here */
.search .form-item-keys {
	display: inline-block;
}
.search input {
	-webkit-appearance: none;
	background: transparent;
	border: 0px;
	color: inherit;
	font-size: inherit;
}

/* hide the main nav container unless its open class is present */
#main-nav-container:not(.open)  {
	display: none;
}

.primary-menu ul.first ul {
	display: none;
}
.primary-menu ul.first > li.open ul {
	display: block;
}

.primary-menu div.second {
	background-color: var(--main-light-color-bg);
}
.primary-menu div.third {
    margin-left: 20px;
}
/* All menu items */
.primary-menu li a:hover,
.primary-menu li.open a {
	/*background-color: var(--highlight-color);*/
}
/* Items that have optional visible separators */
.primary-menu ul.first > li,
.section--nav .secondary-menu,
#search-box {
	border-top: 1px solid var(--main-light-color-bg);
}
.primary-menu ul.second > li {
	border-top: 1px solid var(--main-dark-color-bg);
	padding-top: 15px;
	padding-bottom: 15px;
}

/* The secondary menu in the nav header is hidden unless we have a lot of 
 * space. It is also included in the drop down main nav for smaller screens. */
.section--nav-header .secondary-menu nav {
	display: none;
}
.secondary-menu, .secondary-menu ul {
	display: flex;
}
.secondary-menu li {
	margin-right: 10px;
}
/* This should be disabled in the block config but just in case it isn't,
 * hide it here too. */
.secondary-menu h2 {
	display: none;
}
/* Specific to the secondary menu shown at smaller widths */
.section--nav .secondary-menu {
	padding-top: 20px;
	padding-bottom: 20px;
}

/* Local tasks are the edit, revisions, etc tabs */
.section--local-tasks ul {
	display: flex;
}
.section--local-tasks li {
	margin-right: 20px;
}

/* People Profile Sections */
.section--profile-image {
	border-top: 1px solid var(--accent-color-bg);
	padding-top: 80px;
	padding-bottom: 40px;
}
article.profile-full .section--profile-info {
	border-bottom: 1px solid var(--accent-color-bg);
	padding-bottom: 80px;
	margin-bottom: 80px;
}
/*article.profile-full {
	padding-bottom: 80px;
	border-bottom: 1px solid var(--accent-color-bg);
	margin-bottom: 80px;
}*/
article.profile-full .section--profile-info:last-child {
 border: 0px;
 padding: 0px;
}

article.profile-abbr {
	padding-top: 20px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--accent-color-bg);
	margin-bottom: 40px;
}
article.profile-abbr .section--profile-info h2 {
	margin-top: 0;
}
article.profile-abbr .section--profile-info {
	text-align: center;
	margin-bottom: 20px;
}
article.profile-abbr .field--name-field-square-image img {
	width: 250px;
	height: 250px;
	float: none;
	margin-left: 0;
	margin-right: 20px;
	margin-bottom: 40px;
}

/* Advanced Page paragraph sections */

/* Clear paragraphs so that they don't overlap if floated inline content inside sticks out. */
.paragraph {
	clear: both;
}

/* Styles for use in paragraphs via the CKeditor Styles toolbar */
.paragraph p.columns,
.paragraph ul.columns {
	column-count: 2;
}

/* Ensure that the paragraph image field and its associated image stretch to fill*/
.field--name-field-paragraph-image {
	width: 100%;
}
.paragraph img {
	width: 100%;
	height: auto;
}

/* hybrid image-text paragraph has images of various sizes floated around text */
.paragraph--type--image-text.paragraph--special--small-left img {
	width: 200px;
	float: left;
	margin-right: 25px;
}

.paragraph--type--image-text.paragraph--special--small-right img {
	width: 200px;
	float: right;
	margin-left: 25px;
}

/* Medium left is called thumbnail for historical reasons */
.paragraph--type--image-text.paragraph--special--thumbnail img {
	width: 300px;
	float: left;
	margin-right: 25px;
}

.paragraph--type--image-text.paragraph--special--medium-right img {
	width: 300px;
	float: right;
	margin-left: 25px;
}

.paragraph--type--image-text.paragraph--special--large-left img {
	width: 400px;
	float: left;
	margin-right: 25px;
}

.paragraph--type--image-text.paragraph--special--large-right img {
	width: 400px;
	float: right;
	margin-left: 25px;
}

.image-caption {
	margin-top: 20px;
	padding-left: 40px;
	padding-right: 40px;
	margin-bottom: 80px;
	text-align: center;
}

figcaption {
    font-size: 15px;
    line-height: 20px;
    text-align: center;
    margin-top: 10px;
}

.paragraph--type--announcement {
	background-color: var(--secondary-accent-color-bg);
	padding: 40px 0px;
	margin-top: 20px;
	margin-bottom: 40px;
}

.paragraph--type--announcement .section-content,
.paragraph--type--announcement .section-content h2,
.paragraph--type--announcement .section-content h3 {
	color: var(--secondary-accent-color-fg) !important;
}

.paragraph--type--announcement .section-content h3 {
	border-bottom: 1px solid var(--secondary-accent-color-fg) !important;
}

.paragraph--type--announcement .section-content a {
	color: var(--secondary-accent-color-fg);
	font-weight: bold;
}

.paragraph--type--announcement .section-content a:hover {
	text-decoration: underline;
}

/* In order to flow well with other paragraphs, accent section ones get some extra spacing*/
.section--accent.paragraph {
	padding-top: 20px;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.paragraph--special--buttons-vertical .field {
	margin-bottom: 40px
}

.paragraph--special--buttons-horizontal .field {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;
}

.paragraph--special--buttons-horizontal .field--name-field-paragraph-links div {
	width: calc(50% - 5px);
    margin-bottom: 10px;
}

.paragraph--special--buttons-vertical .field--name-field-paragraph-links div {
	margin-bottom: 10px;
	width: 50%;
}

.paragraph--special--buttons-horizontal a,
.paragraph--special--buttons-vertical a  {
	display: flex;
	align-items: center;
    justify-content: center;
    flex-grow: 1;
	background-color: var(--accent-color-bg);
	color: var(--accent-color-fg);
	text-align: center;
    width: 100%;
    height: 100%;
    padding: 25px;
    margin: 0px;
}
.paragraph--special--buttons-horizontal a:hover,
.paragraph--special--buttons-vertical a:hover  {
	background-color: var(--active-color-bg);
	color: var(--active-color-fg);
}

.paragraph--special--quick-links .section-body > div {
	display: flex;
	margin-top: 20px;
	margin-bottom: 20px;
}

.paragraph--special--quick-links .section-content .section-body > div {
	width: 100%;
}

.paragraph--special--quick-links .link-header {
	margin-right: 40px;
}

.paragraph--special--quick-links .field {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -20px;
}

.paragraph--special--quick-links .field > div {
	margin-right: 40px;
	margin-bottom: 20px;
}

/* Styles related to custom special paragraph types that
 * embed third party content.
 */

/* Sane defaults on iframes */
.section-body iframe {
	border: 0;
	width: 100%;
}

.bedework-teaser ul {
	padding-left: 0;
	display: flex;
}

.bedework-teaser ul > li {
	text-indent: 0;
	width: 20%;
	margin-right: 5%;
}

.bedework-teaser ul > li:before {
	content: "";
}

.bedework-teaser .more-link {
	text-align: right;
}

.section--footer {
	padding-top: 40px;
	padding-bottom: 80px;
}

.section--footer img.logo {
	width: 100%;
	max-width: 300px;
	height: auto;
	display: block;
	margin-bottom: 30px;
}


/* 30 pixels of space between each element of each column */
.section--footer .section-content > div > * {
	margin-bottom: 30px;
	margin-top: 0px;
}

/* Links in the nav section should inherit base colors from the theme */
.section--nav-header a,
.section--nav a {
	color: inherit;
}

/* links and spans (used for menu items that aren't links) should have
 * padding as the nav section hides the normal global margins.
 */
.section--nav li a,
.section--nav li span {
	display: block;
	padding-left: 15px;
}

/*.section-main:last-child {
	border-bottom: 1px solid var(--accent-color-bg);
}*/

article.news-event-full .field--name-field-title-image img {
	width: 80vw;
	height: auto;
	margin-bottom: 40px;
}

/* Special Display Modes */

/* Teaser tile views */

/* Generally, the height should fill the containing tile cell */
article.node--view-mode--teaser_tile {
	box-sizing: border-box; 
	height: 100%;
}

/* Subject Area Teaser Tiles */
article.node--view-mode--teaser_tile.node--type--subject_area {
	padding: 10px;
	background-color: var(--main-color);
}
article.node--view-mode--teaser_tile.node--type--subject_area:hover {
	background-color: var(--active-color);
}

article.node--view-mode--teaser_tile.node--type--subject_area h2 {
	margin: 0px;
}
article.node--view-mode--teaser_tile.node--type--subject_area:hover h2 a {
	color: var(--active-color-fg);
}

/* People Teaser Tiles */
article.profile-teaser-tile {
	padding: 10px;
	background-color: var(--main-color);
	text-align: center;
}

article.profile-teaser-tile img {
	width: 200px;
	height: 200px;
}


/* Compact Teasers (Used by related news/events page segments) */
article.compact-teaser {
	margin-bottom: 1em;
}

article.compact-teaser h2 {
	margin-bottom: 0;
}

/* Blog Teasers */
article.blog-teaser h2 {
	/*padding-left: 100px;*/
	margin-bottom: 5px;
}

article.blog-teaser .section--author-line,
article.news-full .section--author-line {
	margin-bottom: 15px;
}

article.blog-teaser .section--title-image {
	margin-bottom: 15px;
}

article.blog-teaser .field--name-field-publication-author-ext,
article.news-full .field--name-field-publication-author-ext {
	display: inline;
}

article.blog-teaser .field--name-field-news-date,
article.news-full .field--name-field-news-date {
	display: inline;
	font-style: italic;
}


/* Square tiles - Instructions: Use square tile image field, teaser tile display mode, use 'square-tile' css class in the views */

.square-tile .profile-tile img,
.square-tile .news-tile img,
.tiles img {
	border-radius: 0;
	width: 100%;
	height: auto;
	margin-bottom: 10px;

}

.square-tile .views-row,
.tiles .field--name-field-paragraph-image-group > div  {
	width: 48%;
	display: inline-block;
	vertical-align: top;
	text-align: left;
	margin-bottom: 20px;
}

.square-tile .views-exposed-form
.tiles .view-exposed-form {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	flex: 0 0 100%;
    margin-bottom: 40px;
}

.square-tile .views-exposed-form .form-item input,
.square-tile .views-exposed-form .form-item select,
.tiles .views-exposed-form .form-item input,
.tiles .views-exposed-form .form-item select {
    width: 200px;
}

.tiles .views-exposed-form .form-item input, 
.tiles .views-exposed-form .form-item input {
	padding: 5px;
}

.square-tile,
.tiles .field--name-field-paragraph-image-group {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}

.square-tile .more-link {
    font-family: "Gotham Narrow SSm A", "Gotham Narrow SSm B";
    position: absolute;
    right: 0;
    bottom: 0;
}

/* End square tiles styling (there are some media queries) */

/* Special Views */

/* Views headers aren't real headers and shouldn't be styled that way. They do need some
 * margin to separate them from the view contents. */
.view header {
	font-family: inherit;
	margin-bottom: 20px;
}

/* Teaser tiles should be a flex grid of items whose number (including the more link,
 * if present) is divisible by 6. Tiles have a 5 pixel gutter. */
.view-teaser-tile {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}

.view-teaser-tile div.views-row,
.view-teaser-tile div.more-link {
	width: 100%;
	margin-bottom: 5px;
}

.view-field-list {
	columns: 2;
}

.view-field-list .views-row {
	margin-bottom: 20px;
}

.view-field-list .views-field-field-person-staff-title {
	color: var(--active-color);
}
.view-field-list .views-field-title {
	font-weight: bold;
}
.view-field-list .views-row {
	break-inside: avoid;
	page-break-inside: avoid;
}

.course-teaser {
    margin-bottom: 30px;	
}
.section-column.course-teaser .section-content >  h2 {
	margin-left: 0px;
	margin-bottom: 0px;
}


/* Main course display block */
#block-views-block-courses-main article.course-teaser {
	padding-bottom: 25px;
	border-bottom: 1px solid grey;
}

#block-views-block-courses-main article.course-teaser h2 {
	margin-bottom: 0px;
}

#block-views-block-courses-main article.course-teaser div.field--name-body {
	margin-top: 10px;
	margin-bottom: 10px;
}

#block-views-block-courses-main article.course-teaser div.instructors {
	/*margin-bottom: 10px;*/
}

#block-views-block-courses-main article.course-teaser div.field--name-body p:last-child {
	margin-bottom: 0px;
}

#block-views-block-courses-main article.course-teaser div.field--name-field-course-category {
	margin-top: 10px;
}

/* Styling when there is no label */
#block-views-block-courses-main article.course-teaser div.field--name-field-course-category.field--label-hidden > div {
	display: inline-block;
}
#block-views-block-courses-main article.course-teaser div.field--name-field-course-category.field--label-hidden > div:not(:last-child):after {
	content: ", ";
}

/* Styling when there is an inline label */
#block-views-block-courses-main article.course-teaser div.field--name-field-course-category.field--label-inline {
	display: flex;
}

#block-views-block-courses-main article.course-teaser div.field--name-field-course-category.field--label-inline > div.label {
	margin-right: 5px;
}

#block-views-block-courses-main article.course-teaser div.field--name-field-course-category.field--label-inline > div.label:after {
	content: ": ";
}

#block-views-block-courses-main article.course-teaser div.field--name-field-course-category.field--label-inline > div:not(.label) > div {
	display: inline-block;
}
#block-views-block-courses-main article.course-teaser div.field--name-field-course-category.field--label-inline > div:not(.label) > div:not(:last-child):after {
	content: ", ";
}

.field--name-field-course-prerequisites {
	font-style: italic;
}


/* Styles for the first views exposed filter style implemented 
 * Initially this was applied manually to the courses (and later to the
 * academic profile field filters). Later it was generalized to be applicable
 * to any view by adding the view class 'filter-style-1'. Code is still 
 * present here for the initial two cases for backwards compatibility. All new
 * views that want this style should prefer the generic class.
 *
 * The goal by creating a set of generic, opt-in, classes for this purpose is
 *   1. Avoid needing to update department2017 to add new forms to the styling list. Views
 *      instead can opt in at the site config level.
 *   2. As views are generic, avoiding applying styles to views that didn't ask for them.
 */
#block-views-block-courses-main .views-exposed-form,
.academic-profile-list .views-exposed-form,
.filter-style-1 .views-exposed-form {
	padding-top: 30px;
	border-top: 1px solid grey;
	border-bottom: 1px solid grey;
	padding-bottom: 30px;
	margin-bottom: 30px;
	width: 100%;
}

#block-views-block-courses-main .views-exposed-form .form-item,
.academic-profile-list .views-exposed-form .form-item,
.filter-style-1 .views-exposed-form .form-item {
	width: 19%;
	margin-right: 5%;
	display: inline-block;
}

/* drop back to two columns */
@media only screen and (max-width: 738px) {
.filter-style-1 .views-exposed-form .form-item {
	width: 44%;
}
}

#block-views-block-courses-main .views-exposed-form .form-item label,
.academic-profile-list .views-exposed-form .form-item label,
.filter-style-1 .views-exposed-form .form-item label {
	display: block;
	font-weight: bold;
}



#block-views-block-courses-main .views-exposed-form .form-item select,
.academic-profile-list .views-exposed-form .form-item select,
.filter-style-1 .views-exposed-form .form-item select {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	padding: 7px;
	border-radius: 0px;
	border: none;
	height: 30px;
	width: 100%;
	background-color: #ededed;
	color: #4b4b4b;
	margin-bottom: 15px;
}

#block-views-block-courses-main .views-exposed-form input[type=submit],
.academic-profile-list .views-exposed-form input[type=submit],
.filter-style-1 .views-exposed-form input[type=submit] {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	padding: 7px;
	border-radius: 5px;
	border: none;
	width: 100px;
	background-color: #ededed;
	color: #4b4b4b;
	margin-top: 15px;
}


#block-views-block-alumni-main td {
	padding: 4px;
	font-size: smaller;
}

#block-views-block-alumni-main th.views-field-field-person-alum-grad-year {
	width: 90px;
}

/* Career outcomes view */
.career-outcomes th {
	width: 33%;
}

.career-outcomes caption {
	text-align: left;
	margin-bottom: 1em;
}

nav.pager ul {
	margin-top: 30px;
	text-align: center;
}

nav.pager ul li {
	display: inline-block;
	margin-left: 15px;
	margin-right: 15px;
}

/* Generic View Block Styling */
/* These are classes you can add to views to add some generic 
   styling to their associated view blocks */

/* Add a column width separator above. Useful for pages with a bunch 
 * of view blocks stacked up that need a visual distinction between them
 */
.block.view-block-separator-column .section-content {
	border-top: 1px solid var(--accent-color-bg);
	padding-top: 20px;
}

/* End Generic View Block Styling */


/* Slider Bootstrap overrides */
.carousel-inner>.item>a>img, 
.carousel-inner>.item>img, 
.img-responsive, 
.thumbnail a>img, 
.thumbnail>img {
	width:100%;
	max-width: none;
}

.carousel {
	margin-bottom: 40px;
}

.carousel img {
	/*width: 100vw;
	height: 25vw;*/
}

.carousel-indicators li, 
.carousel-indicators li.active {
	margin: 1px 20px !important;
}

.carousel-indicators {
	z-index: 1 !important;
}

.slider .field--name-field-image-field-caption,
.gallery .field--name-field-image-field-caption,
.masonry .field--name-field-image-field-caption {
    position: absolute;
    bottom: 5vw;
    right: 0px;
    width: auto;
    background: #333;
    font-size: 1.2em;
    padding: 10px 30px;
    opacity: .8;
}

.slider .field--name-field-image-field-caption p,
.gallery .field--name-field-image-field-caption p,
.masonry .field--name-field-image-field-caption p {
	color: white;
}

.tiles .field--name-field-image-field-caption,
.tiles .field--name-field-media-image {
	display: inline-block;
	width:160px;
	font-size: 18px;
	font-weight: 700;
	font-family: "Gotham Narrow SSm A", "Gotham Narrow SSm B";
	background: white;
	opacity: .9;
}

.tiles article {
	width: 200px;
	height: 200px
}

.tiles .media_caption {
	margin: 0;
    position: relative;
    top: -50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
}

.tiles p {
    padding: 20px;
    margin: 0 auto;
    width: 100%;
}

.field--name-field-media-image-link {
	display: none;
}

/* Image Group Gallery / Masonry */
.gallery {
	margin:0 auto;
	height: auto!important;
}
.masonry {
	width: 80%;
	margin: 0 auto;
}
.masonry .field--name-field-paragraph-image-group > div {
    width: calc(50% - 10px);
    margin-right: 10px;
    margin-bottom: 10px;
}

.gallery .field--name-field-image-field-caption,
.masonry .field--name-field-image-field-caption {
	background-color: #999999;
	opacity: .8;
}

/* Add to Calendar */
/* Dropdown Button */
.dropbtn {
  background-color: #fff;
  color: var(--accent-color-bg);
  padding: 16px;
  font-size: 16px;
  border: none;
  cursor: pointer;
  font: inherit;
  border: 1px solid transparent;
  box-shadow: 0 0 0 0.5px rgba(50,50,93,.17), 0 2px 5px 0 rgba(50,50,93,.1), 0 1px 1.5px 0 rgba(0,0,0,.07), 0 1px 2px 0 rgba(0,0,0,.08), 0 0 0 0 transparent!important;
  border-radius: 4px;
}

/* Dropdown button on hover & focus */
.dropbtn:hover, .dropbtn:focus {
  background-color: #fafafa;
  outline: none;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
  position: relative;
  display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f1f1f1;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

/* Links inside the dropdown */
.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #ddd}

/* Show the dropdown menu (use JS to add this class to the .dropdown-content container when the user clicks on the dropdown button) */
.show {display:block;}

.material-icons.calendar {
	vertical-align: bottom;
	padding-right: 10px;
}

.share-btns {
	margin-top: 20px;
}

.fb-share-button.fb_iframe_widget,
.twitter-share-button {
	vertical-align: top;
}

#email-btn {
	width: 77px;
    background-color: #7d7d7d;
    border-radius: 4px;
    padding: 2px 10px 3px 9px;
    display: inline-block;
    position: relative;
    min-height: 28px;
}

#email-btn span.label {
    font-size: 15px;
    vertical-align: middle;
    display: inline-block;
    color: white;
    font: normal normal normal 11px/18px 'Helvetica Neue',Arial,sans-serif;
    font-size: 13px;
    font-weight: 500;
}

#email-btn .material-icons {
	vertical-align: middle;
    font-size: 18px;
    padding-right: 4px;
    display: inline-block;
    color: white;
}

/* event info left/right split - node--even--full--ucp.html.twig (used by music and ucp) */
.info-right {
	display: none;
	position: absolute;
	bottom: 0;
	right: 0;
}
.section-content .split {
    display: inline;
    position: relative;
}
.info-left,
.info-right {
    width: 100%;
}

/* Field specific formatting */

/**/
.field--name-field-core-tags div {
	display: inline-block;
}
.field--name-field-core-tags div:after {
	content: ",";
}
.field--name-field-core-tags div:last-child:after {
	content: "";
}

/* Style the author info text on blogs, etc */
.author-info {
	font-style: italic;
}

/* add some padding after blog info */
.section--blog-info {
	margin-bottom: 20px;
}

/* Medium Size overrides */
/**
 * 6 columns
 * 93px with 15 px gutters on each side
 * outer segment is 738px fixed width
 * inner segment is 708px fixed width
 */
@media only screen and (min-width: 738px) {

.square-tile,
.tiles .field--name-field-paragraph-image-group {
	display: block;
}
/* ensure an appropriate amount of right padding is present so
 * the contents of adjacent tiles does not run into each other.
 */
.square-tile .views-row article > div {
	padding-right: 30px;
}
.square-tile .profile-tile img,
.square-tile .news-tile img,
.tiles img {
	width: 200px;
	height: 200px;
	margin-bottom: 5px;
}
.tiles img {
	object-fit: cover;
}
.square-tile h2.info {
	margin-bottom: 5px;
}
.square-tile .views-row,
.tiles .field--name-field-paragraph-image-group > div  {
	width: 32%;
}

/* Larger sizes hide the text logos in favor of using the wordmark */
.site-name span.department-name, .site-name span.university-name {
	display: none;
}
.site-name img.logo {
	display: inline;
}

/* Section content becomes fixed width */
.section-site .section-content,
.section-column .section-content,
.tiles {
	width: 708px;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
}

.section-center .field--name-field-paragraph-image {
	width: 500px;
}

.section--nav-header {
	padding-top: 40px;
	padding-bottom: 30px;
}

/* Add breadcrumbs */
.section--breadcrumb {
	display: block;
	margin-top: 80px;
}

.section--breadcrumb ol {
	display: flex;
}

.section--breadcrumb li:not(:first-child) {
	margin-left: 5px;
}

.section--breadcrumb li:not(:last-child):after {
	content: " > ";
}

h1 {
	margin-top: 20px;
}

/* Footer section splits into three columns, evenly divided.
 */
.section--footer .section-content {
	display: flex;
}
.section--footer .section-content > div {
	width: 216px;
	margin-right: 30px;
}

.academic-profile-list .views-row {
	text-align: center;
	width: 220px;
}
.section--footer img.logo {
	margin-bottom: 0px;
}

/* 50% less the 10px padding on each side and half the 5px gutter */
.view-teaser-tile div.views-row,
.view-teaser-tile div.more-link {
	width: calc(50% - 2.5px);
}
.view-teaser-tile h2 {
	margin-top: 0;
}

.view-news-event-archive-list {
	/*background-color: var(--main-dark-color-bg);*/
}

article.archive-list {
	border-bottom: 1px solid var(--main-dark-color-fg);
	padding: 10px 0px;
}
li:last-child article.archive-list {
	border-bottom: 0px;
}
article.archive-list h2 {
	margin-bottom: 0px;
}

article.news-event-full .field--name-field-title-image img {
	width: 450px;
	height: auto;
}

article.news-event-teaser .field--name-field-title-image {
	text-align: center;
}

article.news-event-teaser .field--name-field-title-image img {
	width: auto;
	max-width: 100%;
	max-height: 200px;
}

article.news-event-teaser {
	display: flex;
	border-top: 1px solid var(--main-dark-color-fg);
	padding-top: 10px;
}
article.news-event-teaser > div {
	width: 33%;
	padding: 10px;
	box-sizing: border-box;
}
article.news-event-teaser h2 {
	margin-top: 0;
}

article.news-event-full .section--news-event-info {
	margin-top: 80px;
	margin-bottom: 40px;
}

article.profile-tile .field--name-field-square-image img {
	float: none;
	margin-bottom: 10px;
}

article.profile-abbr .section--profile-info {
	text-align: left;
	margin-bottom: 0px;
}
article.profile-abbr .field--name-field-square-image img {
	width: 150px;
	height: 150px;
	float: left;
}
article.profile-abbr .field--name-field-person-office-address,
article.profile-abbr .field--name-field-person-email,
article.profile-abbr .field--name-field-person-email-staff,
article.profile-abbr .field--name-field-person-phone-number {
	display: inline-block;
	margin-right: 10px;
}

article.profile-abbr .field--name-field-paragraph-body {
	clear: both;
}

article.profile-abbr .field--name-field-person-office-address + div::before,
article.profile-abbr .field--name-field-person-email + div::before,
article.profile-abbr .field--name-field-person-email-staff + div::before {
	content: "•";
	margin-right: 10px;
}

article.publication-tile img {
	height: 200px;
	width: auto;
}
}

/* Large Size overrides */
/**
 * 12 columns
 * 50px with 15 px gutters on each side
 * outer segment is 960px fixed width
 * inner segment is 930px fixed width
 */
@media only screen and (min-width: 960px) {

/* Move square tile views up to 4 columns unless explicitly forced to 3 */
.square-tile:not(.square-tile-max-3) .views-row {
	width: 24%;
}
/* Instead of extending to 4 columns, increase size */
.square-tile-max-3 .info {
	width: 270px;
}
.square-tile.square-tile-max-3 .profile-tile img,
.square-tile.square-tile-max-3 .news-tile img {
	width: 270px;
	height: 270px;
}


.primary-menu div.third {
    margin-left: 0px;
}

/* Section content fixed width increases 
 * Primary menu and its associated sub nav are added here as they don't 
 * have the usual section-content insert because it conflicts with full
 * bleed behavior at smaller sizes.
 */
.section-site .section-content,
.section-column .section-content,
.primary-menu,
.primary-menu ul.second,
.tiles {
	width: 930px;
	margin-right: auto;
	margin-left: auto;
}
/* column width sections get extra padding */
.section-column .section-content {
	padding-left: 80px;
}
/* Section headers on column width are offset (unless they are tagged as flush)
 * by the amount of left padding to push them into the empty margin. */
.section-column:not(.flush-header) .section-content > h2 {
	margin-left: -80px;
}

/* In the column and site sections, the content is split ~70/30 between main
 * content and related content */
.section-column .section-body, .section-site .section-body {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.section-column .section-body > div,
.section-site .section-body > div {
	flex-shrink: 0;
}
.section-column .section-body > *:first-child,
.section-site .section-body > *:first-child {
	width: 70%;
}
/* For autoexpand sections, if we are the only child (i.e. there is no related section, stretch up to 100% */
.section-column .section-body.auto-expand > *:only-child,
.section-site .section-body.auto-expand > *:only-child,
.section-column .section-body.auto-expand > *:only-child,
.section-site .section-body.auto-expand > *:only-child {
	width: 100%;
}
.section-column .section-body > div.related,
.section-site .section-body > div.related {
	width: 28%;
}
.section-column .section-body > div.related > h3,
.section-site .section-body > div.related > h3 {
	color: var(--accent-color-bg);
	border-bottom: 1px solid var(--accent-color-bg);
}

/* Big enough now to show the secondary menu all the time */
.section--nav-header .secondary-menu nav {
	display: block;
}
/* Hide the secondary nav in the main nav section */
.section--nav .secondary-menu {
	display: none;
}
/* Hide the menu toggle button (as all menus are always drawn at this point) */
.section--nav-header .material-icons.menu {
	display: none;
}
.section--nav-header .material-icons.search {
	font-size: 24px;
}

.paragraph--type--image-text.paragraph--special--thumbnail img {
	width: 250px;
	margin-right: 15px;
}

/* Primary Nav */
/* At this point the primary nav's top level switches to a horizontal 
 * arrangement.
 */
.primary-menu ul.first {
	display: flex;
	flex-wrap: wrap;
}
/* Expand item padding and hide the left padding for the first element.
 * Having the items have left padding is important for improving the 
 * usability of the mouse menu hover targetting. The mouse moves down and
 * to the left after hovering over an item.
 */
.primary-menu ul.first > li > a,
.primary-menu ul.first > li > span {
	padding-left: 30px;
	padding-bottom: 40px;
	padding-top: 30px;
}
.primary-menu ul.first > li:first-child > a,
.primary-menu ul.first > li:first-child > span {
	padding-left: 0px;
}
.primary-menu li {
	cursor: default;
}
/* Switch highlighting from background to foreground */
.primary-menu li a:hover,
.primary-menu li.open a {
	background-color: transparent;
}

.primary-menu li:hover > *:not(div),
.primary-menu li.open > *,
.primary-menu li.menu-item--active-trail > *:not(div) {
	color: var(--active-color-bg);
}

/* First level menu items */
.primary-menu ul.first > li,
.section--nav .secondary-menu {
	border-top-width: 0px;
}

/* Reset the color of the second level div */
.primary-menu div.second {
	background-color: var(--main-dark-color-bg);
}
/* Lay out menu as flexible columns. The first column will fill before wrapping
 * into the second */
.primary-menu ul.second {
	height: 260px;
	flex-flow: column wrap;
	align-content: flex-start;
}
/* Move second+ level separators to the bottom  */
.primary-menu ul.second li {
	border-top-width: 0px;
	border-bottom: 1px solid var(--main-light-color-bg);
	align-self: flex-start;
	width: 300px;
	margin-right: 20px;
	padding-top: 5px;
	padding-bottom: 3px;
}
/* Second and third level menu items alternate under and overlines as follows
 *
 * --- = underlines on second level items 
 * ~~~ = overlines on third level items
 *
 * item 1
 * ------------
 * item 2
 * ~~~~~~~~~~~~
 *   subitem 1
 * ~~~~~~~~~~~~
 *   subitem 2
 * ------------
 * item 3
 * ------------
 *
 * End result: Apparent underlines for all items and sub items.
 *
 * Width of these elements is 20px less than second level to account for the
 * second level indenting padding.
 */
.primary-menu ul.third li {
	padding-left: 20px;
	border-bottom: 0px;
	width: 280px;
	border-top: 1px solid var(--main-light-color-bg);
}

.section--nav ul.second li a,
.section--nav ul.second li span {
	padding-left: 0px;
}

/* At this size the first level menu is always visible */
#main-nav-container:not(.open) {
	display: block;
}

/* when hovering over a first level menu item, Show the second level div
 * container and all the underlying ul menus.
 *
 * The second level div container should be absolutely pinned to the left
 * side of the screen, full width, and have the appropriate padding.
 */
.primary-menu ul.first > li:hover div.second,
.primary-menu ul.first > li.open div.second,
#search-box {
	display: block;
	position: absolute;
	z-index: 2;
	left: 0px;
	width: 100%;
	border-top: 1px solid var(--canvas-color-bg);
	padding: 40px 0;
}
#search-box {
	top: 200px;
	background-color: inherit;
}
/* At this size also open the menu when hovering */
.primary-menu ul.first > li:hover ul,
.primary-menu ul.first > li.open ul {
	display: block;
}
.primary-menu ul.first > li:hover ul.second,
.primary-menu ul.first > li.open ul.second {
	display: flex;
}

/* 33% less the 10px padding on each side and a third the two 5px gutters */
.view-teaser-tile div.views-row,
.view-teaser-tile div.more-link {
	width: calc(33.33% - 3.33px);
}

.view-column-list ul {
	columns: 2;
}

/* Increase footer column width */
.section--footer .section-content > div {
	width: 290px; 
}

.gallery .field--name-field-paragraph-image-group > div {
    width: calc(25% - 10px);
    margin-right: 10px;
    margin-bottom: 10px;
}
.section-content .split {
    display: flex;
}
.info-left {
    width: 74%;
}
.info-right {
	width: 26%;
}
}

/* HD Size overrides */
/**
 * 12 columns
 * 70px with 15 px gutters on each side
 * outer segment is 1200px fixed width
 * inner segment is 1170px fixed width
 */
@media only screen and (min-width: 1200px) {

/* Instead of extending to 4 columns, increase size */
.square-tile-max-3 .info {
	width: 340px;
}
.square-tile.square-tile-max-3 .profile-tile img,
.square-tile.square-tile-max-3 .news-tile img {
	width: 340px;
	height: 340px;
}

/* Section content fixed width increases */
.section-site .section-content,
.section-column .section-content,
.primary-menu,
.primary-menu ul.second,
.tiles {
	width: 1170px;
}

/* Column width sections get extra padding */
.section-column .section-content {
	padding-left: 100px;
}
/* Section headers on column width (unless marked as flush) are offset by 
 * the amount of left padding to push them into the empty margin. */
.section-column:not(.flush-header) .section-content > h2 {
	margin-left: -100px;
}

/* Increase footer column width */
.section--footer .section-content > div {
	width: 370px; 
}

.paragraph--type--image-text.paragraph--special--thumbnail img {
	width: 300px;
	margin-right: 25px;
}

}