/*  ----------  GENERAL  ----------  */

    .layout .form input[type="text"], .layout .form input[type="password"],
    .layout .form input[type="button"], .layout .form input[type="submit"],
    .layout .form button,
    .layout .form select, 
    .layout .form textarea,
    .pb-selector, .pb-selector *, .pb-checker, .pb-checker *, .pb-radio, .pb-radio * {
        margin: 0;
        padding: 0;
        outline: 0;
        border: 0;
        font-family: 'Open Sans', 'Arial', 'Verdana';
        font-size: 1em;
        line-height: 1.2em;
        color: #979797;
        background-color: transparent;
        webkit-font-smoothing: antialiased;
    }

    .layout .form .input-wrapper,
    .layout .form .cms-input-wrapper {
        min-height: 30px;
        margin: 10px 0;
        position: relative;
    }
    
    .layout .form .input-wrapper:after,
    .layout .form .cms-input-wrapper:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
        zoom: 1;
        line-height: 0;
        font-size: 0;
    }
    
    .layout .form .input-wrapper label,
    .layout .form .cms-input-wrapper label {
        width: auto;
        height: 30px;
        line-height: 30px;
        white-space: nowrap;
        padding: 0 10px;
        font-size: 1em;
        display: inline-block;
    }
    
    .layout .form.infield-label .input-wrapper label,
    .layout .form.infield-label .cms-input-wrapper label {
        width: 100%;
        position: absolute;
        left: 0;
        top: 0;
        display: none;
        color: #979797;
        font-style: italic;
        font-family: 'Open Sans';
    }
    
    .layout .form.infield-label .input-wrapper label.visible,
    .layout .form.infield-label .cms-input-wrapper label.visible {
       display: block;
    }
    
    .cms-form-errors {
		margin: 1.4em 0;
		font-size: 0.8em;
		color: #e70101;
		border: 1px solid #d8150c;
		padding: 1em;
		background-color: #ffa396;
    }
    
	.pb-selector, .pb-checker, .pb-radio {
		display: inline-block;	
	}
	
	.pb-selector span, .pb-checker span, .pb-radio span {
		background-repeat: no-repeat;
		display: block;
	}

/*  ----------  TEXT & TEXTAREA  ----------  */

	.layout .form input[type="text"],  .layout .form input[type="password"], .layout .form textarea {
		width: auto;
		display: inline-block;
		height: 30px;
		padding: 0 10px;
		font-family: 'Open Sans';
		font-size: 1em;
		color: #979797;
		background-color: transparent;
		border: 1px solid #979797;
		outline : none; 
	}

	.layout .form textarea {
		padding: 10px;
		height: 90px;
		max-width: 100%;
		max-height: 90px;
		resize: none;
	}

	.layout .form input[type="text"]:focus,  .layout .form input[type="password"]:focus, .layout .form textarea:focus {
        border: 1px solid #c8130b;  
	}
	
/*  ----------  RADIO  ----------  */

	
	
	div.pb-radio.view-type, div.pb-radio.view-type span, div.pb-radio.view-type input {
	   width: 30px;
	   height: 30px;
	   cursor: pointer;
	}
	
	div.pb-radio.view-type input {
        opacity: 0;
    }
    
    div.pb-radio.view-type span {
        background-position: 0 0;
    }
    
    div.pb-radio.view-type span.checked {
        background-position: -30px 0;
    }
    
    div.pb-radio.view-type.grid span {
        background-image: url("../images/input/radio-grid.png");
    }
    
    div.pb-radio.view-type.list span {
        background-image: url("../images/input/radio-list.png");
    }

/*  ----------  CHECKBOX  ----------  */

	div.pb-checker, div.pb-checker span, div.pb-checker input {
		width: 16px;
		height: 16px;
	}
	
	div.pb-checker input {
		opacity: 0;
	}
	
	div.pb-checker span {
		background-position: 0 0;
		background-image: url("../images/input/checker.png");
	}
	
	div.pb-checker.hover span {
		background-position: -16px 0;
	}
	
	div.pb-checker span.checked {
        background-position: -32px 0;
    }
    
    div.pb-checker.hover span.checked {
        background-position: -48px 0;
    }

/*  ----------  SELECT  ----------  */

	div.pb-selector {
		position: relative;
		width: 100% !important;
		border: 1px solid #979797;
		padding: 0;
		height: 30px;
		background-color: #fff;
	}
	
	div.pb-selector.focus {
	   border: 1px solid #c8130b;
	}
	
	div.pb-selector span {
		display: block;
	  	height: 28px;
		line-height: 28px;
		padding: 0 38px 0 10px;
		width: auto !important;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		background: url("../images/input/selector.png") no-repeat right;
	}
	
	div.pb-selector select {
		position: absolute;
		opacity: 0;
		filter: alpha(opacity=0);
		width: 100%;
		top: -1px;
		left: 0;
		height: 31px;
		border: 0 none;
		display: block;
	}
	
	div.pb-selector select option {
		font-size: 1em;
		line-height: 1.2em;
		padding: 0.2em 0.6em;
		color: #979797;
	}

/*  ----------  AUTOCOMPLETE  ----------  */
	
	.ui-autocomplete {
        border-radius: 0;
        border: 1px solid #979797;
        font-size: 15px;
        max-height: 400px;
        overflow-y: auto;
        overflow-x: hidden;
	}
	
	.ui-autocomplete > li {
	   line-height: 1.2em;
        width: 100%;
	}
	
	.ui-autocomplete > li > a {
		padding: 0.2em 0.6em;
		color: #979797;
		display: block;
		border-radius: 0;
		border: 0 none;
    }
    
    .ui-autocomplete > li > a.ui-state-hover {
		border: 0 none;
		background-image: none;
		background-color: #e4e4e4;
		color: #444;
        padding: 0.2em 0.6em !imporant;
        margin: 0 !important;
    }
    
    .ui-autocomplete > li > a > strong {
       font-weight: normal;
    }

/*  ----------  BUTTONS  ----------  */

	.layout .form input[type="submit"], .layout .form input[type="button"], .layout .form button[type="button"], .layout .form .pb-button {
	    display: inline-block;
	    width: auto;
	    height: 30px;
	    border: 1px solid #e35d56;
	    background-color: #d8150c;
	    color: #fff;
	    font-size: 1em;
	    cursor: pointer;
	    min-width: 160px;
	 }
	
	.layout .form input[type="submit"]:hover, .layout .form input[type="button"]:hover, .layout .form button[type="button"]:hover, .layout .form .pb-button:hover {
	    background-color: #e35d56;   
	}

