/* Colors

layout blue #243359
layout gray #fdfdfd
prim layout red #c33825
prim blue #7992d0

*/

/* Structure

Import
Main
Laout
    Home
    Home instytut
    Single
    Archive
    Page
    Page contact
Navs
Headers
Components
Forms
Other
Media queries

*/




/******* IMPORT *******/

@import "icons.css";

/******* END IMPORT *******/



/******* MAIN *******/

html, body { 
  height: 100%;
}

body {
    color: #000;
    background-color: #fdfdfd;
    font-family: 'Lato', sans-serif;
    position: relative;
}

h1, h2, h3, h4, h5, h6 {
    color: #243359;
}

a {
    color: #243359;
}

a:hover, a:focus {
    color: #c33825;
}

hr {
  border-top: 1px solid #243359;  
}

footer {
    background-color: white;
}

footer .foot-inner {
    min-height: 80px;
    padding: 15px;
    width: 100%;
    overflow: hidden;
    
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
}

footer img {
    height: 50px;
}

nav.foot-nav {
    padding: 20px 0;
}

nav.foot-nav a {
    padding: 5px 10px;
    color: #243359;
    text-transform: uppercase;
}

nav.foot-nav a:hover {
    padding: 5px 10px;
    color: #c33825;
    text-decoration: none;
}

.footer-second .footer-second-inner {
    
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
}

.footer-second {
    padding: 15px 0;
    background-color: #f5f5f5;
}

.footer-second p {
    margin-bottom: 0;
}

.footer-second .footer-links a {
    padding: 0 5px;
    color: #343434;
}

.footer-second .footer-links a:hover {
    color: #464646;
}

.footer-second .footer-links a img {
    width: 24px;
    height: auto;
}

.foot-inner.widget-footer {
    padding: 50px 0;
    align-items: flex-start;
}

.foot-inner div.widget {
    width: 25%;
    margin: 0;
    padding: 0 15px;
}

.foot-inner div.widget:first-child {
    padding-left: 0;
}

.foot-inner div.widget:last-child {
    padding-right: 0;
}

.foot-inner div.widget p {
    color: #243359;
}

.foot-inner div.widget h4 {
    font-size: 18px;
    font-weight: 700;
}

.foot-inner div.widget img {
    margin-bottom: 30px;
}

.foot-inner div.widget ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.foot-inner div.widget ul li {
    font-size: 16px;
    margin-bottom: 5px;
}

/* Content styles */

.the-content img,
.the-content div.wp-caption {
    max-width: 100% !important;
    height: auto;
}

.the-content img.alignnone,
.the-content div.wp-caption.alignnone {
    display: block;
    margin: 15px 0;
}

.the-content img.alignleft,
.the-content div.wp-caption.alignleft {
    float: left;
    margin-right: 10px;
}

.the-content img.aligncenter,
.the-content div.wp-caption.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
}

.the-content img.alignright,
.the-content div.wp-caption.alignright {
    float: right;
    margin-left: 10px;
}

.the-content ul li,
.the-content ol li {
    font-size:16px
}

.the-content .gallery {
    
    flex-flow: row wrap;
}

.the-content .gallery.gallery-columns-1 .gallery-item {
    flex-basis: 100%;
}

.the-content .gallery.gallery-columns-2 .gallery-item {
    flex-basis: 50%;
}

.the-content .gallery.gallery-columns-3 .gallery-item {
    flex-basis: 33.33%;
}

.the-content .gallery.gallery-columns-4 .gallery-item {
    flex-basis: 25%;
}

.the-content .gallery.gallery-columns-5 .gallery-item,
.the-content .gallery.gallery-columns-6 .gallery-item,
.the-content .gallery.gallery-columns-7 .gallery-item,
.the-content .gallery.gallery-columns-8 .gallery-item,
.the-content .gallery.gallery-columns-9 .gallery-item {
    flex-basis: 20%;
}
 
.the-content .gallery .gallery-item {
    
    flex-flow: column wrap;
    align-items: center;
}

.the-content .gallery .gallery-item a {
    display: block;
    position: relative;
    margin: 15px;
}

.the-content .gallery .gallery-item a img {
    padding: 0;
}


.the-content table { 
    width: 100%; 
    border-collapse: collapse; 
    margin: 15px 0;
}
/* Zebra striping */
.the-content tr:nth-of-type(odd) { 
    background: #eee; 
}
.the-content th { 
    background: #333; 
    color: white; 
    font-weight: bold; 
}
.the-content td, th { 
    padding: 6px; 
    border: 1px solid #ccc; 
    text-align: left; 
}


/******* END MAIN *******/

/******* LAYOUT *******/

/*----------- Home ------*/

.news-row {
    display: none;
    padding-top: 15px;
    padding-bottom: 15px;
}

.news-row.active {
    display: block;
}

.news-row-single {
    margin-top: 50px;
}

.tabs-nav {
    margin-bottom: 45px;
    padding: 0;
    
    flex-flow: row nowrap;
    justify-content: center;
    list-style-type: none;
}

.tabs-nav > li {
    display: block;
    padding: 15px 40px;
    color: #243359;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.6px;
    border: 1.2px solid #243359;
    cursor: pointer;
}

.tabs-nav > li.current {
    color: #ffffff;
    background-color: #243359;
}

.tab-content {
    display: none;
}

.tab-content.current {
    
    flex-flow: row nowrap;
    justify-content: center;
}

