/*
 Theme Name:   Institute of Behavorial Science Faculty Site
 Theme URI:    https://generatepress.com
 Description:  GeneratePress child theme for IBS Faculty Sites
 Author:       Ask WP Girl, LLC
 Author URI:   https://askwpgirl.com
 Template:     generatepress
 Version:      0.1
*/

/**
 * CONTENTS
 *
 * REFERENCE
 * Colors and fonts...............Site colors and fonts.
 *
 * TYPOGRAPHY
 * Headings.............H1–H6 styles.
 * 
 *
 * HEADER
 * Navigation...............Style and add padding.
 * Sticky Menu...............Color type.
 *
 * LAYOUT ELEMENTS
 * Post Grid.............Circular images, styling filtered nav.
 *
 * EXTRAS
 *
 * Color Palette.............For use Gutenberg.
 *
 */

/*------------------------------------*\
  #REFERENCE
\*------------------------------------*/

/* FONTS
-----------------------
	
	font-family:'Roboto', Helvetica, sans-serif;
	font-weight: 
		Black - 900
		Regular - 400
		Light - 300
*/

/* COLORS
-----------------------
	
	gold: #cfb87c
	dark grey: #565A5C
	light grey: #A2A4A3
	dark blue (buttons): #0277BD
	hover blue: #026baa
	text grey: #434343
	
	link color from branding site: #0277BD
	hover color from branding site: #B71C1C
	
	
	Be sure to disable Default Colors adn Default Fonts in Elemetor > Settings
	
*/

/*------------------------------------*\
  #STRUCTURE
\*------------------------------------*/

#content {
	position: relative;
}

@media (max-width: 1300px) {
	#content {
		padding: 0 20px;
	}
}

/*------------------------------------*\
  #TYPOGRAPHY
\*------------------------------------*/

/**
 * Body, headings, paragraphs, links
 */

body {
	font-family:'Roboto', Helvetica, sans-serif;
	font-weight: 300;
	color: #434343;
	background: #fff;
	font-size: 18px;
}

a:hover {
  color: #B71C1C;
}

.blue-text {
	color: #0277BD;
}

h1, h2, h3, h4 {
  font-family:'Roboto Condensed', Helvetica, sans-serif;
  font-weight: 700;
  color: #434343;
}

h1 {
	font-weight: 40px;
}

h1.entry-title {
	margin-bottom: 20px;
}

h2 {
	font-size: 36px;
	line-height: 1.2em;
}

@media (max-width: 768px) {
	h2 {
		font-size: 32px;
	}
}

h2.gold-square, h3.gold-square {
    position: relative;
    margin-top: 25px;
}

h2.gold-square:before, h3.gold-square:before {
    position: absolute;
    content: "";
    background-color: #cfb87c !important;
    width: 15px;
    height: 15px;
    margin-left: -24px;
    top: 15px;
}

h3.gold-square:before {
	width: 10px;
    height: 10px;
    top: 10px;
    margin-left: -20px;
}

h3 {
	font-size: 25px;
}

h3.elementor-post__title a:hover {
	color: #B71C1C;
}

h4 {
	font-size: 22px;
    font-weight: 400;
}

a {
	color: #0277BD;
}

a:hover {
	color: #B71C1C;
}

.breadcrumbs-staff a:hover {
	color: #B71C1C !important;
}

.elementor-element .elementor-text-editor p:last-child {
	margin-bottom: 0;
}

.lead p {
    color: #0277BD;
}

.lead p {
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
}

.lead p a {
	text-decoration: underline;
}

@media (min-width: 768px) {
	.lead p {
	    font-size: 21px;
	}
}

.call-out p {
	color: #0277BD;
	font-size: 22px;	
}

.elementor-widget-heading .elementor-heading-title>a:hover {
	color: #B71C1C;
}

.gold-border.elementor-widget-heading .elementor-heading-title:after,
h2.gold-border:after {
	content:"";
	position: absolute;
	bottom: -40px;
	left: 0;
	background: url(assets/images/dotted-border.png);
	background-repeat: no-repeat;
	width:184px;
	max-width: 184px;
	height: 5px;
	background-size: 100% 100%;
}

h2.gold-border.center:after {
 left: auto;
 right: auto;
}

.gold-border.elementor-widget-heading .elementor-heading-title,
h2.gold-border {
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 60px;
}

.gold-border.center.elementor-widget-heading .elementor-heading-title:after {
	bottom: -40px;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.gold-border.elementor-widget-heading .elementor-heading-title {
	position: relative;
	padding-bottom: 0;
	margin-bottom: 50px;
	padding-top: 0;
}

.gold-border.top.elementor-widget-heading .elementor-heading-title {
	margin-bottom: 10px;
	padding-top: 50px;
}

.gold-border.top.elementor-widget-heading .elementor-heading-title:after {
	top: 0;
	bottom: auto;
}

.arrow-divider {
    width: 0;
    height: 0;
    border-width: 35px 37.5px 0 37.5px;
    border-color: #0277BD transparent transparent transparent;
    border-style: solid;
    margin: 0 auto;
    text-align: center;
}

.elementor hr {
    margin: 40px auto !important;
    background-color: #ccc !important;
}

@media (min-width: 768px) {
	.elementor-text-editor .alignright {
   		padding-left: 30px;
   		padding-bottom: 20px;
	}
}

hr.gold-divider {
	width: 50%; 
    background: #cfb87c;
}

.pub-indent {
	padding-left: 1.5em;
    text-indent:-1.5em;
}

/**
 * Gutenberg Colors
 */

.has-gold-background-color {
    background-color: #cfb87c;
}

.has-gold-color {
    color: #cfb87c;
}

.has-dark-gray-background-color {
    background-color: #565A5C;
}

.has-dark-gray-color {
    color: #565A5C;
}

.has-light-gray-background-color {
    background-color: #A2A4A3;
}

.has-light-gray-color {
    color: #A2A4A3;
}

.has-dark-blue-background-color {
    background-color: #0277BD;
}

.has-dark-blue-color {
    color: #0277BD;
}

.has-medium-gray-background-color {
    background-color: #434343;
}

.has-medium-gray-color {
    color: #434343;
}

.has-link-hover-color {
    background-color: #B71C1C;
}

.has-link-hover-color {
    color: #B71C1C;
}


/**
 * List styles
 */

.elementor-text-editor ul {
	margin-left: 1em;
}

.elementor-text-editor ul li {
	list-style: none;	
	padding-bottom: 10px;
}

.elementor-text-editor ul li:before {
  content: "\25A0";  
  color: #cfb87c; 
  font-weight: bold; /* If you want it to be bold */
  display: inline-block; 
  width: 1em;
  margin-left: -1em; 
}

/**
 * Buttons
 */

a.button.gold {
	background: #cfb87c;
	color: #000;
	border-radius: 20px;
	margin-right: 20px;	
	padding: 5px 20px;
	margin-bottom: 15px;
}

a.button.gold:hover {
	color: #fff;
}

.elementor-button {
    font-family:'Roboto', Helvetica, sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #FFFFFF;
    background-color: #0277BD;
    border-radius: 0px 0px 0px 0px;
    padding: 18px 35px;
    background: #0277BD !important;
}

.elementor-button:hover {
	color: #FFFFFF;
    background-color: #515151 !important;
}

.transparent-button .elementor-button {
    color: #434343 !important;
    background-color: transparent !important;
    border: 1px solid #434343 !important;
}

.transparent-button .elementor-button:hover {
    color: #0277BD !important; 
}

.blue-button .elementor-button,
a.blue-button {
	background: #0277BD !important;
	padding: 12px 24px;
	font-weight: 300;
	letter-spacing: 1px;
	border-radius: 4px;
}

.blue-button .elementor-button:hover,
a.blue-button:hover {
	background: #515151 !important;
}

button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.button:visited, a.wp-block-button__link:not(.has-background) {
    color: #ffffff;
    background-color: #0277BD;
    text-transform: uppercase;
    font-size: 16px;
}

.button, .wp-block-button .wp-block-button__link {
    padding: 8px 20px;
    display: inline-block;
    border-radius: 4px;
}

/*------------------------------------*\
  #HEADER
\*------------------------------------*/

/**
 * Transparent Navigation
 */
 
.elementor-location-header {
	position: relative;
	z-index: 3;
}

.elementor-section.transparent-nav {
	position: relative;
	z-index:4;
}

.cu-logo img {
	max-width: 230px !important;
}

.site-logo img {
	max-width: 285px !important;
}

/*------------------------------------*\
  #NAVIGATION
\*------------------------------------*/

.primary-nav .elementor-item {
	position: relative;
}

.home-text {
    text-indent: -9999px;
}

@media (min-width: 769px) {

	.primary-nav .menu-item > .elementor-item:after {
		position: absolute;
		content: "";
		background-color: #cfb87c !important;
		width: 9px;
		height: 9px;
		opacity: 1 !important;
		right: 0;
	}

}

.primary-nav .menu-item.home-menu > .elementor-item:after {
	opacity: 0 !important;
}

.elementor-nav-menu .sub-arrow {
    display: none;
}

.primary-nav .menu-item.home-menu > .elementor-item {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.home-menu .elementor-item:before {
	background-color: transparent !important;
}

.home-menu .elementor-item i {
	padding-top: 2px;
}

.home-menu .elementor-item:hover i {
	color: #cfb87c;
}

/*------------------------------------*\
  #PAGE BANNER
\*------------------------------------*/


.page-banner {
	padding: 180px 20px 150px;
	position: relative;
	margin-top: -44px;
}

@media (max-width: 1025px) {
	.page-banner {
		padding: 100px 20px;
		margin-top: 0;
	}
}

.page-banner:before {
	content:"";
	position: absolute;
	background: rgba(0,0,0,0.3);
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 1;
}

.page-banner .wrap {
	z-index: 2;
	position: relative;
}

.page-banner p {
	color: #fff;
	text-align: center;
	font-size: 25px;
	margin-bottom: 0;
	margin-top: 20px;
}

.page-banner h1.page-heading {
	color: #fff;
	text-align: center;
    line-height: 1.2em;
    font-weight: 700;
    font-size: 52px;
    text-shadow: 2px 1px 2px rgba(0, 0, 0, .7); 
}

@media (max-width: 768px) {
	.page-banner h1.page-heading {
		font-size: 36px;
	}
	
	.page-banner p {
		font-size: 18px;
	}
}

.page #main {
	position: relative;
	padding-top: 0;
}

.page #main .entry-content {
	margin-top: 0;
}


