/*	
--------------------------------------------------
@ * Smart Forms v4
  * http://www.doptiq.com/smart-forms
  * Last updated 01 / JUNE / 2017
  * Product developed by Elflaire 
  * http://codecanyon.net/user/elflaire
-------------------------------------------------- 
*/


/* @backgrounds :: modify or add yours below 
------------------------------------------------------------------- */
.darkbg {
   background: #6C82A2 url(../images/dark.png) repeat fixed;
}

.woodbg {
   background: #E6CCA6 url(../images/wood.png) repeat fixed;
}

/* @form wrappers 
---------------------------------- */
.smart-wrap {
   padding: 0 20px;
   background: none;
}

.smart-forms,
.smart-forms * {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}

.smart-forms {
   line-height: 1.231;
   font-weight: 400;
   font-size: 14px;
   color: #626262;
}

.smart-container {
   background: #fff;
   margin: 50px auto;
   -webkit-box-shadow: 0 1px 8px rgba(60, 60, 60, 0.22);
   -moz-box-shadow: 0 1px 8px rgba(60, 60, 60, 0.22);
   -o-box-shadow: 0 1px 8px rgba(60, 60, 60, 0.22);
   box-shadow: 0 1px 8px rgba(60, 60, 60, 0.22);
   -webkit-border-radius: 6px 6px 0 0;
   -moz-border-radius: 6px 6px 0 0;
   -o-border-radius: 6px 6px 0 0;
   border-radius: 6px 6px 0 0;
}

/* @form container width 
/* @if you want to change the form container width change the values below 
/* @alternatively you can add yours eg .wrap4{ max-width:200px; } 
---------------------------------------------------------------------------- */
.wrap-0 {
   max-width: 952px;
}

.wrap-1 {
   max-width: 852px;
}

.wrap-2 {
   max-width: 652px;
}

.wrap-3 {
   max-width: 452px;
}

/* @form helper classes 
--------------------------------------------------------------- */
.smart-forms .section {
   margin-bottom: 14px;
}

.smart-forms.small-section .section {
   margin-bottom: 15px;
}


.smart-forms .smart-link {
   color: #7cbf34;
   text-decoration: none;
}

.smart-forms .smart-link:hover {
   text-decoration: underline;
}

.smart-forms .tagline {
   height: 0;
   border-top: 1px solid #e2e2e2;
   text-align: center;
}

.smart-forms .tagline span {
   text-transform: uppercase;
   display: inline-block;
   position: relative;
   padding: 0 15px;
   background: #fff;
   color: #7cbf34;
   top: -10px;
}

/* @form label + field :: field class is useful for validation 
---------------------------------------------------------------------- */
.smart-forms .field {
   display: block;
   position: relative;
}

.smart-forms .field-icon i {
   color: #BBB;
   position: relative;
}

.smart-forms .field-label {
   display: block;
   margin-bottom: 7px;
}

.smart-forms .field-label.colm {
   padding-top: 12px;
}

.smart-forms .field-label em {
   color: #e74c3c;
   font-size: 14px;
   font-style: normal;
   display: inline-block;
   margin-left: 4px;
   position: relative;
   top: 3px;
}

.smart-forms fieldset {
   border: 0;
   display: block;
}

/* @form header section 
----------------------------------------- */
.smart-forms .form-header {
   overflow: hidden;
   position: relative;
   padding: 25px 30px;
   -webkit-border-radius: 5px 5px 0 0;
   -moz-border-radius: 5px 5px 0 0;
   -o-border-radius: 5px 5px 0 0;
   border-radius: 5px 5px 0 0;
}

.smart-forms .form-header h4 {
   text-align: left;
   font-weight: 300;
   font-size: 30px;
   line-height: 38px;
   padding: 0;
   margin: 0;
}

.smart-forms .form-header h4 i {
   font-size: 27px;
   position: relative;
   margin-right: 15px;
}

/* @header themes :: primary + lite 
---------------------------------------------- */
.smart-forms .header-primary {
   background-color: #7cbf34;
   border-top: 1px solid #A7D065;
   border-bottom: 5px solid #3c9b39;
}

.smart-forms .header-lite {
   background: #F3F5FA;
   border-top: 1px solid #A7D065;
   border-bottom: 1px solid #D9DDE5;
}

.smart-forms .header-lite:before {
   content: "";
   background-color: #7cbf34;
   position: absolute;
   height: 8px;
   z-index: 1;
   top: 0px;
   right: 0;
   left: 0;
}

.smart-forms .header-primary h4 {
   /*color: #fff;*/
}

.smart-forms .header-lite h4 {
   color: #5D6A87;
   padding-top: 5px;
}

/* @remove rounded corners form headers 
----------------------------------------------------------------- */
.smart-flat,
.smart-flat .form-header {
   -webkit-border-radius: 0;
   -moz-border-radius: 0;
   -o-border-radius: 0;
   border-radius: 0;
}

/* @form body + footer 
------------------------------------------------------------------- */
.smart-forms .form-body {
   padding: 40px 30px;
   padding-bottom: 20px;
}

.smart-forms .form-footer {
   overflow: hidden;
   padding: 20px 25px;
   padding-top: 25px;
   background: #F5F5F5;
   background: #F5F5F5 url(../images/foobg.png) top left repeat-x;
}

/* @crossbrowser placeholder styling :: modern browsers only IE10+
------------------------------------------------------------------------ */
.smart-forms input[type=search] {
   -webkit-appearance: textfield;
}

.smart-forms ::-webkit-search-decoration,
.smart-forms ::-webkit-search-cancel-button {
   -webkit-appearance: none;
}

.smart-forms input:invalid {
   -moz-box-shadow: none;
   box-shadow: none;
}

.smart-forms input::-webkit-input-placeholder,
.smart-forms textarea::-webkit-input-placeholder {
   color: #AAAAAA;
}

.smart-forms input:focus::-webkit-input-placeholder,
.smart-forms textarea:focus::-webkit-input-placeholder {
   color: #D6DBE0;
}

.smart-forms input:-moz-placeholder,
.smart-forms textarea:-moz-placeholder {
   color: #AAAAAA;
}

.smart-forms input:focus:-moz-placeholder,
.smart-forms textarea:focus:-moz-placeholder {
   color: #D6DBE0;
}

.smart-forms input::-moz-placeholder,
.smart-forms textarea::-moz-placeholder {
   color: #AAAAAA;
   opacity: 1;
}

.smart-forms input:focus::-moz-placeholder,
.smart-forms textarea:focus::-moz-placeholder {
   color: #D6DBE0;
   opacity: 1;
}

.smart-forms input:-ms-input-placeholder,
.smart-forms textarea:-ms-input-placeholder {
   color: #AAAAAA;
}

.smart-forms input:focus:-ms-input-placeholder,
.smart-forms textarea:focus:-ms-input-placeholder {
   color: #D6DBE0;
}

/* @element general styling :: fonts :: adjust accordingly
------------------------------------------------------------- */
.smart-forms label,
.smart-forms input,
.smart-forms button,
.smart-forms select,
.smart-forms textarea {
   margin: 0;
   font-size: 14px;
   font-weight: 400;
   color: #626262;
   outline: none;
}

/* @remove browser specific styling
----------------------------------------------- */
.smart-forms .gui-input,
.smart-forms .gui-textarea,
.smart-forms .select > select,
.smart-forms input[type="button"],
.smart-forms input[type="submit"],
.smart-forms input[type="search"],
.smart-forms .select-multiple select {
   -webkit-tap-highlight-color: transparent;
   -webkit-tap-highlight-color: rgba(0,0,0,0);
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   -webkit-border-radius: 0px;
   border-radius: 0px;
}

.smart-forms input[type="search"]::-webkit-search-decoration,
.smart-forms input[type="search"]::-webkit-search-cancel-button,
.smart-forms input[type="search"]::-webkit-search-results-button,
.smart-forms input[type="search"]::-webkit-search-results-decoration {
   display: none;
}

/* @labels font-size styling :: adjust to fit your needs 
--------------------------------------------------------- */
.smart-forms .switch,
.smart-forms .option,
.smart-forms .field-label {
   font-size: 13px;
}

/* @prevent user selection for usability purposes
----------------------------------------------------- */
.smart-forms .radio,
.smart-forms .button,
.smart-forms .checkbox,
.smart-forms .select .arrow,
.smart-forms .switch > label,
.smart-forms .ui-slider .ui-slider-handle {
   -webkit-touch-callout: none;
   -webkit-user-select: none;
   -khtml-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
}

/* @universal rules for all elements 
---------------------------------------------------- */
.smart-forms .radio,
.smart-forms .button,
.smart-forms .tooltip,
.smart-forms .checkbox,
.smart-forms .gui-input,
.smart-forms .notification,
.smart-forms .gui-textarea,
.smart-forms .select > select,
.smart-forms .select-multiple select {
   -webkit-transition: all 0.5s ease-in-out;
   -moz-transition: all 0.5s ease-in-out;
   -ms-transition: all 0.5s ease-in-out;
   -o-transition: all 0.5s ease-in-out;
   transition: all 0.5s ease-in-out;
   -webkit-border-radius: 0;
   -moz-border-radius: 0;
   -ms-border-radius: 0;
   -o-border-radius: 0;
   border-radius: 0;
   outline: none;
}

.smart-forms .select > select,
.smart-forms .select-multiple select {
   -webkit-transition: none;
   -moz-transition: none;
   -ms-transition: none;
   -o-transition: none;
   transition: none;
}

/* @control border-size :: color etc for these elements 
----------------------------------------------------------- */
.smart-forms .select,
.smart-forms .gui-input,
.smart-forms .gui-textarea,
.smart-forms .select > select,
.smart-forms .select-multiple select {
   background: #fff;
   position: relative;
   vertical-align: top;
   border: 1px solid #e2e2e2;
   display: -moz-inline-stack;
   display: inline-block;
   *display: inline;
   color: #626262;
   outline: none;
   height: 44px;
   width: 100%;
   *zoom: 1;
   border-radius: 2px;
}

/* @styling inputs and textareas 
------------------------------------------- */
.smart-forms .gui-input,
.smart-forms .gui-textarea {
   padding: 10px;
}

.smart-forms .gui-textarea {
   resize: none;
   line-height: 19px;
   overflow: auto;
   max-width: 100%;
   height: 150px;
}

/* @hint below textareas 
---------------------------------------- */
.smart-forms .input-hint {
   padding: 10px;
   display: block;
   margin-top: -1px;
   line-height: 16px;
   position: relative;
   background: #F5F5F5;
   border: 1px solid #e2e2e2;
   -webkit-border-radius: 0;
   -moz-border-radius: 0;
   -o-border-radius: 0;
   border-radius: 0;
   font-size: 11px;
   color: #999;
}

/* @form selects :: dropdowns 
-------------------------------------------------- */
.smart-forms .select {
   border: 0;
   z-index: 10;
}