.tab-content ul {
    width: 50%;
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.tab-content ul li {
    margin: 0 55px;
    border-bottom: 1px solid #243359;
}

.tab-content ul li > a {
    display: inline-block;
    padding: 15px 0;
    font-size: 16px;
}

.tab-content ul li > a:hover {
    text-decoration: none;
}

/*----------- End Home ------*/

/*----------- Home instytut ------*/



/*----------- End Home instytut ------*/

/*----------- News (Archive) ------*/

header.news-head {
    text-align: center;
    padding: 20px 0;
    box-sizing: border-box;
    color: white;
    background-color: #243359;
}

.news-head span {
    display: block;
    font-size: 60px;
    margin-bottom: 10px;
}

.news-head h3 {
    margin: 0;
    color: white;
    font-size: 16px;
    line-height: 1;
    text-transform: uppercase;
}

.news-head h4 {
    margin: 5px 0 0;
    color: white;
    font-size: 16px;
    line-height: 1;
    font-weight: 200;
    text-transform: uppercase;
}

.page-news {
    padding: 30px 0 50px;
}

.post-list-entry span {
    display: block;
    margin: 0 0 10px;
    font-size: 16px;
    font-style: italic;
}

article.post-list {
    margin-bottom: 15px;
}

.post-list-entry h4 {
    font-weight: 700;
}

.post-list-entry .post-excerpt a.excerpt-read-more:before {
    content: "";
    border-bottom: 1px solid #000000;
    flex-grow: 1;
    margin-right: 10px;
}

.post-list-entry .post-excerpt a.excerpt-read-more {
    
    align-items: center;
    margin-top: 10px;
}

/*----------- End news ------*/

/*----------- News (Single) ------*/

.single-news-image {
    width: calc( 50% - 30px );
    margin: 0 30px 45px 0;
    float: left;
    overflow: hidden;
}

.single-news-image img {
    display: block;
    max-width: 100%;
    border: 1px solid #243359;
}

.single-news .news-date {
    margin-top: 5px;
    margin-bottom: 10px;
    font-size: 16px;
    color: #000000;
    font-style: italic;
}

.single-news .news-title {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 700;
}

.single-news .news-title + hr {
    margin-right: 15px;
}

.single-news .news-content {
    margin-bottom: 30px;
}

.single-news .news-gallery {
    margin-bottom: 30px;
    
    flex-wrap:wrap;
}

.single-news .news-gallery h3 {
    margin-bottom: 30px;
    padding-bottom: 15px;
    font-size: 20px;
    font-weight: 700;
    border-bottom: 1px solid #000000;
}


.single-news .news-gallery .gallery-item {
    display: block;
    width: calc(100% * (1/4) - 30px);
    margin: 0 15px 30px 15px;
    position: relative;
}

.the-content .gallery .gallery-item .img-overlay,
.single-news .news-gallery .gallery-item .img-overlay {
    width: 100%;
    height: 100%;
    
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    font-size: 24px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0);
    background-color: rgba(36, 51, 89, 0);
}

.the-content .gallery .gallery-item .img-overlay span,
.single-news .news-gallery .gallery-item .img-overlay span {
    
    margin-top: 60px;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 18px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    opacity: 0;
}

.the-content .gallery .gallery-item .img-overlay span::before,
.the-content .gallery .gallery-item .img-overlay span::after,
.single-news .news-gallery .gallery-item .img-overlay span::before,
.single-news .news-gallery .gallery-item .img-overlay span::after {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    width: 20px;
    border-bottom: 2px solid #fff;
}

.the-content .gallery .gallery-item .img-overlay span::after,
.single-news .news-gallery .gallery-item .img-overlay span::after {
    transform-origin: center;
    transform: rotate(90deg);
}

.the-content .gallery .gallery-item:hover .img-overlay,
.single-news .news-gallery .gallery-item:hover .img-overlay {
    background-color: rgba(36, 51, 89, 0.7);
}

.the-content .gallery .gallery-item:hover .img-overlay span,
.single-news .news-gallery .gallery-item:hover .img-overlay span {
    opacity: 1;
    margin: 0;
}

.single-news .news-gallery .gallery-item img {
    max-width: 100%;
    height: auto;
}

/*----------- End news ------*/

/*----------- Page ------*/

div.page {
    padding: 30px 0 20px;
    background-color: #fdfdfd;
}

.page-content {
    margin-bottom: 50px;
}

.page-content .page-title {
    margin: 0 0 20px;
    padding: 10px 15px 15px;
    font-size: 20px;
    font-weight: 700;
    color: #343031;
    border-bottom: 1px solid #243359;
}

.page-content p {
    font-size:16px
}

/*----------- End Page ------*/

/*----------- Page contact ------*/

header.contact-head {
    text-align: center;
    padding: 20px 0;
    box-sizing: border-box;
    color: white;
    background-color: #243359;
}

.contact-head span {
    display: block;
    font-size: 60px;
    margin-bottom: 10px;
}

.contact-head h3 {
    margin: 0;
    color: white;
    font-size: 16px;
    line-height: 1;
    text-transform: uppercase;
}

.page-contact {
    padding-bottom: 50px;
}

.page-contact h3.page-title {
    padding: 30px 0 20px;
    font-size: 22px;
    color: #000;
    font-weight: 700;
    text-align: center;
}

.page-contact .map-container {
    
    flex-flow: column;
    height: 415px;
    margin-bottom: 50px;
}

.page-contact #map {
    padding: 15px 0;
    width: 100%;
    height: 100%;
}

