/*!
 * Senate Democratic Caucus 
 * Global Theme Styling
 *
 * Last Worked On By: ST - 4/8/26 11 am
 */


/* Table of Contents
*************************
 ** Admin
 ** Global
 ** Typography
 ** Small Buttons
 ** Large Buttons
 ** Navigation
 *  - Google translator
 ** General Page
 ** Home Page
 *  - Flexslider
 *  - Biography Block
 *  - Row: Latest News
 ** Issues Page
 ** Annual Report
 ** Biography
 ** News
 ** Legislation
 ** District
 ** Community Champion
 ** Events Page
 ** Resources
 ** Sidebar
 ** Social Media Bar
 ** Pagination
 ** Footer
 *  - Copyright
 ** FAQ Module
 ** Video Gallery
 ** Webform
 *  - LCMS Form
 ** Scroll To Top
 ** E-Update Info
*/


/* Main Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');


:root {
  --primary-color: #0f4480;
  --secondary-color: #E5F1FF;
  --accent-color: #F0AC19;
  --rgba-color: rgba(11, 38, 69, 0.8);
  --rgba-primary-color: rgba(15, 68, 128, 0.8);
  --dark-color: #0B2645;
  --light-color: #fff;
  --black-color: #000;
  --head-font: 'Playfair Display', serif;
  --body-font: 'Montserrat', sans-serif;
  --head-weight: 700;
  --body-weight: 400;
  --link-weight: 600;
  --lg: linear-gradient(90deg,#0B2645, transparent);
  --br: 0px;
  --border: 1px solid #dcdcdc;
  --shadow: 0px 4px 20px rgba(149, 157, 165, 0.6);
  --transition: all 0.35s ease-in-out;
}

::selection {
  background: var(--accent-color);
  color: #fff;
  text-shadow: none;
}


/* Admin 
*************************/
.toolbar-bar {
  display: block;
  z-index: 1100 !important;
}

.hidden {
  display: none;
}

/* Global 
*************************/
html,
body {
  overflow-x: hidden;
}

html {
    font-size: 62.5%;
}

body {
  background-color: #fff;
  color: #000;
  font-family: var(--body-font) !important;
  font-size: 1.6rem !important;
}

.container-fluid {
	padding-left: 0px !important;
	padding-right: 0px !important;
}

.row {
  margin-right: 0px !important;
  margin-left: 0px !important;
}

.row > * {
  flex-shrink: 0;
  max-width: 100%;
  margin-top: var(--bs-gutter-y);
}

.img-wrapper,
.node--type-champion .field--name-field-front-image {
  position: relative;
  margin-bottom: 36px;
  img {
    max-width: 100%;
    height: auto;
    margin-bottom: 0px;
  }
  &:after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 12px;
    background: var(--primary-color);
    width: 100%;
    max-width: 100%;
    height: 100%;
    z-index: -1;
  }
}

img,
.img-responsive {
  width: 100%;
  max-width: 100%;
  height: auto;
}

hr {
  margin: 80px auto;
}

.mt-20 {
    margin-top: 20px !important;
}
.mt-40 {
    margin-top: 40px !important;
}
.mt-60 {
    margin-top: 60px !important;
}
.mt-80 {
    margin-top: 80px !important;
}
.mb-20 {
    margin-bottom: 20px !important;
}
.mb-40 {
    margin-bottom: 40px !important;
}
.mb-60 {
    margin-bottom: 60px !important;
}
.mb-80 {
    margin-bottom: 80px !important;
}
.p-0 {
  padding: 0px !important;
}
.p-20 {
    padding: 20px !important;
}

ul li::marker {
  color: var(--accent-color);
  font-size: 2rem;
}

/* Typography 
*************************/
h1 {
  font-family: var(--head-font);
  font-size: 6.4rem !important;
  letter-spacing: 0px;
  line-height: 1.1;
  font-weight: var(--head-weight) !important;
  text-transform: capitalize;
  margin-bottom: 40px;
}

h2 {
  font-family: var(--head-font);
  font-size: 4.8rem !important;
  letter-spacing: 0px;
  line-height: 0.9;
  font-weight: var(--head-weight) !important;
  text-transform: capitalize;
  margin-bottom: 40px;
}

h3,
h3 a,
blockquote p span {
  font-family: var(--head-font);
  font-size: 2.8rem !important;
  font-weight: var(--link-weight) !important;
  letter-spacing: 0px;
  line-height: 1.2;
  text-transform: capitalize;
  margin-bottom: 20px;
}

h4 {
  font-family: var(--head-font);
  font-size: 2.2rem !important;
  font-weight: var(--link-weight) !important;
  text-transform: capitalize;
  margin-bottom: 20px;
}

