/*
 Theme Name:   iPledgeToVote
 Theme URI:    https://pledgetovote.co.za/
 Description:  Astra Child Theme For PledgeToVote
 Author:       Semantica
 Author URI:   http://semantica.co.za
 Template:     astra
 Version:      1.0.0
*/

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* General Layout */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
:root {
  --primary1: #FCAA00; /* Yellow */
  --primary2: #00A5FC; /* Blue */
  --secondary1: #33AD31; /* Green */
  --secondary2: #E60002; /* Red */
  --headings: #2F2F2F; /* Black */
  --body: #414141; /* Grey */
  --light: #fff; /* White */

  --space-s:  20px;
  --space-m:  40px;
  --space-l:  60px;

  --font-primary: 'Raleway',sans-serif;
  --font-secondary: 'Karla',sans-serif;
}

.m-s { margin: var(--space-s); } .m-m { margin: var(--space-m); } .m-l { margin: var(--space-l); }
.mt-s { margin-top: var(--space-s); } .mt-m { margin-top: var(--space-m); } .mt-l { margin-top: var(--space-l); }
.mb-s { margin-bottom: var(--space-s); } .mb-m { margin-bottom: var(--space-m); } .mb-l { margin-bottom: var(--space-l); }
.ml-s { margin-left: var(--space-s); } .ml-m { margin-left: var(--space-m); } .ml-l { margin-left: var(--space-l); }
.mr-s { margin-right: var(--space-s); } .mr-m { margin-right: var(--space-m); } .mr-l { margin-right: var(--space-l); }

.p-s { padding: var(--space-s); } .p-m { padding: var(--space-m); } .p-l { padding: var(--space-l); }
.pt-s { padding-top: var(--space-s); } .pt-m { padding-top: var(--space-m); } .pt-l { padding-top: var(--space-l); }
.pb-s { padding-bottom: var(--space-s); } .pb-m { padding-bottom: var(--space-m); } .pb-l { padding-bottom: var(--space-l); }
.pl-s { padding-left: var(--space-s); } .pl-m { padding-left: var(--space-m); } .pl-l { padding-left: var(--space-l); }
.pr-s { padding-right: var(--space-s); } .pr-m { padding-right: var(--space-m); } .pr-l { padding-right: var(--space-l); }


.clearfix { clear: both; }


.color-p1 { color: var(--primary1) }
.color-p2 { color: var(--primary2) }
.color-s1 { color: var(--secondary1) }
.color-s2 { color: var(--secondary2) }


.half-bg { position: relative; }
.half-bg:before { 
    content:  '';
    position: absolute; 
    height: 50%;
    background:  #fff;
    width:  100%;
    top: 0;
}

#vote_count p {
    margin-bottom: 0em !important;
}

@media (min-width: 922px) {
    .ast-container {
        max-width: 1160px;
    }
}


.video-container iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
}




/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Button */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.elementor-widget-button .elementor-button {
    color:  var(--light);
    background-color:  var(--secondary2) !important;
    border-radius:  5px;
    padding:  15px 25px;
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.25));
}
.elementor-widget-button .elementor-button:hover {
    background-color:  var(--secondary1) !important;
}

.elementor-share-buttons--color-official.elementor-share-buttons--skin-flat .elementor-share-btn_email, .elementor-share-buttons--color-official.elementor-share-buttons--skin-gradient .elementor-share-btn_email {
    background-color: #5735ea !important;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Typography */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

body {
    font-family: var(--font-secondary) !important;
    font-weight:300;
    font-size: 18px;
    letter-spacing: 0.75px;
}

body strong {
    font-weight: 600;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-primary) !important;
}
h1 {
    font-size: 36px;
    font-weight: 700;
}
h2 {
    font-size: 30px;
    font-weight: 400;
}
h3 {
    font-size: 24px;
    font-weight: 600;
}
h4 {
    font-size: 20px;
    font-weight: 500;
}
h5 {
    font-size: 16px;
    font-weight: 600;
}

h1 strong { font-weight: 900; }
h2 strong { font-weight: 700; }
h3 strong { font-weight: 800; }
h4 strong { font-weight: 700; }
h5 strong { font-weight: 800; }



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Header */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