.page-contact .pwsw-pills-group {
    
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

.page-contact .pwsw-pill-btn {
    width: 49.5%;
    
    align-items: center;
    padding: 15px 10px;
    margin: 15px 0 0;
    background-color: #243359;
}

.page-contact .pwsw-pill-btn:hover {
    opacity: 0.9;
    text-decoration: none;
}

.page-contact .pwsw-pill-btn span {
    padding: 10px 20px 10px 15px;
    margin-right: 15px;
    border-right: 1px solid #fff;
    font-size: 20px;
    color: #fff;
}

.page-contact .pwsw-pill-btn h4 {
    margin: 0 15px;
    color: white;
    font-weight: 400;
}

.page-contact .contact-info {
    padding: 15px 0 15px;
    margin: 0;
    list-style-type: none;
}

.page-contact .contact-info > li {
    
    flex-direction: row;
    align-items: center;

}

.page-contact .contact-info > li span {
    color: #243359;
    font-size: 45px;
    line-height: 1;
    margin-right: 20px;
}

.page-contact .contact-info > li h4 {
    border-bottom: 1px solid #243359;
    width: 100%;
    padding: 15px 0;
    color: #000;
    margin: 0;

}

.page-contact .contact-card {
    margin: 30px 0 0;
    background-color: #f3f3f3;
}

.page-contact .contact-card > h4 {
    padding: 15px 10px;
    font-size: 20px;
    text-align: center;
    color: white;
    font-weight: 700;
    background-color: #243359;
}

.page-contact .contact-card > .contact-info {
    padding: 15px 30px 30px;
}

.page-contact .contact-card > .contact-info > li {
    
    flex-flow: row;
    align-content: stretch;
}

.page-contact .contact-card > .contact-info > li > span {
    font-size: 40px;
    padding: 10px 0;
    padding-right: 15px;
    border-right: 1px solid #243359;
}

.page-contact .contact-card > .contact-info > li > a,
.page-contact .contact-card > .contact-info > li > h4 {
    margin: 0;
    padding: 10px 0;
    color: #000;
    font-size: 16px;
    border: 0;
}


/*----------- End Page contact ------*/

/*----------- Page search results ------*/

div.page.search-results {
   padding: 50px 0; 
}

div.page.search-results article {
    padding: 15px 0;
    margin-bottom: 15px;
    border-bottom: 1px solid #243359;
}

div.page.search-results article a {
    display: block;
}

div.page.search-results article a:hover {
    text-decoration: none;
}

div.page.search-results article a:hover h3 {
    color: #c33825;
}

div.page.search-results article a h3 {
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 700;
}

div.page.search-results article span.search-post-type {
    display: inline-block;
    float: left;
    padding: 3px 5px;
    margin-right: 10px;
    font-size: 16px;
    color: white;
    background-color: #243359;
}

div.page.search-results article span.search-results-date {
    display: block;
    font-size: 16px;
    color: #717171;
    font-style: italic;
}

/*----------- End Page search results ------*/

/*---------- 404 -----------*/

.error-page {
    height: calc(100% - 275px);
}

.error-page .message {
    
    padding: 0 15px;
    margin: 30px 0;
    align-items: center;
    color: #243359;
}

.error-page .message span {
    font-size: 65px;
    margin-right: 20px;
}

.error-page .message div h4 {
    font-weight: 700;
    margin-bottom: 5px;
}

.error-page .message div p {
    margin: 0;
}
/*---------- End 404 -----------*/

/******* END LAYOUT *******/

/******* HEADERS *******/

.home-section {
    padding: 0 0 50px;
}

.section-blue {
    background-color: #243359;
}

.section-blue header {
    color: white;
    border-bottom: 2px solid white;
}

.section-blue header h3 {
    color: white;
}

.section-blue-white {
    background-color: #f7f7f7;
}

.section-blue-white header {
    color: white;
    background-color: #243359;
}

.section-blue-white header h3 {
    color: white;
}

.home-section header {
    text-align: center;
    padding: 20px 0;
    box-sizing: border-box;
}

.home-section header span {
    display: block;
    font-size: 60px;
    margin-bottom: 10px;
}

.home-section header h3 {
    font-size: 16px;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
}

header.single-page-head {
    text-align: center;
    padding: 35px 0;
    box-sizing: border-box;
    background-color: #243359;
}

header.single-page-head h3 {
    color: white;
    font-weight: 700;
    margin: 15px 0;
    font-size: 22px;
}

header.single-page-head h3 span {
    color: white;
    font-weight: 400;
}

/******* END HEADERS *******/

/******* NAVS *******/

.top-header {
    background-color: #243359;
}

.top-header .container {
    padding-top: 5px;
    padding-bottom: 5px;
    max-height: 40px;
}

ul.social-box {
    display: inline-block;
    padding: 3px 0;
    margin: 0;
    list-style-type: none;
}

ul.social-box li {
    float: left;
}

ul.social-box li a {
    position: relative;
    display: block;
    padding: 0 12px 0 0;
    color: white;
    line-height: 1;
}

ul.social-box li a:hover {
    text-decoration: none;
    opacity: 0.75;
}

ul.social-box li a:focus {
    text-decoration: none;
}

ul.social-box li a span {
    font-size: 24px;
    line-height: 1;
}

ul.social-box li a + ul.sub-menu {
    position: absolute;
    padding-top: 15px;
    padding-left: 0;
    display: none;
    z-index: 99999;
}

ul.social-box li a + ul.sub-menu:before {
    content: '';
    position: absolute;
    top: 5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 7.5px 10px 7.5px;
    border-color: transparent transparent #243359 transparent;
}

ul.social-box li a + ul.sub-menu:hover {
    display: block;
}

ul.social-box li a + ul.sub-menu li {
    float: none;
    display: block;
}

ul.social-box li a + ul.sub-menu li a {
    padding: 10px 15px;
    font-size: 16px;
    color: white;
    border-bottom: 1px solid #000000;
    background-color: #243359;
}

ul.social-box li a:hover + ul.sub-menu {
    display: block;
}

ul.social-box li a + ul.sub-menu li a:hover {
    opacity: 0.9;
}

.search-box {
    display: inline-block;
    float: right;
    padding: 2px 0;
    margin-right: 30px;
}

.search-box fieldset {
    display: inline-block;
}

.search-box input.search-field {
    vertical-align: baseline;
    margin: 0;
    padding: 2px 10px;
    height: 26px;
    border: 0;
    font-size: 16px;
}

.search-box input:focus {
    outline-color: #7992d0;
}

.search-box input.search-btn {
    height: 26px;
    width: 26px;
    padding: 5px 5px;
    margin: 0 0 0 5px;
    display: inline-block;
    vertical-align: top;
    background-image: url('../img/search.png');
    background-position: center;
    background-repeat: no-repeat;
    background-color: #fdfdfd;
    border: 0;
}

.search-box button span {
    font-size: 17px;
    line-height: 1;
    color: #243359;
}

.lang-box {
    display: inline-block;
    overflow: hidden;
    float: right;
    padding: 4px 0 6px;
}

.lang-box a {
    display: block;
    float: left;
    padding: 0 0 0 10px;
}

.lang-box a img {
    height: 20px;
}

.navbar-main {
    background-color: #fdfdfd;
    border: none;
    margin-bottom: 0;
}

.navbar-brand {
    padding: 10px 15px;
    height: 75px;
}

.navbar-brand img {
    max-height: 55px;
}

.navbar-main .navbar-right li a {
    padding: 29.5px 15px; 
    color: #243359;
    line-height: 1;
    font-size: 16px;
    text-transform: uppercase;
}

.navbar-main .navbar-right li.current-menu-item > a,
.navbar-main .navbar-right li.current-menu-ancestor > a {
    color: #c33825;
    background-color: transparent;
}

.navbar-main .navbar-right li a:hover,
.navbar-main .navbar-right li.active > a:hover {
    color: #c33825;
    background-color: transparent;
}

.navbar-toggle {
    margin: 20px 15px;
    color: #243359;
    border-radius: 0;
    border: none;
}

.navbar-main .navbar-toggle .icon-bar {
    width: 24px;
    height: 3px;
    background-color: #243359;
}

.navbar-main .navbar-toggle:hover {
    background-color: transparent;
}

.navbar-main .navbar-toggle:focus {
    background-color: transparent;
}

.navbar-main .navbar-toggle:hover > .icon-bar {
    background-color: #c33825;
}

.navbar-main .navbar-toggle:focus > .icon-bar {
    background-color: #c33825;
}

.navbar-right li {
    position: relative;
}


.dropdown-section {
    max-height: 0;
    max-width: 1140px;
    overflow: hidden;
    position: absolute;
    top: 70px;
    right: -246px;
    z-index: 999;
    background-color: white;
    box-sizing: border-box;
}

.dropdown-section::before {
    display: block;
    width: 0;
    height: 5px;
    margin-bottom: 25px;
    content: "";
    background-color: #243359;
    position: absolute;
    top: 5px;
    left: 50%;
}

.navbar-main .navbar-right li.dropdown-hover:hover > .dropdown-section {
    max-height: calc(100vh - 120px );
    padding: 0 15px 30px;
}

.dropdown-section:hover {
    max-height: calc(100vh - 120px );
    padding: 0 15px 30px;
}

.navbar-main .navbar-right li.dropdown-hover:hover > .dropdown-section::before {
    max-width: 1140px;
    width: 100%;
    left: 0;
}

.dropdown-section:hover > ::before {
    max-width: 1140px;
    width: 100%;
    left: 0;
}

.dropdown-section .row {
    margin-top: 30px;
}

.dropdown-section ul {
    padding: 0 30px;
    list-style-type: none;
}

.dropdown-section ul h4 {
    font-weight: 700;
}

.dropdown-section ul li {
    margin-bottom: 10px;
    margin-left: 5px;
}

.navbar-main .navbar-right .dropdown-section ul li a {
    padding: 0;
    display: block;
    margin: 0;
    text-transform: none;
}

nav.category-nav {
    display: block;
    padding: 30px 0 15px;
    text-align: center;
}

nav.category-nav a {
    padding: 10px 15px;
    font-size: 16px;
    color: #243359;
    text-transform: uppercase;
}

nav.category-nav a:hover {
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

nav.category-nav a.active {
    font-weight: 700;
}

nav.page-primary {
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: #243359;
}

nav .navbar-inner {
    
    flex-flow: row wrap;
    justify-content: center;
    max-width: 100%;
}

nav .navbar-inner a,
nav .navbar-inner div {
    padding: 15px 25px;
    text-align: center;
    color: white;
}

.navbar-inner a span,
.navbar-inner div span {
    font-size: 60px;
    margin-bottom: 0px;
}

.navbar-inner a h4,
.navbar-inner div h4 {
    font-size: 16px;
    margin-bottom: 0;
    color: white;
    text-transform: uppercase;
}

.navbar-inner a:hover,
.navbar-inner a:hover > h4,
.navbar-inner a:focus,
.navbar-inner a:focus > h4 {
    color: #c33825;
    text-decoration: none;
}

.navbar-inner a.active,
.navbar-inner a.active h4,
.navbar-inner a.current-menu-item, 
.navbar-inner a.current-menu-item h4,
.navbar-inner a.current-menu-ancestor,
.navbar-inner a.current-menu-ancestor h4 {
    color: #c33825;
    text-decoration: none;
    
}

ul.nav.nav-vertical {
    padding: 0;
    margin: 0;
    margin-bottom: 50px;
    width: 100%;
    background-color: #f3f3f3;
}

ul.nav-vertical > li {
    border-bottom: 1px solid #bebebe;
    overflow: hidden;
}

ul.nav-vertical > li.current > div.nav-item {
    background-color: #c33825;
}

ul.nav-vertical > li.current > div.nav-item > a,
ul.nav-vertical > li.current > div.nav-item > span {
    color: #ffffff;
}

ul.nav.nav-vertical > li > .nav-item {
    padding: 0 15px;
    font-size: 17px;
    
    color: #000;
}

ul.nav.nav-vertical > li > .nav-item * {
    font-size: 17px;
    color: #000;
}


ul.nav.nav-vertical li .nav-item:hover,
ul.nav.nav-vertical li .nav-item:focus,
ul.nav.nav-vertical li.open .nav-item {
    cursor: pointer;
    background-color: #c33825;
}

ul.nav.nav-vertical li .nav-item:hover *,
ul.nav.nav-vertical li .nav-item:focus *,
ul.nav.nav-vertical li.open .nav-item * {
    color: white;
    text-decoration: none;
}

ul.nav.nav-vertical li .nav-item a {
    display: inline-block;
    width: 100%;
    padding: 10px 0;
}

ul.nav.nav-vertical li .nav-item span {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    margin-left: 5px;
    font-size: 16px;
    padding: 11px 1px;
    float: right;
}

ul.nav.nav-vertical li .nav-item span.menu-tab-btn:before {
    content: '\e259'; 
}

ul.nav.nav-vertical li.open .nav-item span.menu-tab-btn:before {
    content: '\e258'; 
}

ul.nav.nav-vertical ul.nav-level {
    display: block;
}

ul.nav.nav-vertical > li.open > .nav-item + ul.nav-level {
    display: block;
}

ul.nav.nav-vertical ul.nav-level > li > a {
    padding: 10px 10px 10px 25px;
    font-size:16px;
    color: #000;
}

ul.nav.nav-vertical ul.nav-level > li > a:hover,
ul.nav.nav-vertical ul.nav-level > li > a:focus,
ul.nav.nav-vertical ul.nav-level > li > a.current {
    color: #c33825;
    background-color: transparent;
}


/******* END NAVS *******/

/******* COMPONENTS *******/

.btn-wrap {
    margin: 0;
    
    justify-content: center;
}

.btn-outline-blue {
    display: inline-block;
    padding: 10px 15px;
    color: #243359;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    border: 2px solid #243359;
}

.btn-outline-blue:hover {
    color: white;
    text-transform: uppercase;
    text-decoration: none;
    background-color: #243359;
}

.btn-outline-blue:focus {
    color: white;
    text-transform: uppercase;
    text-decoration: none;
    background-color: #243359;
}


#carousel-pwsw .carousel-inner, .carousel-inner .item, .item .carousel-image {
    width: 100%;
    height: 100%;
}

#carousel-pwsw .item .carousel-image {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

#carousel-pwsw {
    height: calc(100% - 115px);
}
    