h5,
.field--type-datetime,
.field--type-entity-reference {
  font-family: var(--body-font);
  font-size: 1.6rem !important;
  font-weight: var(--body-weight) !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

a {
  font-weight: var(--link-weight);
  text-decoration: none;
}

p a {
  font-family: var(--body-font);  
  color: var(--accent-color);
  font-weight: var(--body-weight);
}

a:hover {
  color: var(--accent-color);
}

/* Small Buttons
*************************/
.btn:not(:disabled):not(.disabled) {
  padding: 12px 16px;
  font-family: var(--body-font) !important;
  font-size: 1.6rem !important;
  font-weight: var(--head-weight);
  border-radius: var(--br);
}

.btn-primary {
  display: inline-block;
  background-color: transparent;
  color: var(--black-color) !important;
  text-align: center;
  border: 1px solid var(--dark-color) !important;
}

.btn-primary:hover {
  background-color: var(--accent-color) !important;
  text-decoration: none;
}

.btn-secondary {
  display: inline-block;
  background-color: transparent;
  color: var(--light-color) !important;
  border: 1px solid var(--light-color) !important;
}

.btn-secondary:hover {
  background-color: var(--accent-color) !important;
  color: var(--dark-color) !important;
  text-decoration: none;
  border: 1px solid var(--accent-color) !important;
}

.btn-accent {
  display: inline-block;
  background-color: var(--accent-color);
  color: var(--dark-color) !important;
  border: 1px solid transparent;
}

.btn-accent:hover {
  background-color: var(--primary-color) !important;
  color: var(--light-color) !important;
  text-decoration: none;
  border: 1px solid var(--accent-color);
}

/* Large Buttons
*************************/
.btn-nav-blk {
  display: flex;
  flex-direction: column;
  position: relative;
  will-change: transform;
  transform: translateZ(0);
}

.btn-nav {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: 20px;
  .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    background: var(--accent-color);
    height: 40px;
    width: 40px;
    z-index: 3;
    transition: var(--transition);
    i {
      color: var(--dark-color);
      font-size: 2rem;
    }
  }
  .item {
    display: flex;
    flex-direction: column;
    position: relative;
    background: var(--secondary-color);
    width: 100%;
    margin: 0px auto;
    padding: 32px !important;
    border: 1px solid var(--secondary-color);
    transition: var(--transition);
    h5 {
      color: var(--dark-color);
      margin-bottom: 8px;
    }
    h4 {
      color: var(--dark-color);
      margin-bottom: 0px;
    }
  }
}

.btn-nav:hover {
  cursor:pointer;
  .icon {
    background: var(--primary-color);
    i {
      color: var(--light-color);
    }
  }  
}

.btn-nav.hero {
  .item {
    background: var(--primary-color);
    border: 1px solid var(--primary-color);
    h4 {
      color: var(--light-color);
      margin-bottom: 20px;
    }
    p {
      color: var(--light-color);
    }
    a {
      color: var(--accent-color);      
    }
  }
      &:hover {
        .item {
      background: var(--dark-color);
      border: 1px solid var(--dark-color);
      a {
        color: #fff;
      }
      h4 {
        color: var(--accent-color);
      }
        }
      .icon {
        background: var(--accent-color);
        i {
          color: var(--light-color);
      }
      }
    }
}

.btn-nav.bg {
  .item {
    background: url(/sites/sd38.senate.ca.gov/files/website/buttons/home_cta_newsletter.jpg);
    background-size: cover;
    border: 1px solid var(--primary-color);
    h5 {
      color: var(--accent-color);
      z-index: 2;
    }
    h4 {
      color: var(--light-color);
      z-index: 2;
    }
    &:after {
      content: '';
      display:block;
      position:absolute;
      top: 0;
      left: 0;
      background: var(--lg);
      background-size: 100% 100%;
      width: 100%;
      height: 100%;
      overflow: hidden;
      z-index: 1;
      transition: var(--transition);
    }
  }
}

.btn-nav.bg:hover {
  .icon {
    background: transparent;
  }
  .item {
    &:after {
      background-size: 400% 100%;
    }
  }
}

.item:hover {
  background: var(--light-color);
  i {
    color: var(--light-color);  
  }
}

/* Navigation
*************************/
.navbar-expand-xl {
  position: relative;
  background: var(--primary-color);
  padding: 1.5px 4% !important;
  box-shadow: var(--shadow);
  z-index: 100;
  .navbar-brand {
    position: relative;
    height: 100%;
    width: auto;
    padding: 0px !important;
    overflow: hidden;
    opacity: 1;
    z-index: 10;
    img {
      position: relative;
      height: 77px;
      width: auto !important;
      margin: 0px auto;
      padding: 12px 0px;
      text-align: center;
      z-index: 1;
    }
  }
}

.path-frontpage .navbar-expand-xl {
   background: var(--rgba-primary-color);
}

.navbar-expand-xl.affix {
  position: fixed;
  background: var(--primary-color);
  .navbar-brand {
    opacity: 1;
  }
}

.navbar-nav {
  padding: 0px;
  margin: 0px !important;
  float: none;
  &>li {
    position: relative;
    color: var(--light-color);
    font-family: var(--body-font);
    font-weight: 600;
    font-size: 1.4rem;
    letter-spacing: 0.5px;
    text-transform: capitalize;
    z-index: 100;
    a {
      color: var(--light-color);
    }
    a:hover {
      color: var(--accent-color);
    }
  }
  &>li:hover,
  &>li:focus,
  &>li:active {
    background-color: transparent;
    color: var(--accent-color);
  }
  &>li:last-child {
    margin-right: 20px;
    /* padding-right: 20px; */
  }
  &>li:last-child:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 50%;
    border-right: 0;
  }
  .nav-link {
    padding: 28px 20px !important;
  }
  .nav-link.active {
    color: var(--accent-color) !important;
  }

}

/* Menu Animation */
nav.block-menu ul li .nav-link,
nav.block-menu ul li .dropdown-toggle {
   position: relative;
   color: var(--light-color);
   cursor: pointer;
}

nav#block-sub-flex-one-theme-mainmenu ul li .nav-link:before,
nav#block-sub-flex-one-theme-mainmenu ul li .dropdown-toggle:before {
   content: '.';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   margin: auto;
   width: 0%;
   height: 4px;
   background: transparent;
   color: transparent;
}

