/*
##############################################
################## GLOBAL ####################
##############################################

    ==========================================
        TYPOGRAPHY
    ==========================================
*/
body {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
}

h1, h2, h3, h4, h5, h6,
.navbar-nav,
#breadcrumb-container {
    font-family: 'Fjalla One', sans-serif;
}

a {
    color: #009dda;
}
a:focus, a:hover {
    color: #009dda;
}

.link-initial-color {
	color: inherit;
}


/*
    ==========================================
        MARGIN / PADDING / BORDER
    ==========================================
*/
@media (max-width: 575px) {
	.no-padding-xsm { /* padding left/right set to "0" on extra small devices */
		padding-left: 0 !important;
        padding-right: 0 !important;
	}
	.no-border-xsm { /* border left/right set to "none" on extra small devices */
		border-left: none !important;
        border-right: none !important;
	}
}


/*
    ==========================================
        ACCORDION
    ==========================================
*/
.toggle-icon:before {
	font-family: FontAwesome;
	padding-right: 10px;
	content: "\f067"; /* fa-plus */
}
.toggle-icon.fa-minus-circle:before {
	content: "\f068"; /* fa-minus */
}


/*
    ==========================================
        BUTTONS
    ==========================================
*/
.btn-primary-custom,
.btn-light-blue > a {
    background-color: #009dda !important;
    color: #fff !important;
}
.btn-primary-custom:focus,
.btn-primary-custom:hover,
.btn-light-blue > a:focus,
.btn-light-blue > a:hover {
    background-color: #002147 !important;
    color: #fff !important;
}

.btn-primary-custom,
.btn-outline-white.btn-lg {
    font-size: 1rem;
    border-radius: 2rem;
}

.btn-outline-dark-custom {
	background-color: transparent;
	background-image: none;
	border-color: #002147;
	padding-top: .1rem;
	padding-bottom: .1rem;
	border-radius: 2rem;
}
.btn-outline-dark-custom:focus,
.btn-outline-dark-custom:hover {
	color: #fff !important;
	background-color: #002147;
}

.wpf_submit_button.blue {
	padding: 5px 20px;
	background-color: #009dda;
	color: #fff;
	border: none;
	border-radius: 2rem;
	cursor: pointer;
}
.wpf_submit_button.blue:focus,
.wpf_submit_button.blue:hover {
	background-color: #002147;
}

.wspsc_cart_item_row {
	border-bottom: 1px solid #002147 !important;
}
.wspsc_cart_item_thumb:not(:nth-last-child(3)) {
	border-bottom: 1px solid #e5e5e5 !important;
}
.wspsc_cart_total {
	border-top: 1px solid #002147 !important;
}
.wspsc_cart_item_qty {
	border: none;
}
.wspsc_add_cart_submit {
	background-color:#009dda;
	color:#fff;
	border: none;
	padding: 5px 15px;
	border-radius: 25px;
	cursor: pointer;
}
.wspsc_add_cart_submit:focus,
.wspsc_add_cart_submit:hover {
	background-color: #002147;
}

.shopping_cart form[action="https://www.paypal.com/cgi-bin/webscr"] {
	text-align: right;
	margin-top: 20px;
}
@media (max-width: 767px) {
	.shopping_cart form[action="https://www.paypal.com/cgi-bin/webscr"] {
		text-align: center;
	}
}


/*
    ==========================================
        CARDS
    ==========================================
*/
.card-body {
    background-color: #f7f7f7;
    border-top: 0;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    border-left: 5px solid #002147;
    border-radius: 0;
}


/*
    ==========================================
        PANELS
    ==========================================
*/
.panel-default {
	background-color: #f7f7f7;
	border: 1px solid #e5e5e5;
}
.panel-title {
    background-color: #ededed;
	border-bottom: 1px solid #e5e5e5;
}
.panel-body {
	padding: 15px;
	color: #333;
}


/*
    ==========================================
        TABS
    ==========================================
*/
.tab-content {
	background-color: #f7f7f7;
	border: 1px solid #e5e5e5;
}

.nav-tabs .nav-link.active {
	background-color: #f7f7f7;
	border-color: #e5e5e5;
	cursor: default;
}

.nav-tabs .nav-link {
	border-color: #e5e5e5;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
	border-color: #009dda;
	background-color: #009dda;
	color: #fff;
}

.nav-tabs .nav-link.active:focus,
.nav-tabs .nav-link.active:hover {
	background-color: #f7f7f7;
	border-color: #e5e5e5;
	color: #495057;
}