#carousel-pwsw .item .carousel-image .carousel-caption {
    bottom: 10%;
    max-width: 50%;
}

#carousel-pwsw .item .carousel-image .carousel-caption.caption-left {
    left: 15%;
    text-align: left;
}

#carousel-pwsw .item .carousel-image .carousel-caption.caption-right {
    left: 35%;
    text-align: right;
}

#carousel-pwsw .item .carousel-image .carousel-caption.caption-center {
    left: 25%;
    text-align: center;
}

#carousel-pwsw .item .carousel-caption h2 {
    padding: 15px 30px;
    margin-bottom: 0;
    color: white;
    text-shadow: none;
    background-color: rgba(36, 51, 89, 0.7);
}

#carousel-pwsw .item .carousel-caption h2 a {
    margin-bottom: 0;
    color: white;
}

#carousel-pwsw .item .carousel-caption p {
    padding: 15px 30px;
    color: white;
    font-size: 16px;
    text-shadow: none;
    background-color: rgba(0, 0, 0, 0.7);
}

.orientation-modal {
    width: 100vw;
    height: 100vh;
    display: none;
    position: fixed;
    z-index: 9999;
    background-color: rgba(0,0,0,0.5);
}

.orientation-modal .modal-box {
    width: 70%;
    margin: 10% auto;
    padding: 0 10px;
    color: #243359;
    background-color: white;
}

