/*
	Theme Name: Disability Rights Florida 2020
	Theme URI: https://www.accessthevote.org/
	Description: Disability Rights Florida 2020 Custom Wordpress themes
	Version: 1.0.0
	Author:
	Author URI:
	Tags:
*/

/*------------------------------------*\
	WORDPRESS CORE
\*------------------------------------*/

/* Navigation Dropdown Styles */
/* Desktop Dropdown Hover Effects */
.navbar #menu-accessthevote-mainmenu li .dropdown-toggle:after {
  display: block !important;
  border: none;
  margin-left: initial;
}
#menu-accessthevote-mainmenu .dropdown-toggle:focus{
	outline: none;
}
@media (min-width: 992px) {
  #menu-accessthevote-mainmenu .dropdown {
    position: relative;
  }
  
  #menu-accessthevote-mainmenu .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    float: left;
    min-width: 200px;
    padding: 0;
    margin: 0; /* Remove margin to close the gap */
    font-size: 1rem;
    color: #212529;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(160, 38, 37, 0.2);
    border-radius: 0;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);
  }
  
  #menu-accessthevote-mainmenu .dropdown:hover .dropdown-menu {
    display: block;
  }
  
  /* Create a bridge to prevent submenu from closing */
  #menu-accessthevote-mainmenu .dropdown-menu::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
    background: transparent;
  }
  
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
    clear: both;
    font-weight: 400;
    color: #a02625;
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    position: relative;
    transition: all 0.3s ease;
  }
  
  
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item:hover,
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item:focus {
    color: #811f1f;
    background-color: rgba(160, 38, 37, 0.05);
    text-decoration: none;
  }
  
  
  
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item.active,
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item:active {
    text-decoration: none;
    background-color: rgba(160, 38, 37, 0.05);
  }
  
  /* Nested dropdowns */
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown {
    position: relative;
  }
  
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
  }
  
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown:hover .dropdown-menu {
    display: block;
  }
  
  /* Main menu items with animated border */
  #menu-accessthevote-mainmenu > li > a {
    position: relative;
    transition: all 0.3s ease;
    text-decoration: none;
  }
  
  #menu-accessthevote-mainmenu > li > a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: #a02625;
    transition: all 0.3s ease;
    transform: translateX(-50%);
  }
  
  #menu-accessthevote-mainmenu > li > a:hover::after,
  #menu-accessthevote-mainmenu > li > a:focus::after {
    width: 80%;
  }
  
  #menu-accessthevote-mainmenu > li.active > a::after,
  #menu-accessthevote-mainmenu > li.current-page-parent > a::after {
    width: 80%;
  }
  #menu-accessthevote-mainmenu .dropdown-toggle {
	  border: none;
	  background: transparent;
  }
}

/* Mobile Dropdown Styles */
@media (max-width: 991.98px) {
  #menu-accessthevote-mainmenu .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    padding: 10px;
    background: #fff;
    border-radius: 0;
    box-shadow: none;
    display: none; /* Hide by default on mobile */
  }
  
  #menu-accessthevote-mainmenu .dropdown-menu.show {
    display: block; /* Show when .show class is added */
  }
  
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item {
    color: #1d3467;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
  }
  
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item:hover,
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item:focus {
    color: #1d3467;
    background-color: #dfe7fa;
    text-decoration: none;
  }
  
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item.active,
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-item:active {
    color: #1d3467;
    background-color: #c2cee9;
  }
  
  
  /* Mobile menu items with animated border */
  #menu-accessthevote-mainmenu > li > a {
    position: relative;
    transition: all 0.3s ease;
	text-decoration: none;
	color: #fff !important;
  }
  
  #menu-accessthevote-mainmenu > li > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #ffffff;
    transition: all 0.3s ease;
  }
  
  #menu-accessthevote-mainmenu > li > a:hover::after,
  #menu-accessthevote-mainmenu > li > a:focus::after {
    width: 100%;
  }
  
  #menu-accessthevote-mainmenu > li.active > a::after {
    width: 100%;
  }
  
  /* Mobile dropdown toggle arrows */
  #menu-accessthevote-mainmenu .dropdown-toggle {
    position: absolute;
    right: 0;
    top: 20px;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #ffffff;
    font-size: 12px;
    padding: 8px;
    cursor: pointer;
    transition: transform 0.3s ease;
    z-index: 10;
  }
  
  #menu-accessthevote-mainmenu .dropdown-toggle::before {
    content: '';
    display: inline-block;
    margin-left: 0.5rem; /* 8px */
    width: 0.5rem; /* 8px */
    height: 0.5rem; /* 8px */
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.3s ease-in-out; /* Smooth transition for the rotation */
  }
  
  #menu-accessthevote-mainmenu .dropdown-toggle[aria-expanded="true"]::before {
    transform: rotate(-135deg); /* Flips the arrow upwards */
  }
  
  /* Nested dropdown arrows */
  #menu-accessthevote-mainmenu .dropdown-menu .dropdown-toggle {
    right: 10px;
    font-size: 10px;
    padding: 6px;
  }
  
  /* Ensure parent links have proper positioning */
  #menu-accessthevote-mainmenu > li {
    position: relative;
  }
  
  #menu-accessthevote-mainmenu > li > a {
    padding-right: 40px; /* Make room for the arrow button */
  }
}

