/* Base styles */
:root {
    --primary-color: #196d99; /* Keeping a default, can be overridden if 2018 has a specific theme color */
    --text-color: #333;
    --link-color: #fff;
    --link-hover-color: rgba(255, 255, 255, 0.8);
    --accent-color-2015: #ffe53a; /* Yellow from 2015 screenshot */
    --footer-bg-2015: #2b2b2b; /* Dark grey from 2015 screenshot */
    --footer-text-color-2015: #ccc;
    --header-overlay-bg-2015: rgba(0, 0, 0, 0.6); /* Semi-transparent dark for header */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Neue Montreal', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    line-height: 1.6;
    color: var(--text-color);
    /* background-color: #fff; */ /* Reverted from white */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header 2015 - Overlay Style */
.header-2015 {
    background-color: var(--header-overlay-bg-2015);
    padding: 15px 0;
    position: absolute; /* Or fixed, depending on desired scroll behavior */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100; /* Ensure header is above banner */
    display:none;
}

.header-container-2015 {
    display: flex;
    justify-content: flex-end; /* Align nav to the right as logo is removed */
    align-items: center;
}

/* Removed .logo-2015 img styles */

.main-nav-2015 ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

.main-nav-2015 li {
    margin-left: 20px;
}

.main-nav-2015 a {
    text-decoration: none;
    color: #fff; /* White text for dark overlay header */
    font-weight: bold;
    font-size: 0.9em;
    text-transform: uppercase;
}

.main-nav-2015 a:hover {
    color: var(--accent-color-2015);
}

.main-nav-2015 .fa-search {
    font-size: 1.1em;
    color: #fff;
}
.main-nav-2015 .fa-search:hover {
    color: var(--accent-color-2015);
}

/* Removed .header-logo style */

/* Banner Carousel 2015 */
.banner-carousel-2015 {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #000; /* Fallback if images are missing */
    /* padding-top: 70px; */ /* Removed as header is absolute overlay */
}

/* Removed .banner-text-overlay-2015 styles */

.carousel-slides {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.carousel-slides .slide {
    min-width: 100%;
    display: none; 
}

.carousel-slides .slide.active {
    display: block; 
}

.carousel-slides img {
    width: 100%;
    height: auto; 
    max-height: 100vh; /* Let banner be full viewport height if image is tall */
    object-fit: cover;
    display: block;
}

.carousel-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    font-size: 20px;
    z-index: 10;
}

.carousel-control.prev {
    left: 10px;
}

.carousel-control.next {
    right: 10px;
}

/* Program Section 2015 */
.program-2015 {
    background-color: #fff; 
}

.program-image-container-2015 {
    padding: 0; /* Ensure no padding for full width */
}

.program-image-container-2015 img {
    width: 100%;
    height: auto;
    display: block;
}

/* Top Sponsors Section 2015 */
.top-sponsors-2015 {
    padding: 25px 0;
    text-align: center;
    background-color: #fff; 
}

.top-sponsors-2015 img {
    max-width: 100%;
    height: auto;
}

/* Main Sponsors Section 2015 */
.main-sponsors-2015 {
    padding: 25px 0;
    text-align: center;
    background-color: #fff;
}

.main-sponsors-2015 img {
    max-width: 48%; 
    height: auto;
    margin: 5px 1%; /* Added small vertical margin */
    display: inline-block; /* To allow text-align center to work on parent */
}

/* Info Text Block 2015 */
.info-text-block-2015 {
    background-color: var(--accent-color-2015);
    padding: 30px 20px; /* Added horizontal padding for content */
    text-align: center; 
}

.info-text-block-2015 blockquote {
    margin: 0 auto;
    max-width: 900px; 
    font-style: normal; /* Changed from italic */
    color: #333;
    font-size: 1.1em;
    line-height: 1.5;
}

.info-text-block-2015 blockquote p {
    margin:0;
}

/* Footer Styles for 2015 */
.footer-2015 {
    background-color: var(--footer-bg-2015);
    color: var(--footer-text-color-2015);
    padding: 40px 0 0; 
    font-size: 0.9em;
}

.footer-2015 a {
    color: #fff; 
    text-decoration: none;
}

.footer-2015 a:hover {
    text-decoration: underline;
    color: var(--accent-color-2015);
}

.footer-main-content-2015 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px; /* Increased gap */
    padding-bottom: 30px;
}

.footer-column-2015 {
    flex: 1 1 300px; /* Flex basis to allow 3 columns on wider screens */
    margin-bottom: 20px;
}

.footer-col-left .footer-pca-logo-2015 {
    max-width: 200px; /* Slightly larger */
    margin-bottom: 15px;
    height: auto; /* For SVG scaling */
}
.footer-col-left p {
    margin-bottom: 8px;
    line-height: 1.5; /* Increased line height */
}

.footer-col-center p {
    margin-bottom: 15px;
    font-size: 0.9em; /* Slightly smaller for density */
    line-height: 1.5;
}