.modal-box header {
    padding: 15px 10px;
    border-bottom: 1px solid lightgray;
}

.modal-box header span {
    font-size: 18px;
}

.modal-box header .modal-close {
    display: block;
    float: right;
    color: #243359;
    cursor: pointer;
}

.modal-box article {
    padding: 30px 20px;
}

.modal-box article h4 {
    font-weight: 700;
}

a.thumbnail {
    position: relative;
    padding: 0;
    margin-bottom: 30px;
    border: 1px solid #243359;
    border-radius: 0;
    
}

a.thumbnail:hover {
    border-color: inherit;
    
}

a.thumbnail .caption {
    position: absolute;
    padding: 15px 20px;
    overflow: hidden;
    width: 100%;
    height: 100%;
    color: white;
    background-color: rgba(36, 51, 89, 0.3);
}

a.thumbnail:hover > .caption {
    background-color: rgba(36, 51, 89, 0.7);
    
}

a.thumbnail .caption h5 {
    padding: 15px 0;
    color: white;
    font-size: 18px;
    font-weight: 700;
    position: absolute;
    bottom: 0;
}

.calendar-grid {
    
    flex-direction: column;
    max-width: 55%;
    margin: 0 auto;
    padding: 50px 0;  
}

.calendar-grid form {
    
    flex-flow: row wrap;
    justify-content: center;
    margin-bottom: 10px;
}