.smart-forms .select > select {
   display: block;
   padding: 9px 12px;
   color: #626262;
   background: #F5F5F5;
   border: 1px solid #e2e2e2;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: normal;
   outline: none;
   text-indent: 0.01px;
   text-overflow: '';
   z-index: 10;
   margin: 0;
}

.smart-forms .select > select::-ms-expand {
   display: none;
}

.smart-forms .select .arrow {
   position: absolute;
   top: 10px;
   right: 4px;
   width: 24px;
   height: 24px;
   color: #9F9F9F;
   pointer-events: none;
   z-index: 16;
}

.smart-forms .select .arrow:after,
.smart-forms .select .arrow:before {
   content: '';
   position: absolute;
   font: 12px "Consolas", monospace;
   font-style: normal;
   pointer-events: none;
   display: none\9;
   left: 5px;
}

.smart-forms .select .arrow:before {
   content: '\25BC';
   bottom: 4px;
}

.smart-forms .select .double:after {
   content: '\25B2';
   top: -1px;
}

.smart-forms .select .double:before {
   content: '\25BC';
   bottom: -1px;
}

.smart-forms .select-multiple select {
   width: 100%;
   height: 123px;
   padding: 10px;
}

/* @file inputs :: file uploaders 
-------------------------------------------------------- */
.smart-forms .file {
   display: block;
   width: 100%;
}

.smart-forms .file .gui-file {
   width: 100%;
   height: 100%;
   cursor: pointer;
   padding: 8px 10px;
   position: absolute;
   -moz-opacity: 0;
   opacity: 0;
   z-index: 11;
   bottom: 0;
   right: 0;
}

.smart-forms .file .button {
   position: absolute;
   top: 4px;
   right: 4px;
   float: none;
   height: 40px;
   line-height: 42px;
   padding: 0 18px;
   z-index: 10;
}

/* @form element :hover state 
-------------------------------------------- */
.smart-forms .gui-input:hover,
.smart-forms .gui-textarea:hover,
.smart-forms .select > select:hover,
.smart-forms .select-multiple select:hover,
.smart-forms .gui-input:hover ~ .input-hint,
.smart-forms .file .gui-file:hover + .gui-input,
.smart-forms .gui-textarea:hover ~ .input-hint {
   border-color: #6BC868;
}

/* @form element :focus state 
-------------------------------------------------------- */
.smart-forms .gui-input:focus,
.smart-forms .gui-textarea:focus,
.smart-forms .select > select:focus,
.smart-forms .select-multiple select:focus {
   color: #3c3c3c;
   background: #fff;
   border: 1px solid #7cbf34;
   outline: none;
}

.smart-forms .select > select:focus {
   z-index: 10;
   z-index: 20\9;
}

.smart-forms .gui-textarea:focus {
   height: 120px;
}

.smart-forms .select > select:focus {
   z-index: 10;
   z-index: 20\9;
}

.smart-forms .gui-input:focus ~ .field-icon i,
.smart-forms .gui-textarea:focus ~ .field-icon i {
   color: #7cbf34;
}

.smart-forms .select-multiple select:focus,
.smart-forms .gui-input:focus ~ .input-hint,
.smart-forms .gui-textarea:focus ~ .input-hint,
.smart-forms .file .gui-file:focus + .gui-input {
   border-color: #7cbf34;
}

.smart-forms .select > select:focus + .arrow {
   color: #7cbf34;
}


/* @radio + checkbox option elements 
----------------------------------------------------- */
.smart-forms .option {
   position: relative;
   padding-right: 15px;
   display: inline-block;
   vertical-align: middle;
}

.smart-forms .option:hover {
   cursor: pointer;
}

.smart-forms .option > input {
   position: absolute;
   height: inherit;
   width: inherit;
   opacity: 0;
   left: 0;
}

.smart-forms .checkbox,
.smart-forms .radio {
   position: relative;
   margin-right: 4px;
   background: #fff;
   display: inline-block;
   border: 3px solid #e2e2e2;
   margin-bottom: 0;
   margin-top: 0;
   height: 21px;
   width: 21px;
   top: 5px;
}

.smart-forms .checkbox:before,
.smart-forms .radio:before {
   content: '';
   display: none;
   -webkit-box-sizing: content-box;
   -moz-box-sizing: content-box;
   -o-box-sizing: content-box;
   box-sizing: content-box;
   padding: 0;
   margin: 0;
}

.smart-forms input:checked + .checkbox:before,
.smart-forms input:checked + .radio:before {
   display: block;
}

.smart-forms .checkbox:before {
   position: absolute;
   top: 4px;
   left: 4px;
   width: 5px;
   height: 3px;
   border: solid #7cbf34;
   -webkit-border-width: 0 0 3px 3px;
   -moz-border-width: 0 0 3px 3px;
   border-width: 0 0 3px 3px;
   -webkit-transform: rotate(-45deg);
   -moz-transform: rotate(-45deg);
   -ms-transform: rotate(-45deg);
   -o-transform: rotate(-45deg);
   transform: rotate(-45deg);
}

.smart-forms input:checked + .checkbox,
.smart-forms input:checked + .radio {
   border: 3px solid #7cbf34;
}

.smart-forms .radio {
   -webkit-border-radius: 20px;
   -moz-border-radius: 20px;
   -o-border-radius: 20px;
   border-radius: 20px;
}

.smart-forms .radio:before {
   margin: 4px;
   width: 7px;
   height: 7px;
   background: #7cbf34;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
   -o-border-radius: 10px;
   border-radius: 10px;
}


/* @radio + checkbox :hover state 
-------------------------------------------------- */
.smart-forms input:hover + .checkbox,
.smart-forms input:hover + .radio {
   border-color: #6BC868;
}

/* @radio + checkbox :focus state 
--------------------------------------------------- */
.smart-forms input:focus + .checkbox,
.smart-forms input:focus + .radio {
   border-color: #7cbf34;
}

.smart-forms input:focus + .radio:before {
   background: #7cbf34;
}

.smart-forms input:focus + .checkbox:before {
   border-color: #7cbf34;
}

/* @toggle switch elements 
-------------------------------------------------- */
.smart-forms .switch {
   cursor: pointer;
   position: relative;
   padding-right: 10px;
   display: inline-block;
   margin-bottom: 5px;
   height: 26px;
}

.smart-forms .switch > .switch-label {
   cursor: pointer;
   display: inline-block;
   position: relative;
   height: 25px;
   width: 58px;
   color: #fff;
   font-size: 10px;
   font-weight: 400;
   line-height: 20px;
   text-align: center;
   background: #D7D7D7;
   border: 2px solid #D7D7D7;
   text-transform: uppercase;
   letter-spacing: 1px;
   -webkit-transition: 0.3s ease-out;
   -moz-transition: 0.3s ease-out;
   -o-transition: 0.3s ease-out;
   transition: 0.3s ease-out;
   border-radius: 50px;
}

.smart-forms .switch > .switch-label + span {
   display: inline-block;
   padding-left: 5px;
   position: relative;
   top: -7px;
}

.smart-forms .switch > .switch-label:before {
   content: attr(data-off);
   position: absolute;
   top: 1px;
   right: 3px;
   width: 33px;
}

.smart-forms .switch > .switch-label:after {
   content: "";
   margin: 1px;
   width: 19px;
   height: 19px;
   display: block;
   background: #fff;
   border-radius: 50px;
}

.smart-forms .switch > input {
   -webkit-appearance: none;
   position: absolute;
   width: inherit;
   height: inherit;
   opacity: 0;
   left: 0;
   top: 0;
}

/* @toggle switch focus state 
-------------------------------------------------------------- */
.smart-forms .switch > input:focus {
   outline: none;
}

.smart-forms .switch > input:focus + .switch-label {
   color: #fff;
   border-color: #C7C7C7;
   background: #C7C7C7;
}

.smart-forms .switch > input:focus + .switch-label:after {
   background: #fff;
}

/* @toggle switch normal state 
--------------------------------------------------------------- */
.smart-forms .switch > input:checked + .switch-label {
   border-color: #7cbf34;
   background: #7cbf34;
   padding-left: 33px;
   color: white;
   border-radius: 50px;
}

.smart-forms .switch > input:checked + .switch-label:before {
   content: attr(data-on);
   left: 1px;
   top: 1px;
}

.smart-forms .switch > input:checked + .switch-label:after {
   margin: 1px;
   width: 19px;
   height: 19px;
   background: white;
   border-radius: 50px;
}

/* @toggle switch normal state focus 
--------------------------------------------------------------------------------- */
.smart-forms .switch > input:checked:focus + .switch-label {
   background: #3c9b39;
   border-color: #3c9b39;
}

.smart-forms .switch-round > .switch-label {
   -webkit-border-radius: 13px;
   -moz-border-radius: 13px;
   -o-border-radius: 13px;
   border-radius: 13px;
}

.smart-forms .switch-round > .switch-label + span {
   top: -5px;
}

.smart-forms .switch-round > .switch-label:before {
   width: 33px;
}

.smart-forms .switch-round > .switch-label:after {
   width: 19px;
   height: 19px;
   color: #D7D7D7;
   content: "\2022";
   font: 30px/20px Times, Serif;
   -webkit-border-radius: 20px;
   -moz-border-radius: 20px;
   -o-border-radius: 20px;
   border-radius: 20px;
}

.smart-forms .switch-round > input:checked + .switch-label {
   padding-left: 33px;
}

.smart-forms .switch-round > input:checked + .switch-label:after {
   color: #7cbf34;
}

/* Smart-options 
-------------------------------------------*/
.smart-forms .option-group:before,
.smart-forms .option-group:after {
   display: table;
   content: "";
   line-height: 0;
}

.smart-forms .option-group:after {
   clear: both;
}

.smart-forms .smart-option-group .option {
   padding: 0;
   margin: 0;
}

.smart-forms .smart-option {
   border: 1px solid #e2e2e2;
   margin-right: 5px;
   background: #F5F5F5;
   font-weight: normal;
   text-decoration: none;
   color: #454545;
   border-radius: 3px;
   padding: 0 20px;
   display: inline-block;
   position: relative;
   line-height: normal;
   cursor: pointer;
   vertical-align: middle;
   text-align: center;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
   overflow: hidden;
   line-height: 40px;
   height: 40px;
}

.smart-forms .smart-option-ui {
   display: inline-block;
}

.smart-forms .smart-option-ui .iconc {
   position: relative;
   margin-right: 2px;
   background: #fff;
   display: inline-block;
   border: 3px solid #e2e2e2;
   -webkit-border-radius: 2px;
   -moz-border-radius: 2px;
   -o-border-radius: 2px;
   border-radius: 2px;
   margin-bottom: 0;
   margin-top: 0;
   height: 21px;
   width: 21px;
   top: 5px;
}