nav#block-sub-flex-one-theme-mainmenu ul li .nav-link,
nav#block-sub-flex-one-theme-mainmenu ul li .dropdown-toggle {
   transition: all 2s;
}

nav#block-sub-flex-one-theme-mainmenu ul li .nav-link:before,
nav#block-sub-flex-one-theme-mainmenu ul li .dropdown-toggle:before {
   content: '.';
   margin: 0;
   text-align: left;
   opacity: 0;
}

nav#block-sub-flex-one-theme-mainmenu ul li .nav-link:hover,
nav#block-sub-flex-one-theme-mainmenu ul li .dropdown-toggle:hover,
.menu-item--expanded:hover .dropdown-toggle {
   color: var(--accent-color) !important;
   z-index: 1;
}

nav#block-sub-flex-one-theme-mainmenu ul li .nav-link:hover:before,
nav#block-sub-flex-one-theme-mainmenu ul li .dropdown-toggle:hover:before,
.menu-item--expanded:hover .dropdown-toggle:before {
   z-index: -10;
   animation: fill 1s forwards;
   -webkit-animation: fill 1s forwards;
   -moz-animation: fill 1s forwards;
   opacity: 1 !important;
}

@-webkit-keyframes fill {
   0% {
      width: 0%;
      height: 2px;
   }

   50% {
      width: 100%;
      height: 2px;
   }

   100% {
      width: 100%;
      height: 4px;
      background: var(--accent-color);
   }
}

/* Dropdown */
.navbar-expand-xl .navbar-nav .nav-item .dropdown-menu {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   background: var(--primary-color);
   width: 200px;
   margin: 0px auto;
   padding: 0px 8px 8px;
   border: 0px solid var(--primary-color) !important;
   border-top-left-radius: 0px;
   border-top-right-radius: 0px;
   border-bottom-left-radius: 4px;
   border-bottom-right-radius: 4px;
}

.path-frontpage .navbar-expand-xl .navbar-nav .nav-item .dropdown-menu {
   background: var(--rgba-primary-color);
}

.navbar-expand-xl.affix .navbar-nav .nav-item .dropdown-menu {
   background: var(--primary-color) !important;
}

.dropdown-item {
   white-space: initial !important;
}

.dropdown-item.active {
   background: var(--accent-color) !important;
}

.dropdown-menu>li {
   background: transparent;
   text-align: center;
   padding: 4px;
   margin: 4px auto;
}

.dropdown-menu>li:focus,
.dropdown-menu>li:hover {
   background: var(--accent-color);
   text-decoration: none !important;
}

.dropdown-menu>li:hover:last-child {
   border-bottom-left-radius: 2px;
   border-bottom-right-radius: 2px;
}

.dropdown-menu>li>a {
   font-family: var(--body-font);
   font-weight: 600;
   font-size: 1.4rem;
   color: var(--light-color) !important;
   letter-spacing: 0.5px;
   text-transform: capitalize;
   text-decoration: none;
}

.dropdown-menu>li>a:focus,
.dropdown-menu>li>a:hover {
   color: #fff;
}

.dropdown-toggle::after {
   content: "";
   display: inline-block;
   position: relative;
   top: 2px;
   left: 4px;
   margin-left: 0px;
   border-top: .3em solid;
   border-right: .3em solid transparent;
   border-right: .3em solid transparent;
   border-bottom: 0;
   border-left: .3em solid transparent;
}

.navbar-collapse.collapse {
  display: flex !important;
  width: 100%;
  justify-content: space-evenly !important;
}

.nav>li>a {
  padding: 10px 12px;
}

.navbar-collapse {
  display: inline-block !important;
  float: right;
}

ul.nav li.dropdown:hover>ul.dropdown-menu {
  display: block;
}

/* Google Translator */
.main-google-translator {
  position: relative;  
  width: 0px;
    height: 26px;
    right: 5%;
}

#google_translator_element {
 div, span, a {
  color: transparent;
 }

  &::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 27px;
  height: 17px;
  background-image: url('/sites/sd38.senate.ca.gov/files/website/buttons/google-logo.png');
  background-size: contain; /* Scales the image to fit */
  background-repeat: no-repeat;
  top: 5px;
  left:-15px;
}
}




/* General Page
*************************/
.featured-bottom {
    width: 100%;
    padding: 80px 8% 0px;
    .region-featured-bottom-first,
    .region-featured-bottom-second {
      padding-bottom: 80px;
    }
}

.path-frontpage #main-wrapper,
.page-node-697 #main-wrapper  {
  display: none;
}

#main-wrapper {
    width: 100%;
    padding: 80px 8% 0px;
}

/* Home Page
*************************/
/* Flexslider */
.featured-top {
  .region-featured-top {
    position: relative;
  }
  .block-views,
  .view-content > * {
    padding: 0px !important;
  }
  .flexslider {
    width: 100vw;
    margin: 0px auto;
    border: 0px solid;
    .views-field-field-feature-image:after {
      content: '';
      display:block;
      position:absolute;
      top: 0;
      left: 0;
      background: var(--lg);
      width: 100%;
      height: 100%;
      transition: var(--transition);
    }
    .banner-header {
      position: absolute;
      top: 40%;
      transform: translateY(-50%);
      width: 41.66667%;
      padding-left: 8%;
      z-index: 10;
      h5 {
        color: var(--accent-color);
      }
      h1 {
        color: var(--light-color);
      }
    }
  }
  .btn-highlight {
    position: absolute;
    bottom: 0;
    width: 41.66667%;
    padding-left: 8%;
    z-index: 10;
    .btn-nav {
      margin-bottom: 0px;
    }
  }
}

