.cform {
    margin:10px auto 0 auto;
    max-width: 500px;
    color: #000;
    padding: 0.25em;
    box-shadow: 0.2em 0.2em 1em rgb(0 0 0 / 50%);
}

.cform .cf_hidden {
    display:none;
    border:none;
    background:none;
    padding:0;
    margin:0;
}

img.captcha {
    vertical-align:text-bottom;
    margin:0 0 0 10px;
    padding:0;
    border:none;
    float:none;
}

.captcha-reset {
    vertical-align:text-bottom;
    margin:0 0 2px 3px;
    width:21px;
    height:21px;
    border:none;
    cursor:pointer;
}

div.cf_info {
    display:none;
    padding:10px 15px;
    line-height:1.3em;
    margin:10px auto;
}

div.cf_info ol {
    margin:0;
    padding:5px 15px 0 30px;
}

div.cf_info ol li {
    padding:1px 0;
    margin:2px 0;
}

.mailerr,
.cform .cf_error,
.cform .cf_errortxt {
    color:#ad2929;
}

[disabled] {
    color:#dddddd;
    border-color:#dddddd;
    background:none;
}

/*                                                    */
/*  main 'top-level' form elements                    */
/*                                                    */

.cform fieldset {
    margin-bottom:1em;
    padding:0.5em;
    border:1px solid #adadad;
    border-left-color:#ececec;
    border-top-color:#ececec;
    box-shadow: 0.2em 0.2em 0.2em -0.125em rgb(0 0 0 / 30%)
}

.cform legend {
    margin-left:10px;
    padding: 0 2px;
    font-size:140%;
    font-weight: bold;
}

ol.cf-ol {
    margin:0!important;
    padding:0!important;
}
ol.cf-ol li {
    background:none!important;
    margin: 0 0 0.5em 0;
    padding:0;
    list-style:none!important;
    text-align:left;
    line-height:1.3em;
}


/*                                                    */
/* just for text-only fields (no input)               */
/*                                                    */

ol.cf-ol li.textonly {
    margin:6px 0 !important;
    padding:3px 0;
    text-align:center;
}


/*                                                    */
/* global definitions for field labels                */
/*                                                    */

.cform label {
    margin:0 10px 0 0;
    font-size: initial;
    text-align:left;
    display:block;
    color:black;
    background:#fefefe;
    padding:2px;
}

label.cf-before {
    display:inline-block;
    margin:4px 5px 0 0;
}

label.cf-before span{
    width:200px;
    display:block;
}

label.cf-after {
    display:inline-block;
    margin:4px 0 0 4px;
    text-align:left;
}

label.cf-after span {
    display:block;
}

.cform label.cf-after,
.cform label.cf-after span {
    width: 95%;
    width: calc(100% - 1em);
}

label.cf-group-after {
    display:inline-block;
    margin:4px 6px 0 4px;
    width:105px;
    text-align:left;
}
label.cf-group-after span {
    width:105px;
    display:block;
}

/*                                                    */
/*   FORM FIELDS general formatting                   */
/*                                                    */

.cform input {
    width:415px;
}

.cform input[type=text],
.cform input[type=tel],
.cform input[type=email],
.cform input[type=date],
.cform input[type=time] ,
.cform textarea {
    display: block;
}

.cform input[type=text],
.cform input[type=tel],
.cform input[type=email],
.cform input[type=file],
.cform textarea,
span.reqtxt,
span.emailreqtxt {
    width: 95%;
    width: calc(100% - 1em);
}

.cform input,
.cform textarea,
.cform select {
    margin:0 0 8px 0;
    padding:3px;
    background: #fbfbfb;
    border:none;
    border-top: 1px solid #f0f0f0;
    vertical-align:top;

}
.cform input:hover,
.cform textarea:hover,
.cform select:hover {
    background:#CEDDDF;
}

.cform input:focus,
.cform textarea:focus,
.cform select:focus {
    background:#F3F8F8;
}

.cform select {
    width:421px;
}

.cform select.cfselectmulti {
    height:6.5em;
}

.cform textarea {
    font-size: 0.9em;
    height: 6em;
    overflow:auto;
}