/*.site-header { background: var(--primary1); }*/
.site-header { background: #fff; }
.ast-logo-title-inline .ast-site-identity { padding: 0; }
.ast-primary-header-bar { border: none; background: transparent; }

.site-logo-img img {
    max-height: 80px;
    width: auto;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Menu */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item { line-height: 100%; }
.main-header-menu > .menu-item > .menu-link, #astra-footer-menu > .menu-item > .menu-link {
    color:  var(--headings);
    font-weight:  600;
}
.main-header-menu > .btn.menu-item > .menu-link, #astra-footer-menu > .btn.menu-item > .menu-link {
    color:  var(--light);
    background-color:  var(--secondary2);
    border-radius:  5px;
    padding:  15px 25px;
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.25));
}
.main-header-menu > .btn.menu-item > .menu-link:hover, #astra-footer-menu > .btn.menu-item > .menu-link:hover {
    background-color:  var(--secondary1);
}


.single-product .btn .menu-link, .single-product .elementor-location-footer .elementor-button,
.page-id-404 .btn .menu-link, .page-id-404 .elementor-location-footer .elementor-button,
.page-id-371 .btn .menu-link, .page-id-371 .elementor-location-footer .elementor-button,
.page-id-326 .btn .menu-link, .page-id-326 .elementor-location-footer .elementor-button {
    display: none !important;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Mobile Menu */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

@media only screen and (max-width: 600px) {
    .site-logo-img img {
        max-height: 60px;
    }
}

.ast-main-header-nav-open .ast-primary-header-bar { border: none; }
.ast-main-header-nav-open .site-header {
    position: fixed;
    height: 100vh;
    background: rgba(0,0,0,0.9);
}
.ast-main-header-nav-open [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    fill: #fff !important;
}

.ast-header-break-point.ast-main-header-nav-open .main-header-menu,
.ast-main-header-nav-open .ast-mobile-header-content.content-align-flex-start,
.ast-main-header-nav-open .ast-header-break-point .main-header-menu {
    background: transparent !important;
}

.ast-header-break-point.ast-main-header-nav-open .main-header-menu { font-size: 20px; font-weight: 700; margin-top: 100px; }


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Progress Bar */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

#progress {
  position: relative;
  margin-bottom: 30px;   
}
#progress-bar {
  position: absolute;
  background: lightseagreen;
  height: 5px;
  width: 0%;
  top: 50%;
  left: 0;
}
#progress-num {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
}
#progress-num::before {
  content: "";
  background-color: lightgray;
  position: absolute;
  top: 50%;
  left: 0;
  height: 5px;
  width: 100%;
  z-index: -3;
}
.progress-half:after, .progress-full:after {
	content: "";
  background-color: lightseagreen;
  position: absolute;
  top: 50%;
  left: 0;
  height: 5px;
  width: 50%;
  z-index: -1;
}
.progress-full:after {
  width: 100%;
}
#progress-num .step {
  border: 3px solid lightgray;
  border-radius: 100%;
  width: 25px;
  height: 25px;
  line-height: 150%;
  text-align: center;
  background-color: #fff;
  font-family: sans-serif;
  font-size: 14px;    
  position: relative;
  z-index: 1;
}
#progress-num .step.active {
  border-color: lightseagreen;
  background-color: lightseagreen;
  color: #fff;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Countdown */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.countdown-wrapper .elementor-widget-wrap.elementor-element-populated { display: flex; align-content: center !important; margin: 0 auto; width: auto; justify-content: center; }
.countdown-wrapper .elementor-widget-wrap.elementor-element-populated > .elementor-element { display: flex; align-items: center; width: auto; margin-right: 30px; }

.elementor-widget-countdown .elementor-countdown-item {
    background:  transparent !important;
}
.elementor-countdown-label {
    display: block;
    text-transform: uppercase;
    font-family: var(--font-primary) !important;
    font-size:  13px !important;
    font-weight:  900 !important;
    margin-top:  15px;
    color:  #000;
}
.elementor-countdown-digits {
    color:  var(--headings);
    background:  #fff;
    border-radius:  10px;
    font-size: 42px !important;
    font-weight: 900 !important;
    padding: 10px 20px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.65);
    position: relative;
    display: block;
}
.elementor-countdown-digits:before {
    content:  '';
    height:  46%;
    width:  100%; 
    display: block;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(217, 217, 217, 0) 100%);
    top: 50%;
    left:  0;
    position: absolute;
}

