/*!*************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/variables.css ***!
  \*************************************************************************/
/**
 * CSS Variables
 * 
 * Define all design tokens here
 * 
 * @package SUV_Theme
 */

:root {
    /* Colors - From theme.json */
    --color-primary: #003366;
    --color-secondary: #0066cc;
    --color-accent: #FF6B35;
    --color-dark: #1a1a1a;
    --color-light: #f5f5f5;
    --color-white: #ffffff;
    --color-text: #333333;
    --color-text-light: #666666;

    /* Typography */
    --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    --font-serif: 'Georgia', serif;

    /* Font Sizes */
    --font-size-small: 0.875rem;
    --font-size-normal: 1rem;
    --font-size-medium: 1.125rem;
    --font-size-large: 1.5rem;
    --font-size-xlarge: 2rem;
    --font-size-huge: 2.5rem;

    /* Spacing */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-xxl: 3rem;

    /* Container */
    --container-width: 1200px;
    --content-width: 800px;

    /* Border Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;

    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.15);

    /* Transitions */
    --transition-fast: 0.15s ease;
    --transition-base: 0.3s ease;
    --transition-slow: 0.5s ease;

    /* Z-index */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
}

/*!********************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/base.css ***!
  \********************************************************************/
/**
 * Base Styles
 * 
 * Reset and base element styles
 * 
 * @package SUV_Theme
 */

/* Box Sizing */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Base */
html {
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--font-primary);
    font-size: var(--font-size-normal);
    line-height: 1.6;
    color: var(--color-text);
    background-color: var(--color-white);
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 var(--spacing-md);
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-dark);
}

h1 { font-size: var(--font-size-huge); }
h2 { font-size: var(--font-size-xlarge); }
h3 { font-size: var(--font-size-large); }
h4 { font-size: var(--font-size-medium); }
h5 { font-size: var(--font-size-normal); }
h6 { font-size: var(--font-size-small); }

p {
    margin: 0 0 var(--spacing-md);
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover,
a:focus {
    color: var(--color-secondary);
}

/* Lists */
ul, ol {
    margin: 0 0 var(--spacing-md);
    padding-left: var(--spacing-lg);
}

/* Images */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Screen Reader Text */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: var(--color-light);
    clip: auto !important;
    display: block;
    font-size: var(--font-size-normal);
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/*!**********************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/layout.css ***!
  \**********************************************************************/
/**
 * Layout Styles
 * 
 * Page structure and containers
 * 
 * @package SUV_Theme
 */

/* Site Container */
.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Container */
.container {
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}

/* Site Content */
.site-content {
    flex: 1;
    padding: var(--spacing-xxl) 0;
}

/* Main Content Area */
.site-main {
    /* Main content styles */
}

/* Grid Layouts */
.posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
}

.posts-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

/* Sidebar */
.widget-area {
    /* Sidebar styles */
}

/* Skip Link */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
}

.skip-link:focus {
    left: 0;
    z-index: 999999;
}

/*!*********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/header.css ***!
  \*********************************************************************************/
/**
 * Header Component Styles
 * 
 * @package SUV_Theme
 */

.site-header {
    background-color: var(--color-white);
    border-bottom: 1px solid var(--color-light);
    padding: var(--spacing-md) 0;
}

.site-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.site-branding {
    /* Logo and site title styles */
}

.site-title {
    margin: 0;
    font-size: var(--font-size-large);
}

.site-title a {
    color: var(--color-dark);
}

.site-description {
    margin: 0;
    font-size: var(--font-size-small);
    color: var(--color-text-light);
}

/*!*********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/footer.css ***!
  \*********************************************************************************/
/**
 * Footer Component Styles
 * 
 * @package SUV_Theme
 */

.site-footer {
    background-color: var(--color-dark);
    color: var(--color-white);
    padding: var(--spacing-xxl) 0 var(--spacing-lg);
    margin-top: var(--spacing-xxl);
}

.footer-widgets {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
}

