body, html {height:100%;}
main section {position: relative;}

button.sidebarToggle {
    top:3rem;
    right:1rem;
    padding:10px;
    border-radius:50%;
    line-height:1;
    color:#fff;
    background-color:#63666a;
    opacity:50%;
    border:0;
    text-align:center;
    vertical-align:middle;
    height:60px;
    width:60px;
    z-index: 999;
    
}

/*
div#searchcontainer {
    width: 100vw;
    padding: 10px;
    top: initial;
    margin:0 -12px;
}
*/


 .dropdown-submenu {
	 position: relative;
}
 .dropdown-submenu .dropdown-menu {
	 top: 0;
	 left: 100%;
	 margin-top: 0;
	 margin-left: 0.1rem;
}


div p:last-child {
    margin-bottom: 0;
}

footer a, footer a.nav-link, footer a.nav-link:hover {
    color: #fff;
}

.crossshadow {position:relative;}  
.crossshadow:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(45deg,transparent 50% ,rgba(0,0,0,.05) 50%);  
    z-index:0;
  }   


/* Intro or Quote Module */
.intro .intro-text {
  border-left: 5px solid #ba0c2f;
}
/* Small devices (landscape phones, 576px and up) */
@media (max-width: 575.98px) {
  .intro .intro-text {
    border: 0;
  }
  .intro {
    border-top: 5px solid #ba0c2f;
    text-align: center;
  }
}
  
/* Split Image and Text */
/* Add class .half-fluid to outer section container*/
.half-fluid {
  // Add .left-half or .right-half class to the image column depending on which side it goes on
  // On mobile, images stack, break out of the container, and go full width
  .left-half,
  .right-half {
    left: 50%;
  	margin-left: -50vw;
  	max-width: 100vw;
  	position: relative;
  	right: 50%;
  	width: 100vw;
    padding: 0px;
  }
}

/* When compiling with BS Sass files, use: @include media-breakpoint-up(lg) */
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {

  .half-fluid {
    .left-half {
      padding-left:0 !important;
      position: absolute;
      left: 0;
      right: 50%;
      margin-left: auto;
      width: auto;
      height:100%;
    }

    .right-half {
      padding-right:0 !important;
      position: absolute;
      right: 0;
      left: 50%;
      margin-left: auto;
      width: auto;
      height:100%;
    }
  }
}


/* News Stuff */
.news-banner {
 padding-top:300px; padding-bottom:60px;
 position:relative;
} 

.news-banner-bg { 
    position: absolute;
    background: no-repeat center center;
    background-size: cover;
    right: 0;
    bottom: 0;
    top: 0;
    left: 0;
}

.news-banner-bg:after {

    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(27, 28, 30, 0)), color-stop(90%, rgba(27, 28, 30, 0.8)));
    background: linear-gradient(180deg, rgba(27, 28, 30, 0) 0%, rgba(27, 28, 30, 0.8) 90%);
    
}    

.news-banner-title {
    position:relative;
}

.banner.post-meta {
    color: #fff;
}



/* Google Search Console - Search Results */

/* 1. CONTAINER & WIDTH ADJUSTMENTS */
.gsc-control-cse, 
.gsc-control-cse.gsc-control-cse-en,
.gsc-control-wrapper-cse,
.gsc-results-wrapper-nooverlay,
.gsc-results {
    width: 100% !important;
    max-width: 100% !important;
    background-color: transparent !important;
    padding: 0 !important;
}
.gsc-wrapper {
    margin-top:30px;
}

/* Hide unwanted GSC elements */
.gsc-refinementsArea, 
.gcsc-find-more-on-google-branding,
.gsc-adBlockNoHeight {
    display: none !important;
}

/* 2. SEARCH RESULTS - NO ROUNDED CORNERS & FULL WIDTH */
.gsc-webResult.gsc-result {
    margin-bottom: 1rem !important;
    padding: 20px !important;         /* Buffer so text doesn't touch the borders */
    border: 1px solid #e5e5e5 !important; 
    border-radius: 0 !important;       /* Removed all rounded corners */
    background-color: #ffffff !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Ensure inner result elements don't have forced widths or padding issues */
.gs-webResult.gs-result {
    padding: 0 !important;
    margin: 0 !important;
}

/* 3. TYPOGRAPHY & BRANDED LINKS */
.gs-title a.gs-title, 
.gs-title b {
    color: #ba0c2f !important;        /* UNM Cherry */
    text-decoration: underline !important; 
    font-size: 1.2rem !important;
    font-weight: 700 !important;
}

.gs-snippet {
    margin-top: 8px !important;
    line-height: 1.6 !important;
    color: #63666a !important;        /* Lobo Gray */
}

.gs-visibleUrl {
    color: #007a86 !important;        /* Turquoise */
    font-style: normal !important;
}

/* 4. SQUARE PAGINATION - SHARP EDGES */
.gsc-cursor-box {
    margin-top: 1.5rem !important;
    border: none !important;
}

.gsc-cursor {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
}

.gsc-results .gsc-cursor-box .gsc-cursor-page {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid #ba0c2f !important;
    border-radius: 0 !important;       /* Sharp corners for the boxes */
    background-color: #ffffff !important;
    color: #ba0c2f !important;
    font-weight: 700;
    text-decoration: none !important;
    line-height: 1 !important;
}

/* Active Page State */
.gsc-results .gsc-cursor-box .gsc-cursor-current-page {
    background-color: #ba0c2f !important;
    color: #ffffff !important;
    border-color: #ba0c2f !important;
}

/* Hover State */
.gsc-results .gsc-cursor-box .gsc-cursor-page:hover {
    background-color: #a7a8aa !important; /* UNM Silver */
    border-color: #ba0c2f !important;
}

/* 5. TABLE PADDING CLEANUP */
.gsc-table-result, .gsc-thumbnail-inside, .gsc-url-top {
    padding-left: 0 !important;
    padding-right: 0 !important;
}