.smart-forms .smart-radio .iconc {
   -webkit-border-radius: 20px;
   -moz-border-radius: 20px;
   -o-border-radius: 20px;
   border-radius: 20px;
}

.smart-forms .option > input:checked + .smart-option {
   border-color: #33a72f;
   background: #7cbf34;
   color: white;
}

.smart-forms .option > input:checked + .smart-option .fa {
   font-size: 14px;
}

.smart-forms .option > input:checked + .smart-option .iconc {
   border-color: #2F8640;
}

.smart-forms .smart-radio .iconc:before,
.smart-forms .smart-checkbox .iconc:before {
   content: '';
   display: none;
   -webkit-box-sizing: content-box;
   -moz-box-sizing: content-box;
   -o-box-sizing: content-box;
   box-sizing: content-box;
   padding: 0;
   margin: 0;
}

.smart-forms input:checked + .smart-radio .iconc:before,
.smart-forms input:checked + .smart-checkbox .iconc:before {
   display: block;
}

.smart-forms input:checked + .smart-radio .iconc:before {
   margin: 4px;
   width: 7px;
   height: 7px;
   background: #2F8640;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
   -o-border-radius: 10px;
   border-radius: 10px;
}

.smart-forms input:checked + .smart-checkbox .iconc:before {
   position: absolute;
   top: 4px;
   left: 3px;
   width: 6px;
   height: 3px;
   border: solid #2F8640;
   -webkit-border-width: 0 0 3px 3px;
   -moz-border-width: 0 0 3px 3px;
   border-width: 0 0 3px 3px;
   -webkit-transform: rotate(-45deg);
   -moz-transform: rotate(-45deg);
   -ms-transform: rotate(-45deg);
   -o-transform: rotate(-45deg);
   transform: rotate(-45deg);
}

.smart-forms .smart-option-list {
   display: inline-block;
   vertical-align: top;
   white-space: nowrap;
   font-size: 0;
}

.smart-forms .smart-option-list.left {
   float: left;
}

.smart-forms .smart-option-list.right {
   float: right;
}

.smart-forms .smart-option-list .smart-option {
   margin-right: 0;
   margin-left: -1px;
   border-radius: 0;
}

.smart-forms .smart-option-list label:first-child .smart-option {
   margin-left: 0;
   border-radius: 3px 0 0 3px;
}

.smart-forms .smart-option-list label:last-child .smart-option {
   border-radius: 0 3px 3px 0;
}

.smart-forms .smart-option-list .option > input:checked + .smart-option {
   position: relative;
   z-index: 1;
}

.smart-forms .group-vertical,
.smart-forms .group-vertical .option,
.smart-forms .group-vertical .option .smart-option,
.smart-forms .group-vertical .option .smart-option-ui {
   display: block;
   text-align: left;
}

.smart-forms .group-vertical .option .smart-option {
   margin: 0;
   margin-top: -1px;
}

.smart-forms .group-vertical label:first-child .smart-option {
   border-radius: 3px 3px 0 0;
}

.smart-forms .group-vertical label:last-child .smart-option {
   border-radius: 0 0 3px 3px;
}

.smart-forms .smart-option-ui .iconc-pos {
   -webkit-transition: margin 0.6s, opacity 0.6s;
   -moz-transition: margin 0.6s, opacity 0.6s;
   -ms-transition: margin 0.6s, opacity 0.6s;
   -o-transition: margin 0.6s, opacity 0.6s;
   transition: margin 0.6s, opacity 0.6s;
   display: inline-block;
   margin-right: -80px;
   position: absolute;
   right: -200px;
   opacity: 0;
}

.smart-forms .option > input:checked + .smart-option .iconc-pos {
   opacity: 1;
   right: 20px;
   margin-right: 0;
}

/* modern switches  
------------------------------------------------------ */
.smart-forms .modern-switch {
   position: relative;
   display: inline-block;
   vertical-align: top;
   margin-right: 10px;
   cursor: pointer;
}

.smart-forms .modern-switch input {
   position: absolute;
   clip: rect(1px 1px 1px 1px);
   clip: rect(1px, 1px, 1px, 1px);
   overflow: hidden;
   height: inherit;
   width: inherit;
   opacity: 0;
   left: 0;
}

.smart-forms .modern-switch .switch-label {
   display: inline-block;
   position: relative;
   top: 2px;
}

.smart-forms .modern-switch > .switch-label {
   padding-right: 5px;
}

.smart-forms .modern-switch .switch-toggle + .switch-label {
   padding-left: 5px;
}

.smart-forms .modern-switch .switch-toggle {
   width: 44px;
   height: 16px;
   background: #B5B5B5;
   position: relative;
   display: inline-block;
   background: rgba(0,0,0,0.26);
   -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 1px rgba(255, 255, 255, 0.5);
   -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 1px rgba(255, 255, 255, 0.5);
   -o-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 1px rgba(255, 255, 255, 0.5);
   box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 1px rgba(255, 255, 255, 0.5);
   -webkit-transition: all 0.4s ease;
   -moz-transition: all 0.4s ease;
   -ms-transition: all 0.4s ease;
   -o-transition: all 0.4s ease;
   transition: all 0.4s ease;
   vertical-align: middle;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
   -o-border-radius: 10px;
   border-radius: 10px;
   cursor: pointer;
}



.smart-forms .modern-switch .switch-toggle::before {
   content: '';
   position: absolute;
   top: -6px;
   left: -4px;
   width: 26px;
   height: 26px;
   background: #fff;
   -webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.18);
   -moz-box-shadow: 0 1px 4px rgba(0,0,0,0.18);
   -o-box-shadow: 0 1px 4px rgba(0,0,0,0.18);
   box-shadow: 0 1px 4px rgba(0,0,0,0.18);
   -webkit-transition: all 0.4s ease;
   -moz-transition: all 0.4s ease;
   -ms-transition: all 0.4s ease;
   -o-transition: all 0.4s ease;
   transition: all 0.4s ease;
   -webkit-border-radius: 26px;
   -moz-border-radius: 26px;
   -o-border-radius: 26px;
   border-radius: 26px;
}


.smart-forms .modern-switch input:checked + .switch-toggle {
   background: #7cbf34;
}

.smart-forms .modern-switch input:checked + .switch-toggle::before {
   left: 20px;
   background: #317D2F;
}

.smart-forms .modern-switch input:disabled + .switch-toggle {
   background: #d5d5d5;
   pointer-events: none;
}

.smart-forms .modern-switch input:disabled + .switch-toggle::before {
   background: #bcbdbc;
}

.smart-forms .modern-switch input:disabled + .switch-toggle + .switch-label {
   color: #D5D5D5;
}

.smart-forms .modern-ios .switch-toggle {
   width: 40px;
   height: 24px;
   -webkit-border-radius: 50px;
   -moz-border-radius: 50px;
   border-radius: 50px;
}

.smart-forms .modern-ios .switch-toggle::before {
   width: 22px;
   height: 22px;
   bottom: 1px;
   left: 1px;
   top: 1px;
}

.smart-forms .modern-ios input:checked + .switch-toggle::before {
   left: 17px;
   background: #fff;
}

.smart-forms .modern-ios input:disabled + .switch-toggle::before {
   background: #f5f5f5;
}

/* switch ripple 
------------------------------------------------------- */
.smart-forms .modern-switch:active .switch-toggle::before,
.smart-forms .modern-switch .switch-toggle:active::before {
   -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(128,128,128,0.1);
   -moz-box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(128,128,128,0.1);
   -o-box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(128,128,128,0.1);
   box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(128,128,128,0.1);
}

.smart-forms .modern-switch:active input:checked + .switch-toggle::before,
.smart-forms .modern-switch input:checked + .switch-toggle:active::before {
   -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(78,189,74,0.2);
   -moz-box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(78,189,74,0.2);
   -o-box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(78,189,74,0.2);
   box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(78,189,74,0.2);
}

/* switch morph animate 
--------------------------------------------------- */
.smart-forms .morph-switch:active .switch-toggle:before,
.smart-forms .morph-switch .switch-toggle:active::before,
.smart-forms .morph-switch:active input:checked + .switch-toggle::before,
.smart-forms .morph-switch input:checked + .switch-toggle:active::before {
   -webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.18);
   -moz-box-shadow: 0 1px 4px rgba(0,0,0,0.18);
   -o-box-shadow: 0 1px 4px rgba(0,0,0,0.18);
   box-shadow: 0 1px 4px rgba(0,0,0,0.18);
   -webkit-transform: scale(1.15, 0.85);
   -moz-transform: scale(1.15, 0.85);
   -ms-transform: scale(1.15, 0.85);
   -o-transform: scale(1.15, 0.85);
   transform: scale(1.15, 0.85);
}


/* @buttons 
----------------------------------------------------- */
.smart-forms .button {
   border: 0;
   height: 40px;
   color: #243140;
   line-height: 1;
   font-size: 14px;
   cursor: pointer;
   padding: 0 18px;
   text-align: center;
   vertical-align: top;
   background: #DBDBDB;
   display: inline-block;
   -webkit-user-drag: none;
   text-shadow: 0 1px rgba(255, 255, 255, 0.2);
}

/* @buttons :hover, :active states 
---------------------------------------------------------------- */
.smart-forms .button:hover {
   color: #243140;
   background: #E8E8E8;
}

.smart-forms .button:active {
   color: #1d2938;
   background: #C4C4C4;
}

.smart-forms span.button,
.smart-forms label.button {
   line-height: 44px;
   text-decoration: none;
}

.smart-forms a.button {
   line-height: 40px;
   text-decoration: none;
}

.smart-forms .button i {
   font-size: 14px;
}

.smart-forms .button-list .button {
   margin-bottom: 5px;
}

/* @primary button theme
-------------------------------------------- */
.smart-forms .btn-primary {
   background-color: #7cbf34;
}

.smart-forms .btn-primary:hover,
.smart-forms .btn-primary:focus {
   background-color: #6bc868;
}

.smart-forms .btn-primary:active {
   background-color: #3c9b39;
}

.smart-forms .btn-primary,
.smart-forms .btn-primary:hover,
.smart-forms .btn-primary:focus,
.smart-forms .btn-primary:active {
   color: #fff;
   text-shadow: 0 1px rgba(0, 0, 0, 0.08);
}

/* @rounded buttons 
-------------------------------------------- */
.smart-forms .btn-rounded {
   -webkit-border-radius: 22px;
   -moz-border-radius: 22px;
   -o-border-radius: 22px;
   border-radius: 22px;
}

/* @left + right buttons :: look like IOS
-------------------------------------------- */
.smart-forms .button-left,
.smart-forms .button-right {
   position: relative;
   z-index: 9;
}

.smart-forms .button-left:before,
.smart-forms .button-right:before {
   content: '';
   z-index: -1;
   width: 32px;
   height: 32px;
   position: absolute;
   background-color: inherit;
   border-color: inherit;
   border: none;
   top: 5px;
}