.site-info {
    text-align: center;
    padding-top: var(--spacing-lg);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

@media (max-width: 768px) {
    .footer-widgets {
        grid-template-columns: 1fr;
    }
}

/*!*************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/navigation.css ***!
  \*************************************************************************************/
/**
 * Navigation Component Styles
 * 
 * @package SUV_Theme
 */

.main-navigation {
    /* Navigation menu styles */
}

.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--spacing-sm);
}

.primary-menu-container ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--spacing-lg);
}

.primary-menu-container a {
    color: var(--color-text);
    padding: var(--spacing-sm);
    transition: color var(--transition-fast);
}

.primary-menu-container a:hover {
    color: var(--color-primary);
}

@media (max-width: 768px) {
    .menu-toggle {
        display: block;
    }

    .primary-menu-container {
        display: none;
    }

    .primary-menu-container.toggled {
        display: block;
    }

    .primary-menu-container ul {
        flex-direction: column;
    }
}

/*!**********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/buttons.css ***!
  \**********************************************************************************/
/**
 * Button Component Styles
 * 
 * @package SUV_Theme
 */

.button,
button,
input[type="submit"],
input[type="button"] {
    display: inline-block;
    padding: var(--spacing-sm) var(--spacing-lg);
    background-color: var(--color-primary);
    color: var(--color-white);
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-normal);
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    background-color: var(--color-secondary);
    color: var(--color-white);
}

.read-more {
    display: inline-block;
    padding: var(--spacing-sm) var(--spacing-md);
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-sm);
    transition: all var(--transition-fast);
}

.read-more:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
}

/*!********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/forms.css ***!
  \********************************************************************************/
/**
 * Form Component Styles
 * 
 * @package SUV_Theme
 */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
    width: 100%;
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid var(--color-light);
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-size: var(--font-size-normal);
    transition: border-color var(--transition-fast);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--color-primary);
}

label {
    display: block;
    margin-bottom: var(--spacing-xs);
    font-weight: 600;
}

.search-form {
    display: flex;
    gap: var(--spacing-sm);
}

.search-form input[type="search"] {
    flex: 1;
}

/*!********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/cards.css ***!
  \********************************************************************************/
/**
 * Card Component Styles
 * 
 * @package SUV_Theme
 */

article {
    background-color: var(--color-white);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition-fast);
}

article:hover {
    box-shadow: var(--shadow-md);
}

.post-thumbnail {
    overflow: hidden;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    transition: transform var(--transition-base);
}

.post-thumbnail:hover img {
    transform: scale(1.05);
}

.entry-header {
    padding: var(--spacing-lg);
}

.entry-title {
    margin: 0 0 var(--spacing-sm);
}

.entry-title a {
    color: var(--color-dark);
}

.entry-title a:hover {
    color: var(--color-primary);
}

.entry-meta {
    font-size: var(--font-size-small);
    color: var(--color-text-light);
}

.entry-content,
.entry-summary {
    padding: 0 var(--spacing-lg);
}

.entry-footer {
    padding: var(--spacing-lg);
    border-top: 1px solid var(--color-light);
}

/*!*********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/thesis.css ***!
  \*********************************************************************************/
/**
 * Thesis Component Styles
 * 
 * @package SUV_Theme
 */

.thesis-item {
    /* Specific styles for thesis items */
}

.thesis-cover img {
    aspect-ratio: 3/4;
    object-fit: cover;
}

.thesis-meta {
    /* Metadata styles for thesis */
}

.single-thesis .thesis-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
    background-color: var(--color-light);
    border-radius: var(--radius-md);
    margin-bottom: var(--spacing-lg);
}

/*!**********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/project.css ***!
  \**********************************************************************************/
/**
 * Project Component Styles
 * 
 * @package SUV_Theme
 */

.project-item {
    /* Specific styles for project items */
}

.project-featured img {
    aspect-ratio: 16/9;
    object-fit: cover;
}

.project-meta {
    /* Metadata styles for projects */
}

/*!*********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/member.css ***!
  \*********************************************************************************/
/**
 * Member Component Styles
 * 
 * @package SUV_Theme
 */

.member-item {
    /* Specific styles for member items */
}

.member-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.member-photo img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: var(--spacing-md);
}

.member-meta {
    /* Metadata styles for members */
}