/* Biography Block */
.senator-blk {
  display: flex !important;
  position: relative;
  max-width: 100%;
  .senator-info {
    img {
      width: 100%;
      margin-bottom: 40px;
    }
    h4 {
      color: var(--accent-color);
      font-weight: var(--link-weight);
    }
  }
}

/* Row: Latest News */
.latest-news {
  .view-header,
  .view-footer {
    text-align: center;
  }
  .views-field-field-front-image {
    margin-bottom: 24px;
    img {
      height: 240px;
      width: 100%;
      object-fit: cover;
    }
  }
  .teaser-wrapper {
    text-align: center;
    h5 {
      margin-bottom: 12px;
    }
    h3 a {
      color: black;
      transition: var(--transition);
    }
    h3 a:hover {
      color: var(--accent-color);
    }
  }
}

/* Issues Page
*************************/
.issues {
  .header-icon {
    display: flex;
    justify-content: space-between;
    .icon {
      display: flex;
      align-items: center;
      justify-content: center;
      right: 0;
      background: var(--accent-color);
      height: 40px;
      width: 40px;
      z-index: 3;
      transition: var(--transition);
      i {
        color: var(--dark-color);
        font-size: 2rem;
      }
    }
  }
  .issues-row {
    margin-top: 40px;
    & > * {
      padding: 0px;
    }
    & > *:last-child {
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: var(--secondary-color);
      padding: 40px;
    }
  }
  .featured-bottom {
    padding-top: 40px;
    .slider-container {
      img {
        height: 236px;
        object-fit: cover;
      }
      .summary {
        text-align: center;
        h3 {
          margin-top: 20px;
          a {
            color: var(--dark-color);
          }
        }
        p {
          min-height: 68px;
        }
      }

      .field-pdf-link {
        padding-bottom: 20px;
      }
      .field-relinks { 
        a {
  padding: 12px 36px;
        }
      
      }
    }
    .slider-control {
      & > p {
        display: flex !important;
        justify-content: space-between;
        position: absolute;
        top: 120px;
        width: 100%;
        z-index: 10;
        .left-arrow {
          left: 0px;
                background: var(--light-color);
        }
        .right-arrow {
          right: 0px;
                background: var(--light-color);
        }
      }
    }
  }
}

/* Annual Report
*************************/
.ar-container {
  img {
    border-top: 6px solid var(--accent-color);
    border-bottom: 6px solid var(--accent-color);
  }
  ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 40px;
  }

  li {
    position: relative;
    padding-left: 32px;
  }

  li::before {
    content: "•";
    position: absolute; 
    left: 0; 
    top: -38px;
    font-size: 6rem;
    color: var(--accent-color); 
  }
}
.ar-item {
  text-align: center;
  img {
  margin-bottom: 20px;
  }
}

.ar-item:last-child {
  .views-field-field-front-image,
  .field-content,
  img {
    height: 100%;
  }
  .field-content {
    position: relative;
    &:after {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      background: var(--rgba-color);
      width: 100%;
      height: 100%;
      z-index: 1;
    }
  }
  img {
    object-fit: cover;
  }
  .views-field-title {
    display: none;
  }
}

/* Biography
*************************/
.biography {
  #main-wrapper {
    padding: 80px 8% 0px;
  }
  .featured-bottom {
      padding: 0px 8%;
  }
  .ca-row {
    margin-top: 40px;
    &>*:nth-child(odd) {
      padding-left: 0px;
      padding-right: 20px;
    }
    &>*:nth-child(even) {
      padding-left: 20px;
      padding-right: 0px;
    }
    .ca-item {
      .img-wrapper {
        img {
          max-width: 360px;
          height: auto;
        }
        &:after {
          max-width: 360px;
        }
      }
      p {
        margin-bottom: 40px;
      }
    }
    &>*:first-child,
    &>*:nth-child(2) {
      .ca-item {
        .img-wrapper {
          &:after {
            background: var(--accent-color);
          }
        }
      }
    }
  }
}

/* News
*************************/
/* Newsletter */

.signature-img {
width: 30% !important;
}

/* Legislation
*************************/
.legislation {
  .block-system-main-block {
    h5 {
      display: inline-block;
      background: var(--accent-color);
    }
    ul {
      li {
        a {
          color: var(--primary-color);
        }
        ul {
          padding-left: 20px;
          margin-bottom: 20px;
          li:first-child::marker {
            content: "★";
            color: var(--accent-color);
            font-size: 2rem;
          }
          li {
            padding-left: 8px;
            a {
              color: black;
              text-decoration: underline;
            }
          }
        }
      }
    }
    ul.no-star {
      ul {
        li:first-child::marker {
          content: inherit;
          color: black !important;
          font-size: inherit !important;
        }
      }
    }
  }
  .quicklinks {
    h5 {
      text-align: center;
    }
  }
}