.smart-forms .button-left {
   border-left-width: 0;
   padding: 0 18px 0 7px;
   -webkit-border-radius: 0 3px 3px 0;
   -moz-border-radius: 0 3px 3px 0;
   -o-border-radius: 0 3px 3px 0;
   border-radius: 0 3px 3px 0;
   margin-left: 20px;
}

.smart-forms .button-left:before {
   left: -15px;
   -webkit-border-radius: 2px 5px 0 5px;
   -moz-border-radius: 2px 5px 0 5px;
   -o-border-radius: 2px 5px 0 5px;
   border-radius: 2px 5px 0 5px;
   -webkit-transform: rotate(-45deg);
   -moz-transform: rotate(-45deg);
   -ms-transform: rotate(-45deg);
   -o-transform: rotate(-45deg);
   transform: rotate(-45deg);
}

.smart-forms .button-right {
   padding: 0 7px 0 18px;
   border-right-width: 0;
   -webkit-border-radius: 3px 0 0 3px;
   -moz-border-radius: 3px 0 0 3px;
   -o-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
   margin-right: 20px;
}

.smart-forms .button-right:before {
   right: -15px;
   -webkit-border-radius: 5px 2px 5px 0;
   -moz-border-radius: 5px 2px 5px 0;
   -o-border-radius: 5px 2px 5px 0;
   border-radius: 5px 2px 5px 0;
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   transform: rotate(45deg);
}

/* @left right button pointed button shapes 
------------------------------------------------ */
.smart-forms .btn-pointed.button-left,
.smart-forms .btn-pointed.button-right {
   -webkit-border-radius: 22px;
   -moz-border-radius: 22px;
   -o-border-radius: 22px;
   border-radius: 22px;
}

.smart-forms .btn-rounded.button-left {
   -webkit-border-radius: 0 22px 22px 0;
   -moz-border-radius: 0 22px 22px 0;
   -o-border-radius: 0 22px 22px 0;
   border-radius: 0 22px 22px 0;
}

.smart-forms .btn-rounded.button-right {
   -webkit-border-radius: 22px 0 0 22px;
   -moz-border-radius: 22px 0 0 22px;
   -o-border-radius: 22px 0 0 22px;
   border-radius: 22px 0 0 22px;
}

/* @push buttons
------------------------------------------------ */
.smart-forms .pushed {
   -webkit-box-shadow: inset 0 -0.3em 0 rgba(0,0,0,0.2);
   -moz-box-shadow: inset 0 -0.3em 0 rgba(0,0,0,0.2);
   -o-box-shadow: inset 0 -0.3em 0 rgba(0,0,0,0.2);
   box-shadow: inset 0 -0.3em 0 rgba(0,0,0,0.2);
   position: relative;
}

.smart-forms .pushed:active {
   -webkit-box-shadow: inset 0 -0.15em 0 rgba(0,0,0,0.2);
   -moz-box-shadow: inset 0 -0.15em 0 rgba(0,0,0,0.2);
   -o-box-shadow: inset 0 -0.15em 0 rgba(0,0,0,0.2);
   box-shadow: inset 0 -0.15em 0 rgba(0,0,0,0.2);
   top: 2px;
}

.smart-forms .pushed.button-left:before {
   -webkit-box-shadow: inset 0.35em 0 0 rgba(0,0,0,0.2);
   -moz-box-shadow: inset 0.35em 0 0 rgba(0,0,0,0.2);
   -o-box-shadow: inset 0.35em 0 0 rgba(0,0,0,0.2);
   box-shadow: inset 0.35em 0 0 rgba(0,0,0,0.2);
}

.smart-forms .pushed:active.button-left:before {
   -webkit-box-shadow: inset 0.2em 0 0 rgba(0,0,0,0.2);
   -moz-box-shadow: inset 0.2em 0 0 rgba(0,0,0,0.2);
   -o-box-shadow: inset 0.2em 0 0 rgba(0,0,0,0.2);
   box-shadow: inset 0.2em 0 0 rgba(0,0,0,0.2);
}

.smart-forms .pushed.button-right:before {
   -webkit-box-shadow: inset -0.35em 0 0 rgba(0,0,0,0.2);
   -moz-box-shadow: inset -0.35em 0 0 rgba(0,0,0,0.2);
   -o-box-shadow: inset -0.35em 0 0 rgba(0,0,0,0.2);
   box-shadow: inset -0.35em 0 0 rgba(0,0,0,0.2);
}

.smart-forms .pushed:active.button-right:before {
   -webkit-box-shadow: inset -0.2em 0 0 rgba(0,0,0,0.2);
   -moz-box-shadow: inset -0.2em 0 0 rgba(0,0,0,0.2);
   -o-box-shadow: inset -0.2em 0 0 rgba(0,0,0,0.2);
   box-shadow: inset -0.2em 0 0 rgba(0,0,0,0.2);
}

/* @adjust buttons in form footer
------------------------------------------------ */
.smart-forms .form-footer .button {
   margin-right: 10px;
   margin-bottom: 5px;
   border-radius: 3px
}

.smart-forms .align-right .button {
   margin-right: 0;
   margin-left: 10px;
}

/* @social buttons :: facebook :: twitter :: google +
---------------------------------------------------- */
.smart-forms .twitter,
.smart-forms .twitter:hover,
.smart-forms .twitter:focus,
.smart-forms .facebook,
.smart-forms .facebook:hover,
.smart-forms .facebook:focus,
.smart-forms .googleplus,
.smart-forms .googleplus:hover,
.smart-forms .googleplus:focus {
   color: #fff;
   text-shadow: 0 1px rgba(0, 0, 0, 0.08);
}

.smart-forms .facebook {
   background-color: #3b5998;
}

.smart-forms .twitter {
   background-color: #00acee;
}

.smart-forms .googleplus {
   background-color: #dd4b39;
}

.smart-forms .facebook:hover,
.smart-forms .facebook:focus {
   background-color: #25385F;
}

.smart-forms .twitter:hover,
.smart-forms .twitter:focus {
   background-color: #00749F;
}

.smart-forms .googleplus:hover,
.smart-forms .googleplus:focus {
   background-color: #8D2418;
}

.smart-forms .span-left {
   padding-left: 55px;
   text-align: left;
}

.smart-forms .btn-social {
   position: relative;
   margin-bottom: 5px;
   border-radius: 2px
}

.smart-forms .btn-social i {
   font-size: 18px;
   position: relative;
   top: 2px;
}

.smart-forms .btn-social span {
   -webkit-border-radius: 3px 0 0 3px;
   -moz-border-radius: 3px 0 0 3px;
   -o-border-radius: 3px 0 0 3px;
   border-radius: 3px 0 0 3px;
   display: inline-block;
   text-align: center;
   position: absolute;
   width: 42px;
   left: 0;
}

.smart-forms .twitter span {
   background-color: #009AD5;
}

.smart-forms .facebook span {
   background-color: #31497D;
}

.smart-forms .googleplus span {
   background-color: #C03121;
}

/* @rating and review star widget :: with hover back afetr selecting
------------------------------------------------------------------------ */
.smart-forms .rating {
   position: relative;
}

.smart-forms .rating.block {
   display: block;
   margin: 10px 0;
}

.smart-forms .rating label {
   color: #A2A6A8;
}

.smart-forms .rating label i {
   font-size: 17px;
   text-align: center;
   color: inherit;
}

.smart-forms .rating label span {
   font: 22px/22px Times, Serif;
}

.smart-forms .rating-star {
   margin-left: 4px;
}

.smart-forms .rating-input {
   position: absolute;
   left: -9999px;
   top: auto;
}

.smart-forms .rating:hover .rating-star:hover,
.smart-forms .rating:hover .rating-star:hover ~ .rating-star,
.smart-forms .rating-input:checked ~ .rating-star {
   color: #7cbf34;
}

.smart-forms .rating-star,
.smart-forms .rating:hover .rating-star {
   width: 18px;
   float: right;
   display: block;
   cursor: pointer;
   color: #A2A6A8;
}

.smart-forms .rating:before,
.smart-forms .rating:after {
   display: table;
   content: "";
   line-height: 0;
}

.smart-forms .rating:after {
   clear: both;
}

.smart-forms .rating .lbl-text {
   font-size: 14px;
   display: inline-block;
   float: left;
}

.smart-forms .rating-wrapper {
   position: relative;
   display: inline-block;
   margin-top: 0;
   float: right;
}

.smart-forms .rating label span {
   text-shadow: 0 1px rgba(255, 255, 255, 0);
   -webkit-transition: margin 0.6s, opacity 0.6s;
   -moz-transition: margin 0.6s, opacity 0.6s;
   -ms-transition: margin 0.6s, opacity 0.6s;
   -o-transition: margin 0.6s, opacity 0.6s;
   transition: margin 0.6s, opacity 0.6s;
   -webkit-border-radius: 3px;
   -moz-border-radius: 3px;
   border-radius: 3px;
   white-space: nowrap;
   position: absolute;
   padding: 5px 10px;
   font-weight: bold;
   background: #000;
   font-size: 11px;
   margin-left: -5px;
   margin-bottom: 15px;
   display: block;
   left: -9999px;
   color: #fff;
   opacity: 0;
   z-index: 10;
}

.smart-forms .rating label:hover span {
   bottom: 100%;
   opacity: 1;
   left: auto;
   margin-bottom: 5px;
}

.smart-forms .rating label span:before {
   content: '';
   position: absolute;
   border-top: 4px solid #000;
   border-right: 4px solid transparent;
   border-left: 4px solid transparent;
   left: 8px;
   top: 100%;
}


/* @smart widget
   @this widget helps us to position an element eg button or label or span
   @the positions can either be left or right while the input stays 100%
   @you ca use this to rapidly create search widgets, newsletter subscribe etc 
---------------------------------------------------------------------------------*/
.smart-forms .smart-widget,
.smart-forms .append-picker-icon,
.smart-forms .prepend-picker-icon {
   position: relative;
   display: block;
}

.smart-forms .smart-widget .field input,
.smart-forms .append-picker-icon input,
.smart-forms .prepend-picker-icon input {
   width: 100%;
}

.smart-forms .append-picker-icon button,
.smart-forms .prepend-picker-icon button,
.smart-forms .smart-widget .button {
   border: 1px solid #e2e2e2;
   background: #F5F5F5;
   position: absolute;
   cursor: pointer;
   color: #626262;
   height: 44px;
   top: 0;
}

.smart-forms .sm-right .button,
.smart-forms .append-picker-icon button {
   border-left: 0;
}

.smart-forms .sm-left .button,
.smart-forms .prepend-picker-icon button {
   border-right: 0;
}

.smart-forms .sm-left .button,
.smart-forms .prepend-picker-icon button {
   left: 0;
}

.smart-forms .sm-right .button,
.smart-forms .append-picker-icon button {
   right: 0;
}

