/* Slider */
#slider { max-width: 100%; margin: auto; padding: 0 20px; }
#slider .carousel-inner { border-radius: 20px; overflow: hidden; }
#slider .slider-bgimage { width: 100%; aspect-ratio: 21 / 9; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #000; }
#slider .slider-bgimage img { width: 100%; height: 100%; border-radius: 0; object-fit: cover; }
#slider .carousel-item-next, #slider .carousel-item-prev, #slider .carousel-item.active { display: block !important; }
#slider .carousel-control-prev-icon, #slider .carousel-control-next-icon { background-image: none; font-size: 20px; color: #fff; width: auto; height: auto; line-height: 1; }
#slider .carousel-control-next-icon { margin: -8px; }
#slider .carousel-control-prev-icon i, #slider .carousel-control-next-icon i { padding: 8px 8px; border-radius: 30px; border: 2px solid #fff; width: 40px; height: 40px; }
#slider .carousel-control-prev-icon i:hover, #slider .carousel-control-next-icon i:hover { background: var(--primary-color); color: #fff; border: none; }
#slider a.carousel-control-prev, #slider a.carousel-control-next { right: 0; top: 80%; transform: translate(-50%); opacity: unset; width: 10%; }
#slider a.carousel-control-prev { left: 15.5%; }
#slider a.carousel-control-next { left: 20%; }
#slider .inner_carousel h1 { margin: 0; font-size: 32px; text-transform: capitalize; text-align: left; padding: 0px 10px; font-weight: 700; }
#slider .carousel-caption { top: 50%; transform: translateY(-50%); bottom: auto; padding: 0; text-align: left; left: 14%; right: 50%; }
#slider .inner_carousel h1 a { color: #fff; font-size: 32px; font-weight: 700; }
#slider .inner_carousel p { font-weight: normal; letter-spacing: 1px; font-size: 14px; font-weight: 400; line-height: 1.5; color: #fff; padding: 0px 10px; }
#slider .inner_carousel { text-align: left; color: #fff; }
#slider .read-btn i { font-size: 14px; }
#slider .read-btn a, .option a { padding: 10px 3px 10px 14px; font-size: 14px; color: #222; text-decoration: none; letter-spacing: 0px; background-color: #fff; border-radius: 30px; text-transform: capitalize; font-weight: 700; }
#slider .read-btn i, .option i { border-radius: 30px; background: #000; padding: 7px 13px; color: #fff; transition: all 0.4s ease; display: inline-flex; justify-content: center; }
#slider .read-btn a:hover, .option a:hover { background: var(--primary-color); color: #fff; }
#slider .read-btn:hover i, .option i:hover { color: var(--primary-color); background: #fff; }
#slider .read-btn { margin: 25px 0; padding: 0px 10px; }
.slider-small-text { font-size: 14px; letter-spacing: 1px; color: var(--primary-color); font-weight: 500; text-transform: uppercase; margin-left: 10px; }

/* Event Section */
#event-section { margin-top: 20px; background: url('../images/background-image.png') no-repeat bottom right; background-size: cover; }
#event-section .main-event-section { padding: 0 25px 0 0 !important; }
#event-section .post-title-main-heading1, #event-section .post-title-main-heading2 { font-size: 24px; font-weight: 600; }
#event-section .post-title-main-heading2 { color: var(--secondary-color); }
#event-section .post-para1 { line-height: 25px; font-weight: 300; }
#event-section .post-para2 { line-height: 29px; font-weight: 400; }