/* District Page
*************************/
.district {
    .block-system-main-block {
      ul {
        padding-left: 20px;
        margin-bottom: 20px;
        li::marker {
          color: var(--accent-color);
          font-size: 2rem;
        }
        li {
          padding-left: 8px;
          a {
            color: black;
            text-decoration: underline;
          }
        }
      }
    }
		.table>:not(caption)>*>* {
			position: relative;
			padding: 8px 20px;
		}

		.table-striped>tbody>tr:nth-of-type(odd)>* {
			background: #E4E4E4;
		}

		.table-striped>tbody>tr {
			position: relative;
		}

		table {
			font-size: 1.6rem;
		}

		table tr th,
		table tr td {
			font-weight: var(--body-weight);
			border: var(--border);
		}

		table tr th.col {
			background: var(--dark-color);
			color: white;
			padding: 12px;

			h4 {
				margin-bottom: 0px;
			}
		}

		table p {
			margin: 0px;
		}

	#census tbody>tr:first-child>th,
	#census tbody>tr:first-child>td {
		background: var(--primary-color);
		color: var(--light-color);
		padding: 8px 20px 8px;
		font-weight: var(--link-weight);
		text-transform: uppercase;
	}

	#census tbody {
		tr th:before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 8px;
			height: 100%;
		}

		tr:nth-child(2) th:before {
			border-left: 8px solid #bb2dc7 !important;
		}

		tr:nth-child(3) th:before {
			border-left: 8px solid #0175ba !important;
		}

		tr:nth-child(4) th:before {
			border-left: 8px solid #fdcf00 !important;
		}

		tr:nth-child(5) th:before {
			border-left: 8px solid #45C7FF !important;
		}


		tr:nth-child(6) th:before {
			border-left: 8px solid #ff6480 !important;
		}

		tr:nth-child(7) th:before {
			border-left: 8px solid #e996e4 !important;
		}


		tr:nth-child(8) th:before {
			border-left: 8px solid #fba200 !important;
		}
	}

	.field--name-body {
		display: block;
		position: relative;

		.chart-text {
			display: flex;
			flex-direction: column;
			position: absolute;
			left: 0px;
			top: 292px;
			width: 100%;
			text-align: center;
			z-index: 10;

			h2 {
				&:after {
					content: '';
					display: block;
					position: relative;
					top: 12px;
					left: 50%;
					transform: translateX(-50%);
					width: 60px;
					height: 4px;
					border-bottom: 8px solid var(--accent-color);
				}
			}
		}

		#chartContainer {
			position: relative;
			z-index: 1;
		}

		#chartContainer .canvasjs-chart-container:before {
			content: '';
			position: absolute;
			width: 100%;
			height: 100%;
			background: black;
			z-index: 0;
		}
  }
  .wrapper {
    padding-right: 28px;
  }
  .counties {
    display: flex;
    align-items: center;
  }
  .footer-top {
    .region-footer-top,
    .region-footer-top>* {
      padding-left: 0px;
      padding-right: 0px;
    }
  }
  .site-footer {
    margin-top: 0px;
  }
}

/* Newsroom Page
*************************/
.news-group {
	img {
		width: 100%;
		margin-bottom: 0px;
	}
  .field--type-datetime {
    margin-bottom: 40px;
  }
  h1 {
    font-family: var(--head-font);
    font-size: 4.8rem !important;
    letter-spacing: 0px;
    line-height: 1.15;
    font-weight: var(--head-weight) !important;
    text-transform: capitalize;
    margin-bottom: 40px;
  }
	.news-sidebar-text {
		background: var(--dark-color);
    color: var(--light-color);
		padding: 40px;
		border: var(--border);
		h3 {
			margin-bottom: 20px;
		}
		ul {
			display: flex;
			flex-direction: column;

			li {
				margin: 12px 0px 0px;
			}
		}
		hr {
			margin: 40px 0px;
		}
		p {
			margin: 0px auto 20px;
      line-height: 1.2 !important;
		}

		.social-blk-share .social-media-links {
      display: flex;
      gap: 12px;
      margin-bottom: 20px;
			.icon-wrapper {
				width: 48px;
				height: 48px;
        border: 1px solid var(--light-color);
        .icon {
          display: flex;
          justify-content: center;
          position: relative;
          top: 50%;
          transform: translateY(-50%);
          i {
            color: var(--light-color);
            font-size: 1.8rem;
          }
        }
			}
			.icon-wrapper:hover {
        background: var(--accent-color);
        border: 1px solid var(--dark-color);
        .icon {
          i {
            color: var(--dark-color);
            font-size: 1.8rem;
          }
        }
			}
		}
	}

	&>*:first-child {
		margin-bottom: 60px;
	}
}

/* Newsroom Page
*************************/
.path-newsroom {
	h1 {
		margin-bottom: 40px;
	}
	.teaser-wrapper {
		display: flex;
		position: relative;
		margin-bottom: 12px;
    .teaser-img img {
      height: 100%;
      object-fit: cover;
    }
	}
  .teaser-wrapper-txt {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 40px;
    background: var(--secondary-color);
    color: var(--dark-color);

    h3 a {
      color: var(--dark-color);
    }

    #main-wrapper .datetime {
      color: var(--accent-color);
    }

    .teaser-wrapper-txt:hover h3,
    .teaser-wrapper-txt:hover h3 a {
      color: var(--accent-color);
    }

    h3 a,
    p {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      color: var(--dark-color);
      overflow: hidden;
    }
  }

	/* Mini Teaser */
	.mini {
		flex-direction: column;
		margin: 10px auto;
		transition: all .4s ease-in-out !important;

		&:hover {
			background-color: var(--dark-color) !important;
		}

		.teaser-wrapper-txt {
			background: var(--light-color);
			height: 320px;
      border: 1px solid #dcdcdc;
			h3 a,
			p {
				color: var(--dark-color);
			}
		}
	}

	.mini:hover {
		.teaser-img {
			img {
				filter: grayscale(0);
			}
		}
	}
}