.elementor-countdown-item {
    position: relative;
    margin-right: 20px !important;
}
.elementor-countdown-item:last-of-type {
    margin-right: 0 !important;
}
.elementor-countdown-item:before,
.elementor-countdown-item:after {
    content:  '';
    width:  6px;
    height:  6px;
    border-radius: 20px;
    display: block;
    position: absolute;
    background: #000;
    opacity: 0.6;    
    left:  calc(100% + 10px);
    top:  50%;
}
.elementor-countdown-item:after { margin-top: -8px; }
.elementor-countdown-item:before { margin-top: -23px; }
.elementor-countdown-item:last-of-type:before, .elementor-countdown-item:last-of-type:after { display: none; }


.countdown-byline { font-size: 10px !important; font-weight: 600; width: 100% !important; text-align:center; display: block !important; margin-top:-20px;  }
.countdown-byline p { color: var(--headings); margin: 0; }


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Icon List */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.elementor-icon-list-item {
    margin-bottom: 20px !important;
}
/*.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon {
    margin-right: 20px;
}
.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon i {
    color:  var(--secondary1);
    font-size:  24px;
}*/


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Uber */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.uber-bg { position: relative; }
.uber-bg:before { 
    position: absolute;
    content:  '';
    height: 70%;
    width: 70%;
    background:  url('/wp-content/uploads/2022/10/uber-car.png') no-repeat center right;
    background-size:  contain; 
    bottom: 20%;
    right: 0;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Forms */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.gform_wrapper .field_description_below .gfield_description { padding-top: 0 !important; }
.ginput_container.ginput_container_consent { line-height: 0 !important; }
.ginput_container.ginput_container_consent label { font-size: 12px; line-height: 100%; }

body .gform_wrapper .top_label div.ginput_container { margin-top: 0 !important; }
.gform_wrapper li.hidden_label input { margin-top: 0 !important; }

.gform_wrapper select { height: 1.9em; }

.gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type=submit], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type=submit] {
	background: var(--secondary2);
	color: var(--light);
	border-radius:  5px;
    padding:  15px 25px;
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.25));
}
.gform_wrapper .gform_footer input.button:hover, .gform_wrapper .gform_footer input[type=submit]:hover, .gform_wrapper .gform_page_footer input.button:hover, .gform_wrapper .gform_page_footer input[type=submit]:hover { 
	background: var(--secondary1);
}

.gform_wrapper .field_description_below .gfield_description,
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label {
    color: var(--headings);
}

input[type="radio"]:checked, input[type=reset], input[type="checkbox"]:checked, input[type="checkbox"]:hover:checked, input[type="checkbox"]:focus:checked, input[type=range]::-webkit-slider-thumb {
	border-color: var(--primary1) !important;
    background-color: var(--primary1) !important;
}

.gform_legacy_markup_wrapper .top_label .gfield_label, .gform_legacy_markup_wrapper legend.gfield_label,
.gform_legacy_markup_wrapper .field_sublabel_above .ginput_complex.ginput_container label, .gform_legacy_markup_wrapper .field_sublabel_above div[class*=gfield_time_].ginput_container label {
    font-size: 15px;
    font-weight: 500;
}

.form-name-fields label:after {
    content: '*';
    color: #790000;
    margin-left: 4px;
}



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* WooCommerce */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item { height: auto; }
.woo-variation-swatches .wvs-style-squared.variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item .variable-item-span { padding: 5px 25px; }


.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected, .woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
	-webkit-box-shadow: var(--wvs-selected-item-box-shadow,0 0 0 2px var(--secondary1));
    box-shadow: var(--wvs-selected-item-box-shadow,0 0 0 2px var(--secondary1));
	color: var(--secondary1) !important;
	font-weight: 700;
}

.single-product-category,
.product_meta, .woocommerce-breadcrumb { display: none !important; }

.woocommerce div.product form.cart .button.single_add_to_cart_button {
    float:  none;
    width:  100%;
    box-sizing:  border-box;
    background: var(--secondary2);
    color: var(--light);
    border-radius: 5px;
    padding:  15px 20px;
    margin-top:  20px;
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.25));
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
    background:  var(--secondary1);
}

.woo-variation-items-wrapper .reset_variations { display: none !important; }