.footer-gov-logos-2015 {
    margin-top:10px; /* Space above logos */
}

.footer-gov-logos-2015 .logo-placeholder,
.footer-gov-logos-2015 img {
    max-height: 45px; 
    margin-right: 10px;
    vertical-align: middle;
    margin-bottom: 10px; /* For wrapping */
}
.footer-gov-logos-2015 .logo-placeholder {
    display: inline-block; /* To behave like an image */
    background: #555;
    color: #ccc;
    padding: 5px 10px;
    border-radius: 3px;
    font-style: italic;
}

.footer-col-right {
    text-align: left; /* Default, can be changed if needed */
}
.footer-col-right a {
    font-weight: bold;
    display: block; /* Make it block for easier clicking */
}

.footer-bottom-bar-2015 {
    background-color: #1f1f1f; 
    padding: 15px 0;
    border-top: 1px solid #444; /* Subtle separator */
}

.footer-bottom-container-2015 { /* Using specific class */
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.footer-copyright-2015 {
    font-size: 0.85em;
    margin: 5px 0;
    text-align: left;
}

.footer-social-icons-2015 {
    text-align: right;
}

.footer-social-icons-2015 a {
    color: var(--footer-text-color-2015);
    font-size: 1.4em;
    margin-left: 15px;
}

.footer-social-icons-2015 a:first-child {
    margin-left: 0;
}

.footer-social-icons-2015 a:hover {
    color: var(--accent-color-2015);
}

/* Mobile Styles */
@media (max-width: 999px) { 
    .header-2015 {
        position: static; /* Change from absolute for simpler mobile layout */
        background-color: #222; /* Solid dark for mobile */
    }
    .banner-carousel-2015 {
        padding-top: 0; /* Remove padding when header is static */
    }
    .header-container-2015 {
        flex-direction: column;
        align-items: center; 
    }
    /* .logo-2015 was removed */
    .main-nav-2015 ul {
        flex-direction: column;
        width: 100%;
        align-items: center; /* Center nav items */
    }
    .main-nav-2015 li {
        margin-left: 0;
        margin-bottom: 0;
        width:100%;
        text-align: center;
    }
    .main-nav-2015 li a {
        display:block;
        padding: 10px 0;
        border-top: 1px solid #444;
    }
    .main-nav-2015 li:first-child a {
        border-top: none;
    }

    .footer-main-content-2015 {
        flex-direction: column;
        text-align: center;
    }
    .footer-column-2015 {
        min-width: 100%;
    }
    .footer-col-left .footer-pca-logo-2015 {
        margin-left: auto;
        margin-right: auto;
    }
    .footer-gov-logos-2015 {
        text-align: center;
    }
    .footer-gov-logos-2015 img, .footer-gov-logos-2015 .logo-placeholder {
        margin-bottom: 10px;
    }
    .footer-col-right {
        text-align: center;
    }
    .footer-bottom-container-2015 {
        flex-direction: column;
    }
    .footer-copyright-2015 {
        text-align: center;
        margin-bottom:10px;
    }
    .footer-social-icons-2015 {
        text-align: center;
    }
    .footer-social-icons-2015 a {
        margin: 0 10px;
    }
}

@media (max-width: 767px) {
    .carousel-slides img {
        max-height: 50vh; /* Further reduce banner height on small mobile */
    }

    .main-sponsors-2015 img {
        max-width: 90%;
        margin: 0 auto 15px auto; 
        display: block;
    }
}

/* Removed styles for the WPBakery-like sponsor block */

/* Ensure the added rows don't have excessive bottom padding from the wpb_row style if not desired */
.wpb_row.vc_row-fluid[style*="padding-bottom: 0px"] {
    /* If you want to ensure no bottom padding from the inline style, you could override, 
       but usually inline styles take precedence. This is more a note. */
}

/* Styling for the simplified additional sponsors section */
.additional-sponsors-2016 {
    padding: 30px 0; /* Add some padding around the section */
    text-align: center; /* Center the images within their divs if they are inline-block or similar */
}

.additional-sponsors-2016 .additional-sponsor-image {
    margin-bottom: 15px; /* Space between the two images */
}

.additional-sponsors-2016 .additional-sponsor-image:last-child {
    margin-bottom: 0;
}

.additional-sponsors-2016 .additional-sponsor-image img {
    max-width: 100%; /* Make images responsive */
    height: auto;   /* Maintain aspect ratio */
    display: inline-block; /* Allows text-align on parent to center it */
}

/* Removed styles for the WPBakery-like sponsor block (new-sponsors-2016) */
/* Removed styles for additional-sponsors-2016 */

/* Ensure the added rows don't have excessive bottom padding from the wpb_row style if not desired */
.wpb_row.vc_row-fluid[style*="padding-bottom: 0px"] {
    /* If you want to ensure no bottom padding from the inline style, you could override, 
       but usually inline styles take precedence. This is more a note. */
} 