/* Community Champion
*************************/
.node--type-champion,
.path-community-champion,
.community-champion-form {
  .view-header {
    margin-bottom: 40px;
    .row {
      align-items: center;
      h2 {
        margin-bottom: 0px;
      }
    }
  }
  .img-wrapper {
    img {
      height: 280px;
      object-fit: cover;
      object-position: top;
    }
  }
  .champion-row {
    align-items: flex-end;
    margin-bottom: 40px;
    h2 {
      margin-bottom: 0px;
    }
  }
  .champion-item {
    padding: 0px 12px;
    a {
      color: var(--dark-color);
    }
    a:hover {
      color: var(--accent-color);
    }
  }
  .alert {
    background: var(--secondary-color);
    padding: 20px;
  }
}

.node--type-champion {
  .layout__region > * > .fieldset-wrapper {
    display: flex;
    align-items: flex-end;
    margin-bottom: 40px;
    h2,
    img {
      margin-bottom: 0px;
    } 
  }
  legend {
    margin: 0px !important;
  }
  /* .field--name-field-front-image {
    max-width: 600px;
  } */
  .sidebar {
    .field--type-text-with-summary {
      & > .sidebar-container:first-of-type {
        display: none !important;
      }
    }
  }
}

.community-champion-current-champion {
  .img-wrapper {
    img {
      height: 360px !important;
    }
  }
}

.path-community-champion {
  .sidebar {
    .sidebar-container:last-child {
      background: var(--primary-color);
      margin-top: 40px;
      .btn {
        display: none;
      }
    }
  }
}

.community-champion-form {
  legend {
    span {
      display: block;
      background: var(--primary-color);
      color: white;
      width: 100%;
      padding: 12px;
    }
  }
}

/* Events Page
*************************/
.event-title {
  a {
  color: var(--dark-color);
  &:hover {
    color: var(--accent-color);
  }
  }
}

.event-container {
  text-align: center;

  img {
    width: 70%;
  }
  .field--name-field-date-of-event {
    font-weight: 700;
  }
}


/* Resource Page
*************************/
.resources {
  li::marker {
    color: var(--accent-color);
  }
  li a {
    color: var(--primary-color);
  }
  li a:hover {
    color: var(--accent-color);
  }
}


  .title-anchor {
    margin-bottom: 60px !important;
  }


/* Blockquote
*************************/
blockquote {
  position: relative;
  padding-left: 80px;
  margin: 40px auto;
  &:before{
    content: '“';
    position: absolute;
    left: 0;
    top: -40px;
    width: 100%;
    height: 100%;
    color: var(--accent-color);
    font-family: var(--head-font);
    font-size: 12rem !important;
  }
  p span {
    text-transform: none;
  }
}

/* Video Page
*************************/
.video-content {
    margin-bottom: 40px;
    padding: 12px !important;
}


/* Sidebar
*************************/
.sidebar {
  .block {
    padding: 0px;
    border: 0px solid;
  }
  .sidebar-content {
    width: 360px;
  }
  .sidebar-container {
    background: var(--dark-color);
    padding: 40px 20px;
    border-top: 6px solid var(--accent-color);
    p {
      color: var(--light-color);
      &:has(a) {
        text-align: center;
      }
    }
    .sidebar-wrapper {
      padding-left: 0px !important;
      text-align: center;
      list-style: none;
      li {
        margin-bottom: 20px;
      }
      a {
        color: var(--light-color);
        font-weight: var(--body-weight);
      }

    }
    h4 {
      color: var(--light-color);
    }
  }
  .sidebar-content.fixed {
    position: fixed;
    top: 80px !important;
    width: 35% !important;
    z-index: 10;
    height: max-content;
    img {
      display: none;
    }
  }
  a.active {
    color: var(--accent-color) !important;
    font-weight: var(--link-weight) !important;
  }
  .sidebar-container h3 {
    color: white;
    text-align: center;
    & a:hover {
      color: var(--accent-color);
      font-weight: var(--link-weight);
    }
  }
  .sidebar-container h3 {
    margin-bottom: 40px;
  }
}

/* Social Media Bar
*************************/
.social-media-bar {
  display: flex;
  justify-content: flex-end;
  position: fixed;
  top: 260px;
  right: 0px;
  width: 60px;
  padding: 0px;
  z-index: 101;
  .icon-bar {
    text-align: center;
    height: 63vh;
    .icon-wrapper {
      display: block;
      background: var(--secondary-color);
      padding: 16px 12px 4px;
      overflow: hidden;
      a {
        display: block;
        background: var(--dark-color);
        color: var(--secondary-color);
        padding: 6px 8px;
        margin-bottom: 12px;
        text-align: center;
        font-size: 1.6rem;
        border-radius: 50%;
        transition: var(--transition);
      }
    }
  }
  .icon-bar a:hover {
    background-color: var(--accent-color);
    color: var(--light-color);
  }
}


/* Pagination
*************************/
.pagination {
  margin-top: 60px;
  justify-content: center;
}
.page-link {
  color: var(--primary-color);
  padding: 8px 20px;
  transition: all 0.35s ease-in-out;
}
.page-link:hover {
  background: var(--accent-color);
  border-color: var(--accent-color);
  color: var(--light-color);
}
.page-item.active .page-link {
  background-color: var(--accent-color);
  border-color: var(--accent-color);
}

