/* change home page */
body.home #content.site-content {
	/* expand content to fill more of the page */
	max-width: 100% !important;
	padding: 0 !important; }

/* widget text */
.widget a {text-transform: uppercase;
    font-size: smaller;
	letter-spacing: 0.05em;
}

/* center load more posts button */
.wp-block-button__link {
	display: block;
	margin: 0 auto;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Preload font for faster loading */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&display=swap');

/* Optimize hero image for mobile */
@media (max-width: 768px) {
    .hero-image img, 
    .wp-block-image img,
    .ast-featured-img img {
        width: 100% !important;
        height: auto !important;
        max-width: 480px; /* Smaller for mobile */
    }
}

@media (max-width: 480px) {
    .hero-image img,
    .wp-block-image img,
    .ast-featured-img img {
        max-width: 320px;
    }
}

/* fix for menu bar on 125% scaling on laptops */

@media screen and (min-width: 50em) {
    .main-navigation>div>ul>li, .main-navigation.toggled-on>div>ul>li {
        margin: 0;
        width: calc(20%);
    }
}

/* home page */
@media screen and (min-width: 50em){
	body.home main#main {
		/* default is 0 10 %*/
		margin: 0 10%;
	}
}

/* Buttons */
.wp-block-button__link {
    background-color: #0d0d0b !important; /* Dark gray background */
    color: #f3de85 !important; /* White text */
    border: none !important;
    transition: color 0.3s ease !important; /* Smooth color transition */
}

/* Hover effect */
.wp-block-button__link:hover {
    color: #ffffff !important; /* Gold text on hover */
    background-color: #0d0d0b !important; /* Keep background dark */
}

/* Alternative with black background */
.wp-block-button__link.black-bg {
    background-color: #000000 !important; /* Pure black background */
}

/* Focus state for accessibility */
.wp-block-button__link:focus {
    outline: 2px solid #f3de85 !important;
    outline-offset: 2px !important;
}

/* End of Buttons */

/*donations button */

.donation-container {
            max-width: 400px;
            margin: 20px auto;
            background: #ffffff;
            border: 2px solid #e0e0e0;
            border-radius: 12px;
            padding: 30px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        .donation-title {
            text-align: center;
            color: #333;
            margin-bottom: 25px;
            font-size: 24px;
            font-weight: 600;
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            color: #555;
            font-size: 16px;
        }

        .amount-input {
            width: 100%;
            padding: 12px 16px;
            border: 2px solid #d0d0d0;
            border-radius: 8px;
            font-size: 18px;
            font-weight: 500;
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
            box-sizing: border-box;
        }

        .amount-input:focus {
            outline: none;
            border-color: #007bff;
            box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
        }

        .currency-prefix {
            position: relative;
        }

        .currency-prefix::before {
            content: 'R';
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: #666;
            font-weight: 600;
            z-index: 1;
        }

        .currency-prefix .amount-input {
            padding-left: 35px;
        }

        .donate-button {
            width: 100%;
            background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
            border: none;
            border-radius: 8px;
            padding: 14px 20px;
            font-size: 18px;
            font-weight: 600;
            color: white;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .donate-button:hover {
            background: linear-gradient(135deg, #218838 0%, #1ea085 100%);
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(40, 167, 69, 0.3);
        }

        .donate-button:active {
            transform: translateY(0);
        }

        .minimum-note {
            font-size: 14px;
            color: #666;
            margin-top: 8px;
            text-align: center;
        }

        .secure-badge {
            text-align: center;
            margin-top: 20px;
            font-size: 12px;
            color: #888;
        }

        .secure-icon {
            color: #28a745;
            margin-right: 5px;
        }

        @media (max-width: 480px) {
            .donation-container {
                margin: 10px;
                padding: 20px;
            }
            
            .donation-title {
                font-size: 20px;
            }
        }

/* end of donations button */

/* Teams styling */

.tmm_member {
  border-top-width: 8px !important;
}


.tmm_job {font-style: italic}

.tmm_container {
	          display: flex !important;
            align-items: stretch; /* This is crucial! It makes children stretch to the height of the tallest sibling */
	          flex-wrap: wrap; /* Allows items to wrap to the next line on smaller screens */
        }

/* Change image opacity if the image is linked */

a:has(img):hover img {
	transition: opacity .3s;
/* Smooth transition */
	opacity: .7;
/* Opacity on hover */
}

/* Latest News page - border around images */
.wp-block-newspack-blocks-homepage-articles img {border-radius: 10px; border:1px solid black;}

/* news carousel on home page - border for images, no curved corners */
.wp-block-newspack-blocks-carousel img {border-radius: 0; border:1px solid black;}

/* post header has no corners */
img.wp-post-image {border-radius: 0;
}

/*	post-4707 is main page */
#post-4707 {
	/* remove border */
	border-width: 0;
}
#post-4707 header {
		/* disable heading (on main page) */
	display: none;
}

/* SANS Symposium 2026 subsite */

/* SANS2026 Pay Now */

 .sans2026-registration-container {
            width: 80%;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }

        .sans2026-registration-table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .sans2026-registration-table th,
        .sans2026-registration-table td {
            padding: 15px;
            text-align: center;
            border-bottom: 1px solid #ddd;
            vertical-align: middle;
        }

        .sans2026-registration-table td:last-child {
            text-align: center;
        }

        .sans2026-registration-table th {
            background-color: #f8f9fa;
            font-weight: bold;
            color: #333;
        }

        .sans2026-registration-table tr:hover {
            background-color: #f5f5f5;
        }

        .sans2026-payment-form {
            margin: 0;
        }

        .sans2026-amount-display {
            font-size: 18px;
            font-weight: bold;
            color: #333;
        }

        .sans2026-register-button {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 25px;
            cursor: pointer;
            font-size: 16px;
            font-weight: bold;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }

        .sans2026-register-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(0,0,0,0.25);
        }

        .sans2026-secure-badge {
            margin-top: 8px;
            font-size: 12px;
            color: #666;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .sans2026-secure-icon {
            margin-right: 5px;
        }

        @media (max-width: 768px) {
            .sans2026-registration-container {
                width: 95%;
            }
            
            .sans2026-registration-table th,
            .sans2026-registration-table td {
                padding: 10px;
                font-size: 14px;
            }
            
            .sans2026-register-button {
                padding: 10px 20px;
                font-size: 14px;
            }
        }

