
/*-------------------------
      Form styles
---------------------------*/

.pt-10{padding-top: 10px;}
.pb-30{padding-bottom: 30px;}

label,
.frm_radio label,
.frm_primary_label {
    font-size: 18px !important;
    font-family: 'Open Sans',sans-serif !important;
}

fieldset {
    box-sizing:border-box;
    background:none!important;
    font-family: 'Open Sans',sans-serif !important;
    padding: 0px !important;
    margin: 0px !important;
}

.frm_form_field {
    margin-bottom: 10px !important;
}

.frm_forms input, 
.frm_forms select,
.frm_forms textarea{
    background: transparent !important;
    border-radius: 0 !important;
    margin-bottom: 0px !important;
    border: 1px solid #fff !important;  
    height: 45px !important;
    padding: 16px 0px 16px 16px !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: 'Open Sans',sans-serif !important;
    font-size: 18px !important;
    -moz-transition: all 0.2s ease-out;
    -webkit-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

html .frm_forms .frm_form_fields select {
    padding: 0px 16px !important;
    font-size: 14px !important;
    color: #fff !important;
}

.frm_forms select .frm-select-placeholder {color: #fff !important;}

.frm_forms input[type="radio"],
.frm_forms input[type="checkbox"] {
    height: auto !important;
}

.frm_forms textarea{
    margin-top: 0px !important;
    height: auto !important;  
}

.frm_forms input:focus, 
.frm_forms select:focus,
.frm_forms textarea:focus{
/*border-color: #aaa !important;*/
}
  
.frm_style_formidable-style.with_frm_style textarea::-webkit-input-placeholder{color: #fff !important;opacity: 1 !important;}
.frm_style_formidable-style.with_frm_style textarea::-moz-placeholder{color: #fff !important;opacity: 1 !important;}
.frm_style_formidable-style.with_frm_style input::-moz-placeholder{color: #fff !important;opacity: 1 !important;}
.frm_style_formidable-style.with_frm_style input::-webkit-input-placeholder{color: #fff !important;opacity: 1 !important;}
.frm_style_formidable-style.with_frm_style select::placeholder{color: #fff !important;opacity: 1 !important;font-size: 14px !important;}
.frm_style_formidable-style.with_frm_style select::-moz-placeholder{color: #fff !important;opacity: 1 !important;font-size: 14px !important;}
.frm_style_formidable-style.with_frm_style select::-webkit-input-placeholder{color: #fff !important;opacity: 1 !important;font-size: 14px !important;}

.frm_submit {
    text-align: center !important;
}


.frm_submit button {  
    position: relative;
    background:transparent !important;
    color: #fff !important;
    height: auto !important;
    margin: 0 auto !important;
    border: 1px solid #fff !important;
    padding: 10px 25px !important;
    border-radius: 0px !important;
    box-shadow: none !important;
    font-family: 'Open Sans',sans-serif !important;
    font-weight: 300 !important;
    text-transform: uppercase !important;
    font-family: 'Open Sans',sans-serif !important;
    font-size: 18px !important;
    letter-spacing: 2px !important;
    text-decoration: none !important;
    -moz-transition: all 0.2s ease-out;
    -webkit-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}

.frm_submit button:before { 
content: "";
position: absolute;
top: 4px;
left: 4px;
right: 4px;
bottom: 4px;
border-radius: 0;
background-color: transparent;
-webkit-transition: -webkit-transform .25s ease;
transition: -webkit-transform .25s ease;
transition: transform .25s ease;
transition: transform .25s ease,-webkit-transform .25s ease;
will-change: transform;
border: 1px solid rgba(255,255,255,.4);
  border-top-color: rgba(255, 255, 255, 0.4);
  border-right-color: rgba(255, 255, 255, 0.4);
  border-bottom-color: rgba(255, 255, 255, 0.4);
  border-left-color: rgba(255, 255, 255, 0.4);
}

.frm_submit button:hover {
    background: rgba(255,255,255,0.2) !important;
}

.frm_submit button:hover:before{
-webkit-transform: scale(1.06,1.14);
transform: scale(1.02,1.14);
}
  
.submit--red .frm_submit button {
    background: #b20209 !important;
    color: #fff !important;
    border: 1px solid #000 !important;
}

.submit--red .frm_submit button {
    background: #C21219 !important;
}

.submit--red .frm_submit button:before {
    border: 1px solid rgba(46,47,50,.4);
    border-top-color: rgba(46, 47, 50, 0.4);
    border-right-color: rgba(46, 47, 50, 0.4);
    border-bottom-color: rgba(46, 47, 50, 0.4);
    border-left-color: rgba(46, 47, 50, 0.4);
}

.row-newsletter_signup .frm_message p{color: #fff !important;}

/*---- checkboxes -----*/

@media screen and (max-width: 767px) {
    .frm_form_field.frm_three_col .frm_opt_container {
        grid-template-columns: repeat(1, 1fr) !important;
        text-align: left;
        padding-left: 40px;
    }
}

.checkboxes-signup {
    padding: 40px 0px;
    text-align: center;
}

.checkboxes-signup .frm_primary_label {
    text-align: center !important;
    display: block;
    color: #fff !important;
    font-family: 'Open Sans',sans-serif !important;
    font-size: 26px !important;
    font-weight: normal !important;
    margin-bottom: 10px !important;
    padding-left: 0px !important;
}

.frm_checkbox label {
    color: #fff !important;
    font-family: 'Open Sans',sans-serif !important;
    font-size: 18px !important;    
    text-align: left;
}

.checkboxes-signup .frm_checkbox label {
    display: inline-block;
    margin-right: 0px !important;
    /* */
    padding-left: 20px !important;
    text-indent: 0px !important;
    /* */
}

.checkboxes-signup .frm_opt_container {
    max-width: 460px;
    margin: 0 auto;
}

/*-- modify checkbox --*/

.frm_checkbox input {
    visibility: hidden !important;
    margin: 0px !important;
    height: 0px !important;
    width: 0px !important;
    min-width: 0px !important;
    padding: 0px !important;
}

.frm_checkbox label{
    position: relative !important;
    /* */
    padding-left: 30px !important;
    text-indent: -10px !important;
    /* */
}
  
.frm_checkbox label::before {
    content: "\f15e";
    font-family: dashicons !important;
    background-color: transparent;
    border: 1px solid #fff !important;
    color: transparent;
    left: 0px;
    font-size: 17px !important;
    line-height: 1em;
    padding: 0px 0px 1px !important;
    width: 18px !important;
    height: 18px !important;
    position: absolute;
    margin-top: 0px;
    z-index: 1;
    pointer-events: none !important;
    text-align: center !important;
    /*-webkit-opacity: 0;*/
    left: 0px;
    top: 4px;
    text-indent: 0px !important;
}
  
.frm_checkbox label.checked::before {
   -webkit-opacity: 1 !important;;
   color: #fff !important;
}

/*-- success box --*/

.frm_message {
    margin: 5px 0 15px;
    border: 1px solid #fff !important;
    background-color: transparent !important;
    color: #fff !important;
    border-radius: 0px !important;
    font-size: 14px !important;
    text-align: center;
}

.frm_message {
    color: #fff !important;
    margin-bottom: 0px !important;
}

/* -- errors -- */

.frm_blank_field {
    position: relative;
}

.frm_error {
    position: absolute;
    bottom: -17px;
    right: 10px;
    font-size: 12px;
    font-family: 'Open Sans',sans-serif !important;
    font-weight: 300 !important;
    color: #fff !important;
    pointer-events: none !important;
    white-space: nowrap;
    background: #b4091b;
    border-radius: 1px;
    border: none;
    z-index: 5;
    padding: 3px 7px 1px !important;
    -webkit-font-smoothing: auto;
    -webkit-transition: background .3s ease,-webkit-transform .3s cubic-bezier(.165,.84,.44,1);
    transition: background .3s ease,-webkit-transform .3s cubic-bezier(.165,.84,.44,1);
    transition: transform .3s cubic-bezier(.165,.84,.44,1),background .3s ease;
    transition: transform .3s cubic-bezier(.165,.84,.44,1),background .3s ease,-webkit-transform .3s cubic-bezier(.165,.84,.44,1);
}

/*----- freestyle-enquiry-form -----*/

.with_frm_style .freestyle-enquiry-form .frm_checkbox input[type="checkbox"] {
    display: none !important;
}

.freestyle-enquiry-form .frm_checkbox label{
    text-indent: 0px !important;
}

/*----- signup form -----*/


@media only screen and (max-width: 900px) {
    .freestyle-signup-form .frm_section_heading > .frm_form_field, 
    .freestyle-signup-form .frm_fields_container > .frm_submit, 
    .freestyle-signup-form .frm_grid_container > .frm_form_field, 
    .freestyle-signup-form .frm_fields_container > .frm_form_field {
    grid-column: 1 / span 12 !important;
    }

    .freestyle-signup-form .frm_opt_container {padding-left: 0px !important}

    .checkboxes-signup,
    .checkboxes-signup .frm_primary_label {text-align: left !important;}
}

/*----- wedding brochure form -----*/

.freestyle-wedding-form {
    max-width: 525px;
}

.freestyle-wedding-form p{
    color: #42004a !important;
    font-family: Open Sans,sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    font-feature-settings: "lnum";    
}

.freestyle-wedding-form ul{
    margin: 25px 0px;
}

.freestyle-wedding-form li {
    margin-bottom: 14px;
    color: #42004a;
    font-family: Open Sans,sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    font-feature-settings: "lnum";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.freestyle-wedding-form li strong{
    margin-top: 7px;
    margin-left: 17px;
    font-weight: normal;
}

.freestyle-wedding-form li::before {
    content: "";
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 43px;
    height: 43px;
    background-image: url(/media/images/weddings-form/tick.png);
    background-size: contain;
    margin-top: 0px;
}

@media screen and (max-width: 999px) {
    .freestyle-wedding-form li strong{margin-top: 0px;}
    .freestyle-wedding-form li::before {
        width: 32px;
        height: 32px;
    }
}


.freestyle-wedding-form input {
    border-color: #42004a !important; 
    color: #42004a !important; 
}

.frm_style_formidable-style.with_frm_style .freestyle-wedding-form textarea::-webkit-input-placeholder{color: #42004a !important;opacity: 1 !important;}
.frm_style_formidable-style.with_frm_style .freestyle-wedding-form input::-moz-placeholder{color: #42004a !important;opacity: 1 !important;}
.frm_style_formidable-style.with_frm_style .freestyle-wedding-form input::-webkit-input-placeholder{color: #42004a !important;opacity: 1 !important;}
.frm_style_formidable-style.with_frm_style .freestyle-wedding-form textarea::-moz-placeholder{color: #42004a !important;opacity: 1 !important;}
.frm_style_formidable-style.with_frm_style .freestyle-wedding-form select::-moz-placeholder{color: #42004a !important;opacity: 1 !important;font-size: 14px !important;}
.frm_style_formidable-style.with_frm_style .freestyle-wedding-form select::-webkit-input-placeholder{color: #42004a !important;opacity: 1 !important;font-size: 14px !important;}

html .frm_forms .freestyle-wedding-form .frm_form_fields select {
    padding: 0px 16px !important;
    font-size: 14px !important;
    color: #42004a !important;  
    border-color: #42004a !important; 
}

.freestyle-wedding-form .frm_checkbox {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.freestyle-wedding-form .frm_checkbox label{
    color: #42004a !important;     
}

.freestyle-wedding-form .frm_checkbox label::before {
    color: transparent !important;  
    border-color: #42004a !important;  
}
.freestyle-wedding-form .frm_checkbox label.checked::before {
    color: #42004a !important;  
}

.freestyle-wedding-form .frm_submit {text-align: left !important;}
.freestyle-wedding-form .frm_submit button {
    margin: 0px !important;
    border-color: #42004a !important;  
    color: #42004a !important; 
    background: #42004a !important;
    color: #fff !important;     
    width: 100% !important;
}

.freestyle-wedding-form .frm_submit button:hover {
    background: #62206a !important;    
}

.freestyle-wedding-form .frm_submit button:hover:before{
    -webkit-transform: scale(1.01,1.14);
    transform: scale(1.01,1.14);
}


.with_frm_style .freestyle-wedding-form .frm_checkbox input[type="checkbox"] {
    display: none !important;
}

.with_frm_style .freestyle-wedding-form .frm_checkbox label{
    text-indent: 0px !important;
}

/*-- second form --*/

.frm_forms .frm_message {
    margin: 0px !important;
    padding: 0px !important;
    border: none !important;
}

.frm_message .freestyle-wedding-form #frm_field_92_container {margin-bottom: 20px !important;}
.frm_message .freestyle-wedding-form .frm_submit {margin-top: 20px !important;}
.frm_message .freestyle-wedding-form .frm_submit button{min-width: 100%;}

.frm_forms .frm_message .frm_message p{
    color: #42004a !important;  
    text-align: left
}

@media screen and (max-width: 999px) {
    .freestyle-enquiry-form .frm_checkbox label,
    .freestyle-wedding-form .frm_checkbox label {font-size: 15px !important;}    
}

/* anchor fix for form part 2 */

#form_signupform22:before {
    content: '';
    position: absolute;
    height: 220px;
    top:-120px;
    pointer-events: none;
    width: 1px;
}


/*-------------------------
     row-3_col_text_cards
---------------------------*/

.row-3_col_text_cards .row-3_col-wider .col{
    float: left;
    clear: none;
    text-align: inherit;
    width: 32%;
    margin-left: 0;
    margin-right: 2%;
}

.row-3_col_text_cards  .row-3_col-wider .col:last-child {
    margin-right: 0;
}

.row-3_col_text_cards .row-3_col-wider .col .text_card {
    padding: min(4vw, 25px);
}

@media screen and (max-width:900px) {
    .row-3_col_text_cards .row-3_col-wider  .col {
        display:block;
        clear:both;
        float:none;
        width:100%;
        margin-left:auto;
        margin-right:auto;
        max-width:500px
    }
    .row-3_col_text_cards .row-3_col-wider .col:first-child {
        margin-left:auto
    }
    .row-3_col_text_cards .row-3_col-wider .col:last-child {
        margin-right:auto
    }
    .row-3_col_text_cards .row-3_col-wider .col:not(:last-child) {
        margin-bottom:50px
    }
    .row-3_col_text_cards .row-3_col-wider .col:not(.in_viewport) {
        -webkit-transform:translateY(30px);
        transform:translateY(30px)
    }
}