/*!
 * Senate Democratic Caucus 
 * Cantaloupe Theme Styling
 *
 * Last Worked On By: Patrick - 3/7/24
 */


/* Table of Contents
*************************
 ** Global (override)
 ** Navigation
 *  - Alert Bar
 *  - Main Navigation
 *  - Menu Animation
 *  - Dropdown
 *  - Menu Button
 ** Featured Top
 *  - Flexslider
 ** General Page (override)
 ** Footer
*/


:root {
   --primary-color: #07274b;
   --secondary-color: #0f4480;
   --accent-color: #f0791e;
   --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);
}

/* Global (override)
*************************/
body.path-frontpage {
   background: var(--light-color);
}

/* Navigation 
*************************/
/* Alert Bar */
#navbar-top {
   background: var(--primary-color);
   padding: 1.5rem 0rem !important;
   justify-content: center;
}

.mainMenu {
   padding: 0px !important;
}

.navbar-expand-lg {
   position: relative;
   width: 100%;
   background: var(--secondary-color);
   padding: 0px 4% !important;
   z-index: 100;
}

.path-frontpage .navbar-expand-lg {
   background: var(--rgba-color);
}

.navbar-expand-lg.affix {
   position: fixed;
   background: var(--secondary-color);
}

.navbar-brand {
   width: 300px;
   text-align: center;
   margin-right: 0px !important;
   padding: 0px;
}

.navbar-nav {
   float: none;
   padding: 0px;
   margin: 0px auto;
}

.navbar-expand-lg .navbar-nav .nav-link {
   padding: 20px 28px !important;
   cursor: pointer;
}

.navbar-form {
   display: block;
   width: 30%;
}

.region-right-bar {
   display: block !important;
   position: relative;
   left: 0px;
   color: var(--light-color);
   float: right;
}

.contact-blk {
   float: left;
   width: 100%;
   margin: 0 auto;
   padding: 12px;
}

.contact-blk h4 {
   display: inline-block;
   margin: 0px auto;
   padding-left: 12px;
   font-size: 14px;
   font-weight: var(--link-weight);
}

.contact-blk p,
.contact-blk a {
   font-family: var(--subhead-font);
   margin-bottom: 0px;
}

.contact-blk span {
   color: var(--primary-color);
}

.social-blk {
   float: right;
   padding: 12px;
}

.social-blk a {
   padding: 0px 12px;
}

.contact-blk a,
.social-blk a {
   color: #fff;
}

.contact-blk a:hover,
.social-blk a:hover {
   color: var(--primary-color);
}

.block-menu {
   margin: 0px auto;
}

.row .demo-block {
   position: relative;
   margin: 20px auto;
   padding: 8px;
}

.mainMenu .demo-block {
   padding: 8px;
}

.alert {
   background: var(--accent-color);
   margin-bottom: 2.2rem;
}

@media (max-width: 991px) {
   .social-blk {
      display: block;
      float: none;
      padding: 24px;
      text-align: center;
   }

   .social-blk a {
      padding: 0px 24px;
   }

   .social-blk a i {
      font-size: 18px;
   }

   .navbar-form {
      display: none;
      width: 100%;
      text-align: center;
   }

   .region-left-bar,
   #block-senate-ux-v2-newsletterblock {
      width: 100%;
   }

   .social-cta {
      float: none;
      padding: 12px;
      text-align: center;
   }
}

/* Main Navigation */
.navbar {
   padding: 0px;
}

.navbar-nav .nav-link.active {
  color: var(--accent-color) !important;
}

.navbar-nav>li>a,
.navbar-nav>li>span {
   color: var(--light-color);
   font-family: var(--subhead-font);
   font-weight: var(--head-weight);
   font-size: 14px;
   letter-spacing: 2px;
   text-transform: capitalize;
}

.navbar-nav>li>a:hover,
.navbar-nav>li>span:hover {
   color: var(--accent-color);
}

.navbar-nav>li>a:focus,
.navbar-nav>li>a:active {
   background-color: transparent;
   border-bottom: 0px solid #f5a623;
}

@media (max-width: 991px) {
   .navbar-expand-lg {
      position: fixed;
      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-senate-ux-v2-main-menu ul li .nav-link,
nav#block-senate-ux-v2-main-menu ul li .dropdown-toggle {
   position: relative;
   color: var(--light-color);
   cursor: pointer;
}

nav#block-senate-ux-v2-main-menu ul li .nav-link:before,
nav#block-senate-ux-v2-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-v2-main-menu ul li .nav-link,
nav#block-senate-ux-v2-main-menu ul li .dropdown-toggle {
   transition: all 2s;
}

nav#block-senate-ux-v2-main-menu ul li .nav-link:before,
nav#block-senate-ux-v2-main-menu ul li .dropdown-toggle:before {
   content: '.';
   margin: 0;
   text-align: left;
   opacity: 0;
}

