/*!
 * Senate Democratic Caucus
 * Elderberry Theme Styling
 *
 * Last Worked On By: Patrick - 3/7/24
 */


/* Table of Contents
*************************
 ** Navigation
 *  - Main Navigation
 *  - Menu Animation
 *  - Social Media
 *  - Dropdown
 *  - Menu Button
 ** Featured Top
 *  - Alert Bar
 *  - Flexslider
 ** Highlighted (override)
 ** General Page (override)
 ** Footer
*/


:root {
   --primary-color: #07274b;
   --secondary-color: #0f4480;
   --accent-color: #f5a705;
   --rgba-color: rgba(32, 91, 160, 0.8);
   --dark-color: #353535;
   --light-color: #f9f9f9;
   --head-font: 'Playfair Display', serif;
   --body-font: 'Ovo', serif;
   --subhead-font: 'Montserrat', sans-serif;
   --head-weight: 700;
   --body-weight: 400;
   --link-weight: 600;
   --box-shadow: 0px 4px 20px rgba(149, 157, 165, 0);
}

/* Navigation 
*************************/
/* Main Navigation */
.navbar-expand-lg {
   position: relative;
   background: var(--secondary-color);
   padding: 0px 4% !important;
   z-index: 100;
}

.navbar-expand-lg.affix {
   position: fixed;
   background: var(--secondary-color);
}

.navbar-brand {
   position: relative;
   height: 100%;
   max-width: 100%;
   padding: 0px !important;
   overflow: hidden;
   opacity: 1;
   z-index: 10;
}

.affix .navbar-brand {
   opacity: 1;
}

.navbar-brand img {
   position: relative;
   max-height: 120px;
   margin: 0px auto;
   padding: 0px;
   text-align: center;
   z-index: 1;
}

.navbar-nav {
   padding: 0px;
   margin: 0px !important;
   float: none;
}

.navbar-expand-lg .navbar-nav .nav-link {
   padding: 28px 20px !important;
}

.navbar-nav .nav-link.active {
   color: var(--accent-color) !important;
}

.navbar-nav>li {
   color: var(--light-color);
   font-family: var(--subhead-font);
   font-weight: 600;
   font-size: 1.4rem;
   letter-spacing: 0.5px;
   text-transform: capitalize;
   z-index: 100;
}

.navbar-nav>li:hover,
.navbar-nav>li:focus,
.navbar-nav>li:active {
   background-color: transparent;
   color: var(--accent-color);
}

.navbar-nav>li>a {
   color: var(--light-color);
}

.navbar-nav>li>a:hover {
   color: var(--accent-color);
}

@media (min-width: 992px) and (max-width: 1199px) {
   .navbar-expand-lg {
      padding: 0px 2% !important;
   }

   .navbar-expand-lg .navbar-nav .nav-link {
      padding: 28px 12px !important;
   }
}