/* @smart widget buttons - to left 
------------------------------------------------- */
.smart-forms .sml-50,
.smart-forms .prepend-picker-icon {
   padding-left: 50px;
}

.smart-forms .sml-50 .button,
.smart-forms .prepend-picker-icon button {
   width: 50px;
}

.smart-forms .sml-80 {
   padding-left: 80px;
}

.smart-forms .sml-80 .button {
   width: 80px;
}

.smart-forms .sml-120 {
   padding-left: 120px;
}

.smart-forms .sml-120 .button {
   width: 120px;
}

/* @smart widget buttons - to right 
------------------------------------------------- */
.smart-forms .smr-50,
.smart-forms .append-picker-icon {
   padding-right: 50px;
}

.smart-forms .smr-50 .button,
.smart-forms .append-picker-icon button {
   width: 50px;
}

.smart-forms .smr-80 {
   padding-right: 80px;
}

.smart-forms .smr-80 .button {
   width: 80px;
}

.smart-forms .smr-120 {
   padding-right: 120px;
}

.smart-forms .smr-120 .button {
   width: 120px;
}


/* @icon append (right) :: prepend (left)
------------------------------------------------- */
.smart-forms .append-icon,
.smart-forms .prepend-icon {
   display: inline-block;
   vertical-align: top;
   position: relative;
   width: 100%;
}

.smart-forms .prepend-icon .custom-combobox-input {
   padding-left: 42px;
}

.smart-forms .append-icon .field-icon,
.smart-forms .prepend-icon .field-icon {
   top: 0;
   width: 44px;
   height: 44px;
   color: inherit;
   line-height: 44px;
   position: absolute;
   text-align: center;
   -webkit-transition: all 0.5s ease-out;
   -moz-transition: all 0.5s ease-out;
   -ms-transition: all 0.5s ease-out;
   -o-transition: all 0.5s ease-out;
   transition: all 0.5s ease-out;
   pointer-events: none;
   z-index: 99;
}

.smart-forms .append-icon .field-icon i,
.smart-forms .prepend-icon .field-icon i {
   position: relative;
   font-size: 14px;
}

.smart-forms .prepend-icon .field-icon {
   left: 0;
}

.smart-forms .append-icon .field-icon {
   right: 0;
}

.smart-forms .prepend-icon > input,
.smart-forms .prepend-icon > textarea,
.smart-forms .prepend-icon > select {
   padding-left: 38px;
}

.smart-forms .append-icon > input,
.smart-forms .append-icon > textarea {
   padding-right: 36px;
   padding-left: 10px;
}

.smart-forms .append-icon > textarea {
   padding-right: 36px;
}

/* @tooltips on inputs + textareas 
------------------------------------------------- */
.smart-forms .tooltip {
   position: absolute;
   z-index: -1;
   opacity: 0;
   color: #fff;
   width: 184px;
   left: -9999px;
   top: auto;
   font-size: 11px;
   font-weight: normal;
   background: #333333;
   -webkit-transition: margin 0.6s, opacity 0.6s;
   -moz-transition: margin 0.6s, opacity 0.6s;
   -ms-transition: margin 0.6s, opacity 0.6s;
   -o-transition: margin 0.6s, opacity 0.6s;
   transition: margin 0.6s, opacity 0.6s;
}

.smart-forms .tooltip > em {
   padding: 12px;
   font-style: normal;
   display: block;
   position: static;
}

.smart-forms .tooltip:after {
   content: '';
   position: absolute;
}

.smart-forms .option:hover .tooltip,
.smart-forms .gui-input:focus + .tooltip,
.smart-forms .gui-textarea:focus + .tooltip,
.smart-forms .select > select:focus ~ .tooltip {
   opacity: 1;
   z-index: 999;
}

/* @tooltip left
------------------------------------------------- */
.smart-forms .tip-left {
   top: 1px;
   margin-right: -20px;
}

.smart-forms .tip-left:after {
   top: 12px;
   left: 100%;
   border-left: 8px solid #333333;
   border-top: 8px solid transparent;
   border-bottom: 8px solid transparent;
}

.smart-forms .gui-input:focus + .tip-left,
.smart-forms .gui-textarea:focus + .tip-left,
.smart-forms .select > select:focus ~ .tip-left {
   margin-right: 5px;
   right: 100%;
   left: auto;
}

/* @tooltip right
------------------------------------------------- */
.smart-forms .tip-right {
   top: 1px;
   margin-left: -20px;
}

.smart-forms .tip-right:after {
   top: 12px;
   right: 100%;
   border-right: 8px solid #333333;
   border-top: 8px solid transparent;
   border-bottom: 8px solid transparent;
}

.smart-forms .gui-input:focus + .tip-right,
.smart-forms .gui-textarea:focus + .tip-right,
.smart-forms .select > select:focus ~ .tip-right {
   left: 100%;
   margin-left: 5px;
}

/* @tooltip right-top
------------------------------------------------- */
.smart-forms .tip-right-top {
   bottom: 100%;
   margin-bottom: -20px;
}

.smart-forms .tip-right-top:after {
   top: 100%;
   right: 12px;
   border-top: 8px solid #333333;
   border-right: 8px solid transparent;
   border-left: 8px solid transparent;
}

.smart-forms .gui-input:focus + .tip-right-top,
.smart-forms .gui-textarea:focus + .tip-right-top,
.smart-forms .select > select:focus ~ .tip-right-top {
   right: 0;
   left: auto;
   margin-bottom: 10px;
}

/* @tooltip left-top
------------------------------------------------- */
.smart-forms .option .tooltip,
.smart-forms .tip-left-top {
   bottom: 100%;
   margin-bottom: -20px;
}

.smart-forms .option .tooltip:after,
.smart-forms .tip-left-top:after {
   top: 100%;
   left: 12px;
   border-top: 8px solid #333333;
   border-right: 8px solid transparent;
   border-left: 8px solid transparent;
}

.smart-forms .option:hover .tooltip,
.smart-forms .gui-input:focus + .tip-left-top,
.smart-forms .gui-textarea:focus + .tip-left-top,
.smart-forms .select > select:focus ~ .tip-left-top {
   left: 0;
   right: auto;
   margin-bottom: 10px;
}

.smart-forms .option:hover .tooltip {
   left: -10px;
}

/* @tooltip right-bottom
------------------------------------------------- */
.smart-forms .tip-right-bottom {
   top: 100%;
   margin-top: -20px;
}

.smart-forms .tip-right-bottom:after {
   right: 12px;
   bottom: 100%;
   border-bottom: 8px solid #333333;
   border-right: 8px solid transparent;
   border-left: 8px solid transparent;
}

.smart-forms .gui-input:focus + .tip-right-bottom,
.smart-forms .gui-textarea:focus + .tip-right-bottom {
   margin-top: 10px;
   left: auto;
   right: 0;
}

/* @tooltip left-bottom
------------------------------------------------- */
.smart-forms .tip-left-bottom {
   top: 100%;
   margin-top: -20px;
}

.smart-forms .tip-left-bottom:after {
   left: 12px;
   bottom: 100%;
   border-bottom: 8px solid #333333;
   border-right: 8px solid transparent;
   border-left: 8px solid transparent;
}

.smart-forms .gui-input:focus + .tip-left-bottom,
.smart-forms .gui-textarea:focus + .tip-left-bottom {
   margin-top: 10px;
   right: auto;
   left: 0;
}

/* @lists
-------------------------------------------------------------- */
.smart-forms .smart-list {
   list-style: none;
   margin: 0;
   padding: 0;
}

.smart-forms .smart-list li {
   margin-bottom: 20px;
}

/* @notification messages | info | error | warning | success
-------------------------------------------------------------- */
.smart-forms .form-msg {
   display: none;
}

.smart-forms .notification {
   color: #444;
   padding: 15px;
   position: relative;
}

.smart-forms .notification p {
   margin: 0;
   padding: 0 15px;
   padding-left: 5px;
   line-height: normal;
}

.smart-forms .notification .close-btn {
   margin-top: -7px;
   padding: inherit;
   position: absolute;
   text-decoration: none;
   font: bold 20px/20px Arial, sans-serif;
   opacity: 0.65;
   color: inherit;
   display: block;
   right: 1px;
   top: 14%;
}

.smart-forms .notification .close-btn:hover {
   opacity: 1;
}

.smart-forms .alert-info {
   color: #163161;
   background-color: #cfe6fc;
}

.smart-forms .alert-success {
   color: #336633;
   background-color: #d2f7ad;
}

.smart-forms .alert-warning {
   color: #CC6600;
   background-color: #fae7a2;
}

.smart-forms .alert-error {
   color: #990000;
   background-color: #FBDBCF;
}

.smart-forms .notification ul {
   margin-left: 1.3em;
   list-style-position: inside;
   margin-top: 10px;
}

/* @validaion - error state
------------------------------------- */
.smart-forms .state-error .gui-input,
.smart-forms .state-error .gui-textarea,
.smart-forms .state-error.select > select,
.smart-forms .state-error.select-multiple > select,
.smart-forms .state-error input:hover + .checkbox,
.smart-forms .state-error input:hover + .radio,
.smart-forms .state-error input:focus + .checkbox,
.smart-forms .state-error input:focus + .radio,
.smart-forms .state-error .checkbox,
.smart-forms .state-error .radio {
   background: #FEE9EA;
   border-color: #DE888A;
}

.smart-forms .state-error .gui-input:focus,
.smart-forms .state-error .gui-textarea:focus,
.smart-forms .state-error.select > select:focus,
.smart-forms .state-error.select-multiple > select:focus {
   -webkit-box-shadow: 0px 0px 3px #DE888A inset;
   -moz-box-shadow: 0px 0px 3px #DE888A inset;
   -o-box-shadow: 0px 0px 3px #DE888A inset;
   box-shadow: 0px 0px 3px #DE888A inset;
}

.smart-forms .state-error .gui-input ~ .field-icon i,
.smart-forms .state-error .gui-textarea ~ .field-icon i {
   color: #DE888A;
}

.smart-forms .state-error.select .arrow {
   color: #DE888A;
}

.smart-forms .state-error.select > select:focus + .arrow {
   color: #DE888A;
}

.smart-forms .state-error .gui-input ~ .input-hint,
.smart-forms .state-error.file .gui-file:hover + .gui-input,
.smart-forms .state-error .gui-textarea ~ .input-hint {
   border-color: #DE888A;
}

.smart-forms .state-error + em {
   display: block !important;
   margin-top: 6px;
   padding: 0 3px;
   font-style: normal;
   line-height: normal;
   font-size: 0.85em;
   color: #DE888A;
}

/* @validaion - success state 
-------------------------------------------------- */
.smart-forms .state-success .gui-input,
.smart-forms .state-success .gui-textarea,
.smart-forms .state-success.select > select,
.smart-forms .state-success.select-multiple > select,
.smart-forms .state-success input:hover + .checkbox,
.smart-forms .state-success input:hover + .radio,
.smart-forms .state-success input:focus + .checkbox,
.smart-forms .state-success input:focus + .radio,
.smart-forms .state-success .checkbox,
.smart-forms .state-success .radio {
   background: #F0FEE9;
   border-color: #A5D491;
}

