php js css php js css

Changes

Changes to Page: _dev_membership

218739
Today 12:45am
McNaught, Scott
Modified page
Can't Undo: The page /_dev_membership/ does not currently exist, it may have been moved or deleted. In order to undo this change, you first need to restore the page
218743
Today 12:45am
McNaught, Scott
Modified page
Can't Undo: The page /_dev_membership/ does not currently exist, it may have been moved or deleted. In order to undo this change, you first need to restore the page
Php Source:
Id:
/_dev_membership/
/_dev_membership/
Title:
Membership
Membership
Content:
<templates:section paddingLeft="1rem" paddingRight="1rem" paddingTop="8rem" paddingBottom="8rem" bgimage="https://images.unsplash.com/photo-1630686726086-41df042f1be4?ixid=Mnw2ODg1fDB8MXxzZWFyY2h8MTd8fHNhbiUyMGFudG9uaW98ZW58MHx8fHwxNjgyNTUwNzk4&" bgwashcolor="#333333" bgwashopacity="50" color="#ffffff" bgposition="center" contentsize="md">
<h1 style="text-align: left;">Become a Member</h1>
<p style="text-align: left;">A membership is your access to special events and French language resources.</p>
</templates:section>
<templates:section paddingLeft="1rem" paddingRight="1rem" paddingBottom="6rem" paddingTop="6rem" contentsize="md" style="text-align: center;">
<h2>Member Benefits</h2>
Members have access year round to benefits such as:<br />
<br />
<templates:flexlayout style="justify-content: center; align-items: stretch;" preventwrap="preventwrap">
<templates:card style="padding: 20px; margin: 10px; border-radius: 0px; box-shadow: 0px 3px 15px rgba(0,0,0,0.2)" cardsize="md">
<standard:image width="80" maintainaspect="crop" src="/media/website_pages/_dev_membership/French-Classes-Icon-150x150.png" height="80" style="margin-left: auto; margin-right: auto; display: block" />
<p style="text-align: center;">
<br />
Member pricing for <a href="/learn-french/adults/">adult French classes</a> and for 1:1 tutoring through private lessons with our French
teachers.
</p>
</templates:card>
<templates:card style="padding: 20px; margin: 10px; border-radius: 0px; box-shadow: 0px 3px 15px rgba(0,0,0,0.2)" cardsize="md">
<standard:image width="80" maintainaspect="crop" src="/media/website_pages/_dev_membership/language-resources-icon-150x150.png" height="80" style="margin-left: auto; margin-right: auto; display: block" />
<p style="text-align: center;">
<br />
Digital access to French publications and French language learning through&nbsp;<a href="https://www.culturetheque.com/US/regarder.aspx" target="_blank">Culturethèque</a>.
</p>
</templates:card>
</templates:flexlayout>
<templates:flexlayout style="justify-content: center; align-items: stretch;" preventwrap="preventwrap">
<templates:card style="padding: 20px; margin: 10px; border-radius: 0px; box-shadow: 0px 3px 15px rgba(0,0,0,0.2)" cardsize="md">
<standard:image width="80" maintainaspect="crop" src="/media/website_pages/_dev_membership/Member-Only-Events-150x150.png" height="80" style="margin-left: auto; margin-right: auto; display: block" />
<p style="text-align: center;">
<br />
Members-only parties and wine tastings, including access to virtual events organized for members by the Alliance Française.
</p>
</templates:card>
<templates:card style="padding: 20px; margin: 10px; border-radius: 0px; box-shadow: 0px 3px 15px rgba(0,0,0,0.2)" cardsize="md">
<standard:image width="80" maintainaspect="crop" src="/media/website_pages/_dev_membership/discounts-events-icon-150x150.png" height="80" style="margin-left: auto; margin-right: auto; display: block" />
<p style="text-align: center;">
<br />
Member discounts to all Alliance Française events that are open to the public, and cultural activities through our partners.
</p>
</templates:card>
</templates:flexlayout>
</templates:section>
<templates:section paddingTop="6rem" paddingBottom="4rem" paddingLeft="1rem" paddingRight="1rem" bgcolor="#fafafa">
<h2>Become a member</h2>
<p>
To become a member, simply fill in your details below. Select the membership type and follow the steps to pay. You will also be able to add
your family members/partner if you select the family or couple membership options.<br />
<br/>
</p>
<forms:form id="membership_form" recordsubmissions="true" onsubmitredirect="/membership/success/?sale_id=[? $sale_id ?]" onsubmitserver="onFormSubmit($membership_form.getValuesForComponent())" onsubmitemail="support@oncord.com" onsubmitemailsubject="[? 'New Member: ' + $_POST['contact_first_name'] + ' ' + $_POST['contact_last_name'] ?]" contactmode="store">
<ajax:event id="payment_ajaxevent" updateregions="total_paymentmethod_ajaxregion" />
<div class="fieldset">
<h4>Select Membership Type</h4>
<forms:row type="one_column" label="">
<forms:radiobuttongroup name="product_id" validations="mandatory">
<data:repeater class="template-productFlexContainer" datasource="\Components\Commerce\Products::getAllForCategoryAndBrand(5, null)" as="product" dataorder="[? [['product_price_base', 'asc']] ?]" datafilter="[? [['product_is_offline', '=', 0]] ?]">
<div class="template-productFlex">
<forms:radiobutton datacolumn="product_id" valuechecked="[? $product['product_id'] ?]" label="" value="" validations="mandatory" onchangeajax="payment_ajaxevent" savestate="true">
<p class="product-price" style="">
[? ' $' + round(\Components\Commerce\Products::getColumn($product['product_id'],'product_price'), 2) ?]
</p>
<p>[? $product['product_title'] ?]</p>
</forms:radiobutton>
</div>
</data:repeater>
</forms:radiobuttongroup>
</forms:row>
</div>
<div class="fieldset">
<h4>Personal Information</h4>
<templates:row>
<templates:column width="6">
<forms:row label="First Name" type="one_column">
<forms:editbox id="contact_first_name" datacolumn="contact_first_name" validations="mandatory" />
</forms:row>
</templates:column>
<templates:column width="6">
<forms:row label="Last Name" type="one_column">
<forms:editbox id="contact_last_name" datacolumn="contact_last_name" validations="mandatory" />
</forms:row>
</templates:column>
</templates:row>
<templates:row>
<templates:column width="6">
<forms:row label="Email Address" type="one_column">
<forms:editbox id="contact_email" datacolumn="contact_email" validations="mandatory,email" transformations="tolower" />
</forms:row>
</templates:column>
<templates:column width="6">
<forms:row label="Password" type="one_column">
<forms:password datacolumn="contact_password" id="contact_password" validations="mandatory" />
</forms:row>
</templates:column>
</templates:row>
<templates:row>
<templates:column width="12">
<forms:row label="Phone" type="one_column">
<forms:editbox id="contact_phone" datacolumn="contact_phone" validations="numeric" />
</forms:row>
</templates:column>
</templates:row>
<forms:address id="contact_address" validations="mandatory" rowtype="one_column" />
</div>
<ajax:region id="total_paymentmethod_ajaxregion">
<!-- If family is selected -->
<logic:if test="$membership_form.getValueForFormItem('product_id') == 15 || $membership_form.getValueForFormItem('product_id') == 6">
<div class="fieldset">
<h4>Family Member(s) Information</h4>
<ajax:event id="counterContactDetails_ajaxevent" updateregions="counterContactDetails_ajaxregion" />
<ajax:region id="counterContactDetails_ajaxregion">
<div style="position: relative;">
<forms:row label="Additional Contacts QTY" class="counter">
<forms:spinbox id="counterContactDetails" valuemin="1" valuemax="5" value="1" onchangeajax="counterContactDetails_ajaxevent" />
</forms:row>
<logic:if test="$counterContactDetails.value > 0">
<data:repeater datasource="createCounter($counterContactDetails.value)" as="item">
<logic:if test="$counterContactDetails.value < 2">
<style> .spinBoxDown {background-color: #efefef !important; pointer-events: none; } </style>
</logic:if>
<logic:if test="$counterContactDetails.value >= 5">
<style> .spinBoxUp {background-color: #efefef !important; pointer-events: none; } </style>
</logic:if>
<forms:form id="additional_contact_partner" datacolumn="additional_contact_partner">
<h5><strong>Family Member #[? $item ?]</strong></h5>
<templates:row>
<templates:column width="6">
<forms:row type="one_column" label="First Name">
<forms:editbox id="ac_first_name_[? $item ?]" datacolumn="contact_first_name" validations="mandatory" />
</forms:row>
</templates:column>
<templates:column width="6">
<forms:row type="one_column" label="Last Name">
<forms:editbox id="ac_last_name_[? $item ?]" datacolumn="contact_last_name" validations="mandatory" />
</forms:row>
</templates:column>
</templates:row>
<forms:row type="one_column" label="E-mail Address">
<forms:editbox id="ac_email_[? $item ?]" datacolumn="contact_email" transformations="tolower" validations="mandatory,email" />
</forms:row>
</forms:form>
</data:repeater>
</logic:if>
</div>
</ajax:region>
</div>
</logic:if>
<!-- If partner/couple is selected -->
<logic:else test="$membership_form.getValueForFormItem('product_id') == 4 || $membership_form.getValueForFormItem('product_id') == 5 || $membership_form.getValueForFormItem('product_id') == 12 || $membership_form.getValueForFormItem('product_id') == 13">
<div class="fieldset">
<h4>Additional Contact Information</h4>
<forms:form id="additional_contact_partner" datacolumn="additional_contact_partner">
<templates:row>
<templates:column width="6">
<forms:row type="one_column" label="First Name">
<forms:editbox id="partner_first_name" datacolumn="contact_first_name" validations="mandatory" />
</forms:row>
</templates:column>
<templates:column width="6">
<forms:row type="one_column" label="Last Name">
<forms:editbox id="partner_last_name" datacolumn="contact_last_name" validations="mandatory" />
</forms:row>
</templates:column>
</templates:row>
<forms:row type="one_column" label="E-mail Address">
<forms:editbox id="partner_email" datacolumn="contact_email" transformations="tolower" validations="mandatory,email" />
</forms:row>
</forms:form>
</div>
</logic:else>
<logic:if test="$membership_form.getValueForFormItem('product_id')">
<div class="fieldset">
<h4>Payment</h4>
<logic:variable as="product" value="[? \Components\Commerce\Products::get($membership_form.getValueForFormItem('product_id')) ?]" />
<forms:paymentmethod productid="[? $product['product_id'] ?]" completecart="true" recurring="true" recurringamount="[? $product['recurring_sale_amount'] ?]" recurringinterval="[? $product['recurring_sale_schedule_interval'] ?]" recurringintervalnumber="[? $product['recurring_sale_schedule_interval_number'] ?]" showpaymentformonzerovalue="true" />
</div>
</logic:if>
</ajax:region>
</forms:form>
</templates:section>
<templates:section paddingLeft="1rem" paddingRight="1rem" paddingTop="8rem" paddingBottom="8rem" bgimage="https://images.unsplash.com/photo-1630686726086-41df042f1be4?ixid=Mnw2ODg1fDB8MXxzZWFyY2h8MTd8fHNhbiUyMGFudG9uaW98ZW58MHx8fHwxNjgyNTUwNzk4&" bgwashcolor="#333333" bgwashopacity="50" color="#ffffff" bgposition="center" contentsize="md">
<h1 style="text-align: left;">Become a Member</h1>
<p style="text-align: left;">A membership is your access to special events and French language resources.</p>
</templates:section>
<templates:section paddingLeft="1rem" paddingRight="1rem" paddingBottom="6rem" paddingTop="6rem" contentsize="md" style="text-align: center;">
<h2>Member Benefits</h2>
Members have access year round to benefits such as:<br />
<br />
<templates:flexlayout style="justify-content: center; align-items: stretch;" preventwrap="preventwrap">
<templates:card style="padding: 20px; margin: 10px; border-radius: 0px; box-shadow: 0px 3px 15px rgba(0,0,0,0.2)" cardsize="md">
<standard:image width="80" maintainaspect="crop" src="/media/website_pages/_dev_membership/French-Classes-Icon-150x150.png" height="80" style="margin-left: auto; margin-right: auto; display: block" />
<p style="text-align: center;">
<br />
Member pricing for <a href="/learn-french/adults/">adult French classes</a> and for 1:1 tutoring through private lessons with our French
teachers.
</p>
</templates:card>
<templates:card style="padding: 20px; margin: 10px; border-radius: 0px; box-shadow: 0px 3px 15px rgba(0,0,0,0.2)" cardsize="md">
<standard:image width="80" maintainaspect="crop" src="/media/website_pages/_dev_membership/language-resources-icon-150x150.png" height="80" style="margin-left: auto; margin-right: auto; display: block" />
<p style="text-align: center;">
<br />
Digital access to French publications and French language learning through&nbsp;<a href="https://www.culturetheque.com/US/regarder.aspx" target="_blank">Culturethèque</a>.
</p>
</templates:card>
</templates:flexlayout>
<templates:flexlayout style="justify-content: center; align-items: stretch;" preventwrap="preventwrap">
<templates:card style="padding: 20px; margin: 10px; border-radius: 0px; box-shadow: 0px 3px 15px rgba(0,0,0,0.2)" cardsize="md">
<standard:image width="80" maintainaspect="crop" src="/media/website_pages/_dev_membership/Member-Only-Events-150x150.png" height="80" style="margin-left: auto; margin-right: auto; display: block" />
<p style="text-align: center;">
<br />
Members-only parties and wine tastings, including access to virtual events organized for members by the Alliance Française.
</p>
</templates:card>
<templates:card style="padding: 20px; margin: 10px; border-radius: 0px; box-shadow: 0px 3px 15px rgba(0,0,0,0.2)" cardsize="md">
<standard:image width="80" maintainaspect="crop" src="/media/website_pages/_dev_membership/discounts-events-icon-150x150.png" height="80" style="margin-left: auto; margin-right: auto; display: block" />
<p style="text-align: center;">
<br />
Member discounts to all Alliance Française events that are open to the public, and cultural activities through our partners.
</p>
</templates:card>
</templates:flexlayout>
</templates:section>
<templates:section paddingTop="6rem" paddingBottom="4rem" paddingLeft="1rem" paddingRight="1rem" bgcolor="#fafafa">
<h2>Become a member</h2>
<p>
To become a member, simply fill in your details below. Select the membership type and follow the steps to pay. You will also be able to add
your family members/partner if you select the family or couple membership options.<br />
<br/>
</p>
<forms:form id="membership_form" recordsubmissions="true" onsubmitredirect="/membership/success/?sale_id=[? $sale_id ?]" onsubmitserver="onFormSubmit($membership_form.getValuesForComponent())" onsubmitemail="support@oncord.com" onsubmitemailsubject="[? 'New Member: ' + $_POST['contact_first_name'] + ' ' + $_POST['contact_last_name'] ?]" contactmode="store">
<ajax:event id="payment_ajaxevent" updateregions="total_paymentmethod_ajaxregion" />
<div class="fieldset">
<h4>Select Membership Type</h4>
<forms:row type="one_column" label="">
<forms:radiobuttongroup name="product_id" validations="mandatory">
<data:repeater class="template-productFlexContainer" datasource="\Components\Commerce\Products::getAllForCategoryAndBrand(5, null)" as="product" dataorder="[? [['product_price_base', 'asc']] ?]" datafilter="[? [['product_is_offline', '=', 0]] ?]">
<div class="template-productFlex">
<forms:radiobutton datacolumn="product_id" valuechecked="[? $product['product_id'] ?]" label="" value="" validations="mandatory" onchangeajax="payment_ajaxevent" savestate="true">
<p class="product-price" style="">
[? ' $' + round(\Components\Commerce\Products::getColumn($product['product_id'],'product_price'), 2) ?]
</p>
<p>[? $product['product_title'] ?]</p>
</forms:radiobutton>
</div>
</data:repeater>
</forms:radiobuttongroup>
</forms:row>
</div>
<div class="fieldset">
<h4>Personal Information</h4>
<templates:row>
<templates:column width="6">
<forms:row label="First Name" type="one_column">
<forms:editbox id="contact_first_name" datacolumn="contact_first_name" validations="mandatory" />
</forms:row>
</templates:column>
<templates:column width="6">
<forms:row label="Last Name" type="one_column">
<forms:editbox id="contact_last_name" datacolumn="contact_last_name" validations="mandatory" />
</forms:row>
</templates:column>
</templates:row>
<templates:row>
<templates:column width="6">
<forms:row label="Email Address" type="one_column">
<forms:editbox id="contact_email" datacolumn="contact_email" validations="mandatory,email" transformations="tolower" />
</forms:row>
</templates:column>
<templates:column width="6">
<forms:row label="Password" type="one_column">
<forms:password datacolumn="contact_password" id="contact_password" validations="mandatory" />
</forms:row>
</templates:column>
</templates:row>
<templates:row>
<templates:column width="12">
<forms:row label="Phone" type="one_column">
<forms:editbox id="contact_phone" datacolumn="contact_phone" validations="numeric" />
</forms:row>
</templates:column>
</templates:row>
<forms:address id="contact_address" validations="mandatory" rowtype="one_column" />
</div>
<ajax:region id="total_paymentmethod_ajaxregion">
<!-- If family is selected -->
<logic:if test="$membership_form.getValueForFormItem('product_id') == 15 || $membership_form.getValueForFormItem('product_id') == 6">
<div class="fieldset">
<h4>Family Member(s) Information</h4>
<ajax:event id="counterContactDetails_ajaxevent" updateregions="counterContactDetails_ajaxregion" />
<ajax:region id="counterContactDetails_ajaxregion">
<div style="position: relative;">
<forms:row label="Additional Contacts QTY" class="counter">
<forms:spinbox id="counterContactDetails" valuemin="1" valuemax="5" value="1" onchangeajax="counterContactDetails_ajaxevent" />
</forms:row>
<logic:if test="$counterContactDetails.value > 0">
<data:repeater datasource="createCounter($counterContactDetails.value)" as="item">
<logic:if test="$counterContactDetails.value < 2">
<style> .spinBoxDown {background-color: #efefef !important; pointer-events: none; } </style>
</logic:if>
<logic:if test="$counterContactDetails.value >= 5">
<style> .spinBoxUp {background-color: #efefef !important; pointer-events: none; } </style>
</logic:if>
<forms:form id="additional_contact_partner" datacolumn="additional_contact_partner">
<h5><strong>Family Member #[? $item ?]</strong></h5>
<templates:row>
<templates:column width="6">
<forms:row type="one_column" label="First Name">
<forms:editbox id="ac_first_name_[? $item ?]" datacolumn="contact_first_name" validations="mandatory" />
</forms:row>
</templates:column>
<templates:column width="6">
<forms:row type="one_column" label="Last Name">
<forms:editbox id="ac_last_name_[? $item ?]" datacolumn="contact_last_name" validations="mandatory" />
</forms:row>
</templates:column>
</templates:row>
<forms:row type="one_column" label="E-mail Address">
<forms:editbox id="ac_email_[? $item ?]" datacolumn="contact_email" transformations="tolower" validations="mandatory,email" />
</forms:row>
</forms:form>
</data:repeater>
</logic:if>
</div>
</ajax:region>
</div>
</logic:if>
<!-- If partner/couple is selected -->
<logic:else test="$membership_form.getValueForFormItem('product_id') == 4 || $membership_form.getValueForFormItem('product_id') == 5 || $membership_form.getValueForFormItem('product_id') == 12 || $membership_form.getValueForFormItem('product_id') == 13">
<div class="fieldset">
<h4>Additional Contact Information</h4>
<forms:form id="additional_contact_partner" datacolumn="additional_contact_partner">
<templates:row>
<templates:column width="6">
<forms:row type="one_column" label="First Name">
<forms:editbox id="partner_first_name" datacolumn="contact_first_name" validations="mandatory" />
</forms:row>
</templates:column>
<templates:column width="6">
<forms:row type="one_column" label="Last Name">
<forms:editbox id="partner_last_name" datacolumn="contact_last_name" validations="mandatory" />
</forms:row>
</templates:column>
</templates:row>
<forms:row type="one_column" label="E-mail Address">
<forms:editbox id="partner_email" datacolumn="contact_email" transformations="tolower" validations="mandatory,email" />
</forms:row>
</forms:form>
</div>
</logic:else>
<logic:if test="$membership_form.getValueForFormItem('product_id')">
<div class="fieldset">
<h4>Payment</h4>
<logic:variable as="product" value="[? \Components\Commerce\Products::get($membership_form.getValueForFormItem('product_id')) ?]" />
<forms:paymentmethod productid="[? $product['product_id'] ?]" completecart="true" recurring="true" recurringamount="[? $product['recurring_sale_amount'] ?]" recurringinterval="[? $product['recurring_sale_schedule_interval'] ?]" recurringintervalnumber="[? $product['recurring_sale_schedule_interval_number'] ?]" showpaymentformonzerovalue="true" />
</div>
</logic:if>
</ajax:region>
</forms:form>
</templates:section>
Content Additional:
{"togglable_footerCTA":null,"togglable_memberCTA":null,"togglable_testCTA":null,"togglable_newslettercta":"on"}
{"togglable_footerCTA":null,"togglable_memberCTA":null,"togglable_testCTA":null,"togglable_newslettercta":"on"}
Css:
.fieldset
{
border: 1px solid hwb(356.13deg 19.61% 19.61% / 10%);
margin-bottom: 2rem;
padding-top: 3rem;
position: relative;
padding: 3rem 2rem 1rem;
}

.fieldset h4
{
background: #d90f31;
display: inline-block;
color: #fff;
padding: 10px 3rem;
position: absolute;
top: -20px;
left: -10px;
font-weight: 500;
}

.fieldset h4:after
{
position: absolute;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 0 9px 5px 0;
border-color: transparent #d90f31 transparent transparent;
bottom: -5px;
left: 1px;
}

addressform .formRow.formRow2Col {
flex-direction: column !important;
}

addressform input[type="text"],
addressform textarea
{
width: 100% !important;
}

fieldset h4 {
background: #720c1c;
color: #fff;
display: inline-block;
font-weight: 500;
left: -10px;
padding: 10px 3rem;
position: absolute;
top: -20px;
}

fieldset h4:after {
border-color: transparent #720c1c transparent transparent;
border-style: solid;
border-width: 0 9px 5px 0;
bottom: -5px;
content: "";
height: 0;
left: 1px;
position: absolute;
width: 0;
}

.template-productFlex label.s8-radiobutton-container input ~ .s8-radiobutton {
border: none;
}

span.template-selectedProduct {}

.counter {
bottom: 0;
position: absolute;
right: 0;
}

.counter .formRowCol1 {
display: none;
min-width: 100px;
width: auto;
}

.counter .formRowLabel {
color: #989898;
font-size: 2rem;
letter-spacing: 2px;
padding-top: 0.8rem;
text-transform: uppercase;
}

.counter .spinBox > input {
display: none !important;
}

.counter .spinBoxDown:before {
content: '-' !important;
}

.counter .spinBoxUp, .counter .spinBoxDown {
background: #720c1c;
bottom: 0;
color: #fff;
display: inline-block;
height: 2rem;
line-height: 2rem;
opacity: 1;
position: static;
right: 0;
text-align: center;
top: 0;
width: 2rem;
}

.counter .spinBoxUp:before, .counter .spinBoxDown:before {
border: 0 none;
content: '+';
font-size: 1.2rem;
height: 100%;
left: 0;
position: static;
top: 0;
transform: none;
width: 100%;
}

.template-productFlex {
align-items: center;
background: #333333;
color: #fff;
display: flex;
flex-direction: column;
justify-content: center;
min-height: 230px;
padding: 25px;
position: relative;
text-align: center;
}

.template-productFlex .s8-radiobutton-container {
opacity: 1 !important;
}

.template-productFlex .s8-radiobutton-container {
min-height: unset !important;
min-width: unset !important;
}

.template-productFlex input, .template-productFlex .s8-radiobutton-container {
border-radius: 0;
height: 100%;
left: 0;
opacity: 0;
position: absolute;
top: 0;
width: 100%;
}

.template-productFlex input[type="radio"]:checked ~ .s8-radiobutton::before {
background: #dc1836;
border-radius: 50px;
color: #ffffff;
content: "SELECTED";
display: block;
font-size: 11px;
height: auto;
letter-spacing: 1px;
opacity: 1;
padding: 1px 20px;
position: absolute;
right: 20px;
text-transform: uppercase;
top: 20px;
visibility: visible;
width: auto;
}

.s8-radiobuttongroup
{
display: block !important;
}

.template-productFlexContainer {
padding: 0;
margin: 0;
display: grid !important;
align-items: center;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-gap: 1.5rem;
}

select
{
width: 100% !important;
}

.product-price
{
font-size: 2rem;
}
.fieldset
{
border: 1px solid hwb(356.13deg 19.61% 19.61% / 10%);
margin-bottom: 2rem;
padding-top: 3rem;
position: relative;
padding: 3rem 2rem 1rem;
}

.fieldset h4
{
background: #d90f31;
display: inline-block;
color: #fff;
padding: 10px 3rem;
position: absolute;
top: -20px;
left: -10px;
font-weight: 500;
}

.fieldset h4:after
{
position: absolute;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 0 9px 5px 0;
border-color: transparent #d90f31 transparent transparent;
bottom: -5px;
left: 1px;
}

addressform .formRow.formRow2Col {
flex-direction: column !important;
}

addressform input[type="text"],
addressform textarea
{
width: 100% !important;
}

fieldset h4 {
background: #720c1c;
color: #fff;
display: inline-block;
font-weight: 500;
left: -10px;
padding: 10px 3rem;
position: absolute;
top: -20px;
}

fieldset h4:after {
border-color: transparent #720c1c transparent transparent;
border-style: solid;
border-width: 0 9px 5px 0;
bottom: -5px;
content: "";
height: 0;
left: 1px;
position: absolute;
width: 0;
}

.template-productFlex label.s8-radiobutton-container input ~ .s8-radiobutton {
border: none;
}

span.template-selectedProduct {}

.counter {
bottom: 0;
position: absolute;
right: 0;
}

.counter .formRowCol1 {
display: none;
min-width: 100px;
width: auto;
}

.counter .formRowLabel {
color: #989898;
font-size: 2rem;
letter-spacing: 2px;
padding-top: 0.8rem;
text-transform: uppercase;
}

.counter .spinBox > input {
display: none !important;
}

.counter .spinBoxDown:before {
content: '-' !important;
}

.counter .spinBoxUp, .counter .spinBoxDown {
background: #720c1c;
bottom: 0;
color: #fff;
display: inline-block;
height: 2rem;
line-height: 2rem;
opacity: 1;
position: static;
right: 0;
text-align: center;
top: 0;
width: 2rem;
}

.counter .spinBoxUp:before, .counter .spinBoxDown:before {
border: 0 none;
content: '+';
font-size: 1.2rem;
height: 100%;
left: 0;
position: static;
top: 0;
transform: none;
width: 100%;
}

.template-productFlex {
align-items: center;
background: #333333;
color: #fff;
display: flex;
flex-direction: column;
justify-content: center;
min-height: 230px;
padding: 25px;
position: relative;
text-align: center;
}

.template-productFlex .s8-radiobutton-container {
opacity: 1 !important;
}

.template-productFlex .s8-radiobutton-container {
min-height: unset !important;
min-width: unset !important;
}

.template-productFlex input, .template-productFlex .s8-radiobutton-container {
border-radius: 0;
height: 100%;
left: 0;
opacity: 0;
position: absolute;
top: 0;
width: 100%;
}

.template-productFlex input[type="radio"]:checked ~ .s8-radiobutton::before {
background: #dc1836;
border-radius: 50px;
color: #ffffff;
content: "SELECTED";
display: block;
font-size: 11px;
height: auto;
letter-spacing: 1px;
opacity: 1;
padding: 1px 20px;
position: absolute;
right: 20px;
text-transform: uppercase;
top: 20px;
visibility: visible;
width: auto;
}

.s8-radiobuttongroup
{
display: block !important;
}

.template-productFlexContainer {
padding: 0;
margin: 0;
display: grid !important;
align-items: center;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-gap: 1.5rem;
}

select
{
width: 100% !important;
}

.product-price
{
font-size: 2rem;
}
Js:

															

														
Accept Child 404:
0
0
Search Title:

															

														
Search Title Prefix:

															

														
Search Description:

															

														
Search Keywords:

															

														
Search Noindex:
0
0
Search Nofollow:
0
0
Search Change Frequency:

															

														
Search Priority:
0.5
0.5
Search Canonical Override:

															

														
Is Offline:
1
1
Is Hidden In Navigation:
1
1
Is Hidden In Sitemap:
1
1
Security New:
0
0
Security Contact Mode:

															

														
Security Contact Squeeze Viewlimit:

															

														
Security Contact Require Login:

															

														
Security Contact Groups:

															

														
Security Condition Id:

															

														
Security Heading:

															

														
Security Description:

															

														
Other Fields:

															

														
Order:
2
2
Parent Id:
/
/
Contact Id:
0
0
Design Id:
0
0
Header Functions:

															

														
Header Category:

															

														
Is Domain:
0
0
Post Category Id:

															

														
Event Category: