
/* Colours
---------------------------------------
* Green:   #8DC63F
* Grey:    #747675
---------------------------------------*/

/* Forms
---------------------------------------*/

.ncmd-form *{ box-sizing: border-box; }
.ncmd-form-hidden{ display: none; }
.ncmd-subscription-requires-country{ display: none; }
.ncmd-address-sections{ border: 1px solid red; }
.ncmd-form-section, .ncmd-form-nav{ margin-bottom: 30px; }
.ncmd-form-section.w-address-lookup .ncmd-fields{ display: none; }
.ncmd-form .ncmd-body{ padding: 20px 0;  }

.ncmd-head, .ncmd-form-cell{ padding: 0 2%; margin-left: auto; margin-right: auto; }
.ncmd-head{  background-color: #8DC63F; color: #fff; padding: 10px 2%; }
.ncmd-form-title{ font-size: 18px; margin: 0; }

.ncmd-form .ncmd-body.nopad, .ncmd-form .ncmd-body.nopad .ncmd-form-cell{ padding: 0; }

.ncmd-form-cell{ width: 99.5%; display: inline-block; vertical-align: top; padding-top: 10px; padding-bottom: 10px; }
.ncmd-form-cell.half{ width: 49.5% }
.ncmd-form-cell.type-nopad{ padding: 0; }
.ncmd-form-cell.type-info *:first-child{ padding-top: 0; margin-top: 0; }
.ncmd-form-cell.type-info *:last-child{ padding-bottom: 0; margin-bottom: 0; }
.ncmd-form-cell.type-info.align-right, .align-right{ text-align: right; }
.ncmd-label{ font-weight: bold; margin-bottom: 20px; font-size: 16px; color: #222; }
.ncmd-label.mandatory:after{ content: "*"; color: #ff0000; margin-left: 5px; }

.ncmd-terms-label{ margin-bottom: 0; margin-left: 20px; }

.ncmd-input, .woocommerce table.shop_table{ border-color: #e8e8e8 !important; }

.ncmd-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{ color: #fff; background-color: #8DC63F; border-color: #8DC63F; border-width: 1px; border-style: solid; border-radius: 3px; }
.ncmd-button:hover,
.ncmd-button:active,
.woocommerce a.button:active, .woocommerce button.button:active, .woocommerce input.button:active
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{ background-color: #fff; color: #8DC63F; }

.ncmd-button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt{ color: #fff !important; background-color: #8DC63F; border-color: #8DC63F; border-width: 1px; border-style: solid; border-radius: 3px; }
.ncmd-button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover{ background-color: #fff; color: #8DC63F !important; }

.ncmd-button{ padding: 10px; display: inline-block; text-align: center; transition: background-color 0.25s ease; font-weight: bold; }
.ncmd-button.cancel{ background-color: #aaa; border-color: #aaa; font-weight: normal; }
.ncmd-button.cancel:hover{ color: #fff !important; background-color: #ccc; }

.ncmd-form-agree{ _width: 100%; display: table;  }
.ncmd-form-agree .input-cell, .ncmd-form-agree .label-cell{ display: table-cell; vertical-align: top; }
.ncmd-form-agree .input-cell{ padding-left: 10px; }
.ncmd-form-agree .ncmd-label{ margin-bottom: 0; font-weight: normal; font-size: 14px; }

.ncmd-form-nav{ width: 100%; display: table; table-layout: fixed; }
.ncmd-form-nav .ncmd-cell{ display: table-cell; vertical-align: middle; }
.ncmd-form-nav .ncmd-cell.back{ text-align: left; }
.ncmd-form-nav .ncmd-cell.next{ text-align: right; }
.ncmd-form-nav .ncmd-button{ width: 200px; font-weight: bold; }

.ncmd-subs-form .back.ncmd-cell .ncmd-button{ display: inline-block; }
.ncmd-subs-form .next.ncmd-cell .ncmd-button{ display: none; }

.ncmd-subs-note{ padding: 10px; border: 1px solid #e8e8e8; background-color: #8DC63F; color: #fff; font-weight: bold; margin: 20px 0; text-align: center; font-size: 1rem; }

form.editable .back.ncmd-cell .ncmd-button{ display: none; }
form.editable .next.ncmd-cell .ncmd-button{ display: inline-block; }

.ncmd-error{ border-color: #ff0000 !important; box-shadow: 0px 0px 5px 2px #ff0000; }
.ncmd-form-error{ text-align: center; background-color: #ff0000; color: #fff; padding: 10px; display: none; font-weight: bold; }
.ncmd-form-error p{ margin: 0; padding: 0; }
.ncmd-form-error a{ color: #fff; text-decoration: underline; display: block; width: 100%; }

.ncmd-form-yesno{ display: table; width: 100%; margin-bottom: 20px; }
.ncmd-form-yesno:last-child{ margin-bottom: 0; }
.ncmd-form-yesno .cell{ display: table-cell; vertical-align: top; padding-right: 20px; padding-bottom: 20px; border-bottom: 1px solid #dfdfdf; }
.ncmd-form-cell.type-radio:last-child .ncmd-form-yesno .cell{ border-bottom: none; padding-bottom: 0; }
.ncmd-form-yesno .cell.primary{ width: 180px; }
.ncmd-form-yesno .cell.secondary{ width: 190px; }
.ncmd-yesno-tip{ font-style: italic; font-size:0.9rem;  }
.ncmd-form-yesno-choice{ display: inline-block; margin: 0 10px; }
.ncmd-form-yesno-choice label{ display: inline-block; margin-left: 5px; }

.ncmd-form ul, .ncmd-form ol{ margin-bottom: 20px; }

.ncmd-form-error-tip{ display: block; font-weight: bold; color: #ff0000; margin-top: 20px; }

select, input{ background-color: #fff; }

.ncmd-group:after{ content: " "; display: block; height: 0; clear: both; visibility: hidden; }

.ncmd-form-error-section{ display: none; }

/* Checkout
---------------------------------------*/

.ncmd-subs-checkout,
.ncmd-subs-checkout #customer_details,
.ncmd-subs-checkout #order_review_heading{ display: none; }

.woocommerce table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th{ background-color: #fff }
.woocommerce-order-overview{ display: none; }

.ncmd-form-section, 
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment, .ncmd-cart-toolbar .box{ background-color: #fbfbfb; border: 1px solid #e8e8e8; }
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box{ background-color: #eee; }
.wc_payment_method payment_method_stripe label{ font-weight: bold; }

.ncmd-subscription-form{ margin-bottom: 80px; margin-top: 30px; }
.woocommerce table.shop_table{ border-collapse: collapse; }
.woocommerce-checkout-review-order-table thead th, .recurring-totals th, .woocommerce table.shop_table thead th{ background-color: #8DC63F; color: #fff; }
.ncmd-subs-checkout .woocommerce table.shop_table .shipping.recurring-total{ display: none; }

.woocommerce-order-received .woocommerce-order > p{ border: 1px solid red; display: none; }

.ncmd-subs-checkout .woocommerce-shipping-totals.shipping{ display: none; }
.order-total.recurring-total .first-payment-date{ display: none; }

.ncmd-addr-manual-trigger{ float: right; font-size: 14px; }

.woocommerce #customer_detailsx{ display: none; }

.ncmd-checkout-noship .woocommerce .woocommerce-checkout .col2-set .col-1{ width: 100% !important; }
.ncmd-checkout-noship .woocommerce .woocommerce-checkout .col2-set .col-2 { display: none; }
#billing_country_field{ __display: none; }

.ncmd-form-club-other, .ncmd-checkout-delivery{ display: none; }
.ncmd-checkout-delivery.ncmd-active{ display: block; }

.ncmd-hide-checkout-summary .woocommerce-checkout-review-order-table{ display: none }

.ncmd-hide-checkout-recurring  tr.recurring-totals, .ncmd-hide-checkout-recurring tr.recurring-total { display: none }

/* Address lookup
---------------------------------------*/

.ncmd-addr-lookup-postcode{ margin-bottom: 10px; }
.ncmd-addr-address-cell{ display: none; }
.ncmd-button.ncmd-addr-lookup-trigger{ margin-right: 20px; }

/* My Account/Woocommerce Pages
---------------------------------------*/

.woocommerce-account .page-header, .woocommerce-order-received .page-header{ color: #fff; background-color: #8DC63F; padding: 10px; }
.woocommerce-order-received .page-header{ display: none; }
.woocommerce-page .page-header{  margin-top: 30px; margin-bottom: 20px; }
.woocommerce-page h1{  font-size: 1.3rem; font-weight: bold; margin: 0; }
.woocommerce-page h2{ font-size: 1.2rem; }
.woocommerce-account .page-content{ padding-bottom: 50px; }
.woocommerce-MyAccount-navigation{ margin-bottom: 20px; }
.woocommerce-MyAccount-navigation ul, .woocommerce-MyAccount-navigation li{ padding: 0; margin: 0; list-style-type: none; }
.woocommerce-MyAccount-navigation li{ border-bottom: 1px solid #fff; }
.woocommerce-MyAccount-navigation a{ color: #fff; background-color: #747675; display: block; padding: 10px; transition: color 0.25s ease, background-color 0.25s ease; font-weight: bold; }
.woocommerce-MyAccount-navigation a:hover{ background-color: #fff; color: #747675; }
.woocommerce-page address{ min-height: 240px; }
.woocommerce-page fieldset{ margin: 20px 0 20px 0; }
.woocommerce-page fieldset legend{ padding: 10px; font-weight: bold; }
.woocommerce-MyAccount-navigation-link--downloads{ display: none; }
.woocommerce ul.order_details{ border: 1px solid #000; padding: 10px; text-align: center; margin-bottom: 20px; }
.woocommerce-order-received h2{ margin-bottom: 1rem !important; }
.woocommerce table.my_account_orders .button{ margin: 3px; }
.payment_method_stripe fieldset{ border: none; }

.order-actions{ text-align: center; }
.ncmd-subscription-thanks{ margin-top: 30px; }
.ncmd-login{ margin: 30px 0; }
.ncmd-membership-info{ margin: 0 auto 40px auto; }
.ncmd-membership-card{ display: block; width: 100%; margin-bottom: 20px; background-repeat: no-repeat; background-size: contain; background-position: 50% 50%; padding-top: 61.3%; }
.ncmd-card-download{ font-size: 0.8rem; }
.no_subscriptions .button{ display: none !important; }
.ncmd-important-error{ color: #ff0000; font-weight: bold; }

.ncmd-member-list{ margin-bottom: 50px; }
.ncmd-no-results{ font-weight: bold; text-align: center; font-size: 1.4rem; margin: 30px 0; color: #880000; text-transform: uppercase; }

.ncmd-filters, .ncmd-filter{ box-sizing: border-box; }
.ncmd-filters{ padding: 20px 10px; }
.ncmd-filter{ padding: 10px 20px; width: 49.5%; display: inline-block; }
.ncmd-filter-label, .ncmd-filter-input{ width: 100%; display: block; }
.ncmd-filter-label{ font-weight: bold; margin-bottom: 10px; }
.ncmd-filter-input{ border: 1px solid #000; }

.ncmd-pagination{ width: 100%; text-align: right; font-size: 16px; box-sizing: border-box; margin-bottom: 20px; }
.woocommerce-account #billing_company_field, #shipping_ncmd_newsletter_by_post_field{ display: none; }

.ncmd-pagination span, .ncmd-pagination a{ display: inline-block; width: 25px; height: 25px; line-height: 25px; background-color: #8DC63F; color: #fff; font-weight: bold; text-align: center; }
.ncmd-pagination span{  background-color: #000; }

#shipping_ncmd_comms_email_field,
#shipping_ncmd_comms_post_field,
#shipping_ncmd_comms_sms_field { display: none }

a.button.subscription_renewal_early{ display: none; }

#update_all_subscriptions_addresses_field{ display: none; }

.ncmd-existing-imports{ padding: 10px 0; border-top: 1px dotted #000; margin: 50px 0 }

.ncmd-member-export{ text-align: right; display: block; width: 100%; }
.ncmd-member-add{ padding: 5px;  }

.ncmd-regional-member-card .ncmd-button.manage-subscription{ display: none; }

.ncmd-member-list-action{ font-weight: bold; }

.ncmd-cart-toolbar{ text-align: right; margin-bottom: 30px; }
.ncmd-cart-toolbar .box{ max-width: 300px; display: inline-block; padding: 5px; }
.ncmd-cart-toolbar .box .cell{ display: inline-block; }
.ncmd-renewal-cart-total{ font-weight: bold; }
.ncmd-cart-toolbar .icon{ width: auto; height: 15px; }

.ncmd-cart-toolbar .totals.cell{ padding: 0 10px; }

.ncmd-cart-toolbar .ncmd-button{ padding: 5px 10px; }

.ncmd-autorenew-trigger-off{ background-color: #dc3545; }
.ncmd-autorenew-trigger-off:hover{ background-color: #fff; }

.button.reactivate{ display: none !important; }

.ncmd-membership-controls{ display: flex; gap: 5px; justify-content: flex-end; }

.ncmd-page-wrapper{ max-width: 1200px; padding: 40px 20px; margin-left: auto; margin-right: auto; box-sizing: border-box; }

/* Clubs
---------------------------------------*/

.ncmd-clubs *{ box-sizing: border-box; }
.ncmd-clubs{ display: flex; gap: 30px; flex-wrap: wrap; } 
.ncmd-club { width: calc(33.3% - 20px); border: 1px solid #e8e8e8; background-color: #fefefe; color: #6d6f71; position: relative; }
.ncmd-club-head{ background-color: #8DC63F; color: #fff; font-weight: bold; font-size: 18px; }
.ncmd-club-head { padding: 10px 15px; }
.ncmd-club-body{ display: flex; gap: 20px; padding: 20px; padding-bottom: 90px;  }
.ncmd-club-foot{ padding: 0 12px; padding-bottom: 12px; position: absolute; left: 0; bottom: 0; width: 100%; display: flex; flex-direction: column; gap: 10px; }
.ncmd-club-contact{ font-weight: bold; margin-top: 10px; }
.ncmd-club-icon{ font-size: 4rem; line-height: 100%; }
.ncmd-club-icon, .ncmd-club-location{ margin-bottom: 20px; }
.ncmd-club-button{ width: 100%; padding: 5px; border-radius: 0; background-color: #fff; color: #8DC63F !important; transition: opacity 0.25s ease; }
.ncmd-club-button:not(.ncmd-disabled):hover{ opacity: .5; }
.ncmd-club-button.ncmd-disabled{ color: #ccc !important; border-color: #ccc; cursor: not-allowed; }
.ncmd-club-pagination{ margin-bottom: 25px; }
.ncmd-club-about{ max-height: 350px; overflow: auto; margin: 20px auto; }

.ncmd-directory-thanks, .ncmd-directory-contact-thanks, .ncmd-club-filter-town{ display: none; }

@media only screen and (max-width: 850px){
	.ncmd-club { width: calc(50% - 15px); }
}

@media only screen and (max-width: 600px){
	.ncmd-club { width: 100%; }
}

/* Menu Panels
---------------------------------------*/

.ncmd-menu-panels, .ncmd-menu-panels *{ box-sizing: border-box; }

.ncmd-menu-panels{ text-align: center; width: 100%;  }
.ncmd-menu-panel{ display: inline-block; width: 49%; padding: 20px; padding-top: 0; vertical-align: top; }
.ncmd-menu-panel .icon{ display: inline-block; font-size: 80px; color: #8DC63F; }
.ncmd-menu-panel .ncmd-button{ width: 100%; }
.ncmd-menu-panel .description{ padding-bottom: 0; margin-bottom: 0; font-size: 14px; }

/* Table
---------------------------------------*/

.ncmd-table{ border-collapse: collapse; }
.ncmd-table th, .ncmd-table td{ padding: 10px;  }
.ncmd-table th{ color: #fff; background-color: #8DC63F; }
.ncmd-table td .label{ display: none; font-weight: bold; }
.ncmd-table td .label:after{ content: ":"; }

.ncmd-table .align-center{ text-align: center; }

.ncmd-membership-table th, .ncmd-membership-table td{ font-size: 1.05rem; text-align: center; } 
.ncmd-table td .ncmd-danger{ display: block; margin: 10px 0; font-size: 0.7rem; color: #ff0000; font-weight: bold; }
.ncmd-table tr.ncmd-warning{ background-color: #ff0000 }

.ncmd-table-input{ padding: 0; line-height: 28px; height: 28px;  font-size: 14px; text-align: left; }

.ncmd-table tr.highlighted td{ background-color: #b3d27c; }

/* Lightbox
---------------------------------------*/

.ncmd-lightbox { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999;  display: none;  }
.ncmd-lightbox-inner{ display: flex;   align-items: center; justify-content: center;  z-index: 500; height: 100%; overflow: auto; }
.ncmd-lightbox-content{ position: relative; z-index: 1000; width: 90%; max-width: 600px; background-color: #fff; padding: 10px;  box-sizing: border-box; margin-left: auto; margin-right: auto; }
.ncmd-lightbox-bg{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: .5; z-index: 100; }

@media only screen and (max-height: 450px){
	.ncmd-lightbox-inner{ display: block; padding-top: 20px; }
}

/* Forum
---------------------------------------*/

.wpforo-user-tools svg{
	width: 30px; height: 30px;
	margin: 4px;
}

/* Notifications
---------------------------------------*/

.ncmd-notification{ display: none; box-sizing: border-box; width: 100%; padding: 10px; background-color: #999; color:#fff; font-weight: bold; text-align: center; font-size: 1rem; margin-bottom: 20px; }
.ncmd-notification.ncmd-success{ background-color: #8DC63F; }

/* Loading
---------------------------------------*/

.ncmd-loading{ width: 100%; height: 100%; position: fixed; top: 0; left: 0; background-color: #fff; opacity: .25; z-index: 9999; display: none; }

/* Mobile-App
---------------------------------------*/

.ncmd-app-only{ display: none; }

/* Responsive
---------------------------------------*/

@media only screen and (max-width: 800px){
    .ncmd-head{ padding: 20px; }
    .ncmd-form-cell,
    .ncmd-form-cell.half{ display: block; width: 95%; }
	
	.ncmd-filter{ width: 100%; padding: 10px 0; }
    
    .ncmd-table thead th{ display: none; }
    .ncmd-table tbody td{ display: block; text-align: left; }
    .ncmd-table th, .ncmd-table td{ font-size: 0.9rem; border-bottom: none; }
    .ncmd-table td:last-child{ border-bottom: 1px solid #ccc; }
    .ncmd-table td .label{ display: inline-block; width: 180px; }
    .ncmd-table tr{ display: block; margin-bottom: 30px; }
	.ncmd-table tr:last-child{ margin-bottom: 10px; }
}

@media only screen and (max-width:900px){
	.ncmd-form-yesno, .ncmd-form-yesno .cell{ display: block; }
	.ncmd-form-yesno .cell,
	.ncmd-form-yesno .cell.primary, .ncmd-form-yesno .cell.secondary{ width: 100%; } 
	.ncmd-form-yesno .cell.secondary{ margin: 10px 0 }
}

@media only screen and (max-width:780px){
	.woocommerce-page address{ min-height: 0; margin-bottom: 20px; }
}

@media only screen and (max-width: 500px){
    .ncmd-form-nav .ncmd-button{ width: 90%; }
	.ncmd-menu-panel{ width: 100%; }
	.ncmd-membership-controls{ flex-wrap: wrap; }
	.ncmd-member-info-button{  width: 100%; }

}