/*------------------------------------*\
  #GUTENBERG BLOCKS FORMATTING
\*------------------------------------*/

.wp-block-pullquote,
.wp-block-quote {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(150,150,150,1);
	-moz-box-shadow: 0px 0px 10px 0px rgba(150,150,150,1);
	box-shadow: 0px 0px 10px 0px rgba(150,150,150,1);
	padding: 50px;
	margin: 40px 0 40px 0 !important;
}

.wp-block-pullquote blockquote,
blockquote  {
    border-left: none;
    font-size: 1.1em;
    font-style: normal;
    position: relative;
}

.wp-block-pullquote p,
blockquote p {
    font-size: 22px;
    color: #0277BD;
    font-style: italic;
    line-height: 1.6;
    margin-bottom: 15px;
}

.wp-block-pullquote cite {
    font-style: normal;
}

.wp-block-coblocks-accordion-item {
    border-radius: 4px;
    margin: 0 0 1em;
}

.wp-block-coblocks-accordion-item__title {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px 15px;
    position: relative;
    font-family:'Helvetica Neue LT W05_97 Blk C';
}

.wp-block-coblocks-accordion-item__content {
    border: 1px solid #ccc;
    border-radius: 0 0 4px 4px;
    border-top: 0;
    padding: 20px;
}

