  /* =========================
     MOBILE
  ========================= */

.gtco-nav {
  padding: 20px 0;
}

.navbar-top {
  margin-top: 1.5em;
}

.logo-top {
  max-width: 35vw;
  padding-left: unset;
}

.main-nav ul {
  gap: 0;
  max-width: 65vw;
  height: 100%;
  overflow: hidden;
}

.main-nav ul li {
  width: calc(65vw / 2);
  margin: 0 -22px 0 -10px;
}

.main-nav ul li a {
  width: 100%;
  max-width: 90%;
  height: 40px;
  font-size: 7px;
  font-weight: 500;
  padding: 0 30px 10px 0;
}

.main-nav {
  width: 100%;
}

.main-nav ul li a::before {background-size: 80%;}

.main-nav ul li:nth-child(1) a {padding: 0 0 10px 0;}
.main-nav ul li:nth-child(3) a {margin: -34px 0 0 -8px;}
.main-nav ul li:nth-child(4) a {margin: -34px 0 0 0; padding: 0 25px 10px 0;}

    .candidate-profile {
      grid-template-columns: 1fr;
      padding: 0;
      gap: 30px;
      background: transparent;
      margin: 0;
    }

    .candidate-name {
      font-size: 36px;
      margin: 0 0 20px;
    }

    .candidate-number-block .number {
        font-size: 90px;
    }
    .section-title {
        margin-bottom: 10px;
    }
    .section-title span {
        font-size: 16px;
        height: 32px;
        padding: 0 8px;
    }

    .stripe {
        height: 32px;
    }
    .stripe::after {
      width: 140px;
      height: 32px;
      margin: 0 -2px;
    }

    .content-section li,
    .content-section p {
        font-size: 14px!important;
    }

    .campaign-title {
        font-size: 20px;
        line-height: 1.5;
    }
    .info-item {margin-bottom: 15px;}

    .info-item div {
        font-size: 26px;
    }

/* ===================================
   modal popup
=================================== */
.modal-content{width:100%;}
.candidate-detail-wrap{grid-template-columns:1fr; gap:20px;}
.candidate-district{font-size:34px;}
.candidate-fullname{font-size:24px; margin: 15px 0 2em; min-height: unset;}
.candidate-modal-right .stripe {height: 32px;}
.candidate-modal-right .stripe::after {width: 140px; height: 32px; margin: 0 -2px;}
.candidate-modal-right .section-title{font-size:18px;}
.candidate-modal-right .section-content{font-size:16px;}
.party-logo-modal{height:40px;}

#gtco-blog {padding: 1em 0;}
#gtco-poster {margin-top: 2em;}

.gtco-card-item.has-text figure {margin-bottom: 10px !important;}

.follow-blog-1 {grid-template-columns: 1fr; margin-bottom: 10px;}
.follow-blog-1 h2 {font-size: 18px;}
.gtco-category, .gtco-category a {font-size: 12px; margin-bottom: 5px; line-height: 1;}
.gtco-title, .gtco-title a {font-size: 22px;}
.gtco-desc {font-size: 16px !important;}
.gtco-date {font-size: 10px !important;}

.follow-blog-2 {grid-template-columns: 1fr;}
.follow-blog-2 .gtco-card-item {display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px;}
.follow-blog-2 .gtco-title {font-size: 18px; line-height: 1; margin-top: 0; margin-bottom: 0;}
.follow-blog-2 .gtco-card-item .gtco-text p {margin-bottom: 0;}
.follow-blog-2 .gtco-card-item .gtco-text {padding: 0px;}
.follow-blog-2 .gtco-card-item.has-text figure {margin-bottom: 0 !important;}

.follow-blog-right h3.headline-latest {font-size: 12px; color: var(--color-green);}

.latest-news-block {border-bottom: 1px solid rgba(0, 102, 75, 1); padding-bottom: 10px; margin-bottom: 10px;}
.latest-news-block .gtco-title {font-size: 18px;}
.latest-news-block .gtco-card-item {grid-template-columns: 1fr;}
.latest-news-block .gtco-card-item .gtco-text {padding: 0;}

.main-container .btn-more {max-width: 90px; width: 85%;}

.btn-candidate {padding: 0 5px;}

.main-container.candidate-info {
  background: url('../images/bg/bg-candidate-information-bottom.webp') bottom center / 100% auto no-repeat,
    #000;
}

.election-101-container {
  background-image: url(../images/bg/bg-election-101-mobile.webp);
  padding-top: 3em;
}
.election-101-1 {gap: 20px;}
.election-101-1 img {width: 100%;}
.election-101-2 img {max-width: 60%; margin: auto;}

.gtco-section h2 {font-size: 20px;}