/* Footer */
.footertown { background: #000; }
#footer { border-top: 1px solid #fff; background: var(--primary-color); text-align: center; padding: 15px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 100; }
#footer p { text-align: center; font-size: 18px; color: #fff; font-weight: 600; }
#footer .socialicons a { color: #fff; font-size: 16px; padding: 5px; cursor: pointer; }
body { padding-bottom: 60px; }

.campaign-tagline { text-align: center; font-size: 48px; font-weight: 700; color: var(--primary-color); padding: 60px 20px; }

/* Header tagline - show on mobile under logo, desktop above menu */
.campaign-tagline-mobile { display: block; text-align: center; font-size: 14px; font-weight: 700; color: var(--primary-color); padding: 8px 10px; }
.campaign-tagline-desktop { display: none; }
@media (min-width: 1001px) { .campaign-tagline-desktop { display: block; position: absolute; top: 0; left: 100%; width: 500%; text-align: center; font-size: 18px; font-weight: 700; color: var(--primary-color); padding: 5px 0; z-index: 5; } .campaign-tagline-mobile { display: none; } }
/* Content Area */
.space-top { padding-top: 30px; }
#content-ma p { text-align: justify; line-height: 25px; font-size: 16px; margin: 0 0 20px 0; }
#content-ma h2, #content-ma h3, #content-ma h4, #content-ma h5, #content-ma h6 { color: #000; }
#content-ma ul { margin: 0 0 0 10px; padding: 10px 0 0; font-size: 16px; }
.entry-content img { max-width: 100%; height: auto; }
@media (min-width: 768px) { .feature-box { float: left; margin-right: 30px; max-width: 50%; } .content-aa { overflow: hidden; } }
.entry-title { color: #000; }
.bradcrumbs a { background: var(--primary-color); color: #fff; padding: 9px 17px; display: inline-block; margin-right: 5px; font-weight: 700; }
.bradcrumbs a:hover { background: #000 !important; color: #fff; }
.bradcrumbs span { background: var(--primary-color); color: #fff; padding: 10px 15px; font-weight: 700; display: block; }

/* Error 404 */
.error404 h1 { font-weight: bold; font-size: 100px; }

/* Custom Cursor */
.custom-cursor { width: 20px; height: 20px; background: var(--primary-color); border-radius: 50%; position: fixed; pointer-events: none; z-index: 9999; transform: translate(-50%,-50%); }

/* ====== RESPONSIVE ====== */

/* Mobile menu toggle - visible below 1000px */
@media screen and (max-width: 1000px) {
  .toggle-menu { display: block; cursor: pointer; width: 100%; margin: 10px 0; }
  .toggle-menu i { font-size: 20px; color: #fff; background: var(--primary-color); border-radius: 5px; padding: 6px 16px; display: flex; justify-content: center; }
  .toggle-menu button { background: transparent; border: none; font-weight: 600; font-size: 16px; color: #fff; }
  .mobile-toggle { background: var(--primary-color); border: none; color: #fff; font-weight: 600; font-size: 14px; padding: 6px 12px; border-radius: 5px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
  .mobile-toggle i { font-size: 16px; }
  .side-menu { height: 100%; width: 0; position: fixed; z-index: 9999999; top: 0; right: 0; visibility: hidden; background-color: var(--primary-color); padding-top: 60px; box-shadow: 2px 2px 10px 0px #2d2d2d; overflow-y: scroll; transition: width 0.5s ease-in-out, visibility 0.5s; }
  .side-menu.open { visibility: visible; width: 220px; }
  .side-menu .closebtn { position: absolute; top: 25px; right: 10px; font-size: 18px; display: block; color: #fff; border: none; background: transparent; font-weight: 700; }
  .side-menu i { margin-left: 10px; }
  .side-menu #primary-site-navigation { width: 100%; }
  .primary-navigation ul ul li, .primary-navigation li { display: block !important; max-height: 100%; }
  .primary-navigation ul li a { padding: 12px 20px; display: block; color: #fff; border: none; font-size: 16px; border-bottom: 1px solid rgba(255,255,255,0.15); }
  .primary-navigation ul ul { position: static; width: 100%; box-shadow: none; border: none; background: rgba(0,0,0,0.15); }
  .primary-navigation ul ul a { padding-left: 35px !important; font-size: 14px; }
  #menu-sidebar { text-align: left; display: inline; }
  .primary-navigation ul li a:hover { background: #fff !important; color: #000; }
  #slider a.carousel-control-prev, #slider a.carousel-control-next { top: 70%; }
  .politics-candidate-logo { position: relative; margin-bottom: 10px; }
  .header-menu-box { padding: 0 !important; }
  .header-menu-box .row > .menu-header > .row { align-items: center; }
  .header-menu-box .btn { padding: 15px 0 !important; }
  .header-menu-box .menu { order: 1; }
  .primary-navigation ul li { border-top: none; }
  .top-header-section { margin-left: 0; }
}

/* Tablet landscape (768-999px) */
@media screen and (min-width: 768px) and (max-width: 999px) {
  .logo-section { margin-bottom: 0 !important; }
  .politics-candidate-logo { padding: 10px; }
  .politics-candidate-logo h1, .politics-candidate-logo p.site-title { font-size: 16px; }
  #slider .carousel-caption { left: 8%; right: 40%; }
  #slider .inner_carousel h1 a, #slider .inner_carousel h1 { font-size: 24px; }
  #slider .read-btn a { font-size: 12px; padding: 8px 3px 8px 12px; }
  #slider a.carousel-control-prev { left: 10%; }
  #slider a.carousel-control-next { left: 18%; }
  .event-post-section { margin: 0 auto; }
}

/* Tablet portrait & small tablets (600-767px) */
@media screen and (min-width: 600px) and (max-width: 767px) {
  #slider .carousel-caption { left: 8% !important; right: 8% !important; text-align: center !important; }
  #slider .inner_carousel h1, #slider .inner_carousel { text-align: center !important; }
  #slider .inner_carousel h1 a, #slider .inner_carousel h1 { font-size: 22px; }
  #slider a.carousel-control-prev { left: 38%; }
  #slider a.carousel-control-next { left: 58%; }
  #slider .read-btn { margin: 15px 0; }
  #slider .carousel-caption { top: 45%; }
  .slider-small-text { display: none; }
  .politics-candidate-logo { position: relative; }
  .header-menu-box .btn { padding: 15px 0 !important; }
  .header-menu-box .location-header { margin: 10px 0; text-align: center; justify-content: center; }
}

/* Phones (425-599px) */
@media screen and (min-width: 426px) and (max-width: 599px) {
  #slider .carousel-caption { left: 5% !important; right: 5% !important; text-align: center !important; top: 40%; }
  #slider .inner_carousel { text-align: center !important; }
  #slider .inner_carousel h1 a, #slider .inner_carousel h1 { font-size: 18px; }
  #slider .inner_carousel p { display: none; }
  .slider-small-text { display: none; }
  #slider .read-btn { margin: 10px 0; }
  #slider .read-btn a { font-size: 11px; padding: 6px 3px 6px 10px; }
  #slider .read-btn i { font-size: 11px; padding: 5px 10px; }
  #slider a.carousel-control-prev { left: 35%; top: 75%; }
  #slider a.carousel-control-next { left: 60%; top: 75%; }
  #slider .carousel-control-prev-icon i, #slider .carousel-control-next-icon i { padding: 5px 8px; width: 30px; height: 30px; font-size: 14px; }
  .politics-candidate-logo { position: relative; }
  .scrollup { bottom: 80px; right: 5px; font-size: 12px; }
  .scrollup.center { left: 17%; right: 25%; }
  #footer p { font-size: 14px; }
  body { padding-bottom: 50px; }
}

/* Small phones (320-425px) */
@media screen and (max-width: 425px) {
  #slider .carousel-caption { left: 3% !important; right: 3% !important; text-align: center !important; top: 35%; }
  #slider .inner_carousel { text-align: center !important; }
  #slider .inner_carousel h1 a, #slider .inner_carousel h1 { font-size: 14px; padding: 0 5px; }
  #slider .inner_carousel p { display: none; }
  .slider-small-text { display: none; }
  #slider .read-btn { margin: 5px 0; }
  #slider .read-btn a { font-size: 10px; padding: 4px 3px 4px 8px; }
  #slider .read-btn i { font-size: 10px; padding: 4px 8px; }
  #slider a.carousel-control-prev { left: 30%; top: 70%; }
  #slider a.carousel-control-next { left: 65%; top: 70%; }
  #slider .carousel-control-prev-icon i, #slider .carousel-control-next-icon i { padding: 4px 6px; width: 25px; height: 25px; font-size: 12px; }
  #slider img { border-radius: 10px; }
  #slider { padding: 0 10px; }
  .politics-candidate-logo { position: relative; padding: 10px; }
  .politics-candidate-logo h1, .politics-candidate-logo p.site-title { font-size: 14px; }
  .politics-candidate-logo p { font-size: 11px; }
  .header-menu-box { padding: 5px 8px !important; }
  .header-menu-box .menu { order: 1; }
  .header-menu-box .btn { padding: 10px 0 !important; order: 2; }
  .scrollup { bottom: 60px; right: 3px; font-size: 11px; }
  .scrollup.center { left: 17%; right: 25%; }
  #footer p { font-size: 12px; }
  #footer { padding: 10px; }
  body { padding-bottom: 40px; }
  .space-top { padding-top: 15px; }
  #event-section .main-event-section { padding: 0 15px !important; }
  #event-section .post-title-main-heading1, #event-section .post-title-main-heading2 { font-size: 18px; }
  #event-section .post-para1 { font-size: 14px; line-height: 22px; }
  .error404 h1 { font-size: 60px; }
}

/* Tablet portrait width fix */
@media screen and (max-width: 767px) {
  #slider .carousel-caption { left: 8% !important; right: 8% !important; text-align: center !important; }
  #slider .inner_carousel h1, #slider .inner_carousel { text-align: center !important; }
  #slider a.carousel-control-next { left: 60%; }
  #slider a.carousel-control-prev { left: 40%; }
  .politics-candidate-logo { position: relative; margin-bottom: 10px; }
}

/* Large screens */
@media screen and (min-width: 1025px) {
  #slider .slider-bgimage { height: 550px; aspect-ratio: unset; }
}

/* Very large screens */
@media screen and (min-width: 1400px) {
  #slider .carousel-caption { left: 18%; right: 45%; }
  #slider a.carousel-control-prev { left: 19%; }
  #slider a.carousel-control-next { left: 24%; }
}

/* Hide slider elements on small screens */
@media screen and (max-width: 720px) {
  .slider-small-text { display: none; }
}

@media screen and (max-width: 600px) {
  #slider .inner_carousel h1 a, #slider .inner_carousel h1 { font-size: 16px; }
  #slider .read-btn a { padding: 10px 3px 10px 10px; font-size: 12px; }
  #slider .read-btn { margin: 0; }
  #slider .inner_carousel h1 { margin-bottom: 0.5rem !important; }
  #slider .carousel-caption { top: 38%; }
}