nav#block-senate-ux-v2-main-menu ul li .nav-link:hover,
nav#block-senate-ux-v2-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-v2-main-menu ul li .nav-link:hover:before,
nav#block-senate-ux-v2-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-v2-main-menu ul li .nav-link:hover,
   nav#block-senate-ux-v2-main-menu ul li .dropdown-toggle:hover,
   .menu-item--expanded:hover .dropdown-toggle {
      color: #fff !important;
      z-index: 1;
   }

   nav#block-senate-ux-v2-main-menu ul li .nav-link:hover:before,
   nav#block-senate-ux-v2-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);
      }
   }
}

/* 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;
}

.path-frontpage .navbar-expand-lg .navbar-nav .nav-item .dropdown-menu {
   background: var(--rgba-color);
}

.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);
   letter-spacing: 0.5px;
   text-transform: capitalize;
   text-decoration: none;
}

.dropdown-menu>li>a:focus,
.dropdown-menu>li>a:hover {
   color: #fff !important;
}

.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 {
   position: relative;
   top: -60px;
   width: auto;
   height: 100%;
   max-height: 800px;
}

/* Flexslider */
.flexslider {
   width: 100vw;
   margin: 0px auto;
   border: 0px solid #ffffff;
}

.path-frontpage .flexslider {
   height: 600px;
   overflow: hidden;
}

.path-frontpage .flexslider:before {
   content: '';
   position: absolute;
   background: var(--rgba-color);
   height: 100%;
   width: 100%;
   z-index: 3;
}

.flexslider .slides .views-field-field-feature-image img {
   width: 100vw;
   height: 800px;
   -o-object-fit: cover;
   object-fit: cover;
}

.banner-header {
   position: absolute;
   top: 8%;
   left: 4%;
   width: 100%;
   max-width: 660px;
   background: rgba(32, 91, 160, 0.8);
   padding: 40px;
   color: #fff;
   border-radius: 4px;
}

.banner-header img {
   max-width: 400px;
   height: auto !important;
   padding: 0px 20px;
}

.banner-header h1,
.banner-header h2,
.banner-header p {
   font-weight: var(--body-weight);
}

.banner-header {
   display: block;
   z-index: 20;
}

.banner-header a {
   display: inline-block;
   background-color: var(--light-color);
   color: var(--secondary-color);
   padding: 12px;
   margin: 20px auto 0px;
   font-weight: var(--head-weight);
   border: 4px solid transparent;
   border-radius: 2px;
   -webkit-transition: all 0.35s ease-in-out;
   -moz-transition: all 0.35s ease-in-out;
   -o-transition: all 0.35s ease-in-out;
   transition: all 0.35s ease-in-out;
}

.banner-header a:hover {
   background-color: rgba(255, 255, 255, 0);
   color: #fff;
   text-decoration: none;
   border-bottom: 4px solid;
   border-color: var(--light-color) !important;
}

.views-field-field-link,
.views-field-field-link-2 {
   display: inline-block;
   padding: 0px 20px;
   margin: 0px auto;
}

.flex-control-nav {
   position: absolute;
   width: 100vw;
   height: 20px;
   top: 20px;
   text-align: center;
   z-index: 2;
}

.flex-direction-nav {
   display: none !important;
}

.flex-direction-nav a {
   background: var(--secondary-color);
   padding: 4px;
   text-decoration: none;
   display: block;
   width: 32px;
   height: 60px;
   margin: -20px 0 0;
   position: absolute;
   top: 40%;
   z-index: 10;
   overflow: hidden;
   opacity: 0;
   cursor: pointer;
   color: rgba(255, 255, 255, 0.8);
   text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.3);
   -webkit-transition: all 0.3s ease-in-out;
   -moz-transition: all 0.3s ease-in-out;
   -ms-transition: all 0.3s ease-in-out;
   -o-transition: all 0.3s ease-in-out;
   transition: all 0.3s ease-in-out;
   border-radius: 4px;
}

.flex-direction-nav a:before {
   font-family: "flexslider-icon";
   font-size: 36px;
   display: inline-block;
   content: '\f001';
   color: rgba(255, 255, 255, 0.8);
   text-shadow: 1px 1px 0 rgba(255, 255, 255, 0);
}

.flexslider:hover .flex-direction-nav .flex-prev {
   left: 12px;
}

.flexslider:hover .flex-direction-nav .flex-next {
   right: 12px;
}

@media (min-width: 992px) and (max-width: 1199px) {
   .flex-control-nav {
      width: 20%;
      top: 40px;
   }

   .flex-control-paging li a.flex-active {
      background: rgba(255, 255, 255, 0.9);
   }

   .flex-control-paging li a {
      background: rgba(255, 255, 255, 0.5);
   }

   .banner-header {
      position: absolute;
      top: 0;
      left: 0;
      width: 600px;
      height: 100%;
      padding: 80px;
      color: #fff;
      border-radius: 2px;
   }

   .banner-header h1 {
      font-size: 24px;
   }

   .banner-header p {
      margin: 0px 0px 10px;
   }
}