.skip-to-main-content-link {
  position: absolute;
  left: -9999px;
  z-index: 999;
  padding: 1em;
  background-color: black;
  color: white;
  opacity: 0;
  text-decoration: none;
  border: 2px solid #000;
  font-weight: bold;
}
.skip-to-main-content-link:focus {
  left: 0;
  outline: none;
  opacity: 1;
  text-decoration: none;
  color:#fff;
}

.skip-to-main-content-link:focus:hover {
  background: #fff;
  color: #000;
}

/*image styling*/
.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
/*comment styling*/
/*comment*/
#comment-section p{
	margin-bottom: 10px;
}
#comment-section p label {
	display: block;
	font-size: 14px;
}
#comment-section p#form-allowed-tags{
	display: none;
}
#comment-section form#commentform input[type="text"],
#comment-section form#commentform textarea {
  background: #f6f6f6;
  border: 1px solid #cecece;
  border-radius: 3px;
  box-shadow: inset 1px 1px 3px rgba(0,0,0,.12);
  height: auto;
  letter-spacing: 1px;
  outline: none;
  padding: 6px 8px;
}
#comment-section form#commentform input[type="text"]{
  width: 100%;
}
#comment-section form#commentform textarea{
	padding: 10px;
	width: 100%;
	height: 120px;
	resize: none;
}
#comment-section form#commentform input[type="text"]:focus,
#comment-section form#commentform textarea:focus{
  background: #eef7fc;
  border: 1px solid #75b1d9;
  box-shadow: none;
}
#comment-section h3 {
	margin: 0 0 20px;
	font-size: 18px;
	border-bottom: 2px solid #ccc;
	padding-bottom: 10px;
}
#comment-section ul li {
	list-style: none;
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid #ccc;
}

#comment-section ul li:last-child{
	border: none;
}
#comment-section ul {
	padding: 0;
	margin: 0;
}
#comment-section ul.children {
	margin-top: 1rem;
}
#comment-section figure{
	width: 42px;
	height: 42px;
	border-radius: 50%;
	overflow: hidden;
	display: block;
	float: left;
	margin-right: 12px;
}
#comment-section figure img{
	max-width: 100%;
	height: auto;
}
#comment-section .comment-detail{
	float: left;
}
#comment-section .comment-meta cite{
	font-style: normal;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 12px;
	line-height: 22px;
}
#comment-section .comment-meta a{
	font-weight: normal;
	color: #ccc;
}
#respond{
	margin-top: 30px;
}
#comment-section ul li.depth-2 {
  margin-left: 50px;
}
.banner figure{
	max-height: 378px;
	overflow: hidden;
}
.banner-questionnaire a{
	color: #fff;
}
.banner-questionnaire a:hover{
	text-decoration: underline;
}

.wrapp-content h1 a, .wrapp-content h2 a, .wrapp-content h3 a, .wrapp-content h4 a, .wrapp-content h5 a, .wrapp-content h6 a{
	color: #1e3567;
}

.btn.btn--explore{
	text-decoration: none;
}

/*------------------------------------*\
	PAGES
\*------------------------------------*/
@media only screen and (max-width:767px) {
  .top-nav .hotline{
    text-align: center;
    margin: 0;
    display: block;
    font-size: 16px !important;
  }
  .top-nav .language-switcher-container .justify-content-end{
    -ms-flex-pack: center !important;
    -webkit-box-pack: center !important;
    justify-content: center !important;
  }
  .top-nav .language-switcher-container .justify-content-end .gtranslate-custom{
    margin: 20px 0 !important;
    max-width: initial !important;
  }
  .cta-section {
      flex-wrap: wrap !important;
  }

  .cta-section .wp-block-heading {
      text-align: center;
  }
  .card-featured-box .container .row > div {
      margin-bottom: 35px;
  }
}


/*------------------------------------*\
	IMAGES
\*------------------------------------*/


/*------------------------------------*\
	RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width:320px) {

}
@media only screen and (min-width:480px) {

}
@media only screen and (min-width:768px) {

}
@media only screen and (min-width:1024px) {

}
@media only screen and (min-width:1140px) {

}
@media only screen and (min-width:1280px) {

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
	PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}

/*header*/
.top-nav .hotline {
    font-size: 20px;
}

/*color contrast fix*/
.able-offscreen{
	color: #000 !important;
	background: #fff !important;
}
/*.btn--explore {
    font-size: 14px !important;
}
.search-form button{
	font-size: 12px;
	padding: 0.125rem 0.45rem;
}*/
.social-wrapper{
    color: #fff;
}
.social-wrapper span.heading-nav {
    display: block;
}
.social-wrapper a{
    color: #fff;
    font-size: 22px;
    margin-right: 15px;
}
.social-wrapper a:hover{
    opacity: 0.5;
}