.calendar-grid form a {
    display: inline-block;
    padding: 2px 10px;
    font-size: 16px;
    color: white;
}

.calendar-grid form strong {
    display: inline-block;
    font-size: 16px;
    color: white;
    font-weight: 400;
}

.calendar-grid header {
    
    flex-flow: row wrap;
    justify-content: space-around;
    padding: 10px 0;
    margin-bottom: 10px;
    border-bottom: 1px solid #ffffff;
}

.calendar-grid header div {
    color: white;
    text-transform: uppercase;
    font-size: 16px;
}

.calendar-grid .month {
    
    flex-direction: column;
}

.calendar-grid .month.wpsc-grid {
    border-left: none;
}

.calendar-grid .week {
    
    flex-flow: row wrap;
    justify-content: space-around;
    padding: 15px 0;
}

.calendar-grid .week .day {
    box-sizing: content-box;
    min-width: 20px;
    padding: 10px 6px;
    color: #ffffff;
    border: 1px solid #ffffff;
    text-align: center;
    font-size: 16px;
}

.calendar-grid .week .day.past,
.calendar-grid .week .day.future {
    color: #838383;
    border-color: #838383;
}

.calendar-grid .week .day.today,
.calendar-grid .week .day.today.free,
.calendar-grid .week .day.today.session,
.calendar-grid .week .day.today.event {
    color: #243359;
    border-color: #ffffff;
    background-color: #ffffff;
    font-weight: 700;
}

.calendar-grid .week .day.event {
    position: relative;
    color: #7992d0;
    border-color: #7992d0;
}

.calendar-grid .week .day.event:hover {
    cursor: pointer;
    color: #243359;
    background-color: #7992d0;
}

.calendar-grid .week .day.today.event:hover {
    cursor: pointer;
    color: #243359;
    background-color: #7992d0;
    border-color: #7992d0;
}

.calendar-grid .week .day.free {
    position: relative;
    color: #c33825;
    border-color: #c33825;
}

.calendar-grid .week .day.free:hover {
    cursor: pointer;
    color: #243359;
    background-color: #c33825;
}

.calendar-grid .week .day.today.free:hover {
    cursor: pointer;
    color: #243359;
    background-color: #c33825;
    border-color: #c33825;
}

.calendar-grid .week .day.session {
    position: relative;
    color: #7ca560;
    border-color: #7ca560;
}

.calendar-grid .week .day.session:hover {
    cursor: pointer;
    color: #243359;
    background-color: #7ca560;
}

.calendar-grid .week .day.today.session:hover {
    cursor: pointer;
    color: #243359;
    background-color: #7ca560;
    border-color: #7ca560;
}

.calendar-grid .week .day .ev-tooltip {
    display: block;
    width: 155px;
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.calendar-grid .week .day .ev-tooltip .ev-cont {
    padding: 10px 15px;
    background-color: #ffffff;
}

.calendar-grid .week .day .ev-tooltip .ev-cont a span {
    display: block;
    color: #8e8d8d;
    font-style: italic;
    font-size: 16px;
}

.calendar-grid .week .day .ev-tooltip .ev-cont a:hover {
    text-decoration: none;
}

.calendar-grid .week .day:hover .ev-tooltip {
    opacity: 1;
    z-index: 99;
}

.calendar-grid .week .day .ev-tooltip a {
    display: block;
    margin-bottom: 5px;
    text-align: left;
}

.calendar-grid .week .day .ev-tooltip::before {
    content: '';
    width: 0;
    height: 20px;
    position: absolute;
}

.calendar-grid .week .day .ev-tooltip.left {
    padding-left: 15px;
    left: 33px;
    top: -1px;
}

.calendar-grid .week .day .ev-tooltip.right {
    padding-right: 15px;
    right: 33px;
    top: -1px;
}

.calendar-grid .week .day .ev-tooltip.left::before {
    border-right: 10px solid white;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    top: 10px;
    left: 5px;
}

.calendar-grid .week .day .ev-tooltip.right::before {
    border-left: 10px solid white;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    top: 10px;
    right: 5px;
}

.calendar-grid .legend {
    
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
    padding: 25px 0 5px;
    border-top: 1px solid #ffffff;
}

.calendar-grid .legend span {
    padding: 0 10px;
}

.calendar-grid .legend span:before {
    display: inline-block;
    content: '';
    width: 10px;
    height: 14px;
    margin: 0 5px -2px 0;
}

.calendar-grid .legend span.event {
    color: #7992d0;
}

.calendar-grid .legend span.event:before {
    background-color: #7992d0;
}

.calendar-grid .legend span.free {
    color: #c33825;
}

.calendar-grid .legend span.free:before {
    background-color: #c33825;
}

.calendar-grid .legend span.session {
    color: #7ca560;
}

.calendar-grid .legend span.session:before {
    background-color: #7ca560;
}

html body div#cboxOverlay {
    background: rgba(16, 16, 16, 0.86) url("") no-repeat;
}