/* end of SANS2026 Pay Now */

/* ========================================
   PAGE REFERENCE LIST   ======================================== 
   
   Current SANS 2026 Pages:
   .page-id-12242: Landing page
   .page-id-12443: Pay Now page
   .page-id-12457: successful payment (PayFast redirect)
   
   Planned Pages (IDs to be added):
   .page-id-XXXXX: Register
   .page-id-XXXXX: Speakers
   .page-id-XXXXX: Local Organizing Committee  
   .page-id-XXXXX: Sponsors
   .page-id-XXXXX: Abstracts   
   ======================================== */

/* Widget and Layout Customizations for Specific Pages */

/* hide all widgets */
/* .page-id-XXXXX .widget { display: none; } */

/* Hide sidebar widgets on specific pages, keep footer widgets */
.page-id-12242 #secondary,
.page-id-12457 #secondary,
.page-id-12443 #secondary {
    display: none !important;
}

/* Hide masthead and main menu on specific pages */
.page-id-12242 #masthead.site-header,
.page-id-12457 #masthead.site-header,
.page-id-12443 #masthead.site-header {
    display: none;
}

/* Expand content to fill more of the page */
.page-id-12242 #content.site-content,
.page-id-12457 #content.site-content,
.page-id-12443 #content.site-content {
    max-width: 100% !important;
    padding: 0 !important;
}

/* Responsive layout for larger screens */
@media screen and (min-width: 50em) {
    .page-id-12242 main#main,
    .page-id-12457 main#main,
    .page-id-12443 main#main {
        margin: 0 10%; /* Override default: 0 10% */
    }
}

/* Custom styles for the menu bar */
        .sans2026-menu-bar {
            background-color: #ffffff;
            padding: 1rem;
            border-radius: 12px; 
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); 
            max-width: 100%;
            width: 100%;
					  margin: 16px 0px;
					border: 1px solid lightgray;
            }

        .sans2026-menu-list {
            display: flex;
            flex-wrap: wrap; /* Allow items to wrap on smaller screens */
					  list-style: none;
            padding: 0;
            margin: 0;
            justify-content: center; 
        }

        .sans2026-menu-item a {
            display: block; 
            padding: 5px 12px 5px 5px; 
				    border-radius: 12px; 
            text-decoration: none;
            color: #374151; 
            font-weight: 500; 
            transition: all 0.2s ease-in-out;
            white-space: nowrap; /* Prevent items from breaking into multiple lines */
        }

        .sans2026-menu-item a:hover {
            background-color: #e5e7eb;
            color: #1f2937;
            transform: translateY(-2px); /* Slight lift effect */
        }

        .sans2026-menu-item a:active {
            background-color: #d1d5db;
        }

        /* Responsive adjustments for smaller screens */
        @media (max-width: 600px) {
            .sans2026-menu-list {
                flex-direction: column; /* Stack items vertically on small screens */
                align-items: stretch; /* Stretch items to full width */
            }

            .sans2026-menu-item a {
                text-align: center; 
                padding: 0.5rem 1rem; /* Adjusted padding for smaller screens */
            }
        }

/* end of SANS Symposium 2026 subsite */

/* SANS Symposium 2024 subsite */