.smart-forms .state-success .gui-input:focus,
.smart-forms .state-success .gui-textarea:focus,
.smart-forms .state-success.select > select:focus,
.smart-forms .state-success.select-multiple > select:focus {
   -webkit-box-shadow: 0px 0px 3px #A5D491 inset;
   -moz-box-shadow: 0px 0px 3px #A5D491 inset;
   -o-box-shadow: 0px 0px 3px #A5D491 inset;
   box-shadow: 0px 0px 3px #A5D491 inset;
}

.smart-forms .state-success .gui-input ~ .field-icon i,
.smart-forms .state-success .gui-textarea ~ .field-icon i {
   color: #A5D491;
}

.smart-forms .state-success.select .arrow {
   color: #A5D491;
}

.smart-forms .state-success.select > select:focus + .arrow {
   color: #A5D491;
}

.smart-forms .state-success .gui-input ~ .input-hint,
.smart-forms .state-success.file .gui-file:hover + .gui-input,
.smart-forms .state-success .gui-textarea ~ .input-hint {
   border-color: #A5D491;
}

/* @disabled state 
----------------------------------------------- */
.smart-forms .button[disabled],
.smart-forms .state-disabled .button,
.smart-forms input[disabled] + .radio,
.smart-forms input[disabled] + .checkbox,
.smart-forms .switch > input[disabled] + label {
   cursor: default;
   opacity: 0.5;
}

.smart-forms .gui-input[disabled],
.smart-forms .gui-textarea[disabled],
.smart-forms .select > select[disabled],
.smart-forms .select-multiple select[disabled],
.smart-forms .gui-input[disabled] ~ .input-hint,
.smart-forms .file .gui-file[disabled] + .gui-input,
.smart-forms .file .gui-file[disabled]:hover + .gui-input,
.smart-forms .gui-textarea[disabled] ~ .input-hint {
   background-color: #f4f6f6;
   border-color: #d5dbdb !important;
   cursor: default;
   color: #d5dbdb;
   opacity: 0.7;
}

.smart-forms input[disabled] ~ .field-icon i,
.smart-forms textarea[disabled] ~ .field-icon i,
.smart-forms .select > select[disabled] + .arrow {
   opacity: 0.4;
}

/* @jquery ui helper classes 
----------------------------------------------- */
.ui-helper-hidden {
   display: none;
}

.ui-helper-hidden-accessible {
   border: 0;
   clip: rect(0 0 0 0);
   height: 1px;
   margin: -1px;
   overflow: hidden;
   padding: 0;
   position: absolute;
   width: 1px;
}

.ui-helper-reset {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   line-height: 1.3;
   text-decoration: none;
   font-size: 100%;
   list-style: none;
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
   content: "";
   display: table;
   border-collapse: collapse;
}

.ui-helper-clearfix:after {
   clear: both;
}

.ui-helper-clearfix {
   min-height: 0;
}

.ui-helper-zfix {
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   position: absolute;
   opacity: 0;
   filter: Alpha(Opacity=0);
}

.ui-front {
   z-index: 100;
}

/* @datepicker - requires jquery ui
----------------------------------------------- */
.ui-datepicker {
   width: 18em;
   margin-top: 8px;
   display: none;
   background: #fff;
   position: relative;
   font: 14px/1.55 "Roboto", Arial, Helvetica, sans-serif;
   -webkit-box-shadow: 0 0 4px rgba(0,0,0,.1);
   -moz-box-shadow: 0 0 4px rgba(0,0,0,.1);
   -o-box-shadow: 0 0 4px rgba(0,0,0,.1);
   box-shadow: 0 0 4px rgba(0,0,0,.1);
   border: 1px solid #e2e2e2;
   z-index: 9999 !important;
   text-align: center;
   color: #666;
}

.ui-datepicker a {
   color: #404040;
   text-align: center;
}

.ui-datepicker .ui-state-disabled span {
   color: #DBDBDB;
}

.ui-datepicker .ui-datepicker-header {
   position: relative;
   background: #F5F5F5;
   border-bottom: 1px solid #e2e2e2;
   line-height: 27px;
   font-size: 15px;
   padding: 10px;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
   width: 34px;
   height: 34px;
   display: block;
   font-size: 14px;
   position: absolute;
   text-decoration: none;
   cursor: pointer;
   color: #7cbf34;
   top: 20.5%;
}

.ui-datepicker .ui-datepicker-prev {
   left: 2px;
}

.ui-datepicker .ui-datepicker-next {
   right: 2px;
}

.ui-datepicker .ui-datepicker-title {
   margin: 0 2.3em;
   line-height: 1.8em;
   text-align: center;
   color: #7cbf34;
}

.ui-datepicker .ui-datepicker-title select {
   font-size: 1em;
   margin: 1px 0;
}

.ui-datepicker select.ui-datepicker-month-year {
   width: 100%;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
   width: 49%;
}

.ui-datepicker table {
   width: 100%;
   font-size: .9em;
   margin: 0 0 .4em;
   border-collapse: collapse;
}

.ui-datepicker th {
   padding: .5em .3em;
   text-align: center;
   font-weight: 700;
   border: 0;
}

.ui-datepicker td {
   border: 0;
   padding: 2px 5px;
}

.ui-datepicker td span,
.ui-datepicker td a {
   padding: .25em;
   display: block;
   text-align: center;
   text-decoration: none;
}

.ui-datepicker td span:hover,
.ui-datepicker td a:hover {
   background: #F5F5F5;
}

.ui-datepicker .ui-state-disabled span:hover {
   background: none;
}

/* @changes to the datepicker and month picker widget in v.4  
------------------------------------------------------------- */
.ui-datepicker-today a,
.ui-datepicker-today a:hover,
.ui-datepicker .ui-state-highlight {
   background: #FFFA90 !important;
   font-weight: 700;
   color: #444;
}

.ui-monthpicker .ui-datepicker-today a,
.ui-monthpicker .ui-datepicker-today a:hover,
.ui-datepicker .ui-datepicker-current-day a {
   font-weight: 700;
   background: #7cbf34 !important;
   color: #fff;
}

/* @multiple calendars || not responsive use carefully 
--------------------------------------------------------------- */
.cal-widget .ui-datepicker {
   width: 100%;
   margin-top: 0;
}

.cal-widget .ui-datepicker:before {
   display: none;
}

.ui-datepicker.ui-datepicker-multi {
   width: auto;
}

.ui-datepicker-multi .ui-datepicker-group {
   float: left;
}

.ui-datepicker-multi .ui-datepicker-group table {
   width: 95%;
   margin: 0 auto .4em;
}

.ui-datepicker-multi-2 .ui-datepicker-group {
   width: 50%;
}

.ui-datepicker-multi-3 .ui-datepicker-group {
   width: 33.333%;
}

.ui-datepicker-multi-4 .ui-datepicker-group {
   width: 25%;
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
   border-left-width: 0;
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
   clear: left;
}

.ui-datepicker-row-break {
   clear: both;
   width: 100%;
   font-size: 0;
}

/* @ ui buttons
---------------------------------------------------------------- */
.ui-datepicker-buttonpane {
   border-top: 1px solid #e2e2e2;
   padding: 10px;
}

.ui-datepicker-buttonpane button {
   padding: 8px 12px;
   margin-right: .2em;
   position: relative;
   line-height: normal;
   display: inline-block;
   -webkit-user-drag: none;
   text-shadow: 0 1px rgba(255, 255, 255, 0.2);
   vertical-align: middle;
   background: #DBDBDB;
   text-align: center;
   overflow: visible;
   cursor: pointer;
   color: #243140;
   border: 0;
}

/* @ ui buttons :hover, :active states 
---------------------------------------------------------------- */
.ui-datepicker-buttonpane button:hover {
   color: #243140;
   background: #E8E8E8;
}

.ui-datepicker-buttonpane button:active {
   color: #1d2938;
   background: #C4C4C4;
}

.ui-monthpicker .ui-datepicker-header {
   margin-bottom: 3px;
}

/* @ui slider - requires jquery ui
------------------------------------------------------*/
.smart-forms .slider-wrapper,
.smart-forms .sliderv-wrapper {
   background: #E5E5E5;
   position: relative;
}

.smart-forms .ui-slider {
   position: relative;
   text-align: left;
}

/* @changes to the ui slider widget in v.4  
------------------------------------------------------------- */
.smart-forms .ui-slider .ui-slider-handle {
   position: absolute;
   z-index: 2;
   width: 21px;
   height: 21px;
   cursor: default;
   background: #fff;
   border: 3px solid #7cbf34;
   -webkit-border-radius: 20px;
   -moz-border-radius: 20px;
   -o-border-radius: 20px;
   border-radius: 20px;
   -ms-touch-action: none;
   touch-action: none;
   margin-top: -4px;
   outline: none;
}

.smart-forms .ui-slider .ui-slider-handle:before {
   content: '';
   width: 7px;
   height: 7px;
   position: absolute;
   background-color: #7cbf34;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
   -o-border-radius: 10px;
   border-radius: 10px;
   z-index: 2;
   left: 4px;
   top: 4px;
}

.smart-forms .ui-slider .ui-slider-range {
   position: absolute;
   z-index: 1;
   font-size: .7em;
   display: block;
   border: 0;
   background-position: 0 0;
   background-color: #7cbf34;
}

.smart-forms .ui-slider.ui-state-disabled .ui-slider-handle,
.smart-forms .ui-slider.ui-state-disabled .ui-slider-range {
   filter: inherit;
}

.smart-forms .ui-slider-horizontal {
   height: .5em;
}

.smart-forms .ui-slider-horizontal .ui-slider-handle {
   top: -.3em;
   margin-left: -.6em;
}

.smart-forms .ui-slider-horizontal .ui-slider-range {
   top: 0;
   height: 100%;
}

.smart-forms .ui-slider-horizontal .ui-slider-range-min {
   left: 0;
}

.smart-forms .ui-slider-horizontal .ui-slider-range-max {
   right: 0;
}

.smart-forms .ui-slider-vertical,
.smart-forms .sliderv-wrapper {
   width: .5em;
   height: 100px;
}

.smart-forms .ui-slider-vertical .ui-slider-handle {
   left: -.45em;
   margin-left: 0;
   margin-bottom: -.6em;
}

.smart-forms .ui-slider-vertical .ui-slider-range {
   left: 0;
   width: 100%;
}

.smart-forms .ui-slider-vertical .ui-slider-range-min {
   bottom: 0;
}

.smart-forms .ui-slider-vertical .ui-slider-range-max {
   top: 0;
}