/*
    ==========================================
        MAIN MENU NAVIGATION
    ==========================================
*/
#header__navbar {
    background-color: #fff;
    box-shadow: 0 2px 6px 0 rgba(0,0,0,0.3);
	z-index: 999;
}
@media (min-width: 768px) {
    #header__navbar {
        background-color: #002147;
    }
}
.navbar-toggler {
    border-color: transparent;
}
.navbar-toggler:focus,
.navbar-toggler:hover {
    border-color: #002147;
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 33, 71, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar-expand-md .navbar-nav .nav-link {
    padding: 15px;
    background-color: #002147;
    color: #fff;
	text-align: center;
}
.nav-item.active > .nav-link {
    color: #009dda;
}
.nav-item.active > .nav-link:focus,
.nav-item.active > .nav-link:hover {
    color: #fff;
}
.navbar-expand-md .navbar-nav .nav-link:focus,
.navbar-expand-md .navbar-nav .nav-link:hover {
    background-color: #009dda;
}

.dropdown-menu {
    margin: 0;
    padding: 0;
    background-color: #001935;
    border: none;
    border-radius: 0;
}
.dropdown-item {
    color: #fff;
    padding: 15px;
}
@media (max-width: 767px) {
    .dropdown-item {
        padding-left: 30px;
		text-align: center;
    }
}
.dropdown-item:focus,
.dropdown-item:hover {
    color: #fff;
    background-color: #009dda;
}

.dropdown-divider {
    margin: 0 10px;
    border-top: 2px solid #001023;
    border-bottom: 1px solid #002856;
}

.dropdown-item-active {
	color: #009dda;
}
.dropdown-item-active:focus,
.dropdown-item-active:hover {
	color: #ffffff;
}


/*
    ==========================================
        STAFF MENU (single-people.php)
		DATA PROTECTION & PRIVACY pages
    ==========================================
*/
#menu-people,
#menu-data-protection-privacy {
	margin-bottom: 0;
	padding-left: 0;
	list-style: none;
}

#menu-people > li > a,
#menu-data-protection-privacy > li > a {
	display: block;
	padding: 10px 20px;
	border: 1px solid #e5e5e5;
}

#menu-people > li.menu-item-heading > a {
    font-family: 'Fjalla One', sans-serif;
    font-size: 1.25rem;
    text-align: center;
    background-color: #002147;
    color: #fff;
    border-color: #002147;
}

#menu-people > li.current-menu-item > a,
#menu-data-protection-privacy > li.current-menu-item > a {
	background-color: #f7f7f7;
	color: #333;
}

#menu-people > li > a:focus,
#menu-people > li > a:hover,
#menu-data-protection-privacy > li > a:focus,
#menu-data-protection-privacy > li > a:hover {
	text-decoration: none;
	background-color: #009dda;
	color: #fff;
	border-color: #009dda;
}

#menu-people > li.current-menu-item > a:focus,
#menu-people > li.current-menu-item > a:hover,
#menu-data-protection-privacy > li.current-menu-item > a:focus,
#menu-data-protection-privacy > li.current-menu-item > a:hover {
	cursor: default;
	background-color: #f7f7f7;
	color: inherit;
	border-color: #e5e5e5;
}

@media (max-width: 767px) {
	#menu-people,
	#menu-data-protection-privacy {
		margin-top: 2rem;
	}
}


/*
    ==========================================
        BREADCRUMB
    ==========================================
*/
#breadcrumb-container {
	padding: 10px 0;
	background-color: #f7f7f7;
	border-bottom: 1px solid #e5e5e5;
}

#breadcrumb-container a {
	color: #002147;
}
#breadcrumb-container a:focus,
#breadcrumb-container a:hover {
	color: #009dda;
}


/*
    ==========================================
        <HR>
    ==========================================
*/
#news-section hr {
	border-bottom: 1px solid rgba(0,0,0,0.1);
	box-shadow: 0 1px 0 rgba(255,255,255,0.1);
}

#upcoming-events-page hr,
#event-category-page hr {
	box-shadow: 0 1px 0 #fff;
}

#news-section hr,
#events-section hr,
#news-articles hr {
	display: none
}

@media (max-width: 991px) {
	#news-section hr,
	#events-section hr {
		display: block
	}
}

@media (max-width: 767px) {
	#news-articles hr {
		display: block
	}
}


/*
    ==========================================
        PAGINATION
    ==========================================
*/
.pagination {
	display: block;
	text-align: center;
	padding: 40px 0;
}
@media (max-width: 575px) {
	.pagination {
		padding-top: 10px;
	}
}

.page-numbers {
	padding: 5px 10px;
	background-color: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 2rem;
}
.page-numbers:focus:not(.current),
.page-numbers:hover:not(.current) {
	background-color: #009dda;
	border-color: #009dda;
	color: #fff;
	text-decoration: none;
}
.page-numbers.current {
	background-color: #e5e5e5
}