@media (max-width: 768px) {
    .member-card {
        flex-direction: column;
    }
}

/*!*********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/notice.css ***!
  \*********************************************************************************/
/**
 * Notice Component Styles
 * 
 * @package SUV_Theme
 */

.notice-item {
    /* Specific styles for notice items */
    border-left: 4px solid var(--color-accent);
}

.notice-meta {
    /* Metadata styles for notices */
}

/*!****************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/data-resource.css ***!
  \****************************************************************************************/
/**
 * Data Resource Component Styles
 * 
 * @package SUV_Theme
 */

.data-resource-item {
    /* Specific styles for data resource items */
}

.data-resource-meta {
    /* Metadata styles for data resources */
}

/*!**********************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/seminar.css ***!
  \**********************************************************************************/
/**
 * Seminar Component Styles
 * 
 * @package SUV_Theme
 */

.seminar-item {
    /* Specific styles for seminar items */
}

.seminar-meta {
    /* Metadata styles for seminars */
}

/*!************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/affiliate.css ***!
  \************************************************************************************/
/**
 * Affiliate Component Styles
 * 
 * @package SUV_Theme
 */

.affiliate-item {
    /* Specific styles for affiliate items */
}

.affiliate-logo {
    padding: var(--spacing-md);
    background-color: var(--color-light);
}

.affiliate-logo img {
    max-height: 150px;
    width: auto;
    margin: 0 auto;
}

.affiliate-meta {
    /* Metadata styles for affiliates */
}

/*!***************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components/esg-learning.css ***!
  \***************************************************************************************/
/**
 * ESG Learning Component Styles
 * 
 * @package SUV_Theme
 */

.esg-learning-item {
    /* Specific styles for ESG learning items */
}

.esg-learning-meta {
    /* Metadata styles for ESG learning */
}

/*!*************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/utilities.css ***!
  \*************************************************************************/
/**
 * Utility Classes
 * 
 * Helper classes for common styles
 * 
 * @package SUV_Theme
 */

/* Text Alignment */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

/* Spacing */
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.pt-0 { padding-top: 0; }
.pb-0 { padding-bottom: 0; }

/* Display */
.d-none { display: none; }
.d-block { display: block; }
.d-flex { display: flex; }
.d-grid { display: grid; }

/* Flex Utilities */
.flex-row { flex-direction: row; }
.flex-column { flex-direction: column; }
.justify-center { justify-content: center; }
.align-center { align-items: center; }
.flex-wrap { flex-wrap: wrap; }

/* Visibility */
.hidden { display: none !important; }
.visible { display: block !important; }

/* Loading State */
.loading {
    opacity: 0.5;
    pointer-events: none;
}

/*!**************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/responsive.css ***!
  \**************************************************************************/
/**
 * Responsive Styles
 * 
 * Media queries for responsive design
 * 
 * @package SUV_Theme
 */

/* Breakpoints:
 * - Mobile: < 768px
 * - Tablet: 768px - 1024px
 * - Desktop: > 1024px
 */

/* Tablet and below */
@media (max-width: 1024px) {
    :root {
        --font-size-huge: 2rem;
        --font-size-xlarge: 1.75rem;
        --spacing-xxl: 2rem;
    }

    .container {
        padding: 0 var(--spacing-md);
    }

    .posts-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        gap: var(--spacing-lg);
    }
}

/* Mobile */
@media (max-width: 768px) {
    :root {
        --font-size-huge: 1.75rem;
        --font-size-xlarge: 1.5rem;
        --font-size-large: 1.25rem;
        --spacing-xl: 1.5rem;
        --spacing-xxl: 1.5rem;
    }

    .posts-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }

    .container {
        padding: 0 var(--spacing-sm);
    }
}

/*!********************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/main.css ***!
  \********************************************************************/
/**
 * Main CSS File
 * 
 * This file imports all component styles and compiles to assets/css/main.css
 * 
 * @package SUV_Theme
 */

/* Import Variables */

/* Import Base Styles */

/* Import Layout */

/* Import Components */

/* Import Custom Post Types */

/* Import Utilities */

/* Import Responsive */


/*# sourceMappingURL=main.css.map*/