.wp-block-image .alignright {
	padding-left: 30px;
	padding-bottom: 30px;
}

/*------------------------------------*\
  #POST GRIDS and LISTS
\*------------------------------------*/

.separate-containers .inside-article {
	padding: 5px 40px 40px;
}

.page-grid h3 {
	text-align: center;
	padding: 0 20px;
}

.entry-summary {
    margin: 0;
}

.archive.separate-containers .site-main {
	margin-top: 55px;
}

.post-image-above-header .inside-article .post-image {
	margin-bottom: 0;
}

/**
 * Elementor Post List
 */

.ibs-post-list .elementor-posts .elementor-post__title {
    font-size: 18px;
    margin: 0;
}

.ibs-post-list .elementor-posts .elementor-post__meta-data,
.entry-meta {
    line-height: 1.3em;
    font-size: 12px;
    margin-bottom: 13px;
    color: #000;
    margin-top: 8px;
}

.ibs-post-list .elementor-post__excerpt,
#main .entry-content {
	position: relative;
	margin-top: 30px;
}

.ibs-post-list .elementor-post__excerpt:before {
    content: "";
    position: absolute;
    top: -15px;
    background: url(assets/images/dotted-border.png);
    background-repeat: no-repeat;
    width: 184px;
    height: 5px;
    background-size: 100% 100%;
}

.elementor-pagination {
	margin-top: 30px;
}

.page-numbers {
	border: 1px solid #ccc;
	padding: 5px 10px;
}

/* Featured Initiative */

.featured-initiative .elementor-column-gap-no {
	margin: 0 auto !important;
}

/*------------------------------------*\
  #MISC
\*------------------------------------*/

/**
 * Gallery Captions
 */
 
.elementor-animated-content .elementor-animated-item--enter-zoom-in, .elementor-animated-content .elementor-animated-item--enter-zoom-out, .elementor-animated-content .elementor-animated-item--fade-in {
    opacity: 1 !important;
}

.elementor-gallery-item__content, .elementor-gallery-item__overlay {

    position: relative !important;

}
.elementor-gallery-item__description, .elementor-gallery-item__title {
    color: #000 !important;
    width: 100%;
}

/*------------------------------------*\
  #EVENT CALENDAR
\*------------------------------------*/

/**
 * Event Page Banner
 */

.events-banner {
	background-color: #202020; 
	background-image: url('assets/images/banner-events.jpg'); 
	background-repeat: no-repeat; 
	background-size: 100% auto; 
	background-attachment: scroll; 
	background-position: center center;
	margin-top: -46px;
	position: relative;
}

.events-banner .banner-content {
	padding: 260px 20px;
	z-index: 2;
	position: relative;
}

/**
 * Single Event
 */

.tribe-events-pg-template {
	padding-top: 20px;
}

.single-tribe_events .inside-article, .post-type-archive-tribe_events .inside-article {
	padding-top: 0;
}

.single-tribe_events .tribe-events-nav-pagination {
	display: none;
}

.single-tribe_events #content {
	max-width: 900px;
	margin: 0 auto;
	float: none;
	position: relative;
}

.tribe-events-back {
	margin-top: 20px;
}

.tribe-events-back a {
	color: #0277BD;
}

.tribe-events-back a:hover {
	color: #B71C1C;
}

@media (min-width: 992px){
	.tribe-events-event-image {
		float: right;
		max-width: 45%;
		margin-left: 20px;
	}
}

.single-tribe_events .tribe-events-single-event-title {
    color: #434343;
    line-height: 1;
    margin: 0;
    padding: 30px 0 0;
    font-weight: 300;
}

body .tribe-events-schedule h2 {
	font-size: 18px !important;
}

.single-tribe_events .tribe-events-event-meta.primary {
    background: #fff;
    border: none;
    margin: 30px 0;
    color: #333;
}

.single-tribe_events .tribe-events-event-meta.primary:hover {
	background: #fff;
}