/*
    ==========================================
        FOOTER
    ==========================================
*/
#footer-content {
    background-color: #002147;
}

footer a {
	color: #fff;
}

#footer-cess-centres > .footer-widget.widget_media_image:not(:last-child),
#footer-uni-logo > .footer-widget.widget_media_image:not(:last-child) {
	margin-bottom: 30px;
}
#footer-cess-centres > .footer-widget.widget_media_image,
#footer-uni-logo > .footer-widget.widget_media_image {
	text-align: center;
}


/*
    ==========================================
    	back-to-top floating icon
    ==========================================
*/
a.back-to-top {
    position: fixed;
    bottom: 40px;
    right: 20px;
    color: #f5f5f5;
    background-color: rgba(0, 33, 71, 0.3);
    padding: 10px 12px;
    z-index: 999;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    display: none
}
a.back-to-top:hover {
    color: #ffffff;
    background-color: rgba(0, 33, 71, 0.6);
}



/*
##############################################
################# HOMEPAGE ###################
##############################################

/*
    ==========================================
        PROJECTS SECTION
    ==========================================
*/
@media (max-width: 576px) {
	#project-section > .wpb_column > .vc_column-inner {
		padding-left: 0;
		padding-right: 0;
	}
}


/*
    ==========================================
        NEWSLETTER SECTION (MailChimp form)
    ==========================================
*/
#newsletter-section form {
	color: #fff;
}

.indicates-required {
	text-align: right;
	font-size: 12px;
}

.mc-field-group {
	margin-top: 20px;
}

#newsletter-section select,
#newsletter-section input:not([type="submit"]):not([type="checkbox"]) {
    width: 100%;
    background-color: #ccc;
    border: 0;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
#newsletter-section select {
	height: 2.7rem;
	padding-left: 10px;
	border-radius: 0;
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAh0lEQVQ4T93TMQrCUAzG8V9x8QziiYSuXdzFC7h4AcELOPQAdXYovZCHEATlgQV5GFTe1ozJlz/kS1IpjKqw3wQBVyy++JI0y1GTe7DCBbMAckeNIQKk/BanALBB+16LtnDELoMcsM/BESDlz2heDR3WePwKSLo5eoxz3z6NNcFD+vu3ij14Aqz/DxGbKB7CAAAAAElFTkSuQmCC');
	background-repeat: no-repeat;
	background-position: 98% center;
}
#newsletter-section input:not([type="submit"]) {
	padding: 10px;
}
#newsletter-section input:focus {
	background-color: #fff;
}

/* Subscription Permission container */
#mergeRow-gdpr {
	display: none;
}
/* checkbox */
#newsletter-section .av-checkbox.gdpr {
	width: auto;
	transform: scale(2);
	margin-left: 5px;
	margin-right: 20px;
}
.gdprRequired > .mce_inline_error {
	display: inline-block;
	margin-left: 10px !important;
}

/* submit button container */
#newsletter-section .clear {
	margin-top: 40px;
	text-align: center;
}

#newsletter-section input[type="submit"] {
	padding: 10px 40px;
    background-color: #009dda;
    color: #fff;
    border: 2px solid #002147;
    border-radius: 2rem;
}

#newsletter-section input[type="submit"]:focus,
#newsletter-section input[type="submit"]:hover {
    border-color: #fff;
    cursor: pointer;
}

#newsletter-section input[type="submit"]:active {
    background-color: #fff;
    color: #002147;
    border-color: transparent;
}

#mce-responses .response {
	padding: 5px 10px;
}
#mce-error-response {
	background-color: #6B0505;
}
#mce-success-response {
	background-color: #fff;
	color: #002147;
}



/*
    ==========================================
        EVENTS SECTION
    ==========================================
*/
/*
#events-section > h1 > i {
	color: #002147;
}
*/
#events-section .card-header {
    background-color: transparent;
}

.event-category-title {
	margin-bottom: 30px;
	padding-bottom: 10px;
	border-bottom: 1px solid;
}



/*
##############################################
############### NEWS PAGE ####################
##############################################
*/
#news-articles small > a {
	color: #777
}

#news-articles small > a:focus,
#news-articles small > a:hover {
	color: #009dda
}



/*
##############################################
############### PROJECTS PAGE ################
##############################################
*/
.card-img-overlay-container {
    position: relative;
}
.card-img-overlay h2 {
    display: none;
}
.card-img-overlay:focus,
.card-img-overlay:hover {
    background-color: rgba(0,33,71,0.6);
}
.card-img-overlay:focus h2,
.card-img-overlay:hover h2 {
    display: block;
    text-decoration: underline;
}