/*                                                    */
/*   radio button title                               */
/*                                                    */

ol.cf-ol li.cf-box-title {
    margin:12px 0 4px 10px!important;
    font-size:initial;
    color:black;
}

/*                                                    */
/*   check boxes                                      */
/*                                                    */

input.cf-box-a,
input.cf-box-b {
    margin:3px 0 0 0;
    width:16px;
    height:22px;
    border:none!important;
    background:none!important;
}


/*                                                    */
/* check box groups                                   */
/*                                                    */

ol.cf-ol li.cf-box-group {
    padding: 0.2em 0 0.2em 0.5em;
    border-radius: 0.5em;
    box-shadow: 1px 2px 2px -2px rgb(1 1 1 / 50%) inset,
        -1px -2px 2px -2px rgb(1 1 1 / 50%) inset;

}


/*                                                    */
/* formatting for text:  "(required)"  & other        */
/*                                                    */

span.reqtxt,
span.emailreqtxt {
    display:block;
    color:#888888;
    text-align:right;
    margin:0;
}

.cform textarea.fldemail,
.cform textarea.fldrequired,
.cform input.fldemail,
.cform input.fldrequired {
    margin:0;
}
/*                                                    */
/*   FORM submit button                               */
/*                                                    */

p.cf-sb {
    padding: 0!important;
    margin: 0;
    text-align:right;
}
.cform input.backbutton,
.cform input.resetbutton,
.cform input.sendbutton {
    width:150px;
    padding:5px;
    margin: 5px 3px 4px 0;
    font-size:initial;
    font-weight:bold;
    background:#ddd linear-gradient(0deg, #ddd, #fff) repeat-x;
    border:1px solid #adadad!important;
    border-left-color:#ececec!important;
    border-top-color:#ececec!important;
}
.cform input.resetbutton {
    width: auto;
    padding:5px 1em;
}
.cform input.backbutton {
    width: auto;
    padding:5px 1em;
}

/*                                                    */
/*   FORM FIELDS enhanced error display               */
/*                                                    */
ol.cf-ol li.cf_li_err {
    background:#FFDFDF repeating-linear-gradient(135deg, #FCEBED, white 1%, #FCEBED 2%) !important;
    border-color:#DF7D7D;
    border-style:solid;
    border-width:1px 0;
    padding:5px 10px!important;
    margin:5px 0!important;
}

ol.cf-ol li ul.cf_li_text_err {
    padding:0 0 0 10px;
    margin:0;
    color:#333;
    display:inline-block;
}

ol.cf-ol ul.cf_li_text_err li {
    background:url(icon-alert.png) no-repeat left 1px!important;
    list-style:none!important;
    font-weight:bold;
    text-indent:0;
    margin:0 0 2px!important;
    padding-left:15px;
}


/*                                                    */
/* 'visitor verification' related styles              */
/*                                                    */

label.seccap {
    margin-top: 6px;
}

label.secq{
    display:inline-block;
    width:auto;
    padding:2px 4px 2px 2px;
}
label.secq span {
    display:block!important;
    width:auto;
}

img.captcha {
    margin-bottom:8px;
}

.captcha-reset {
    color:#888;
}

/*                                                    */
/* change formatting of response msgs here            */
/*                                                    */

div.cf_info {
    width:420px;
    font-weight: bold;
    padding: 1em;
}
div.cf_info a {
    color:red!important;
    text-decoration:underline!important;
}
div.success {
    display:block;
    color: green;
    border: solid 1em green;
    border-radius:1em;
}
div.failure {
    display:block;
    color: red;
    border: solid 1em red;
    border-radius:1em;
}
div.waiting {
    background:#F9F9F9 none repeat scroll 0%;
    display:block;
    color: purple;
    border: solid 1em purple;
    border-radius:1em;
}

/*                                                    */
/*   formatting for invalid user inputs               */
/*                                                    */
.cform .cf_error {
    border:1px solid #ad2929;
}
div.mailerr {
    display:block;
}


/* Required field labels */
span.reqtxt, span.emailreqtxt {
    font-size: initial;
}