.tribe-events-event-meta .column, .tribe-events-event-meta .tribe-events-meta-group {
    box-sizing: border-box;
    display: inline-block;
    float: left;
    margin: 0 0 20px;
    padding: 0 4% 0 0;
    text-align: left;
    vertical-align: top;
    width: 33.3333%;
    zoom: 1;
}

.single-tribe_events .tribe-events-event-meta {
    background: #fff;
    border: none;
    margin: 0;
}

/**
 * Event Calendar/List
 */

.events-list #tribe-events-footer, 
.single-tribe_events #tribe-events-footer, 
.tribe-events-day #tribe-events-footer, 
.tribe-events-map #tribe-events-footer, 
.tribe-events-photo #tribe-events-footer {
	border-top: none;
	padding-top: 0;
	margin-top: 20px;
	position: relative;
}
#tribe-events-footer {
	position: relative;
}

.events-list #tribe-events-footer:after, 
.single-tribe_events #tribe-events-footer:after, 
.tribe-events-day #tribe-events-footer:after, 
.tribe-events-map #tribe-events-footer:after, 
.tribe-events-photo #tribe-events-footer:after,
#tribe-events-footer:after {
	content:"";
	position: absolute;
	background: url(assets/images/dotted-border.png);
	background-repeat: no-repeat;
	width:184px;
	height: 5px;
	bottom: 0;
	background-size: 100% 100%;
	-moz-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    -ms-filter: fliph; /*IE*/
    filter: fliph; /*IE*/
	right: 0;
}

#tribe-events-footer:after {
	bottom: -100px;
}

.single-tribe_events .tribe-events-venue-map {
    background: #fff;
    border: none;
    border-radius: 3px;
    display: inline-block;
    float: right;
    margin: 20px 0 2% 0;
    padding: 0;
    vertical-align: top;
    width: 90%;
    zoom: 1;
}

/**
 * Event Month Calendar
 */

@media (min-width: 992px) {
	
	body.post-type-archive-tribe_events #container {
		position: relative;
	}
	body.post-type-archive-tribe_events #container > #top {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		z-index: 500;
	}
	body.post-type-archive-tribe_events #container > #top > .site-header > .wrap {
		-webkit-transform: translateZ(0);
		transform: translateZ(0); /* Fix text flicker in Safari, when other CSS3 animations are happenning. z-indexed below */
	}

}

.post-type-archive-tribe_events article.page {
    padding: 40px 0 0 0;
}

#tribe-bar-form {
    background: #fff;
    margin: 0;
    position: relative;
    width: 100%;
    border: 1px solid 
}

.tribe-events-title-bar {
	margin: 30px 0;
}

.tribe-events-page-title {
    clear: none;
    color: #000;
    font-size: 32px;
    font-weight: 300;
    position: relative;
    text-align: center;
    z-index: 0;
    margin-top: 60px;
}

#tribe-events .tribe-events-button, .tribe-events-button {
    background-color: #0277BD;
    background-image: none;
    border-radius: 0;
}

#tribe-events .tribe-events-button:hover, 
.tribe-events-button.tribe-active:hover, 
.tribe-events-button.tribe-inactive, 
.tribe-events-button:hover {
    background-color: #333;
    color: #fff;
    text-decoration: none;
}

.tribe-events-calendar th {
    background-color: #666666;
    color: #fff;
    height: 10px;
    letter-spacing: 1px;
    padding: 4px 0;
    text-align: center;
    text-transform: uppercase;
    width: 14.28%;
}

.recurring-info-tooltip, 
.tribe-events-calendar .tribe-events-tooltip, 
.tribe-events-shortcode.view-week .tribe-events-tooltip, 
.tribe-events-week .tribe-events-tooltip {
	padding: 20px;
}

.tribe-events-tooltip h3 {
	color: #0277BD;
	font-size: 14px;
	margin-bottom: 3px;
}

.tribe-events-tooltip .tribe-event-duration {
    font-size: 11px;
    font-weight: normal;
    padding: 3px 0 6px;
}

.tribe-events-tooltip .tribe-events-event-body {
    font-size: 11px;
    font-weight: 400;
    padding: 0;
}

