.elementor-27190 .elementor-element.elementor-element-3c2c522{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-27190 .elementor-element.elementor-element-ec81ef9 > .elementor-widget-container{padding:0px 0px 0px 0px;}/* Start custom CSS for text-editor, class: .elementor-element-ec81ef9 *//*
 * CSS for custom-post block
 * Following color theme:
 * Header background: #005b96, white text, corner round
 * Section headings: #003f63
 * Table headers: #e2f0fb
 * Notes box: #fff3cd with border-left #ffca2c
 */

.custom-post {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    overflow-x: hidden;
    background-color: transparent; /* Light grey background to make white cards pop */
}

/* CARD STYLING - APPLIED TO ALL SECTIONS */
.custom-post section {
    margin: 05px 0px 10px 0px; /* Added margin to separate cards */
    padding: 20px 0; /* Padding inside the card, left/right handled by content */
    background-color: white; /* Ensure white background */
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); /* Subtle shadow for a lifted look */
}

.custom-post header {
    background-color: #005b96;
    color: white;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    text-align: center;
}

.custom-post header h1 {
    margin: 0 0 5px 0;
    font-size: 1.8em;
}

.custom-post header p {
    margin: 0;
    font-size: 1em;
}

.custom-post h2, .custom-post h3, .custom-post h4 {
    color: #003f63;
    border-bottom: 2px solid #e2f0fb;
    padding-bottom: 5px;
    margin-top: 15px;
    padding-left: 20px; /* Aligned with new card padding */
    padding-right: 20px;
}

.custom-post p, .custom-post ul, .custom-post ol {
    padding: 0 20px; /* Increased padding for content inside the card */
    margin: 10px 0;
    text-align: justify;
}

.custom-post ul, .custom-post ol {
    list-style-position: inside;
}

.custom-post li {
    margin-bottom: 8px;
    padding-left: 5px;
}

/* Responsive Table Styling */
.custom-post .responsive-table {
    width: 100%;
    margin: 15px 0;
    padding: 0 20px; /* Aligned with new card padding */
    box-sizing: border-box;
}

.custom-post table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; 
    margin: 0;
    border: 1px solid #ddd;
}

.custom-post th, .custom-post td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
    vertical-align: top;
    word-wrap: break-word; 
    overflow-wrap: break-word;
}

.custom-post th {
    background-color: #e2f0fb;
    color: #003f63;
    font-weight: bold;
}

/* Specific Table Column Sizing for Dates (3 columns) */
#dates table tr td:nth-child(1) {
    width: 45%; 
}
#dates table tr td:nth-child(2),
#dates table tr td:nth-child(3) {
    width: 27.5%; 
    text-align: center;
}

/* Specific Table Column Sizing for Fees (3 columns) */
#fees table tr td:nth-child(1) {
    width: 70%;
}
#fees table tr td:nth-child(2) {
    width: 30%;
    text-align: center;
}

/* Notes Box Styling */
.custom-post .important {
    background-color: #fff3cd;
    border-left: 5px solid #ffca2c;
    padding: 15px;
    margin: 20px; /* Adjusted margin to fit inside card padding */
    border-radius: 4px;
    font-weight: bold;
}

/* ToC Styling (Special Card) */
.custom-post .toc {
    margin: 10px 0px 10px 0px;
    padding: 20px; /* Increased padding */
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); /* Same shadow */
}

/* Button Styling */
.custom-post .apply-button {
    display: block;
    width: fit-content;
    margin: 20px auto;
    padding: 15px 30px;
    background-color: #ffca2c;
    color: #003f63;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    text-align: center;
    transition: background-color 0.3s;
    font-size: 1.1em;
    border: none;
}

/* Footer Styling */
.custom-post footer {
    text-align: center;
    padding: 15px;
    border-top: 1px solid #ddd;
    margin-top: 30px;
    background-color: white; 
}

/* Mobile specific styles for wide tables (Disciplines) - Reintroduce scroll only here */
@media screen and (max-width: 600px) {
    /* For tables like 'Disciplines & Vacancies' (5 columns) */
    #disciplines .responsive-table {
        overflow-x: auto;
    }
    #disciplines table {
        /* Ensure table is wide enough to show all columns on mobile */
        min-width: 600px;
        table-layout: auto;
    }
    /* Reduce card side padding slightly on small screens */
    .custom-post p, .custom-post ul, .custom-post ol,
    .custom-post h2, .custom-post h3, .custom-post h4,
    .custom-post .responsive-table {
        padding-left: 10px;
        padding-right: 10px;
    }
    .custom-post .important {
        margin: 20px 10px;
    }
}/* End custom CSS */