/* Footer
*************************/
.site-footer {
  margin-top: 80px;
  padding: 0px;
  font-family: var(--body-font);
  border-top: 6px solid var(--accent-color);
  .content {
    font-size: 1.6rem;
  }
  .block {
    border: 0px solid;
  }
  .footer-left {
    background: var(--dark-color);
    padding: 80px 4% 80px 8%;
    h2, h4, p {
      color: var(--light-color);
    }
    h2 {
      line-height: 1;
    }
    ul {
      padding-left: 0px !important;
      li {
        margin-bottom: 20px;
      }
    }
  }
  hr {
    color: var(--light-color);
  }
  .footer-right {
    background: var(--secondary-color);
    color: black;
    padding: 80px 8% 80px 4%;
    .region-footer-right {
      .row > * {
        margin-bottom: 40px;
      }
    }
    h2, h4, a {
      color: black !important;
    }
    p {
      margin-bottom: 4px;
      color: black !important;
      &:last-child {
        margin-top: 20px;
      }
    }
  }
  a {
    transition: var(--transition);
  }
  .quicklinks,
  .copyright-text {
    a:hover {
      color: var(--accent-color) !important;
    }
  }
}
/* Quicklinks */
.quicklinks {
  list-style: none;
}

/* Copyright */
.copyright-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.dem-logo {
    max-width: 80px;
    width: 48px;
    padding: 0px 12px
}
.copyright-text p a,
.copyright-text span {
    color: var(--dark-color) !important;
    font-weight: var(--link-weight);
}

/* FAQ Module
*************************/
.ui-accordion {
	.ui-accordion-header {
		background: transparent;
		color: var(--dark-color);
		margin: 0px auto;
		padding: 20px 0px;
		font-weight: var(--link-weight);
		border-top: var(--border);
		border-bottom: 0px;
		border-left: 0px;
		border-right: 0px;
		border-radius: 0px;

		&:not(.ui-state-active):last-of-type {
			border-bottom: var(--border);
		}
	}

	.ui-accordion-header.ui-state-active {
		color: var(--accent-color) !important;
	}
}

.faqfield-question:focus-visible {
	outline: 0px;
}

.ui-accordion .ui-accordion-content {
	padding: 20px 0px;
	border: 0px;
}

.ui-accordion-content {
	border-width: 0px;
}

.ui-accordion-header {
	display: flex !important;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
	background: var(--primary-color);
	color: var(--light-color);
	margin-top: 12px !important;
	border: 1px solid transparent;
	border-radius: 16px;
}

.ui-icon,
.ui-state-focus .ui-icon,
.ui-button:focus .ui-icon {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 50 50" fill="none"><rect x="0.5" y="-0.5" width="49" height="49" transform="matrix(1 0 0 -1 0 49)" stroke="black"/><path d="M25.3536 32.3536C25.1583 32.5488 24.8417 32.5488 24.6464 32.3536L21.4645 29.1716C21.2692 28.9763 21.2692 28.6597 21.4645 28.4645C21.6597 28.2692 21.9763 28.2692 22.1716 28.4645L25 31.2929L27.8284 28.4645C28.0237 28.2692 28.3403 28.2692 28.5355 28.4645C28.7308 28.6597 28.7308 28.9763 28.5355 29.1716L25.3536 32.3536ZM25 18L25.5 18L25.5 32L25 32L24.5 32L24.5 18L25 18Z" fill="black"/></svg>');
	background-size: cover;
	background-position: center;
	width: 40px;
	height: 40px;
	margin-top: 0px;
}

.ui-state-hover .ui-icon,
.ui-button:hover .ui-icon {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 50 50" fill="none"><rect x="0.5" y="-0.5" width="49" height="49" transform="matrix(1 0 0 -1 0 49)" stroke="black"/><path d="M24.6464 37.3536C24.8417 37.5488 25.1583 37.5488 25.3536 37.3536L28.5355 34.1716C28.7308 33.9763 28.7308 33.6597 28.5355 33.4645C28.3403 33.2692 28.0237 33.2692 27.8284 33.4645L25 36.2929L22.1716 33.4645C21.9763 33.2692 21.6597 33.2692 21.4645 33.4645C21.2692 33.6597 21.2692 33.9763 21.4645 34.1716L24.6464 37.3536ZM25 13L24.5 13L24.5 37L25 37L25.5 37L25.5 13L25 13Z" fill="black"/></svg>');
	/*Important: when Changing SVG color in the Rect fill, don't use # but use %23 then the hex code with no spaces */
	background-size: cover;
	background-position: center;
	width: 40px;
	height: 40px;
	margin-top: 0px;
}

.ui-state-active .ui-icon {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 50 50" fill="none"><rect x="0.5" y="0.5" width="49" height="49" fill="%23F0AC19" stroke="black"/><path d="M25.3536 17.6464C25.1583 17.4512 24.8417 17.4512 24.6464 17.6464L21.4645 20.8284C21.2692 21.0237 21.2692 21.3403 21.4645 21.5355C21.6597 21.7308 21.9763 21.7308 22.1716 21.5355L25 18.7071L27.8284 21.5355C28.0237 21.7308 28.3403 21.7308 28.5355 21.5355C28.7308 21.3403 28.7308 21.0237 28.5355 20.8284L25.3536 17.6464ZM25 32L25.5 32L25.5 18L25 18L24.5 18L24.5 32L25 32Z" fill="black"/></svg>');
	background-size: cover;
	background-position: center;
	width: 40px;
	height: 40px;
	margin-top: 0px;
	transform: scaleY(1);
}