#gtco-election-101 .btn-more {margin: 2em auto 0;}
.analyse-blog {
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

#gtco-analyse::before {background-size: 50% 20%;}
.gtco-card-item .gtco-text {padding: 0;}
.video-overlay-play {width: 45px; height: 45px;}

.analyse-blog .gtco-title, .analyse-blog .gtco-title a {
  font-size: 18px; line-height: 1;
}


.governor .headline-text {margin: 0 auto 1em;}
.headline-text img {max-width: 225px;}

.candidate-block {gap: 15px; margin-bottom: 4em;}
.candidate-card {width: calc((100% - (15px * 2)) / 3);}

.governor .candidate-card .candidate-author .author-info {
  padding: 0;
  background: url('../images/bg/bg-governor-candidate-author-info-mobile.webp') no-repeat top left;
  background-size: 100% 100%;
}
.governor .candidate-card .candidate-author .author-info h4 {font-size: 12px; line-height: 1.25; padding: 0 0 10px 0; margin: 0; font-weight: 600;}
.governor .candidate-card .candidate-author .author-info {min-height: 60px;}
.governor .candidate-card .candidate-author .author-image {margin-left: 8px;}

.loading-spinner {width: 30px; height: 30px;}
.loading-text {font-size: 14px;}

.candidate-photo {
  margin-left: unset;
  margin-right: unset;
  margin-bottom: unset;
}

.candidate-photo figure {
    width: 85%;
    margin: 0 auto;
}

.candidate-left {
  display: grid;
  grid-template-columns: 55% auto;
  grid-gap: 20px;
}

.candidate-info {
  grid-column: 1 / -1;
}

.candidate-number-block .number {padding-right: unset; padding-left: 20px; margin-top: 20px;}
.candidate-number-block {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    border-top: 3px solid var(--green);
    border-bottom: 3px solid var(--green);
    padding-bottom: unset;
    margin-bottom: unset;
    margin-top: 50px;
}

.candidate-number-block .label {font-size: 24px;}
.info-item label {font-size: 20px; margin-bottom: unset;}
.candidate-name span {font-size: 24px;}

.candidate-right {padding-top: 0;}

#gtco-footer .footer-2 img {
  max-width: 165px;
  margin-bottom: 3em;
}

#gtco-footer .footer-block {
  grid-template-columns: 1fr;
}

#gtco-footer .footer-3 {margin-top: 20px;}
.gtco-social-icons img {width: 30px; height: auto;}

.img-line-bar {margin-top: 2em;}


/* ========================================
   Council Candidate
=========================================== */
.headline-text {margin: 2em auto;}
.party-block {
  gap: 20px 15px;
  margin-top: 0;
  margin-bottom: 6em;
}
.party-block .party-card {
    flex: 0 0 calc((100% - (15px * 2)) / 3);
    max-width: calc((100% - (15px * 2)) / 3);
}
.main-container.party {padding-bottom: 4em;}

.party-candidate-block {
    gap: 15px;
    width: 90%;
    margin: 0 auto 2em;
}

.party-logo {max-width: 85px;}
.party-name h2 {font-size: 20px; line-height: 1.25; margin-top: 0; margin-bottom: 5px;}
.party-name .bar-bottom {margin-top: unset;}
.party-name .bar-bottom img {height: 8px;}

.council-candidate .candidate-card {width: calc((100% - (15px * 2)) / 3);}
.council-candidate .candidate-card .candidate-author .author-info {
  padding: 0;
  background: url('../images/bg/bg-governor-candidate-author-info-mobile.webp') no-repeat top left;
  background-size: 100% 100%;
  min-height: 80px;
  padding-left: 12px;
}
.council-candidate .candidate-card .candidate-author .author-info h4 {font-size: 12px; line-height: 1.25; padding: 0; margin: 0; font-weight: 500;}
.council-candidate .candidate-card .candidate-author .author-image {margin-left: 8px;}
.council-candidate .candidate-card .candidate-author .author-info .author-district {font-size: 12px; margin-top: 8px; margin-bottom: 5px;}

.candidate-card .candidate-author .author-number span {font-size: 14px;}
.candidate-card .candidate-author .author-number {font-size: 9px;}
.candidate-card .candidate-author .author-image figure::before {
    bottom: 1px;
    right: 1px;
    width: 70px;
    height: 25px;
}

.candidate-detail-wrap {padding: 0;}
.candidate-modal-left {
    padding-top: 100px;
}

.candidate-photo img {max-width: 225px; margin: auto;}
.candidate-party {min-width: 285px;}

.candidate-modal-right {padding: 15px;}
.candidate-district, .candidate-fullname {padding-left: 0;}
.modal-close {top: -20px;}

.candidate-detail-wrap {background-size: 80% 15%, 100% auto, 100% 100%;}
.candidate-list li {padding-left: 1em; margin-bottom: .25em; font-size: 14px;}

.candidate-card .candidate-author .author-image {margin-bottom: -2px;}

.main-menu-candidate {
    position: relative;
    z-index: 1;
    grid-gap: 0;
    max-width: 50vw;
    margin-top: -1.25em;
}