html body div#cboxWrapper #cboxTopLeft,
html body div#cboxWrapper #cboxTopCenter,
html body div#cboxWrapper #cboxTopRight,
html body div#cboxWrapper #cboxMiddleLeft,
html body div#cboxWrapper #cboxMiddleRight,
html body div#cboxWrapper #cboxBottomLeft,
html body div#cboxWrapper #cboxBottomCenter,
html body div#cboxWrapper #cboxBottomRight {
    display: none;
}

html body div#colorbox {
    max-width: 500px !important;
    width: 100% !important;
    /* height: 70vh !important; */
    left: 50% !important;
    transform: translateX(-50%);
}

html body div#cboxWrapper {
    width: 100% !important;
    height: 100% !important;
}

html body div#cboxWrapper > div + div {
    height: 100%;   
}

html body div#cboxWrapper #cboxContent {
    width: 100% !important;
    height: 100% !important;
    padding: 20px 30px;
    box-sizing: border-box;
}

html body div#cboxWrapper #cboxLoadedContent {
    width: 100% !important;
    height: 100% !important;
}

html body div#cboxWrapper #cboxLoadedContent * {
    max-width: 100%;
}

html body div#cboxWrapper #cboxLoadedContent img {
    max-width: 100%;
    height: auto;
}

html body div#cboxWrapper #cboxContent #cboxTitle {
    display: none !important;
}

html body div#cboxWrapper #cboxContent button#cboxClose {
    overflow: hidden;
    top: 30px;
    right: 30px;
    font-family: 'Glyphicons Halflings';
    background: none;
    text-indent: 0;
    color: rgba(255, 255, 255, 0);
}

html body div#cboxWrapper #cboxContent button#cboxClose:before {
    content: "\e014";
    display: block;
    font-size: 18px;
    line-height: 1;
    color: #243359;
    margin: 2.5px 2px;
}

html body div#cboxWrapper #cboxContent h4 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 0;
    padding-right: 30px;
}

html body div#cboxWrapper #cboxContent .ev-content {
    overflow-y: auto;
    max-height: 60%;
}

.single-event {
    
    flex-direction: column;
    max-height: 100%;
}

.single-event .ev-meta {
	padding: 10px 0;
}

.single-event .ev-meta .ev-date {
    display: block;
    color: #555555;
}

.single-event .ev-meta .ev-time, 
.single-event .ev-meta .ev-location {
    display: inline-block;
    margin-right: 10px;
    color: #555555;
}

.single-event .ev-meta span.glyphicon {
    margin-right: 5px;
    color: #243359;
}

.single-event .ev-content {
	margin: 5px 0;
}

.single-event .ev-foot a {
    display: inline-block;
    padding: 5px 10px;
    margin: 15px auto 5px;
    color: #fff;
    background-color: #243359;
}

.pagination {
    display: block;
    margin: 0;
    border-radius: 0;
    text-align: center;
}

.pagination > ul {
    display: inline-block;
    padding-left: 0;
    margin: 20px 0;
    list-style-type: none;
}

.pagination > ul > li {
    display: inline;
}

.pagination > ul > li > a,
.pagination > ul > li > span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #000000;
    text-decoration: none;
    background-color: #fff;
    border: 0;
}

.pagination > ul > li > a:hover,
.pagination > ul > li > a:focus {
    color: #000000;
    background-color: #eee;
    z-index: 2;
}

.pagination > ul > li > span.current {
    color: #ffffff;
    border: 0;
    background-color: #243359;
    z-index: 3;
}

.sidebar aside {
    display: block;
    overflow: hidden;
    padding: 20px 25px;
    margin-bottom: 25px;
    background-color: #e7e7e7;
}

.sidebar aside h4 {
    margin: 0 0 10px;
    color: #343031;
    font-size: 17px;
    text-transform: uppercase;
}

.sidebar aside ul {
    list-style-type: none;
    margin: 0;
    padding: 0 0 0 15px;
}

.sidebar aside ul li {
    position: relative;
    margin-bottom: 3px;
}

.sidebar aside ul li:before {
    display: block;
    content: '';
    width: 6px;
    height: 6px;
    margin: 7px 0 5px;
    position: absolute;
    left: -12px;
    background-color: #4d4d4d;
}

.sidebar aside ul li a {
    color: #343031;
}

.expand-content {
    margin: 20px 0;
}

.expand-content span {
    display: inline-block;
    padding: 11px 0;
    font-size:16px;
    font-weight: 700;
    color: #243359;
}

.expand-content span:hover {
    cursor: pointer;
}

.expand-content.open span:before {
    content: '\e258';
}

.expand-content.closed span:before {
    content: '\e259';
}

.expand-content h4 {
    display: inline-block;
    max-width: calc(100% - 25px);
    padding: 10px;
    margin: 0;
    font-size: 17px;
    font-weight: 700;
}

.expand-content.closed article {
    overflow: hidden;
    font-size:16px;
}

.expand-content.open article {
    overflow: hidden;
    font-size:16px;
    padding: 5px 0 20px;
    border-bottom: 1px solid #243359;
}

.home-section-menu {
    padding: 60px 0;
}

.home-section-menu .home-section-nav-box {
    width: 80%;
    margin: 0 auto;
}

.home-section-menu .home-section-nav-box .mobile-btn {
    display: none;
}

.home-section-menu .home-section-nav-box nav {
    
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
}

.home-section-menu .home-section-nav-box nav a {
    padding: 15px 25px;
    font-size: 18px;
    border-bottom: 1px solid #243359;
}