@media (max-width: 991px) {
   .navbar-expand-lg {
      background: var(--secondary-color) !important;
   }

   .navbar-expand-lg .navbar-nav .nav-link {
      padding: 20px 16px !important;
   }

   .navbar-expand-lg {
      padding: 20px !important;
   }

   .header {
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 1000;
   }

   .navbar-brand {
      display: block;
      width: 240px;
      text-align: left;
      margin: 0px 0px;
      padding: 0px;
      opacity: 1;
   }

   .navbar-nav {
      margin: 0px auto !important;
      padding: 120px 0px;
      text-align: left;
      float: none;
      z-index: -10;
   }

   .show .navbar-nav {
      z-index: 100
   }

   .navbar-expand-lg .navbar-nav .nav-link {
      display: none;
      padding: 28px 20px !important;
   }

   .navbar-expand-lg .show .navbar-nav .nav-link {
      display: block;
   }

   .navbar-nav .nav-item {
      opacity: 0;
      transform: translateY(36px);
      transition: transform 0.2s 0.14s, opacity 0.2s 0.14s;
   }

   .show .navbar-nav .nav-item {
      border-bottom: 1px solid #cacaca;
      opacity: 1;
      transform: translateY(0px);
      transition: transform 0.2s 0.14s, opacity 0.2s 0.14s;
   }

   .show .navbar-nav .nav-item:last-child {
      border-bottom: 0px solid #cacaca;
   }

   .show ul.navbar-nav li:nth-child(1) {
      transition-delay: 0.55s !important;
   }

   .show ul.navbar-nav li:nth-child(2) {
      transition-delay: 0.65s !important;
   }

   .show ul.navbar-nav li:nth-child(3) {
      transition-delay: 0.75s !important;
   }

   .show ul.navbar-nav li:nth-child(4) {
      transition-delay: 0.85s !important;
   }

   .show ul.navbar-nav li:nth-child(5) {
      transition-delay: 0.95s !important;
   }

   .show ul.navbar-nav li:nth-child(6) {
      transition-delay: 1.05s !important;
   }

   .show ul.navbar-nav li:nth-child(7) {
      transition-delay: 1.15s !important;
   }

   .navbar-nav>li>a,
   .navbar-nav>li>span {
      font-size: 1.4rem;
      letter-spacing: 2px;
   }
}

@media screen and (max-width: 767px) {
   .navbar-nav {
      max-width: 100%;
      padding: 40px 0px;
   }
}

/* 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-senate-ux-v1-main-menu ul li .nav-link:before,
nav#block-senate-ux-v1-main-menu 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-senate-ux-v1-main-menu ul li .nav-link,
nav#block-senate-ux-v1-main-menu ul li .dropdown-toggle {
   transition: all 2s;
}

nav#block-senate-ux-v1-main-menu ul li .nav-link:before,
nav#block-senate-ux-v1-main-menu ul li .dropdown-toggle:before {
   content: '.';
   margin: 0;
   text-align: left;
   opacity: 0;
}

nav#block-senate-ux-v1-main-menu ul li .nav-link:hover,
nav#block-senate-ux-v1-main-menu ul li .dropdown-toggle:hover,
.menu-item--expanded:hover .dropdown-toggle {
   color: var(--accent-color) !important;
   z-index: 1;
}

nav#block-senate-ux-v1-main-menu ul li .nav-link:hover:before,
nav#block-senate-ux-v1-main-menu 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);
   }
}

@media screen and (max-width: 991px) {

   nav#block-senate-ux-v1-main-menu ul li .nav-link:hover,
   nav#block-senate-ux-v1-main-menu ul li .dropdown-toggle:hover,
   .menu-item--expanded:hover .dropdown-toggle {
      color: #fff !important;
      z-index: 1;
   }

   nav#block-senate-ux-v1-main-menu ul li .nav-link:hover:before,
   nav#block-senate-ux-v1-main-menu ul li .dropdown-toggle:hover:before,
   .menu-item--expanded:hover .dropdown-toggle:before {
      border-radius: 0px;
   }

   @-webkit-keyframes fill {
      0% {
         width: 0%;
         height: 100%;
      }

      50% {
         width: 100%;
         height: 100%;
      }

      100% {
         width: 100%;
         height: 100%;
         background: var(--accent-color);
      }
   }
}

/* Social Media */
.social-blk {
   padding: 8px 12px;
   font-size: 1.4rem;
   text-align: center;
   float: none;
}

.social-blk a {
   color: var(--light-color);
   font-family: var(--subhead-font);
   font-weight: var(--head-weight);
   padding: 0px 12px;
}

.social-blk a:hover {
   color: var(--accent-color) !important;
}

.region-featured-bottom-sidebar .social-blk {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   position: relative;
   top: 12px;
   margin: 8px auto;
   font-size: inherit;
}

.region-featured-bottom-sidebar .social-blk a {
   color: var(--primary-color);
   font-size: 1.8rem;
   font-family: var(--subhead-font);
   font-weight: var(--head-weight);
   padding: 0px 12px;
}

/* Dropdown */
.navbar-expand-lg .navbar-nav .nav-item .dropdown-menu {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   background: var(--secondary-color);
   width: 200px;
   margin: 0px auto;
   padding: 8px 8px 8px;
   border: 0px solid var(--secondary-color) !important;
   border-top-left-radius: 0px;
   border-top-right-radius: 0px;
   border-bottom-left-radius: 4px;
   border-bottom-right-radius: 4px;
}

.navbar-expand-lg.affix .navbar-nav .nav-item .dropdown-menu {
   background: var(--secondary-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(--subhead-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;
}

@media (min-width: 992px) {
   .navbar-collapse.collapse {
      display: flex !important;
      width: 100%;
   }

   .nav>li>a {
      padding: 10px 12px;
   }

   .navbar-collapse {
      display: inline-block !important;
      float: right;
   }

   ul.nav li.dropdown:hover>ul.dropdown-menu {
      display: block;
   }
}

@media (max-width: 991px) {
   .navbar-expand-lg .navbar-nav .nav-item .dropdown-menu {
      position: relative;
      left: 0px;
      transform: translateX(0%);
      max-width: 100%;
   }

   .nav-item .dropdown-toggle {
      display: flex;
      justify-content: space-between;
   }

   .navbar-expand-lg .navbar-nav .dropdown-menu {
      position: static;
      left: 0%;
      transform: translateX(0%);
   }

   .dropdown-toggle.is-visible+.dropdown-menu {
      display: block;
   }

   .dropdown-menu>li {
      margin: 8px auto;
      padding: 12px 36px;
      text-align: left;
      border-radius: 2px;
   }

   .dropdown-menu>li:focus,
   .dropdown-menu>li:hover {
      background: transparent;
      color: var(--accent-color);
   }

   .dropdown-menu>li:hover:last-child {
      border-bottom-left-radius: 0px;
      border-bottom-right-radius: 0px;
   }

   .dropdown-menu>li>a {
      display: block;
   }

   .dropdown-menu>li>a:focus,
   .dropdown-menu>li>a:hover {
      color: var(--accent-color);
   }

   .navbar-expand-lg .navbar-collapse:not(.show) {
      display: block;
      height: 0px;
   }

   .navbar-expand-lg .navbar-collapse {
      display: block;
      height: 100vh;
   }

   .dropdown-toggle::after {
      top: 0px;
      left: 8px;
      transform: rotate(-90deg);
   }

   .dropdown-toggle.is-visible::after {
      transform: rotate(0deg);
   }
}

@media (max-width: 767px) {
   .navbar-expand-lg .navbar-nav .nav-item .dropdown-menu {
      width: 100%;
   }
}

/* Menu Button */
.navbar-toggler {
   position: absolute;
   top: 0px;
   right: 0px;
   height: 30px;
   width: 30px;
   z-index: 110;
}

.navbar-toggler>span {
   position: absolute;
   left: 50%;
   top: 50%;
   background-color: var(--secondary-color);
   border-radius: 1px;
   height: 3px;
   width: 72%;
   margin: -1px 0 0 -15px;
   transition: height 100ms;
}

.navbar-toggler>span:after,
.navbar-toggler>span:before {
   content: '';
   position: absolute;
   left: 64%;
   background-color: var(--secondary-color);
   border-radius: 1px;
   height: 3px;
   width: 72%;
   margin-left: -14px;
   transition: all 200ms;
}

.navbar-toggler>span:after {
   top: -8px;
}

.navbar-toggler>span:before {
   bottom: -8px;
}

.navbar-toggler.act>span {
   height: 0;
}

.navbar-toggler.act>span:after,
.navbar-toggler.act>span:before {
   background-color: var(--accent-color);
   top: 1px;
}

.navbar-toggler.act>span:after {
   transform: rotate(45deg);
}

.navbar-toggler.act>span:before {
   transform: rotate(-45deg);
}

@media (max-width: 991px) {
   .navbar-toggler {
      position: relative;
      float: none !important;
      background-color: var(--light-color) !important;
      height: 42px;
      width: 42px;
      border-radius: 2px !important;
   }
}

/* Featured Top
*************************/
.featured-top {
   display: flex;
   position: relative;
   justify-content: center;
   max-width: 1440px;
   margin: 40px auto 0px !important;
   padding: 0px 4%;
}

/* Alert Bar */
.contact-blk {
   background: var(--secondary-color);
   padding: 12px 20px 4px;
   border-radius: 4px;
}

.contact-blk p {
   color: var(--light-color);
   font-family: var(--subhead-font);
   font-weight: var(--link-weight);
   font-size: 1.4rem;
}

.contact-blk a {
   font-family: var(--subhead-font);
   font-weight: var(--link-weight);
   font-size: 1.4rem;
}

.contact-blk a:hover {
   color: var(--light-color) !important;
}

/* Flexslider */
.flexslider {
   width: 100%;
   margin: 0px auto !important;
   border: 0px solid #ffffff;
}

.flexslider .slides .views-field-field-feature-image {
   width: 100%;
   height: 480px;
   border-radius: 4px;
   overflow: hidden;
}

.col {
   padding: 0px !important;
   ;
}

.flexslider .slides .views-field-field-feature-image img {
   height: 486px;
   object-fit: cover;
   object-position: 50% 20%;
   margin-bottom: 16px;
   border-radius: 4px;
}

.flex-direction-nav {
   display: none;
}

.flex-control-nav {
   display: flex;
   justify-content: flex-start;
   bottom: 20px !important;
   right: 0;
   background: rgb(255 255 255 / 80%);
   width: 140px !important;
   padding: 12px !important;
   border-top-left-radius: 4px;
   border-bottom-left-radius: 4px;
   opacity: 1;
   z-index: 2;
}

.flex-control-paging li a {
   background: rgba(255, 255, 255, 0.5);
}

.flex-control-paging li a:hover {
   background: var(--accent-color);
}

.flex-control-paging li a.flex-active {
   background: rgba(255, 255, 255, 0.9);
}

/* Highlighted (Override)
*************************/
.bottom-nav {
   flex-direction: column;
}

.bottom-nav-item {
   margin: 0px;
}

.bottom-nav-item-content {
   padding: 10% !important;
}

.bottom-nav-item-content {
   background: var(--light-color);
}

.bottom-nav-blk {
   padding-left: 0px !important;
   padding-right: 0px !important;
}

.item {
   flex-direction: column;
   height: 152px;
   margin-bottom: 16px;
   border: 1px solid rgba(149, 157, 165, 0.35);
   box-shadow: var(--box-shadow);
   opacity: 1;
}

.item:before {
   background: var(--secondary-color);
   border: 1px solid rgba(149, 157, 165, 0.35);
   box-shadow: var(--box-shadow);
   opacity: 1;
}

.item h4 {
   width: 100%;
   margin: 12px auto 0px;
   color: var(--light-color);
   font-size: 1.6rem !important;
   font-weight: 600;
   text-transform: capitalize;
   z-index: 2;
   transition-delay: 2500ms;
}

.item p {
   width: 80%;
   margin: 12px 0px;
   font-size: 1.2rem;
   font-weight: var(--link-weight);
   color: var(--light-color);
   text-transform: uppercase !important;
   opacity: 0;
   max-height: 0;
   z-index: 2;
   transition-delay: 2500ms;
}

.bottom-nav-item-content i,
.bottom-nav-item-content a h4 {
   color: var(--light-color);
   transition-delay: 2500ms;
}


.item:hover i,
.item:hover h4 {
   color: var(--primary-color);
}

.item:hover p,
.item:hover p a {
   color: var(--primary-color) !important;
   opacity: 1;
   max-height: 60px;
}

.item .icon-bg {
   position: absolute;
   top: 20px;
   left: 45%;
   transform: rotateZ(30deg);
   color: #fff;
   font-size: 20rem;
   opacity: 0.15;
   z-index: 2;
}

.item:hover .icon-bg {
   color: var(--primary-color);
   transform: rotateZ(0deg);
   opacity: 0.15;
}

@-webkit-keyframes button {
   0% {
      width: 0%;
      height: 6px;
   }

   50% {
      width: 100%;
      height: 6px;
   }

   100% {
      width: 100%;
      height: 100%;
      background: var(--light-color);
   }
}

@media (max-width: 991px) {
   .featured-top {
      margin-top: 100px !important;
   }

   .bottom-nav {
      flex-direction: row;
   }
}

/* General Page (Override)
*************************/
.featured-bottom {
   padding: 20px 4%;
}

.region-featured-bottom-second {
   padding: 0px 40px;
}

.featured-content {
   width: 100%;
}

.featured {
   padding: 24px !important;
}

.senator-blk {
   padding: 24px;
}

.senator-blk .senator-img {
   padding: 0px !important;
}

.senator-blk .senator-info {
   margin-top: 0px;
   padding: 4px 24px;
}

.video-blk .youtube-container {
   margin-top: 0px !important;
}

/* Footer
*************************/
.region-footer-top {
   width: 100% !important;
   padding-left: 0px !important;
   padding-right: 0px !important;
}

footer {
   background: var(--primary-color) !important;
   border-top: none;
   margin-top: 0 !important;
   padding: 35px 35px 25px 35px;
}

.site-footer {
   width: 100%;
   padding: 40px 4%;
   margin: 0px auto !important;
   border-top: 4px solid var(--accent-color);
}

.site-footer__top {
   position: relative;
   left: 50%;
   transform: translateX(-50%);
   width: 100%;
   max-width: 1440px;
   margin: 0px auto;
   padding: 40px 4%;
}

.site-footer__top h2 {
   color: #fff !important;
   font-family: var(--subhead-font);
   font-size: 3rem !important;
   padding-bottom: 0px;
   text-transform: uppercase;
   margin-top: 0 !important;
   margin-bottom: 20px;
   border-bottom: 0px solid #555;
   border-color: rgba(255, 255, 255, 0.15);
}

.site-footer__top h3,
.block-menu h2 {
   margin-bottom: 20px !important;
   color: #fff !important;
   font-family: var(--subhead-font);
   font-size: 2.2rem !important;
   font-weight: var(--link-weight) !important;
   text-transform: uppercase;
}

.site-footer .block,
.site-footer .block-menu {
   margin: 20px auto !important;
   padding: 12px !important;
   border: 0px solid #444;
   border-color: rgba(255, 255, 255, 0.1);
}

.site-footer .block-menu a {
   padding: 0px 12px 4px;
}

.site-footer__top p {
   margin: 0.5em auto;
}

.site-footer__top p:first-child {
   display: none;
}

.site-footer__top .content {
   margin: 0px 40px;
}

.site-footer__bottom .block {
   text-align: center;
   margin: 0px auto;
}

.region-footer-first,
.region-footer-second {
   width: 100% !important;
}

.region-footer-first .block-menu {
   padding-left: 40px !important;
   border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
}


@media (max-width: 991px) {
   .site-footer__top .region {
      width: 100%;
      margin: 0px auto;
   }

   .site-footer__top .region:first-child,
   .site-footer__top .region:first-child .content {
      width: 100%;
      text-align: center;
      margin: 0px auto;
   }

   .site-footer .content {
      margin: 0px auto;
   }

   .site-footer__bottom {
      margin-top: 0px;
      margin-bottom: 0px;
   }

   .site-footer__bottom .region {
      margin: 0px;
      padding: 0px 2%;
   }
}

@media (max-width: 767px) {
   .site-footer__top .region {
      width: 100%;
      margin: 0px auto;
   }

   .site-footer {
      padding: 40px 4% 0px;
   }
}