@media (max-width: 991px) {
   .flex-control-nav {
      width: 100vw;
      top: 40px;
   }

   .flex-control-paging li a.flex-active {
      background: rgba(255, 255, 255, 0.9);
   }

   .flex-control-paging li a {
      background: rgba(255, 255, 255, 0.5);
   }

   .featured-top {
      margin-top: 0px;
      min-height: 1px;
   }

   .path-frontpage .flexslider {
      height: 680px;
   }

   .flexslider {
      margin: 0px auto;
      border: 0px;
   }

   .flexslider .views-field-field-feature-image {
      position: relative;
      top: 0;
      left: 0;
      width: 1920px;
      transform: translateX(0%);
   }

   .banner-header {
      display: flex;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      max-width: 100vw;
      height: 680px;
      padding: 80px;
      text-align: left;
      flex-direction: column;
   }

   .banner-header h1 {
      font-size: 24px;
   }

   .flexslider .slides img {
      width: 100%;
      height: 680px;
   }

   .flexslider .slides .views-field-field-feature-image img {
      width: 100vw;
      height: 600px;
   }

   .not-front .flexslider .slides .views-field-field-feature-image img {
      height: 280px;
   }
}

@media (max-width: 767px) {
   .flex-control-nav {
      width: 100vw;
      top: 100px;
   }

   .path-frontpage .featured-top {
      margin-top: 80px;
      height: 100%;
   }

   .flexslider {
      height: 100%;
      margin: 0px 0px;
      border: 0px;
   }

   .path-frontpage .flexslider {
      height: 600px;
   }

   .slides,
   .flex-active-slide {
      width: 100%;
      height: 100%;
   }

   .banner-header {
      width: 100%;
      height: 680px;
      padding: 120px 40px 0px;
   }

   .banner-header h1 {
      font-size: 36px;
   }

   .banner-header h2 {
      margin: 20px auto;
   }

   .bio-img {
      width: 180px !important;
   }

   .flexslider .slides .views-field-field-feature-image img {
      object-position: 50%;
   }

   .flexslider .slides .views-field-field-feature-image .field-content {
      position: relative;
      left: 0%;
   }

   .flexslider .slides img {
      width: 100%;
      height: 680px;
      object-fit: contain;
   }
}

/* General Page (override)
*************************/
.path-frontpage #main-wrapper {
   display: none;
}

#main-wrapper {
   min-height: 1px;
}

#main-wrapper,
.region-featured-bottom-second,
.region-featured-bottom-third {
   max-width: 1440px;
   width: 100%;
   padding: 40px 20px;
   margin: 0px auto !important;
}

.region-featured-bottom-first {
   padding: 20px;
}

.path-frontpage .featured-bottom {
   position: relative;
   top: -200px;
   background: #ffffff;
   margin: 0px auto;
   padding: 40px;
   border-radius: 4px;
   border-top: 8px solid var(--accent-color);
   z-index: 10;
}

@media (min-width: 1600px) {
   .path-frontpage .featured-bottom {
      max-width: 1440px;
   }
}

@media (max-width: 1599px) {
   .path-frontpage .featured-bottom {
      max-width: 1280px;
   }
}

@media (max-width: 1399px) {
   .path-frontpage .featured-bottom {
      top: -400px;
      max-width: 1024px;
   }
}

@media (max-width: 1199px) {
   .path-frontpage .featured-bottom {
      top: -400px;
      max-width: 900px;
   }

   .region-featured-bottom-first,
   .region-featured-bottom-second,
   .region-featured-bottom-third {
      padding: 80px 4%;
   }

   #main-wrapper {
      padding: 120px 2% 20px;
   }
}

@media (max-width: 991px) {
   .path-frontpage .featured-bottom {
      top: -400px;
      max-width: 700px;
   }

   #main-wrapper {
      padding: 40px 2% 20px;
   }
}

@media (max-width: 767px) {
   .path-frontpage .featured-bottom {
      top: -200px;
      max-width: 340px;
      padding: 0px;
   }
}

/* Footer
*************************/
.region-footer-top {
   padding-left: 0px !important;
   padding-right: 0px !important;
}

footer {
   background: var(--primary-color);
   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 h2 {
   color: var(--light-color);
   font-family: var(--subhead-font);
   font-size: 3.6rem;
   padding-bottom: 3px;
   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 {
   color: #fff;
   font-weight: var(--head-weight);
   text-transform: uppercase;
}

.site-footer .block {
   margin: 20px auto;
   border: 0px solid #444;
   border-color: rgba(255, 255, 255, 0.1);
   padding: 10px;
}

.site-footer__top p {
   margin: 0.5em auto;
}

.site-footer__top p:first-child {
   display: none;
}

.site-footer__top .content {
   width: 220px;
   margin: 0px auto;
}

.site-footer__bottom .block {
   text-align: center;
   margin: 0px auto;
}

@media (max-width: 991px) {
   .site-footer__top .region {
      width: 50%;
      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;
   }
}