.alg_open_price.text { width: 100% !important; font-size: 16px; font-weight: 700; border: 1px solid #a8a8a8 !important; }

.woocommerce div.product form.cart .variations { border: none !important; }

.woocommerce-form-coupon-toggle,
.woocommerce-notices-wrapper {
    display: none !important;
}

.woocommerce a.button, .woocommerce button.button.alt, .woocommerce-page table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .button, .woocommerce a.button.alt, .woocommerce .woocommerce-message a.button, .ast-site-header-cart .widget_shopping_cart .buttons .button.checkout, .woocommerce button.button.alt.disabled, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link {
    background: var(--secondary2);
    color: var(--light);
    border-radius: 5px;
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.25));
}
.woocommerce a.button:hover, .woocommerce button.button.alt:hover, .woocommerce-page table.cart td.actions .button:hover, .woocommerce-page #content table.cart td.actions .button:hover, .woocommerce a.button.alt:hover, .woocommerce .woocommerce-message a.button:hover, .ast-site-header-cart .widget_shopping_cart .buttons .button.checkout:hover, .woocommerce button.button.alt.disabled:hover, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link:hover {
    background:  var(--secondary1);
}

.woocommerce form .form-row label,
.woocommerce form .form-row input, .woocommerce form .form-row select, .woocommerce form .form-row textarea { font-size: 16px }

.woocommerce-page.woocommerce-checkout table.shop_table th, .woocommerce.woocommerce-checkout table.shop_table th,
.woocommerce-page.woocommerce-checkout table.shop_table td, .woocommerce.woocommerce-checkout table.shop_table td {
    font-size:  14px;
}

form #order_review_heading:not(.elementor-widget-woocommerce-checkout-page #order_review_heading) {
    padding: 20px 20px 0;
    font-size:  20px;
}
form #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) { padding: 0 20px; }

form.checkout.woocommerce-checkout { font-size: 16px; }


.woocommerce #content .ast-woocommerce-container div.product div.summary, .woocommerce .ast-woocommerce-container div.product div.summary, .woocommerce-page #content .ast-woocommerce-container div.product div.summary, .woocommerce-page .ast-woocommerce-container div.product div.summary {
	margin: 60px auto 0 !important;
    float: none;
    width: 100%;
    max-width: 640px;
}

.single-product .ast-plain-container.ast-no-sidebar #primary {
    margin-top: 50px; 
}

.woocommerce-checkout .elementor-location-footer .elementor-button-wrapper {
	display: none;
}



/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Share */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

#share-select {
    width: 100%;
    background-position: calc(100% - 15px) center;
    padding: 10px 15px;
    font-size: 18px;
    font-weight: 700;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Responsive - Menu */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

@media only screen and (max-width: 600px) {

    [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
        fill: var(--headings);
    }
    .ast-header-break-point .main-header-menu {
        background: var(--headings);
        color: #fff;
    }
    .main-header-menu > .menu-item > .menu-link {
        color: #ffffff !important;
    }

    .main-header-bar-navigation.toggle-on .btn {
        margin-left: 0px !important;
    }
    .main-header-bar-navigation.toggle-on .btn a { border-radius: 0 !important; }

}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* Responsive */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

@media only screen and (max-width: 1000px) {

    .m-reset { margin: 0; }
    .p-reset { padding: 0; }

    .site-title { display: none; }

    .countdown-wrapper .elementor-widget-wrap.elementor-element-populated > .elementor-element,
    .countdown-wrapper .elementor-widget-wrap.elementor-element-populated {
        display: block !important;
    }
    .countdown-wrapper .elementor-widget-wrap.elementor-element-populated > .elementor-element h2 {
        text-align: center !important;
    }
    .countdown-wrapper .elementor-widget-wrap.elementor-element-populated > .elementor-element {
        margin: 0 !important;
    }

}

@media only screen and (max-width: 600px) {

    .uber-bg:before {
        height: 50%;
        width: 70%;
        bottom: 5%;
    }

    .uber-bg picture {
        float: left;
    }
    .uber-bg img {
        margin: 0 auto;
    }


    .countdown-wrapper .elementor-countdown-digits {
        font-size: 30px !important;
        padding: 10px !important;
    }
    .elementor-countdown-item {
        margin-right: 8px !important;
    }

    .elementor-countdown-item:before, .elementor-countdown-item:after {
        left: calc(100% + 4px);
    }


    .countdown-wrapper h2 {
        font-size: 20px !important;
    }


    .home-stats-section .elementor-widget-wrap.elementor-element-populated .elementor-widget-text-editor, .home-stats-section .elementor-button-wrapper {
        text-align:center;
    }
    .home-stats-section .elementor-widget-wrap.elementor-element-populated .elementor-widget-text-editor br {
        display: none;
    }
    
    #share-select {
            font-size: 13px;
    }


}

body br {
	display: none;
}