/* Video Gallery
*************************/
.path-videos {
  h3 a {
    color: var(--dark-color) !important;
  }
  h3 a:hover {
    color: var(--accent-color) !important;
  }
}

.page-link {
  color: var(--primary-color) !important;
  font-size: 1.8rem !important;
  font-weight: var(--link-weight) !important;
  padding: 16px !important;
  border: 0px !important;
}

.page-item.active .page-link {
  background-color: var(--secondary-color) !important;
  border-color: var(--secondary-color) !important;
  color: var(--light-color) !important;
}

.page-link:hover {
  background-color: var(--accent-color) !important;
  color: var(--light-color) !important;
}

/* Webform
*************************/
legend {
  font-family: var(--body-font);
  font-size: 2.2rem !important;
  font-weight: var(--link-weight) !important;
  letter-spacing: 0px;
  text-transform: uppercase;
  margin: 20px auto !important;    
  
  &:has(.visually-hidden) {
    display: none;
  }

}

label {
  font-family: var(--body-font);
  font-size: 1.6rem;
  letter-spacing: 0px;
  text-transform: capitalize;
  margin: 0px auto;   
}

.form-control:not(.btn),
.form-select {
  font-family: var(--body-font);
  font-size: 1.6rem !important;
  font-weight: var(--body-weight) !important;
  text-transform: capitalize;    
}

/* LCMS Form */
.contact-form {
    height: 800px;
}
.news-form {
    height: 600px;
}

.field--name-field-event-image,
.field--type-file {
  margin: 20px auto;
  text-align: center;  
}

/* Contact Page
*************************/
.contact {
	#main-wrapper {
		display: none;
	}

	.featured-first {
		padding: 140px 80px;
	}

	.featured-second {
		padding: 40px 8%;
	}

  .media-inquiries {
    background: var(--secondary-color);
    margin-top: 80px;
    padding-left: 0px !important;
    padding-right: 0px !important;
    .media-inquiries-row {
      & > *:first-child {
        padding-left: 0px !important;
      }
      & > *:last-child {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 0px 40px;
      }
    }
  }

	.request-form {
		.webform-submission-form>div {
			text-align: center;

			.webform-options-display-buttons {
				justify-content: center;

				.form-check-label {
					font-family: var(--body-font);
					font-size: 1.6rem !important;
					font-weight: var(--subhead-weight);
					letter-spacing: 1.5px;
					text-transform: uppercase;
					border: 0px;

					&:hover {
						color: var(--accent-color);
					}
				}
			}
		}

		.webform-header-section {
			padding: 40px 20%;
			border: var(--border);
			border-radius: 0px;
		}

		.js-webform-type-fieldset {
			legend .fieldset-legend {
				display: block;
				/* margin-top: 40px; */
			}
		}
	}
}

/* Scroll To Top 
*************************/
#topBtn {
  display: none;
  position: fixed;
  bottom: 0px;
  right: 0px;
  background-color: var(--dark-color);
  color: #fff;
  padding: 8px;
  outline: none;
  border: 0px;
  cursor: pointer;
  z-index: 100;
}

/* Scroll Button */
.scroll-btn {
	display: block;
	position: relative;
	left: 0;
	right: 0;
	text-align: center;
}
.scroll-btn > * {
	display: inline-block;
	line-height: 12px;
	font-size: 0.8rem;
	font-weight: var(--link-weight);
	color: #ffffff;
	letter-spacing: 1px;
}
.scroll-btn .mouse {
position: relative;
    display: block;
    width: 28px;
    height: 36px;
    margin: 0 auto 8px;
    border: 3px solid var(--light-color);
    border-radius: 20px;
}
.scroll-btn .mouse-top > * {
	position: absolute;
	display: block;
	top: 29%;
	left: 50%;
	width: 4px;
	height: 8px;
	margin: -4px 0 0 -2px;
	background: var(--light-color);
	border-radius: 32%;
	-webkit-animation: ani-mouse-top 2.5s linear infinite;
	-moz-animation: ani-mouse-top 2.5s linear infinite;
	animation: ani-mouse-top 2.5s linear infinite;
}

@-webkit-keyframes ani-mouse-top {
	0% {
	opacity: 1;
	top: 50%;
	}
	15% {
	opacity: 1;
	top: 29%;
	}
	50% {
	opacity: 0;
	top: 29%;
	}
	100% {
	opacity: 0;
	top: 50%;
	}
}
@-moz-keyframes ani-mouse-top {
	0% {
	opacity: 1;
	top: 50%;
	}
	15% {
	opacity: 1;
	top: 29%;
	}
	50% {
	opacity: 0;
	top: 29%;
	}
	100% {
	opacity: 0;
	top: 50%;
	}
}
@keyframes ani-mouse-top {
	0% {
	opacity: 1;
	top: 50%;
	}
	15% {
	opacity: 1;
	top: 29%;
	}
	50% {
	opacity: 0;
	top: 29%;
	}
	100% {
	opacity: 0;
	top: 50%;
	}
}

#topBtn:hover {
  .scroll-btn p {
    color: var(--accent-color);
  }
  .scroll-btn .mouse-top > * {
    background: var(--accent-color);
  }
}


/* E-Update Info
*************************/
.block-ealert-info {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
}

.node--type-ealert #main-wrapper {
   max-width: 680px;
}

.node--type-ealert .toggled #main-wrapper {
   max-width: 920px;
}