/**
 * Wrapper
 */
.themify-combo-select{
    position:relative;
    max-width:100%;
    font:100% Helvetica, Arial, Sans-serif;
    border:none;
    z-index:10;
    padding-bottom:1px;
}
/**
 * Input field
 */
.tb_input .themify-combo-select .themify-combo-input{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    margin:0;
    text-overflow:ellipsis;
    white-space:nowrap;
    width:100%;
    box-sizing:border-box;
    border:none;
    outline:none;
}
.themify-combo-input:focus{
    outline:none; 
}
/**
 * Arrow
 */
.themify-combo-arrow{
    position:absolute;
    right:0;
    top:0;
    height:100%;
    cursor:pointer;
    text-align:center;
    width:40px;
    font-size:12px;
    color:#999999; 
}
.themify-combo-arrow:before{
    content:" ";
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:5px solid #cccccc;
    display:block;
    width:0;
    height:0;
    top:0;
    right:15px;
    bottom:0;
    position:absolute;
    margin:auto 0;
}
/**
 * When opened
 */
.themify-combo-open.themify-combo-select{
    z-index:60;
}
.themify-combo-open .themify-combo-arrow:before{
    border-top:none;
    border-bottom:5px solid #cccccc;
}
/**
 * When focused
 */
.themify-combo-focus{
    box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.26);
    border-color:#51A7E8; 
}
.themify-combo-open .themify-combo-arrow,
.themify-combo-focus input{
    border-color:#51A7E8;
}
/**
 * Hide native select
 */
.themify-combo-select select{
    display:none;
}
/**
 * Selected option
 */
.themify-combo-selected{
    background-color:#eee; 
}
/**
 * Option item
 */
.themify-combo-item{
    cursor:pointer;
    border-bottom:1px #e3e3e3 solid; 
}
.themify-combo-hover,
.themify-combo-item:hover{
    background-color:#006eab;
    color:#fff; 
}
.themify-combo-item:last-child{
    border-bottom:none; 
}
/**
 * Disabled and optgroups
 */
.themify-combo-group{
    cursor:text;
    font-weight:600;
    background:#e1e1e1;
    border:1px #ccc solid;
    border-width:1px 0; 
}
/**
 * Disabled
 */
.themify-combo-disabled{
    opacity:0.5;
}
/**
 * Dropdown
 */
.themify-combo-dropdown{
    list-style:none;
    position:absolute;
    z-index:1;
    top:100%;
    left:0;
    min-width:100%;
    max-height:300px;
    margin:0;
    padding:0;
    display:none;
    overflow-y:auto;
    background:#fff;
    border:1px solid #999999;
    border-radius:0;
    box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.26);
    box-sizing:border-box; 
}
.themify-combo-dropdown li{
    list-style:none;
    padding:8px 1em;
    margin:0;
    display:block;
    min-height: 36px;
    box-sizing: border-box;
}
/**
 * On Active
 */
.themify-combo-open .themify-combo-dropdown{
    display:block;
    margin:0;
    padding:0;
    list-style:none;	
    display:block; 
}
/**
 * Search marker
 */
.themify-combo-marker{
    text-decoration:underline; 
}
/**
 * Font Preview
 */
.tb_font_preview{
    position:absolute;
    z-index:100;
    display:none;
    color:#000;
    background:#fff;
    padding:7px 10px;
    font-size:16px;
    border:1px solid #000;
    width:115px;
    right:2px;
    top:26px;
    line-height:30px;
    margin-top: -6px;
	text-align: center;
}
.tb_font_preview:before{
    right:100%;
    top:50%;
    border: 10px solid transparent;
    border-right-color:#000;
    content:" ";
    height:0;
    width:0;
    position:absolute;
    pointer-events:none;
    margin-top:-10px;
}
.tb_panel_docked .tb_font_preview {
    width: 82px;
    padding: 2px 10px;
    font-size: 12px;
    margin-top: -2px;
    margin-right: -2px;
    right: 100%;
}
.tb_panel_docked .tb_font_preview:before {
	left: 100%;
	right: auto;
	border-right-color: transparent;
	border-left-color: #000;
}
.tb_font_preview>span{
    min-height:32px;
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.tb_font_preview .themify_show_wait{
    display:inline-block;
    vertical-align:middle;
    text-indent:-1110000px;
}
.tb_font_preview .themify_show_wait{
    width:20px;
    height:20px;
    min-height:inherit;
    background-color:#666;
    background-color:rgba(0,0,0,.6);
    border-radius:50%;
    box-sizing:border-box;
    position:relative;
    margin-right:10px;
}
.tb_font_preview .themify_show_wait:before{
    width:80%;
    height:80%;
    border:3px solid transparent;
    border-top-color:#fff;
    border-radius:50%;
    box-sizing:border-box;
    position:absolute;
    top:10%;
    left:10%;
    content:'';
    animation:circle-loader 1.4s infinite linear;
}
@keyframes circle-loader{
    0%{
        transform:rotate(0deg);
    }
    100%{
        transform:rotate(360deg);
    }
}
.tb_font_preview_wrapper{
    font:100% Helvetica, Arial, Sans-serif;
    border: 1px #ccc solid;
    width:100%;
    border-radius: 3px;
    box-sizing:border-box;
}
.tb_font_preview_wrapper select{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    margin:0;
    text-overflow:ellipsis;
    white-space:nowrap;
    width:100%;
    box-sizing:border-box;
    border:none;
    outline:none;
    max-width:100%;
    height:auto;
}