.smart-forms .slider-input {
   color: #f6931f !important;
   border: 0;
   background: none;
}

.smart-forms .slider-group .sliderv-wrapper {
   height: 150px;
   float: left;
   margin: 15px 15px;
}

.smart-forms .ui-slider .ui-state-active {
   cursor: -webkit-grabbing;
   cursor: -moz-grabbing;
   cursor: grabbing;
}

/* @ui slider tooltip
------------------------------------------------------*/
.smart-forms .slider-tip {
   display: block;
   position: absolute;
   text-align: center;
   font: 10pt Tahoma, Arial, sans-serif;
   background: #333333;
   padding: 10px;
   color: #fff;
}

.smart-forms .slider-wrapper .slider-tip {
   top: -50px;
   left: -15px;
}

.smart-forms .slider-wrapper .slider-tip:after {
   content: '';
   position: absolute;
   top: 98%;
   left: 35%;
   border-top: 8px solid #333333;
   border-right: 8px solid transparent;
   border-left: 8px solid transparent;
}

.smart-forms .sliderv-wrapper .slider-tip {
   left: 30px;
   top: -12px;
}

.smart-forms .sliderv-wrapper .slider-tip:after {
   content: '';
   position: absolute;
   top: 30%;
   right: 98%;
   border-right: 8px solid #333333;
   border-top: 8px solid transparent;
   border-bottom: 8px solid transparent;
}

/* @ui slider themes
------------------------------------------------------*/
.smart-forms .yellow-slider .ui-slider .ui-slider-handle {
   border-color: #faa226;
}

.smart-forms .yellow-slider .ui-slider .ui-slider-handle:before,
.smart-forms .yellow-slider .ui-slider .ui-slider-range {
   background-color: #faa226;
}

.smart-forms .red-slider .ui-slider .ui-slider-handle {
   border-color: #ee4f3d;
}

.smart-forms .red-slider .ui-slider .ui-slider-handle:before,
.smart-forms .red-slider .ui-slider .ui-slider-range {
   background-color: #ee4f3d;
}

.smart-forms .purple-slider .ui-slider .ui-slider-handle {
   border-color: #9464e2;
}

.smart-forms .purple-slider .ui-slider .ui-slider-handle:before,
.smart-forms .purple-slider .ui-slider .ui-slider-range {
   background-color: #9464e2;
}

.smart-forms .blue-slider .ui-slider .ui-slider-handle {
   border-color: #00acee;
}

.smart-forms .blue-slider .ui-slider .ui-slider-handle:before,
.smart-forms .blue-slider .ui-slider .ui-slider-range {
   background-color: #00acee;
}

.smart-forms .black-slider .ui-slider .ui-slider-handle {
   border-color: #505558;
}

.smart-forms .black-slider .ui-slider .ui-slider-handle:before,
.smart-forms .black-slider .ui-slider .ui-slider-range {
   background-color: #505558;
}

.smart-forms .green-slider .ui-slider .ui-slider-handle {
   border-color: #0E993C;
}

.smart-forms .green-slider .ui-slider .ui-slider-handle:before,
.smart-forms .green-slider .ui-slider .ui-slider-range {
   background-color: #0E993C;
}

/* @ui timepicker - requires jquery ui
------------------------------------------------------*/
.ui-timepicker-div .ui-widget-header {
   position: relative;
   background: #F5F5F5;
   line-height: 27px;
   font-size: 15px;
   padding: 10px;
}

.ui-timepicker-div dl {
   text-align: left;
   border: 1px solid #e2e2e2;
   border-width: 1px 0 0 0;
   padding: 15px 10px;
   padding-bottom: 15px;
   margin: 0;
}

.ui-timepicker-div dl dt {
   float: left;
   clear: left;
   padding: 0 0 0 5px;
}

.ui-timepicker-div dl dd {
   margin: 0 10px 15px 40%;
}

.ui-timepicker-div td {
   font-size: 90%;
}

.ui-tpicker-grid-label {
   background: none;
   border: none;
   margin: 0;
   padding: 0;
}

.ui-timepicker-div .ui_tpicker_unit_hide {
   display: none;
}

.ui-timepicker-rtl {
   direction: rtl;
}

.ui-timepicker-rtl dl {
   text-align: right;
   padding: 0 5px 0 0;
}

.ui-timepicker-rtl dl dt {
   float: right;
   clear: right;
}

.ui-timepicker-rtl dl dd {
   margin: 0 40% 10px 10px;
   background: #E5E5E5;
   position: relative;
   top: 6px;
}

.ui-timepicker-div dl .ui_tpicker_hour,
.ui-timepicker-div dl .ui_tpicker_minute,
.ui-timepicker-div dl .ui_tpicker_second,
.ui-timepicker-div dl .ui_tpicker_millisec {
   background: #E5E5E5;
   position: relative;
   top: 5px;
}

.ui_tpicker_time_input {
   background: none;
   border: 0;
   display: inline-block;
}

/* Shortened version style */
.ui-timepicker-div.ui-timepicker-oneLine {
   padding-right: 2px;
}

.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time,
.ui-timepicker-div.ui-timepicker-oneLine dt {
   display: none;
}

.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label {
   display: block;
   padding-top: 2px;
}

.ui-timepicker-div.ui-timepicker-oneLine dl {
   text-align: right;
}

.ui-timepicker-div.ui-timepicker-oneLine dl dd,
.ui-timepicker-div.ui-timepicker-oneLine dl dd > div {
   display: inline-block;
   margin: 0;
}

.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before {
   content: ':';
   display: inline-block;
}

.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before,
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before {
   content: '.';
   display: inline-block;
}

.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide,
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before {
   display: none;
}


/* ui-autocomplete widget
----------------------------------------------------- */
.ui-autocomplete {
   position: absolute;
   top: 0;
   left: 0;
   cursor: default;
   z-index: 10000000;
   list-style: none;
   padding: 0;
   margin: 0;
   display: block;
   outline: none;
   font-size: 14px;
   border: 1px solid #bbb;
   border-top: 0;
   background: #fff;
   max-height: 100px;
   overflow-x: hidden;
   overflow-y: auto;
}

.ui-autocomplete .ui-menu {
   position: absolute;
}

.ui-autocomplete .ui-menu-item {
   position: relative;
   margin: 0;
   padding: 8px 10px;
   cursor: pointer;
   min-height: 0;
   list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
   background: #F2F4FA;
   border-bottom: 1px solid #DCE1EE;
   -webkit-box-shadow: inset 0 1px #fff, inset 0 0 0 1px rgba(255, 255, 255, 0.5);
   -moz-box-shadow: inset 0 1px #fff, inset 0 0 0 1px rgba(255, 255, 255, 0.5);
   -o-box-shadow: inset 0 1px #fff, inset 0 0 0 1px rgba(255, 255, 255, 0.5);
   box-shadow: inset 0 1px #fff, inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}

.ui-autocomplete .ui-menu-divider {
   margin: 5px 0;
   height: 0;
   font-size: 0;
   line-height: 0;
   border-width: 1px 0 0 0;
   border-color: #ddd;
}

.ui-autocomplete .ui-state-focus,
.ui-autocomplete .ui-state-active {
}

.ui-autocomplete .ui-menu-item:hover {
   background: #DCE1EE;
}

/* @jquery ui combobox widget
---------------------------------------- */
.custom-combobox {
   position: relative;
   padding-right: 45px;
   display: block;
}

.custom-combobox-toggle {
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   margin-left: -1px;
   padding: 0;
   z-index: 10;
   width: 45px;
   line-height: 40px;
   height: 100%;
   text-align: center;
   background: #F5F5F5;
   border: 1px solid #e2e2e2;
   border-left: 0;
   cursor: pointer;
   color: #aaa;
}

.custom-combobox-input {
   margin: 0;
   padding: 5px 10px;
}

/* @progress bars 
------------------------------------------------------*/
.smart-forms .progress-section {
   display: none;
}

.smart-forms .progress-bar {
   position: relative;
   background: #E5E5E5;
}

.smart-forms .progress-bar .percent {
   position: absolute;
   display: inline-block;
   top: -3px;
   right: -24px;
   font-size: 9px;
   color: #93A2AA;
}

.smart-forms .progress-bar > .bar {
   width: 60%;
   height: 7px;
   display: block;
   background-size: 16px 16px;
   background-color: #bdc3c7;
}

/* @progress bar themes
----------------------------------------------------------- */
.smart-forms .bar-primary > .bar {
   background-color: #7cbf34;
}

.smart-forms .bar-blue > .bar {
   background-color: #00acee;
}

.smart-forms .bar-black > .bar {
   background-color: #505558;
}

.smart-forms .bar-green > .bar {
   background-color: #0E993C;
}

.smart-forms .bar-purple > .bar {
   background-color: #9464e2;
}

.smart-forms .bar-red > .bar {
   background-color: #ee4f3d;
}

.smart-forms .bar-yellow > .bar {
   background-color: #faa226;
}

/* @progress bar strips + animation IE10+ 
----------------------------------------------------------- */
.smart-forms .ui-slider .ui-slider-range,
.smart-forms .progress > button[type="submit"],
.smart-forms .progress > button[type="submit"]:hover,
.smart-forms .progress-bar > .bar {
   background-size: 16px 16px;
   background-image: -webkit-linear-gradient(top left, transparent, transparent 25%, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0.3) 50%, transparent 50%, transparent 75%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0.3));
   background-image: -moz-linear-gradient(top left, transparent, transparent 25%, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0.3) 50%, transparent 50%, transparent 75%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0.3));
   background-image: -o-linear-gradient(top left, transparent, transparent 25%, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0.3) 50%, transparent 50%, transparent 75%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0.3));
   background-image: linear-gradient(to bottom right, transparent, transparent 25%, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0.3) 50%, transparent 50%, transparent 75%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0.3));
}

.smart-forms .progress > button[type="submit"],
.smart-forms .progress > button[type="submit"]:hover,
.smart-forms .progress-animated > .bar {
   -webkit-animation: sfprogress .6s linear infinite;
   -moz-animation: sfprogress .6s linear infinite;
   -o-animation: sfprogress .6s linear infinite;
   animation: sfprogress .6s linear infinite;
}

.smart-forms .progress > button[type="submit"]:hover {
   cursor: wait;
}

@-webkit-keyframes sfprogress {
   from {
      background-position: 0 0;
   }

   to {
      background-position: -16px 0;
   }
}


@-moz-keyframes sfprogress {
   from {
      background-position: 0 0;
   }

   to {
      background-position: -16px 0;
   }
}

@-o-keyframes sfprogress {
   from {
      background-position: 0 0;
   }

   to {
      background-position: -16px 0;
   }
}

@keyframes sfprogress {
   from {
      background-position: 0 0;
   }

   to {
      background-position: -16px 0;
   }
}

/* @cloned widgets 
--------------------------------------------------------------- */
.clone-widget {
   padding-right: 100px;
   position: relative;
}