/*------------------------------------*\
  #SIDEBAR
\*------------------------------------*/


h2.gold-border {
    color: #333333;
    font-family: "Roboto Condensed", Sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2em;
    margin-bottom: 15px !important;
    position: relative;
    padding-bottom: 30px;
}

h2.gold-border:after {
	content: "";
    position: absolute;
    background: url(assets/images/dotted-border.png);
    background-repeat: no-repeat;
    width: 239px;
    height: 5px;
    left: 0;
    background-size: 100% 100%;
    bottom: 10px;
}

.widget-title {
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    text-transform: none;
    padding-bottom: 0;
}

.sidebar .widget {
	font-size: 15px;
}

.sidebar .widget_pages li {
	font-family: "Roboto Condensed", Sans-serif;
	font-weight: 700;
	font-size: 18px;
}

#left-sidebar {
	margin-top: 40px;
}

.widget-area .inside-left-sidebar .widget {
    padding: 0;
}

@media (max-width: 768px) {
	.sidebar img {
		max-width: 200px;
		margin: 0 auto;
		text-align: center;
	}
	
	.sidebar h2, .sidebar p, .sidebar li {
		text-align: center;
	}
	
	h2.gold-border:after {
		left: 0;
		right: 0;
		margin: 0 auto;
	}
}


/*------------------------------------*\
  #FOOTER
\*------------------------------------*/

.footer-columns {
	font-size: 13px;
}

.footer-columns a {
	color: #06598b;
}

.footer-columns h2.widget-title {
	font-size: 13px;
	color: #434343;
	text-transform: uppercase;
	margin-bottom: 8px;
	font-weight: 300;
}

@media (min-width: 1025px) {
	
	.footer-col-1 .widget_nav_menu .menu-item a {
		text-align: right;
		display: inherit;
	}
}

@media (max-width: 1025px) {
	.footer-columns .widget_nav_menu li.menu-item,
	.footer-columns h2.widget-title,
	.footer-text p {
		text-align: center !important;
	}	
	
	.footer-text p {
		max-width: 325px;
		margin: 0 auto;
	}
}

.menu-heading-center a, .menu-heading-program a {
	text-transform: uppercase !important;
	cursor: default;
}

.menu-heading-center {
	border-top: 1px solid rgba(0,0,0,.2) !important;
}

.copyright {
    font-size: 11px;
    color: #fff;
}

.site-footer .elementor-widget:not(:last-child) {
    margin-bottom: 10px;
}

.footer-donate-container {
	position: relative;
	margin-bottom: 30px;
}

.footer-donate-button {
    position: absolute;
    background: #0277BD;
    top: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100px;
    line-height: 1;
    text-align: center;
    font-size: 14px;
    letter-spacing: 1px;
    padding-top: 7px;
}

.footer-donate-button:before {
    border-color: rgba(255, 255, 255, 0);
    content: "";
    position: absolute;
    bottom: -16px;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    border-style: solid;
    border-width: 15px 50px 0 50px;
}

.footer-donate-button:after {
    content: "";
    position: absolute;
    bottom: -15px;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    border-style: solid;
    border-width: 15px 50px 0 50px;
    border-color: #0277BD transparent transparent transparent;
}

a.footer-donate, a.footer-donate:hover {
	color: #fff !important;
}

.footer-donate-button:hover {
	background: #026baa;
}

.footer-donate-button:hover:after {
	border-color: #026baa transparent transparent transparent;
}

/* Footer Contact Information */

.black-footer a {
	color: #cfb87c !important;	
}

.black-footer a.button.gold {
	color: #000 !important;
}

.black-footer a:hover {
	text-decoration: underline;
}


.footer-center-column {
	
}

.footer-mobile-logo {
	text-align: center;
	margin: 20px auto 30px auto;
	max-width: 200px;
	
}

.footer-contact {
	color: #fff;
	font-size: 14px;
}

.footer-contact a {
	color: #cfb87c;
}

.footer-title {
	color: #cfba7d; 
	font-weight: bold;
}