#projects-page .project-image-caption {
	background-color: #e5e5e5;
	color: #002147;
	border-left: 5px solid;
}

@media (max-width: 575px) {
	#projects-page .project-image-caption {
		border-left: none;
	}
}



/*
##############################################
########### RESEARCH AT CESS PAGE ############
##############################################
*/
#research-at-cess-accordion .card-header {
	background-color: rgba(0,0,0,.04)
}
#research-at-cess-accordion .card-header:focus,
#research-at-cess-accordion .card-header:hover {
	background-color: rgba(0,0,0,.02)
}

#research-at-cess-accordion .card-body {
	background-color: rgba(0,0,0,.02)
}

#research-at-cess-accordion .card-body ul {
	margin-bottom: 0;
	padding-left: 15px;
}

#research-at-cess-accordion .card-body ul li:not(:last-child) {
	margin-bottom: 10px;
}



/*
##############################################
############ PEOPLE ARCHIVE PAGE #############
##############################################
*/
#people-page .card {
	background-color: #f7f7f7
}



/*
##############################################
############ PEOPLE CATEGORY PAGE ############
##############################################
*/
#people-category-page .card {
	background-color: #f7f7f7;
	border: 1px solid #e5e5e5;
}

@media (max-width: 767px) {
	#people-category-page .card-header {
		padding-top: 1.5rem !important;
	}
}

#contact-icons .list-inline-item > a {
	color: #002147;
}
#contact-icons .list-inline-item > a:focus,
#contact-icons .list-inline-item > a:hover {
	color: #009dda;
}

.visiting-period {
	border-bottom: 1px solid #e5e5e5;
}



/*
##############################################
###### EVENTS PAGES (Upcoming and Past) ######
##############################################
*/

@media (min-width: 576px) {
	#upcoming-events-page .row,
	#event-category-page .row {
		background-color: #f7f7f7;
		border: 1px solid #e5e5e5;
	}
}

/* Modal Form */
.wpcf7 .required {
	color: red;
}

.description {
  font-size: 0.85rem;
  font-style: italic;
  color: #6f6f6f;
}

.wpcf7-form input:not([type="submit"]):not([type="checkbox"]),
.wpcf7-form textarea {
	width: 100%;
	padding: 5px 10px;
	background-color: #dce9ef;
	border: 1px solid #91bbd1;
	border-radius: 5px;
}

.wpcf7-form select:focus,
.wpcf7-form textarea:focus,
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):focus {
	background-color: #fafbfd;
}

.wpcf7-form input[type="submit"] {
	background-color: #009dda;
	border: none;
	border-radius: 25px;
	color: white;
	padding: 10px 20px;
	cursor: pointer;
}

.wpcf7-form input[type="submit"]:focus,
.wpcf7-form input[type="submit"]:hover {
	background-color: #002147;
}

.wpcf7-spinner {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  margin: auto;
  background-color: #feb903;
  border: 1px solid #dda000;
}

#event, #event-short, #event-full {
	display: none;
}


/*
##############################################
################### 404 PAGE #################
##############################################
*/
#page404 {
	background-color: #009dda
}

#page404-column {
	display: table
}

#page404-text-container {
	height: calc(100vh - 150px);
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
@media (max-width: 767px) {
	#page404-text-container {
		height: calc(100vh - 70px);
	}
}

#page404-text-container h1 {
	color: #fff
}

#page404-text-container small {
	color: #002147
}


/*
##############################################
#### WPBakery Page Builder - Grid Builder ####
##############################################
*/
.vc_custom_heading a:focus,
.vc_custom_heading a:hover {
	text-decoration: underline !important;
}
#project-section .vc_custom_heading a:focus,
#project-section .vc_custom_heading a:hover,
#events-section .vc_custom_heading a:focus,
#events-section .vc_custom_heading a:hover {
	color: #009dda !important;
}

.vc_text-white a,
.vc_text-white p {
	color: #fff !important;
}

.vc_gitem-zone-a > .vc_gitem-zone-mini > .vc_gitem-row-position-bottom > .vc_gitem-col {
	background-color: rgba(0,0,0,0.4);
	padding: 2px;
	text-align: center;
}
.project-image-caption {
	color: #fff;
	font-style: italic;
	font-size: 12px;
}

.project-grid-card-body {
	background-color: #f7f7f7;
	border-left: 5px solid #002147;
	border-right: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
}
@media (max-width: 575px) {
	.project-grid-card-body {
		border-left: none;
	}
}
.project-grid-card-body-author {
	font-family: 'Fjalla One', sans-serif;
	font-size: 24px;
}
.vc_grid .vc_pageable-load-more-btn {
	margin-top: 0 !important;
}