/*Questionnaires*/
.banner-questionnaire h2 {
    font-family: 'helveticaneuelight';
    line-height: 1.6;
	font-size: 22px;
    color: white;
}
.title-questionnaires-list {
	font-size: 1.5rem;
}
ul.cite {
    list-style: none;
    padding: 0;
    display: block;
}
ul.cite li {
    display: inline-block;
    padding-left: 10px;
    margin-right: 5px;
    position: relative;
    line-height: normal;
}
ul.cite li:before{
    content: '';
    width: 1px;
    height: 80%;
    top: 2px;
    display: block;
    position: absolute;
    left: 0;
    background: #000;

}
ul.cite li:first-child{
    padding-left: 0;
}
ul.cite li:first-child:before{
    display: none;
}
span.filter-label {
    line-height: 38px;
}
ul.cite li{
    font-family: "helveticaneuemedium";
}
ul.cite li a {
    font-family: "helveticaneuelight";
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: #231f20;
    font-weight: normal;
}

/*gtranslate-custom*/
.gtranslate-custom {
	margin-left: 20px;
	max-width: 100px;
}
.gtranslate-custom .switcher {
    font-family: 'helveticaneuemedium';
	width: auto;
}
.gtranslate-custom .switcher .selected {
	background: transparent;
}
.gtranslate-custom .switcher .selected a {
    font-family: 'helveticaneuemedium';
    color: #fff;
	border: 0;
	padding: 0;
	width: 100%;
}
.gtranslate-custom .switcher .selected a:hover {
	background: transparent;
}
.gtranslate-custom  .switcher .selected a:after {
	display: none;
}
.gtranslate-custom .switcher .option {
	opacity: 0;
	visibility: hidden;
	position: absolute;
    background-color: #ffffff;
    width: 100%;
    max-width: 220px;
	max-height: 300px;
    right: 15px;
	top: calc(100% + 10px);
	z-index: 1;
	overflow-x: hidden;
	transition: all .3s ease-in-out;
    border-radius: 3px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.12);
	height: auto !important;
    display: block !important;
}
.gtranslate-custom .switcher .option.open {
	opacity: 1;
	visibility: visible;
}
.gtranslate-custom .switcher .option a {
	font-family: 'helveticaneuemedium';
	display: block;
    padding: 5px 15px;
    margin: 5px 0;
	white-space: nowrap;
	color: #a02625;
}
.gtranslate-custom .switcher a:hover,
.gtranslate-custom .switcher a:focus {
	text-decoration: none;
}
.gtranslate-custom .switcher .option a:hover {
	color: #811f1f;
}
.gtranslate-custom img {
	margin-right: 3px;
}

/*card*/
.card__image picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*block styles*/
.banner{
	margin-bottom: 35px !important;
}
.space-content{
	margin: 0;
}
.gap-1{
	gap: 1em;
}
.gap-2{
	gap: 2em;
}

/*performance fix*/
.banner .figure {
    position: relative;
    background-size: 100% auto; /* Ensures full width, height auto-adjusts */
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 378px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    padding: 40px 20px; /* Ensure padding on small screens */
}

/* Responsive adjustments */
@media (max-width: 1024px) {
	
}

@media (max-width: 768px) {
    .banner__caption{
    	padding: 10px;
    }
    .banner__caption h1 {
        font-size: 20px;
    }
}

/* ------------------------------------
   Layout normalization overrides
   These load last to unify containers, spacing, buttons, and lists
-------------------------------------*/

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    line-height: 1.2;
    margin-bottom: 0.75rem;
}

main h1 {
  font-size: 34px;
  font-weight: 700;
  color: #04326A;
}

main h2 {
  font-size: 28px;
  font-weight: 600;
  color: #9E2624;
}

main h3 {
  font-size: 24px;
  font-weight: 600;
  color: #156C99;
}

main h4 {
  font-size: 20px;
  font-weight: 500;
  color: #414042;
}

main h5 {
  font-size: 18px;
  font-weight: 500;
}

main h6 {
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Standard vertical rhythm for content sections only */
main section,
main > .wp-block-group,
main > .container > .wp-block-group,
main .wp-block-media-text,
.space-content,
.blockicon__content,
.share-voting__content,
[class*="banner-"]:not(header):not(footer),
.card-featured-pages .row > div {
    margin-bottom: 35px !important;
}

.listevent,
.space-inside .wp-block-group{
  margin-bottom: 10px;
}


/* Remove container padding when inside basicpage-block */
.basicpage-block .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Remove unintended left indentation on buttons */
.btn,
button,
input[type="submit"],
.btn-group .btn {
    margin-left: 0 !important;
}

/* Normalize list indentation and spacing */
.wrapp-content ul,
.wrapp-content ol,
.entry-content ul,
.entry-content ol,
ul.wp-block-list,
ol.wp-block-list {
    padding-left: 2.5rem;
    margin-bottom: 1rem;
}
.wrapp-content ul ul,
.wrapp-content ol ol,
.entry-content ul ul,
.entry-content ol ol,
ul.wp-block-list ul,
ol.wp-block-list ol {
    margin-bottom: 0.5rem;
}

/* Ensure list markers are inside for accessibility and alignment */
ul { list-style-position: outside; }
ol { list-style-position: outside; }