/******* END COMPONENTS *******/

/******* FORMS *******/



/******* END FORMS *******/

/******* OTHER *******/

ul.post-attachment {
    padding: 0;
    margin: 30px 0;
    list-style-type: none;
}

ul.post-attachment h4 {
    font-weight: 700;
    margin-bottom: 15px;
}

ul.post-attachment li {
    padding-bottom: 5px;
    
}

ul.post-attachment li span {
    margin-right: 5px;
    font-size: 18px;
}

/******* END OTHER *******/


/******* MEDIA QUERIES *******/

@media (max-width: 995px) {
    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in {
        display:block !important;
    }
    
    .single-news-image {
        width: 100%;
        padding: 0;
        margin-bottom: 45px;
        overflow: hidden;
    }
    
    .calendar-grid {
        max-width: 75%;  
    }
    
    .single-news .news-gallery .gallery-item {
        display: block;
        width: calc(100% * (1/3) - 30px);
        margin: 0 15px 30px 15px;
        position: relative;
    }
    
    .foot-inner.widget-footer {
        justify-content: space-around;
    }
    
    .foot-inner.widget-footer div.widget {
        display: none;
    }
    
    .foot-inner.widget-footer div.widget:first-child {
        display: block;
        text-align: center;
    }
    
    .footer-second .footer-second-inner {
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }
    
    .footer-second .footer-second-inner nav {
        margin-top: 15px;
    }
    
    .page-contact .pwsw-pills-group {
        flex-direction: column;
    }

    .page-contact .pwsw-pill-btn {
        width: 100%;
    }
}

@media(max-width:767px){
    .dropdown-section {
        display: none;
    }
    ul.social-box li a span {
    font-size: 24px;
    line-height: 1;
    }
    .lang-box a img {
    width: 25px;
    }
    
    
    #carousel-pwsw .item .carousel-image .carousel-caption {
        bottom: 10%;
        max-width: 70%;
    }

    #carousel-pwsw .item .carousel-image .carousel-caption.caption-left {
        left: 10%;
        text-align: left;
    }

    #carousel-pwsw .item .carousel-image .carousel-caption.caption-right {
        left: 20%;
        text-align: right;
    }

    #carousel-pwsw .item .carousel-image .carousel-caption.caption-center {
        left: 15%;
        text-align: center;
    }

    #carousel-pwsw .item .carousel-caption h2 {
        padding: 10px 15px;
        margin-bottom: 0;
        color: white;
        font-size: 18px;
        text-shadow: none;
        background-color: rgba(36, 51, 89, 0.7);
    }
    
    #carousel-pwsw .item .carousel-caption p {
        display: none;
    }
    
    .single-news-image {
        width: 100%;
        padding: 0;
        margin-bottom: 25px;
        overflow: hidden;
    }
    
    html body div#colorbox {
        max-width: 80% !important;
        width: 100% !important;
    }
    
    .page-contact .pwsw-pills-group {
        flex-direction: row;
    }

    .page-contact .pwsw-pill-btn {
        width: 49.5%;
    }

    .tabs-nav {
        flex-flow: column;
        justify-content: center;
    }

}

@media(max-width:560px){ 
    
    footer .foot-inner {
        min-height: 80px;
        padding: 15px;
        width: 100%;
        overflow: hidden;
        
        flex-flow: column;
        align-items: center;
        justify-content: space-between;
    }
    
    .top-header .container {
        max-height: 100%;
    }
    
    .search-box {
        display: block;
        margin: 0 auto;
        float: none;
    }

    .search-box fieldset {
        width: 100%;
    }

    .search-box fieldset input {
        width: calc(100% - 37px);
    }
    
    #carousel-pwsw {
        height: calc(100% - 150px);
    }
    
    .navbar-brand {
        padding: 15px 15px;
        height: 75px;
    }

    .navbar-brand img {
        max-height: 45px;
    }
    
    .single-news-image {
        overflow: hidden;
        box-sizing: border-box;
        display: block;
        float: none;
        width: 100%;
        margin: 0 auto 30px;
        padding: 0;
    }
    
    .single-news .news-title + hr {
        margin-left: 15px;
    }
    
    .calendar-grid {
        max-width: 90%;  
    }
    
    html body div#colorbox {
        max-width: 90% !important;
        width: 100% !important;
    }
    
    .single-news .news-gallery .gallery-item {
        display: block;
        width: calc(100% * (1/2) - 30px);
        margin: 0 15px 30px 15px;
        position: relative;
    }
    
    .page-contact .pwsw-pills-group {
        flex-direction: column;
    }

    .page-contact .pwsw-pill-btn {
        width: 100%;
    }

    .tab-content,
    .tab-content.current {
        flex-direction: column;
    }

    .tab-content ul {
        width: 100%;
    }

}

@media(max-width:340px){ 

    .navbar-brand {
        padding: 17.5px 15px;
        height: 75px;
    }

    .navbar-brand img {
        max-height: 40px;
    }
    
    .single-news-image {
        overflow: hidden;
        box-sizing: border-box;
        float: none;
        max-width: 100%;
        width: 100%;
        margin-bottom: 30px;
        margin-right: 0;
        padding: 0;
    }
    
    .calendar-grid {
        max-width: 100%;  
    }
    
    .single-news .news-gallery .gallery-item {
        display: block;
        width: calc(100% - 30px);
        margin: 0 15px 30px 15px;
        position: relative;
    }
    
}

/******* END MEDIA QUERIES *******/