@font-face {
  font-family: "Berlin";
  src: url("../fonts/Berlin-Regular.eot");
  src: url("../fonts/Berlin-Regular.eot?#iefix") format("embedded-opentype"),
    url("../fonts/Berlin-Regular.woff2") format("woff2"),
    url("../fonts/Berlin-Regular.woff") format("woff"),
    url("../fonts/Berlin-Regular.svg#Berlin-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font: inherit;
  max-height: 1000000em; /* Chrome for Android */
  -moz-text-size-adjust: none; /* Firefox Mobile */
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html,
body {
  height: 100%;
}
img,
picture,
svg {
  max-width: 100%;
  display: block;
}
ul,
ol {
  list-style: none;
}

/*
    ====== General ======
*/

body {
  background-color: #ffffff;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.3em;
  margin: 0 auto;
  color: #003f64;
}
h1,
h2,
h3 {
  font-weight: 700;
  line-height: 1.25em;
}
p {
  font-size: 22px;
  padding: 0 0 1em 0;
  line-height: 1.365em;
  margin: 0;
}
p > b {
  font-weight: 700;
  color: #3bc3b4;
}
.main-container {
  position: relative;
  overflow: hidden;
  /*    min-width: 1920px;*/
}
.container {
  width: 100%;
  max-width: 1420px;
  /*    width: 1420px!important;*/
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
}
caption {
  display: table-caption;
}
ul {
  list-style: none;
}
.nowrap {
  white-space: nowrap;
}
.menu-bar {
  position: fixed;
  top: 0;
  background-color: #caf3f1;
  border-bottom: 5px solid #003f64;
  z-index: 100;
  width: 100%;
}
.menu-bar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 75px;
}
.logo {
  width: 26%;
}
.logo img {
  max-width: 77px;
}
.navbar-nav {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
}
.navbar-nav li {
}
.navbar-nav li + li {
  margin-left: 30px;
}
.navbar-nav li > a {
  font: 700 14px/19px "Inter", sans-serif;
  color: #003f64;
  text-transform: uppercase;
  text-decoration: none;
}
.center {
  clear: both;
  content: "";
  display: block;
  margin: 0 auto;
  max-width: 1020px;
  width: 100%;
  padding: 0 10px;
  box-sizing: border-box;
  text-align: center;
}
.center-bg {
  width: 100%;
  max-width: 1920px;
  /*		width: 1920px;*/
  margin: 0 auto;
  padding: 0 0 40px 0;
  position: relative;
  z-index: 20;
}
.hero-img {
  width: 1592px;
  position: absolute;
  top: 0;
  left: -200px;
}
.hero-content-inner {
  max-width: 656px;
  margin: 0 auto;
  padding-left: 36%; /* 500 in px */
  box-sizing: content-box;
}

.hero-section {
  min-height: 1017px;
  background: #ffead5 url(../images/center-bg2_lg.jpg) top 69px center no-repeat;
  background-size: auto 949px;
  position: relative;
  text-align: center;
}
.hero-content .container {
  position: relative;
}
.hero-logo-wrap {
  display: inline-block;
  width: 100%;
  margin-top: -80px;
}
.suarez-mb-logo {
  max-width: 640px;
  margin: 0 auto;
}
.title-box {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 15px 30px 25px;
  text-align: center;
  max-width: 656px;
  margin: -208px auto 25px;
  position: relative;
  z-index: 20;
}
.main-title {
  font: 400 50px/1.1em "Berlin", sans-serif;
  margin: 0;
}
.main-title:after {
  content: "";
  display: block;
  margin: 0 auto;
  background: url(../images/star-line.svg) center no-repeat;
  background-size: 100% auto;
  width: 105px;
  height: 50px;
}
.sub-title {
  font: 400 30px/1em "Berlin", sans-serif;
  text-transform: uppercase;
  padding-bottom: 0.6em;
}
.sub-title > span {
  color: #3bc3b4;
}
.ct-details {
  display: flex;
  justify-content: center;
}


.connect-form .content-top, .message-sent [id^="icontactSignupFormWrapper"] { display: none; }
.message-sent .connect-form .content-top { display: block; }

@media screen and (max-width: 1419px) {
  .ct-details {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .ct-details > div {
    margin-bottom: 10px;
  }
}

.ct-details div > span {
  font: 400 18px/1em "Berlin", sans-serif;
  margin: 0 12px;
  display: flex;
  align-items: center;
}
.ct-details div > span:before {
  content: "";
  display: inline-block;
  margin-right: 5px;
}
.ct-number:before {
  width: 20px;
  height: 22px;
  background: url(../images/phone.svg) center no-repeat;
  background-size: contain;
}
.ct-email:before {
  width: 21px;
  height: 21px;
  background: url(../images/mail.svg) center no-repeat;
  background-size: contain;
}
.connect-wrap {
  margin: 0 auto 25px;
  max-width: 465px;
}
.election-2023 {
  margin: 0 auto;
  max-width: 766px;
  background-color: #003f64;
  border-radius: 10px;
  padding: 35px 20px;
}
.election-2023 p {
  font: 400 33px/1.35em "Berlin", sans-serif;
  color: #ecf3f7;
  text-transform: uppercase;
  text-align: center;
  padding-bottom: 0;
}
.election-2023 p span.e-date {
  color: #3bc3b4;
  text-transform: none;
}

.intro-section {
  padding: 48px 0 130px 0;
  background: url(../images/backPalm.jpg) center top;
  background-size: cover;
}
.in-content-wrap {
  display: flex;
  background: transparent;
  margin-bottom: 25px;
}
.in-content-wrap p {
  flex: 1;
  padding: 60px 30px 1em 0;
}
.in-img-wrap {
  width: 460px;
  margin-top: -104px;
}
.in-img-wrap > div {
  position: relative;
}
.in-img-wrap > div:after {
  content: "";
  display: inline-block;
  width: 443px;
  height: 42px;
  position: absolute;
  left: 0;
  top: 98%;
  background: url(../images/accent.svg) center no-repeat;
  background-size: 100% auto;
}
.david-top-img {
  max-width: 400px;
  margin: 0 auto;
}
.intro-section .election-2023 {
  margin: 0 0 0 20px;
}
.platform-box {
  /*		background-color: #EFECE5;*/
  background: url(../images/platform-lead-bg.svg) center no-repeat;
  background-size: 100% auto;
  max-width: 1167px;
  margin: -109px auto 46px;
  padding: 65px 65px;
  position: relative;
  z-index: 10;
}
.platform-box p {
  text-align: center;
  font: 400 35px/1.3em "Inter", sans-serif;
  padding-bottom: 0;
}
.platform-panel {
  max-width: 1155px;
  margin: 0 auto;
  background-color: #efece5;
  border-radius: 10px;
}
.platform-list {
  padding: 0;
  margin: 0 0 70px 0;
}
.platform-list li {
  padding: 24px 50px 24px 18px;
}
.platform-list li:nth-child(even) {
  background-color: #e5dfd0;
}
.platform-list li h3 {
  font-size: 19px;
  font-weight: 800;
  margin: 0;
  position: relative;
  padding-left: 0;
}
.platform-list li h3:after {
  content: "+";
  font-size: 30px;
  font-weight: 500;
  position: absolute;
  right: -30px;
  top: 0;
}
/* .platform-list a[aria-expanded="true"] h3 {
  font-size: 33px;
} */
.platform-list a[aria-expanded="true"] h3:after {
  content: "-";
}
.platform-list li a {
  text-decoration: none;
  color: #003f64;
}
.platform-list li p {
  font-size: 15px;
  line-height: 1.6em;
  padding: 0;
  margin: 10px 0 0 0;
}
.activism-section {
  margin-bottom: 89px;
}
.activism-section .container {
  display: flex;
}
.ac-pic-box {
  width: 421px;
}
.ac-pic-img {
  position: relative;
}
.ac-pic-img:after {
  content: "";
  display: inline-block;
  width: 502px;
  height: 42px;
  position: absolute;
  bottom: -25px;
  left: -40px;
  background: url(../images/accent.svg) center no-repeat;
  background-size: 100% auto;
}
.ac-pic-box h2 {
  background-color: #003f64;
  text-align: center;
  font: 700 33px/1.2em "Inter", sans-serif;
  color: #ffffff;
  margin: 0;
  padding: 13px 30px;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}

@media screen and (max-width: 1450px) {
}

.com-panel {
  flex: 1;
  text-align: center;
  padding: 0 0 0 40px;
}
.com-h2 {
  font: 800 35px/40px "Inter", sans-serif;
}
.com-h2:after {
  content: "";
  display: block;
  margin: 0 auto;
  background: url(../images/star-line.svg) center no-repeat;
  background-size: 100% auto;
  width: 139px;
  height: 60px;
}
.com-text {
  padding-bottom: 1.5em;
}
.view-sofi {
  text-transform: uppercase;
  text-decoration: none;
  background-color: #efece5;
  border: 2px solid #003f64;
  border-radius: 14px;
  max-width: 368px;
  display: block;
  margin: 0 auto;
  padding: 19px 20px;
  font: 700 25px/1em "Inter", sans-serif;
  color: #003f64;
}
.view-sofi:hover,
.view-sofi:focus {
  background-color: #e5dfd0;
}
.davids-bg {
  margin-bottom: 50px;
}
.davids-bg .container {
  padding: 0;
  background: url(../images/db-bg.jpg) top center no-repeat;
  background-size: cover;
}
.db-box {
  display: flex;
}

.db-content {
  flex: 1;
  text-align: center;
  padding: 82px 0 59px 50px;
}
.db-pic {
  width: 439px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.db-pic img {
  max-width: 315px;
  margin: 0 auto;
}
.db-h2 {
  font: 600 35px/40px "Inter", sans-serif;
}
.db-h2:after {
  content: "";
  display: block;
  margin: 10px auto 0;
  background: url(../images/star-line.svg) center no-repeat;
  background-size: 100% auto;
  width: 139px;
  height: 50px;
}

.endt-wrapper {
  padding: 0 0 20px 0;
  max-width: 1100px;
  margin: 0 auto;
}
.endt-wrapper li {
  display: flex;
  margin-bottom: 25px;
}
.endt-avatar {
  width: 180px;
}
.endt-h2 {
  font: 800 35px/40px "Inter", sans-serif;
  text-align: center;
}
.endt-h2:after {
  content: "";
  display: block;
  margin: 0 auto;
  background: url(../images/star-line.svg) center no-repeat;
  background-size: 100% auto;
  width: 139px;
  height: 60px;
}
.endt-text-content {
  padding: 0 0 0 2.5em;
  flex: 1;
}
.endorser {
  font-weight: 700;
  text-transform: uppercase;
  padding-top: 10px; 
  margin-bottom: .7rem;
}
.endorsement-section .election-2023 {
    margin-bottom: 50px;
}

@media screen and (max-width: 1023px) {
  .db-box {
    flex-direction: column-reverse;
    padding: 50px 30px 30px 30px;
  }

  .db-pic {
    width: auto;
  }

  .db-content {
    padding: 30px 30px 0;
  }
  .endt-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .endt-wrapper li {
    width: 47.5%;
  }
  .endorser {
    font-size: 19px;
    padding-top: 0;
  }
  .endt-desc {
    font-size: 16px;
  }
  .endt-avatar {
    width: 140px;
  }
  .endt-text-content {
    padding-left: 1em;
  }
}

.donate-box {
  max-width: 941px;
  margin: 0 auto;
  background-color: #003f64;
  color: #ffffff;
  text-align: center;
  padding: 50px 75px 25px;
  position: relative;
}
.donate-box:after {
  content: "";
  display: inline-block;
  width: 1044px;
  height: 40px;
  position: absolute;
  bottom: -39px;
  left: -41px;
  background: url(../images/donate-bottom-bg2.jpg) center no-repeat;
  background-size: 100% auto;
}
.dn-h2 {
  font: 700 33px/40px "Inter", sans-serif;
  margin-bottom: 10px;
}
.dn-text {
  font-size: 18px;
  line-height: 1.55em;
}
.donate-section .election-2023 {
  margin-bottom: 50px;
}
.campaign-wrap {
  background-color: rgba(238, 242, 245, 0.59);
  padding: 75px 50px 45px 50px;
  max-width: 923px;
  margin: 0 auto;
}
.campaign-inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
.campaign-email {
  max-width: 400px;
}
.email-box {
  background-color: #efece5;
  color: #000000;
  text-align: center;
  padding: 50px 20px 40px 20px;
  border-radius: 10px;
}
.email-md {
  margin: 0 auto 30px;
  max-width: 123px;
}
.payable {
  font-size: 15px;
  padding-bottom: 0.5em;
}
.payee {
  font-size: 28px;
  font-weight: 400;
  margin: 0;
  padding: 0;
}
.max-contri {
  font-size: 15px;
  color: #3e3e3e;
  text-align: center;
  width: 85%;
  margin: 0 auto;
}
.form-temp {
  max-width: 389px;
}
.resource-box {
  max-width: 941px;
  margin: 0 auto;
  background-color: #003f64;
  color: #ffffff;
  text-align: center;
  padding: 50px 75px 25px;
  border-radius: 10px;
  margin-bottom: 55px;
  position: relative;
}
.resource-box:before {
  content: "";
  display: inline-block;
  width: 1044px;
  height: 40px;
  position: absolute;
  top: -30px;
  left: -41px;
  background: url(../images/donate-bottom-bg2.jpg) center no-repeat;
  background-size: 100% auto;
  transform: scaleY(-1);
}
.rd-img-wrap img {
  margin: 0 auto;
  max-width: 140px;
}
.round-wrap {
  display: flex;
  flex-wrap: wrap;
}
.round-wrap > div {
  flex: 1;
}
.rd-desc {
  font: 700 15px/1.2em "Inter", sans-serif;
}
.rs-h2 {
  font: 700 33px/1.2em "Inter", sans-serif;
  color: #43e5d3;
  text-transform: uppercase;
  margin-bottom: 25px;
}
.rs-text {
  font-size: 18px;
  line-height: 1.55em;
}
.miami-dade-election-website {
  color: #3bc3b4;
}
.bt-section {
  text-align: center;
}
.bt-section .container {
  padding: 40px 25px 50px 25px;
  background: url(../images/bt-bg.jpg) center top no-repeat;
  background-size: cover;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
.sub-title-bt {
  font: 400 35px/1.35em "Berlin", sans-serif;
  text-transform: uppercase;
  padding-bottom: 0.6em;
}
.sub-title-bt > span {
  color: #3bc3b4;
}
.ad-disc {
  font: 500 18px/20px "Inter", sans-serif;
  color: #3e3e3e;
}
.star-line {
  margin: 0 auto;
  background: url(../images/star-line.svg) center no-repeat;
  background-size: 100% auto;
  width: 150px;
  height: 70px;
}
.bt-section .election-2023 {
  margin-bottom: 55px;
}
.social {
  display: flex;
  justify-content: center;
}
.social span {
  display: block;
}
.social span > a {
  width: 30px;
  height: 30px;
  margin: 0 8px;
  border: none;
  display: block;
  opacity: 0.9;
}
.social span > a.fb {
  background: url(../images/fb.svg) center no-repeat;
  background-size: 100% auto;
}
.social span > a.ig {
  background: url(../images/ig.svg) center no-repeat;
  background-size: 100% auto;
}
.social span > a:hover,
.social span > a:focus {
  opacity: 1;
}
.bt-section .ct-details div > span {
  font-size: 19px;
}
.connect-box {
  border-radius: 10px;
  background: #ffffff;
}
.ct-h3 {
  background: #003f64;
  color: #ffffff;
  text-transform: uppercase;
  font: 400 23px/1em "Berlin", sans-serif;
  display: flex;
  align-items: center;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  padding: 16px 25px;
  margin: 0;
}
.ct-h3 > span {
  color: #3bc3b4;
}
.ct-h3:before {
  content: "";
  display: block;
  width: 31px;
  height: 31px;
  background: url(../images/mail.svg) center no-repeat;
  background-size: contain;
  margin-right: 15px;
}
.connect-form {
  padding: 15px;
}
.connect-form input {
  display: block;
  width: 100%;
  border-radius: 5px;
  padding: 16px 20px;
  font-size: 15px;
}
.name-ct,
.email-ct {
  margin-bottom: 13px;
  border: 1px solid #9fb0ba;
}
input.connect-submit {
  max-width: 330px;
  margin: 0 auto;
  border: none;
  background: #3bc3b4;
  color: #ffffff;
  text-transform: uppercase;
  font: 700 17px/1em "Inter", sans-serif;
  padding: 20px;
}
input.connect-submit:hover,
input.connect-submit:focus {
  background: #30bcad;
}
.campaign-form {
  background: #e1e6ea;
  border-radius: 10px;
  padding: 33px;
  max-width: 400px;
  padding: 33px 33px 15px 33px;
}
.cp-form-h3 {
  text-align: center;
  font: 400 33px/35px "Berlin", sans-serif;
  margin-bottom: 25px;
  margin-top: 25px;
}
.campaign-form input[type="text"] {
  display: block;
  width: 100%;
  border-radius: 5px;
  padding: 16px 20px;
  font-size: 15px;
  margin-bottom: 15px;
  margin-bottom: 13px;
  border: 1px solid #9fb0ba;
}

@media screen and (max-width: 440px) {
  .ct-h3 {
    position: relative;
    padding-left: 70px;
    text-align: left;
    display: inline-block;
    min-height: 63px;
    padding-top: 20px;
    line-height: 1.3em;
  }

  .ct-h3::before {
    position: absolute;
    top: 16px;
    left: 25px;
  }
}

@media screen and (max-width: 520px) {
  body.es .ct-h3 {
    position: relative;
    padding-left: 70px;
    text-align: left;
    display: inline-block;
    min-height: 63px;
    padding-top: 20px;
    line-height: 1.3em;
  }

  body.es .ct-h3::before {
    position: absolute;
    top: 16px;
    left: 25px;
  }
}

@media screen and (max-width: 960px) {
  .campaign-inner {
    flex-direction: column;
  }

  .campaign-email {
    width: 100%;
    margin-bottom: 30px;
    max-width: 100%;
  }

  .campaign-email .email-box {
    padding: 30px;
  }

  .campaign-form {
    width: 100%;
    max-width: 100%;
    padding: 30px;
  }
}

.input-label {
  font: 500 15px/1em "Inter", sans-serif;
  color: #6c7d88;
  padding-left: 19px;
  margin-bottom: 5px;
}
.name-group {
  display: flex;
}
.name-group input {
  flex: 1;
}
.campaign-form input.fname-cp {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.campaign-form input.lname-cp {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-left: none;
}
.checkbox-label {
  font: 500 15px/1em "Inter", sans-serif;
  color: #6c7d88;
}
.checkbox-wrap {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
.checkbox-wrap input {
  margin-right: 3px;
}
.address-wrap {
  padding-top: 5px;
}
.donate-button {
  display: block;
  width: 100%;
  background: #003f64;
  color: #ffffff;
  border: none;
  font: 500 18px/1em "Inter", sans-serif;
  padding: 19px 20px;
  margin-bottom: 13px;
  border-radius: 5px;
}
.donate-button:hover,
.donate-button:focus {
  background: #01304d;
}
.form-disclaimer {
  text-align: center;
  font: 400 11px/15px "Inter", sans-serif;
  color: #3e3e3e;
  width: 68%;
  margin: 0 auto;
}
.form-disclaimer > a {
  text-decoration: none;
  color: #337cc6;
}
.payment-panel {
  border-radius: 5px;
  background: #ffffff;
  border: 1px solid #9fb0ba;
  padding: 13px;
  margin-bottom: 13px;
}
.payment-form-input {
  border: 1px solid #9fb0ba;
  border-radius: 5px;
}
.payment-form-input input {
  border: none;
}
.payment-method-label {
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  border-color: transparent;
}
.payment-method-label > li button {
  font: 400 15px/2em "Inter", sans-serif;
  position: relative;
}
.payment-method-label button.nav-link {
  color: #003f64;
}
.payment-method-label button.nav-link:after {
  content: "";
  display: block;
  width: calc(100% - 32px);
  height: 1px;
  background-color: #9fb0ba;
  position: absolute;
  left: 16px;
  bottom: 6px;
  opacity: 0;
}
.payment-method-label button.nav-link.active:after {
  opacity: 1;
}
.payment-method-label button.nav-link:hover {
  border-color: transparent;
}
.payment-method-label button.nav-link.active {
  font-weight: 700;
  color: #003f64;
  border-color: transparent;
}
.payment-method-label button.nav-link.active:hover {
  border-color: transparent;
}
.credit-card-field {
  position: relative;
}
.credit-card-field .CardBrandIcon-container {
  width: 28px;
  top: 17px;
  left: 10px;
  perspective: 1000px;
  z-index: 2;
  position: absolute;
}
.CardBrandIcon-inner img {
  visibility: hidden;
  position: absolute;
}
.CardBrandIcon-inner img.default-card-icon {
  visibility: visible;
}
#ccInfoData {
  display: flex;
}
#cc_number {
  width: 100%;
  padding: 16px 20px 16px 45px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom: 1px solid #9fb0ba;
  outline: none;
}
#ccInfoData input {
  flex: 1;
  width: 90px;
  padding: 16px 10px;
  outline: none;
  border-radius: 5px;
}
#pay-paypal {
  background: url(../images/paypal.png) center no-repeat;
  background-size: 57px auto;
  color: transparent;
}
.bt-section .social {
  margin-bottom: 26px;
}
.bt-section .social span > a {
  width: 38px;
  height: 38px;
  margin: 0 12px;
}
.lang > a {
  padding: 9px 22px;
  border-radius: 20px;
  border: 1px solid #003f64;
  font: 700 15px/1em "Inter", sans-serif;
  text-decoration: none;
  color: #003f64;
}
.lang > a:hover {
  background-color: rgb(255 255 255 / 50%);
}

.hidden {
  display: none;
}
.parsley-error {
  outline: red auto 1px;
}
.red-text,
.parsley-errors-list li {
  color: red;
}
.bs-callout > p {
  padding-bottom: 0.1em;
}

.content-top .success-message,
.message-sent .connect-form form,
.message-sent .connect-form .bs-callout {
  display: none;
}
.message-sent .content-top .success-message {
  display: block;
}
.payment-icons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 210px;
  margin: 0 auto 35px;
}
.payment-icons > div {
  flex: 1;
}
.visa-p {
  width: 64px;
}
.maestro-p {
  width: 55px;
}
.paypal-p {
  width: 75px;
  margin-left: 2px;
}
a.donate-anedot {
  display: block;
  background-color: #003f64;
  color: #ffffff;
  margin: 0 auto;
  padding: 19px 20px;
  font: 500 18px/1em "Inter", sans-serif;
  border-radius: 5px;
  text-decoration: none;
  text-align: center;
}
.donate-anedot:hover,
.donate-anedot:focus {
  background-color: #013757;
}

.menu {
  flex-basis: auto;
  flex-grow: inherit;
}
.menu-list {
  flex-direction: row;
}

.menu-link-wrap {
  display: none;
  margin-right: 20px;
}
.btn-mobile-menu-link {
  font: normal 26px/1.8em "ProximaNova-Regular", Helvetica, sans-serif;
  color: #ffffff;
  text-transform: uppercase;
  text-align: right;
  background: none;
  border: none;
}
.hamburger {
  padding: 15px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}

.hamburger:hover {
  opacity: 0.7;
}

.hamburger.is-active:hover {
  opacity: 0.7;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #3f2b4f;
}

.hamburger-box {
  width: 30px;
  height: 20px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: 30px;
  height: 4px;
  background-color: #215273;
  /*border-radius: 4px;*/
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
  content: "";
  display: block;
  left: 0;
}

.hamburger-inner::before {
  top: -10px;
}

.hamburger-inner::after {
  bottom: -10px;
}

/*
	* Spin
	*/
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin .hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.hamburger--spin .hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in,
    transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spin.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.hamburger--spin.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease-out,
    transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.menu-bar-options {
  background-color: #004064;
  color: #ffffff;
}

.navbar-toggler {
  border: none;
  outline: none;
}
.navbar-toggler:focus {
  box-shadow: none;
}
.navbar-toggler.is-active .hamburger-inner,
.navbar-toggler.is-active .hamburger-inner::before,
.navbar-toggler.is-active .hamburger-inner::after {
  background-color: #4394d0;
}

.nav-link {
  font: normal 18px/1em "ProximaNova-Bold", Helvetica, sans-serif;
  color: #ffffff;
}

/* Spanish Edits */

.es .ct-h3 {
  font-size: 18px;
}
.es .election-2023 {
  padding: 20px;
}
.es .election-2023 p {
  line-height: 1.2em;
}
.es .platform-box {
  padding: 75px 65px;
}
.es .platform-box p {
  font-size: 25px;
}
.es .in-img-wrap:after {
  top: calc(
    100% - 104px
  ); /* 104px the negative top margin  I put in there, redo this if I have time */
}

@media screen and (max-width: 1419px) {
  .menu {
    display: none;
  }
  .lang {
    order: 2;
  }
  .logo {
    order: 3;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
  }
  .social {
    order: 4;
    margin-right: 0;
    margin-left: auto;
    width: 95px;
    display: inline-flex;
  }

  .menu-link-wrap {
    display: block;
    order: 1;
  }
  .menu-bar-options .navbar-title {
    display: none;
  }
  .menu-bar-options .navbar-nav {
    flex-direction: column;
    width: 100%;
  }
  .menu-bar-options .nav-link {
    font: normal 26px/2em "ProximaNova-Bold", Helvetica, sans-serif;
    padding-left: 20px;
  }
  .menu-bar-options .container {
    max-width: 580px;
    box-sizing: content-box;
  }
  .menu-bar-options .navbar {
    padding: 0;
  }
  .menu-bar-options .navbar-nav li + li {
    border-top: 1px solid #000a0f;
    margin-left: 0;
  }
  .menu-bar-options .navbar-nav li {
    margin-left: 0;
  }
  .menu-bar-options .navbar-nav li > a {
    color: #fff;
    text-transform: capitalize;
  }
  .menu-bar-options .navbar-nav li > a:hover {
    color: var(--bs-nav-link-hover-color);
  }
  .menu-bar-options .navbar-toggler {
    display: block;
  }
  .menu-bar-options .navbar-toggler {
    display: flex;
    align-items: center;
  }
  .menu-link-wrap {
    position: relative;
  }
  .menu-link-wrap-inner {
    display: flex;
    display: flex;
    align-items: center;
  }
  .menu-link-wrap > .arrow {
    /* triangle */
    display: none;
    content: "";
    width: 0;
    height: 0;
    border-left: 22px solid transparent;
    border-right: 22px solid transparent;
    border-top: 22px solid #004064;
    position: absolute;
    bottom: -65px;
    right: 0;
  }
  .menu-bar .container {
    justify-content: unset;
  }

  .hero-section {
    background-position: top 78px center;
    background-size: auto 849px;
    min-height: 927px;
  }
  .suarez-mb-logo {
    max-width: 620px;
  }
  .title-box {
    padding: 25px;
    max-width: 540px;
  }
  .main-title {
    font-size: 43px;
  }
  .sub-title {
    font-size: 25px;
  }
  .ct-details div > span {
    font-size: 16px;
  }
  .ct-email:before {
    width: 18px;
    height: 18px;
  }
  .ct-number:before {
    width: 16px;
    height: 17px;
  }
  .center-bg {
    padding-bottom: 0;
  }
  .main-title:after {
    width: 90px;
    height: 40px;
  }
}

@media screen and (max-width: 1200px) {
  .election-2023 {
    max-width: 700px;
    padding: 28px 20px;
  }
  .election-2023 p {
    font-size: 30px;
  }
  .intro-section .election-2023 {
    margin: 0;
  }
  .platform-section {
    margin-top: 0;
  }
  .platform-box {
    margin-top: -103px;
  }
  .platform-box p {
    font-size: 30px;
  }
}

@media screen and (max-width: 1080px) {
  .hero-content-inner {
    padding-left: unset;
  }
  .hero-logo-wrap {
    display: none;
  }
  .title-box {
    background-color: transparent;
    padding-top: 104px;
    margin: 0 auto 466px;
  }
  .main-title {
    font-size: 43px;
  }
  .hero-section {
    background: #ffead5 url(../images/suarez-fam2_m_wide2.jpg) top 52px center
      no-repeat;
    background-size: auto 1100px;
  }
  .connect-wrap {
    max-width: 500px;
    margin-bottom: 0;
    padding-bottom: 25px;
  }
  .in-content-wrap {
    flex-direction: column-reverse;
  }
  .in-img-wrap {
    margin: 0 auto;
  }
  .in-content-wrap p {
    padding-right: 0;
  }
  .intro-section .election-2023 {
    margin: 0 auto 30px;
  }
  .platform-box {
    background-size: auto 224px;
    padding: 65px 65px;
    width: calc(100% + 60px);
    margin-left: -30px;
  }
  .platform-box p {
    font-size: 28px;
  }
  .activism-section .container {
    flex-direction: column;
  }
  .ac-pic-box {
    margin: 0 auto 50px;
  }
  .com-panel {
    padding: 0;
  }
  .activism-section {
    margin-bottom: 55px;
  }
}

@media screen and (max-width: 698px) {
  .election-2023 {
    padding: 20px;
  }
  .platform-box p {
    font-size: 25px;
  }
  .platform-box {
    padding-left: 45px;
    padding-right: 45px;
  }
  .in-content-wrap p {
    font-size: 21px;
  }
  .com-text {
    font-size: 21px;
  }
}

@media screen and (max-width: 720px) {
  .endt-wrapper {
    flex-direction: column;
    max-width: 600px;
  }
  .endt-wrapper li {
    width: 100%;
    flex-direction: column;
    text-align: center;
    align-items: center;
    margin-bottom: 15px;
  }
  .endt-text-content {
    padding-left: 0;
  }
  .endt-avatar {
    margin-bottom: 12px;
  }
  .endorser {
    margin-bottom: .5rem;
  }
  .endt-desc {
    font-size: 17px;
  }
}

@media screen and (max-width: 590px) {
  .hero-section {
    background-position: top 80px center;
    background-size: auto 1000px;
  }
  .title-box {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 460px;
  }
  .main-title {
    font-size: 40px;
  }
  .sub-title {
    font-size: 22px;
  }

  .ct-details div > span {
    font-size: 13px;
  }
  .platform-box {
    background-size: auto 286px;
  }

  body.es .platform-box {
    background-size: auto 460px;
  }

  .platform-box p {
    font-size: 23px;
  }
  .resource-box {
    padding: 50px 25px 25px;
  }
  .campaign-wrap {
    padding: 75px 35px 45px 35px;
  }
  .sub-title-bt {
    font-size: 28px;
  }
  .bt-section .ct-details {
    flex-direction: column;
  }
  .bt-section .ct-details > div {
    margin-bottom: 14px;
  }
  .ad-disc {
    font-size: 17px;
  }
}
@media screen and (max-width: 550px) {
  .ct-h3 {
    font-size: 22px;
  }
  .in-content-wrap p {
    font-size: 20px;
  }
  .db-text {
    font-size: 21px;
  }
  .donate-box {
    padding: 50px 50px 25px;
  }
  .com-text {
    font-size: 20px;
  }
}
@media screen and (max-width: 499px) {
  .main-title {
    font-size: 35px;
  }
  .sub-title {
    font-size: 21px;
  }
  .ct-details div > span {
    margin: 0 7px;
  }
  .ct-h3 {
    font-size: 19px;
  }

  .david-top-img {
    max-width: 330px;
  }

  .election-2023 p {
    font-size: 24px;
  }
  .in-img-wrap {
    width: 100%;
  }
  .in-img-wrap > div::after {
    left: -21px;
  }
  .ac-pic-box h2 {
    font-size: 31px;
  }
  .ac-pic-box {
    width: 100%;
  }
  .com-h2 {
    font-size: 33px;
  }
  .com-text {
    font-size: 19px;
    padding-bottom: 2em;
  }
  .db-content {
    padding-left: 0;
    padding-right: 0;
  }
  .donate-box {
    padding-left: 40px;
    padding-right: 40px;
  }
  .payee {
    font-size: 23px;
  }
  .round-wrap > div {
    max-width: 200px;
    margin: 0 auto;
  }
  .resource-box {
    margin-bottom: 35px;
  }
  .sub-title-bt {
    font-size: 21px;
  }
  .rs-text {
    font-size: 16px;
  }
}

@media screen and (max-width: 400px) {
  .main-title {
    font-size: 30px;
  }
}


.endorsement2-section { padding: 40px 0; }
.endorsement-list { 
  display: flex; 
  flex-wrap: wrap; 
  justify-content: space-between; 
  align-items: center;
  gap: 40px; 
  margin: 0 auto;
  padding-left: 0;  
}
.endorsement2-section .endt-h2 { margin-bottom: .6em; }
.endorsement-list li { flex: 1; }
.endorsement-list li img { max-width:100%; display:block; margin: 0 auto; }
.endorsement-list li img.fop-logo { max-width: 252px; }
.endorsement-list li img.mbf-logo { max-width: 202px; }
.endorsement-list li img.cwa-logo { max-width: 214px; }
.endorsement-list li img.sbs-logo { max-width: 222px; }
.endorsement-list li img.sf-logo  { max-width: 171px; }

@media screen and (max-width: 1350px) {
  .endorsement-list { max-width: 1000px; }
}
@media screen and (max-width: 800px) {
  .endorsement-list { max-width: 600px; gap: 0 20px; }
  .endorsement-list li img.fop-logo { max-width: 201px; }
  .endorsement-list li img.mbf-logo { max-width: 161px; }
  .endorsement-list li img.cwa-logo { max-width: 171px; }
  .endorsement-list li img.sbs-logo { max-width: 177px; }
  .endorsement-list li img.sf-logo  { max-width: 145px; }
  .endorsement-list li:nth-child(3) { order: 4; }
  .endorsement-list li:nth-child(4) { order: 3; flex: 100%; }
  .endorsement-list li:nth-child(5) { order: 5; }
}
@media screen and (max-width: 600px) {
  .endorsement-list { max-width: 400px; gap: 0 10px; }
  .endorsement-list li img.fop-logo { max-width: 150px; }
  .endorsement-list li img.mbf-logo { max-width: 120px; }
  .endorsement-list li img.cwa-logo { max-width: 128px; }
  .endorsement-list li img.sbs-logo { max-width: 132px; }
  .endorsement-list li img.sf-logo  { max-width: 112px; }

}