/* wide width without masthead and main menu */

.page-id-5648 #masthead.site-header,
.page-id-6706 #masthead.site-header,
.page-id-6711 #masthead.site-header,
.page-id-6710 #masthead.site-header,
.page-id-6715 #masthead.site-header,
.page-id-6716 #masthead.site-header,
.page-id-6717 #masthead.site-header,
.page-id-6724 #masthead.site-header,
.page-id-7397 #masthead.site-header,
.page-id-7911 #masthead.site-header,
.page-id-6940 #masthead.site-header,
.page-id-8776 #masthead.site-header,
.page-id-8199 #masthead.site-header

{display: none;}


/* expand content to fill more of the page */

.page-id-5648 #content.site-content,
.page-id-6706 #content.site-content,
.page-id-6710 #content.site-content,
.page-id-6711 #content.site-content,
.page-id-6715 #content.site-content,
.page-id-6716 #content.site-content,
.page-id-6717 #content.site-content,
.page-id-6724 #content.site-content,
.page-id-7397 #content.site-content,
.page-id-7911 #content.site-content,
.page-id-6940 #content.site-content,
.page-id-8776 #content.site-content,
.page-id-8199 #content.site-content

{
  
    max-width: 100% !important;
    padding: 0 !important;
}

@media screen and (min-width: 50em)
{
    .page-id-5648 main#main,
    .page-id-6706 main#main,
    .page-id-6710 main#main,
    .page-id-6711 main#main,
    .page-id-6715 main#main,
    .page-id-6716 main#main,
    .page-id-6717 main#main,
    .page-id-6724 main#main,
	  .page-id-7397 main#main,
	  .page-id-7911 main#main,
	  .page-id-6940 main#main,
	  .page-id-8776 main#main,
	  .page-id-8199 main#main
    	
	{   /* default is 0 10% */
        margin: 0 10%;
    }
}

/* SANS2024 sub-menu */

.wp-block-navigation ul li a:hover {text-decoration: underline; background-color: #353935; 
 
}

/* end of SANS Symposium 2024 sub-site */

/* Zoom on hover */

.zoom {
	padding: 0;
	transition: transform .2s;
/* Animation */
	margin: 0 auto;
}

.zoom:hover {
	transform: scale(1.1);
/* (Note: if the zoom is too large, it will go outside of the viewport) */
}

/* rounded corners */

img {border-radius:10px}

video {border-radius:10px; margin-top: 50px} 

/* above is for the video embed on Explore KZN page */

.who-are-we {border-radius:10px}

iframe {border-radius:10px}


/* BC color changes requested by Rachael */

/* ====================================
   REFACTORED CSS 1 - Clean and Organized    by Claude AI 23 June 2025
   =================================== */

:root {
    --bc-theme-link-color: black;
    --bc-theme-link-weight: bold;
}

/* Navigation Links */
.main-navigation a,
.comment-navigation a,
.posts-navigation .nav-links a,
.post-navigation .nav-links a,
.comments-navigation .nav-links a {
    color: var(--bc-theme-link-color);
    font-weight: var(--bc-theme-link-weight);
}

/* Form Elements */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    color: var(--bc-theme-link-color);
    font-weight: var(--bc-theme-link-weight);
}

/* Content Links */
.entry-content a,
.entry-content a:visited,
.edit-link a {
    color: var(--bc-theme-link-color);
    font-weight: var(--bc-theme-link-weight);
}

/* Jetpack & Social Elements */
#jp-post-flair .jp-relatedposts .jp-relatedposts-headline em,
#jp-post-flair div.sharedaddy h3.sd-title,
#jp-post-flair h3.sd-title,
#jp-post-flair div#jp-relatedposts div.jp-relatedposts-items-visual .jp-relatedposts-post .jp-relatedposts-post-a,
.hentry>.sharedaddy:not(#jp-post-flair) .sd-title {
    color: var(--bc-theme-link-color);
    font-weight: var(--bc-theme-link-weight);
}

/* Card & Slider Elements */
.card:nth-of-type(3n+1) .entry-header a,
.card:nth-of-type(3n+1) .star,
.flex-direction-nav a,
.flex-direction-nav a:before {
    color: var(--bc-theme-link-color);
    font-weight: var(--bc-theme-link-weight);
}

/* Comment System */
.comments-area ol>li:nth-of-type(3n+1) a,
.highlander-enabled #main #respond .comment-form-service a {
    color: var(--bc-theme-link-color);
    font-weight: var(--bc-theme-link-weight);
}
/* end of refactored 1 */

/* ====================================
   REFACTORED CSS 2 - Clean and Organized    by Claude AI 23 June 2025
   =================================== */