.clone-widget .button {
   position: absolute;
   right: 0;
   top: 0;
}

.clone-widget .clone {
   right: 50px;
}

/* @google map :: block elements 
----------------------------------------------------------------------- */
.smart-forms .map-container {
   padding: 10px;
   margin-bottom: 10px;
   border: 1px solid #e2e2e2;
}

.smart-forms .map-area,
.smart-forms #map_canvas {
   width: 100%;
   height: 400px;
   overflow: hidden;
}

.smart-forms .block {
   display: block;
}

.smart-forms .custom-block-list,
.smart-forms .custom-block-list li {
   list-style-type: none;
   display: block;
   padding: 0;
   margin: 0;
}

.smart-forms .custom-block-list li {
   padding: 3px 0;
   font-size: 14px;
}

.smart-forms .custom-block-list li span,
.smart-forms .custom-block-list li strong {
   font-weight: 300;
   color: #00AFFF;
}

/* @form grid
----------------------------------- */

/* @form rows 
--------------------------------- */
.smart-forms .frm-row {
   margin: 0 -10px;
}

.smart-forms .slider-group:before,
.smart-forms .slider-group:after,
.smart-forms .frm-row:before,
.smart-forms .frm-row:after {
   display: table;
   content: "";
   line-height: 0;
}

.smart-forms .slider-group:after,
.smart-forms .frm-row:after {
   clear: both;
}

/* @form columns 
----------------------------------- */
.smart-forms .frm-row .colm {
   min-height: 1px;
   padding-left: 10px;
   padding-right: 10px;
   position: relative;
   float: left;
}

.smart-forms .frm-row .colm1 {
   width: 8.33%;
}

.smart-forms .frm-row .colm2 {
   width: 16.66%;
}

.smart-forms .frm-row .colm3 {
   width: 25%;
}

.smart-forms .frm-row .colm4 {
   width: 33.33%;
}

.smart-forms .frm-row .colm5 {
   width: 41.66%;
}

.smart-forms .frm-row .colm6 {
   width: 50%;
}

.smart-forms .frm-row .colm7 {
   width: 58.33%;
}

.smart-forms .frm-row .colm8 {
   width: 66.66%;
}

.smart-forms .frm-row .colm9 {
   width: 75%;
}

.smart-forms .frm-row .colm10 {
   width: 83.33%;
}

.smart-forms .frm-row .colm11 {
   width: 91.66%;
}

.smart-forms .frm-row .colm12 {
   width: 100%;
}

.smart-forms .frm-row .colm1-5 {
   width: 20%;
}

.smart-forms .frm-row .colm1-8 {
   width: 12.5%;
}

/* @spacers 
--------------------------------------- */
.smart-forms .spacer {
   border-top: 1px solid #e2e2e2;
   display: block;
   height: 0;
}

/* @margin spacers :: modify accordingly 
-------------------------------------------- */
.smart-forms .spacer-t10 {
   margin-top: 10px;
}

.smart-forms .spacer-b10 {
   margin-bottom: 10px;
}

.smart-forms .spacer-t15 {
   margin-top: 15p;
}

.smart-forms .spacer-b15 {
   margin-bottom: 15px;
}

.smart-forms .spacer-t20 {
   margin-top: 20px;
}

.smart-forms .spacer-b20 {
   margin-bottom: 20px;
}

.smart-forms .spacer-t25 {
   margin-top: 25px;
}

.smart-forms .spacer-b25 {
   margin-bottom: 25px;
}

.smart-forms .spacer-t30 {
   margin-top: 30px;
}

.smart-forms .spacer-b30 {
   margin-bottom: 30px;
}

.smart-forms .spacer-t40 {
   margin-top: 40px;
}

.smart-forms .spacer-b40 {
   margin-bottom: 40px;
}

/* @padding spacers :: modify accordingly 
-------------------------------------------------- */
.smart-forms .frm-row .pad-l10 {
   padding-left: 10px;
}

.smart-forms .frm-row .pad-r10 {
   padding-right: 10px;
}

.smart-forms .frm-row .pad-l20 {
   padding-left: 20px;
}

.smart-forms .frm-row .pad-r20 {
   padding-right: 20px;
}

.smart-forms .frm-row .pad-l30 {
   padding-left: 30px;
}

.smart-forms .frm-row .pad-r30 {
   padding-right: 30px;
}

.smart-forms .frm-row .pad-l40 {
   padding-left: 40px;
}

.smart-forms .frm-row .pad-r40 {
   padding-right: 40px;
}

/* @border spacers + text adjust
-------------------------------------------------- */
.smart-forms .bdl {
   border-left: 1px solid #e2e2e2;
}

.smart-forms .bdr {
   border-right: 1px solid #e2e2e2;
}

.smart-forms .fine-grey {
   color: #999;
}

.smart-forms .small-text {
   font-size: 12px;
   font-style: normal;
   line-height: 16px;
}

.smart-forms .text-align {
   height: 44px;
   line-height: 44px;
}

/* @element alignment
-------------------------------------------------- */
.smart-forms .align-right {
   text-align: right;
}

.smart-forms .align-center {
   text-align: center;
}

/* @simple price boxes :: depend on grid
-------------------------------------------------- */
.smart-forms .price-box {
   padding: 30px;
   text-align: center;
   position: relative;
   border: 1px solid #e2e2e2;
   -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.05);
   -moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.05);
   -o-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.05);
   box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.05);
}

.smart-forms .price-box p {
   line-height: 1.5em;
   font-weight: 300;
   font-size: 16px;
   color: #526066;
   margin-bottom: 0;
}

.smart-forms .price-box h5 {
   text-transform: uppercase;
   font-weight: 300;
   margin: 0;
   font-size: 15px;
   color: #B0B2B9;
   letter-spacing: 2px
}

.smart-forms .price-box h4 {
   font-size: 60px;
   font-weight: 400;
   margin: 0;
   color: #626262;
}

.smart-forms .selected-box h4 {
   color: #7cbf34;
}

.smart-forms .price-box h4 sup {
   position: relative;
   font-size: 30px;
   vertical-align: top;
   top: 15px;
}

.smart-forms .price-box h4 .per-month {
   font-size: 14px;
}

.smart-forms .expand {
   height: 50px;
   line-height: 50px !important;
   border-radius: 3px;
}

/* @simple price boxes ribbon IE8+
----------------------------------------- */
.smart-forms .ribbon,
.smart-forms .ribbon-large {
   width: 75px;
   height: 78px;
   overflow: hidden;
   position: absolute;
   right: -2px;
   top: -2px;
   z-index: 1;
}

.smart-forms .ribbon-inner {
   -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.15);
   -moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.15);
   -o-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.15);
   box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.15);
   -webkit-transform: translate3d(0, 0, 0);
   -webkit-backface-visibility: hidden;
   -webkit-perspective: 1000;
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   transform: rotate(45deg);
   background: #7cbf34;
   letter-spacing: 4px;
   text-align: center;
   position: relative;
   font-weight: 700;
   font-size: 14px;
   padding: 7px 0;
   width: 100px;
   color: #fff;
   z-index: 1;
   left: 3px;
   top: 6px;
}

.smart-forms .ribbon-inner:before,
.smart-forms .ribbon-inner:after {
   content: "";
   border-top: 3px solid #3c9b39;
   border-left: 3px solid transparent;
   border-right: 3px solid transparent;
   position: absolute;
   bottom: -3px;
}

.smart-forms .ribbon-inner:before {
   left: 0px;
}

.smart-forms .ribbon-inner:after {
   right: 0px;
}

.smart-forms .ribbon-large {
   width: 115px;
   height: 118px;
}

.smart-forms .ribbon-large .ribbon-inner {
   width: 160px;
   left: -8px;
   top: 28px;
}

/* @captcha refresh button + icon 
-------------------------------------------------- */
.smart-forms .sfcode {
   padding-left: 24px;
}

.smart-forms .captcode {
   padding: 0;
   position: relative;
}

.smart-forms .captcode img {
   position: relative;
   top: 1px;
}

.smart-forms .refresh-captcha {
   position: absolute;
   background: #7cbf34;
   border: 3px solid #3C9B39;
   -webkit-border-radius: 30px;
   -moz-border-radius: 30px;
   -o-border-radius: 30px;
   border-radius: 30px;
   right: -15px;
   height: 32px;
   width: 32px;
   top: 4px;
}

.smart-forms .refresh-captcha i {
   position: absolute;
   text-align: center;
   line-height: 26px;
   font-size: 17px;
   color: #fff;
   left: 24%;
}

.smart-forms .smart-hidden-elem {
   position: absolute;
   visibility: hidden;
   margin: 0;
   padding: 0;
}

/* @captcha refresh button themes
-------------------------------------------------- */
.smart-forms .refresh-black {
   background: #505558;
   border-color: #333333;
}

.smart-forms .refresh-blue {
   background: #00acee;
   border-color: #0087bb;
}

.smart-forms .refresh-green {
   background: #0E993C;
   border-color: #0B792F;
}

.smart-forms .refresh-purple {
   background: #9464e2;
   border-color: #7639da;
}

.smart-forms .refresh-red {
   background: #ee4f3d;
   border-color: #e42914;
}

.smart-forms .refresh-yellow {
   background: #faa226;
   border-color: #e88a05;
}

/* IE10+ Fixes  
------------------------------------------------------------------------ */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
   .smart-forms .select .arrow:after,
   .smart-forms .select .arrow:before {
      display: block;
   }

   .smart-forms .checkbox:before {
      top: 4px;
      left: 3px;
   }
}

/* @Fix old Android + IOS
------------------------------------------------------------- */
@media screen and (-webkit-min-device-pixel-ratio:0) {
   .smart-forms .option,
   .smart-forms .rating,
   .smart-forms .switch,
   .smart-forms .captcode {
      -webkit-animation: bugfix infinite 1s;
   }

   @-webkit-keyframes bugfix {
      from {
         padding: 0;
      }

      to {
         padding: 0;
      }
   }

   .smart-forms .switch {
      margin-right: 10px;
      margin-bottom: 5px;
   }

   .smart-forms .option {
      margin-right: 15px;
   }

   .smart-forms .switch-round > .switch-label:after {
      font: 30px/20px Times, Serif;
   }
}

/* @responsiveness for tablets + smart mobile 
-------------------------------------------------- */
@media (max-width: 800px) {
   .smart-forms .frm-row {
      margin: 0;
   }

   .smart-forms .frm-row .colm {
      width: 100%;
      float: none;
      padding: 0;
   }

   .smart-forms .bdl {
      border-left: 0;
   }

   .smart-forms .bdr {
      border-right: 0;
   }

   .smart-forms .align-right {
      text-align: left;
   }
}


/*.smart-forms .form-control,
.smart-forms textarea,
.smart-forms input[type=email],
.smart-forms input[type=text] {
   box-shadow: none;
}*/