/* Background Color Styles - Dark Yellow (#8B8000) */
#infinite-handle > span button:active,
#infinite-handle > span button:focus,
.card:nth-of-type(3n+2) .entry-content,
.single .hentry .cat-links li:nth-of-type(3n+1) a,
.site-content #secondary .widget_categories li:nth-of-type(3n+1) a,
.site-content #secondary .widget_tag_cloud div a:nth-of-type(3n+1),
.site-content #secondary .wp_widget_tag_cloud div a:nth-of-type(3n+1) {
    background-color: #8B8000;
}

/* Border Color Styles - Black Borders */
.comments-title,
.comment-list,
.comment-respond,
.comments-area ol > li:nth-of-type(3n+1) .comment-respond,
.comments-area ol > li:nth-of-type(3n+1) .comment-body .avatar,
.entry-content table tbody,
.entry-content table td,
.entry-content table th,
.hentry > .sharedaddy:not(#jp-post-flair),
.highlander-enabled #respond,
.post-navigation,
.posts-navigation,
.comment-navigation,
.search-box,
.single .hentry,
.page .page,
.single .hentry:not(.post),
.single .jetpack-testimonial,
.single .hentry .post-thumbnail:before,
.testimonials .hentry:nth-of-type(3n+1) .entry-content,
.flex-direction-nav a,
#jp-post-flair > *,
#jp-post-flair .jp-relatedposts .jp-relatedposts-headline em:before,
#jp-post-flair div.sharedaddy h3.sd-title:before,
#jp-post-flair h3.sd-title:before,
.card .entry-header .entry-meta:before,
.hentry > .sharedaddy:not(#jp-post-flair) .sd-title:before,
.menu-toggle.toggled-on,
.main-navigation .dropdown-toggle.toggled-on,
.main-navigation > div > ul,
.main-navigation > div > ul li:before,
.post-navigation .nav-next:before,
.post-navigation .nav-previous:before,
.post-navigation a .meta-nav:before,
.posts-navigation .nav-next:before,
.posts-navigation .nav-previous:before,
.posts-navigation a .meta-nav:before,
.comment-navigation .nav-next:before,
.comment-navigation .nav-previous:before,
.comment-navigation a .meta-nav:before,
.main-navigation .children:before,
.main-navigation .sub-menu:before {
    border-color: black;
}

/* Text Color Styles - Dark Yellow (#8B8000) */
.entry-breadcrumbs a,
.single .hentry .entry-meta > *,
.featured-content-inner .hentry:nth-of-type(3n+1) .entry-meta a,
.comments-area > ol > li:nth-of-type(3n+1) h3 small a,
.comment-reply-title a {
    color: #8B8000;
}

/* end of refactored 2 */

.entry-breadcrumbs:before {
    border-color: #edca5d;
}


.main-navigation.add-seperators>div>ul>li:before {
    border-bottom-color:  black;
}

.single .hentry .entry-header:before {
    border-color: #edca5d;
}

.single .hentry .entry-meta:before, .single .hentry .entry-title:before, .entry-breadcrumbs:before, .featured-content-inner .hentry:nth-of-type(3n+1):before, .featured-content-inner .hentry:nth-of-type(3n+1) .post-thumbnail, .footer-widget-area .widget:nth-of-type(3n+2):before {
    border-color: #edca5d;

}

.single .hentry .meta-sep {
    background-color: #edca5d;
}

/*  
border color under profile when selecting the plus sign
*/

#masthead .main-navigation .sub-menu:before, #masthead .main-navigation .children li:before, #masthead .main-navigation .children ul:before, #masthead .main-navigation .sub-menu li:before, #masthead .main-navigation .sub-menu ul:before, .main-navigation.toggled-on>div>ul {
    border-color: white;
}

/* end of color changes */

/* BC home page latest news title size */

li a.wp-block-latest-posts__post-title 

{
	font-size: x-large;
}

/* BC home page latest news, space before "Continue Reading" link */

li a.more-link::before
{
	content: " ";
}

/* BC Front Page Ultimate Member styles */

div.um-member-name {font-family: Raleway;}

.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-meta-main .um-member-meta .um-member-metaline strong
{
	font-size:large;
	padding-bottom:16px;
  font-family: Raleway;
	text-align: center;
}

div.um-member-metaline div.um-member-metaline-description 
{
	font-size: large;
  font-family: Raleway;
}

.um-meta-text {
    margin: 6px 0 0 0;
    color: #666;
    line-height: 1.4em;
	font-size: large;
        font-family: 'Raleway';
}

div.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-meta-main .um-member-meta .um-member-metaline {
    font-size: large;
    padding: 12px 0 12px 0;
    line-height: 24px;
    vertical-align: middle;
	  text-align: left;
}

.um {opacity: 100;}

.slideshow {background-color: black}



html {
  scroll-behavior: smooth;
}

/* Category Page Descriptions */
.taxonomy-description {font-weight: bold;}