/* Override list box menu styles */
.defaultSkin .mceListBoxMenu .mceMenuItemTitle a {
    background: transparent;
    border-style: none;
}

.defaultSkin .mceListBoxMenu .mceMenuItemTitle span.mceText {
    font-weight: normal;
    padding-left: 10px;
}

.defaultSkin .mceListBoxMenu .mce_h1 span.mceText {
    font-size: 18pt;
}

.defaultSkin .mceListBoxMenu .mce_h2 span.mceText {
    font-size: 16pt;
}

.defaultSkin .mceListBoxMenu .mce_h3 span.mceText {
    font-size: 14pt;
}

.defaultSkin .mceListBoxMenu .mce_h4 span.mceText {
    font-size: 12pt;
}

.defaultSkin .mceListBoxMenu .mce_h5 span.mceText {
    font-size: 11pt;
}

.defaultSkin .mceListBoxMenu .mce_h6 span.mceText {
    font-size: 10pt;
}

.defaultSkin .mceListBoxMenu .mce_macro_quote span.mceText {
    font-style: italic;
}

.defaultSkin .mceListBoxMenu .mce_macro_code span.mceText,
.defaultSkin .mceListBoxMenu .mce_macro_noformat span.mceText {
    font-family: "Courier New", Courier, monospace;
}

.defaultSkin .mceListBoxMenu .mceMenuItemTitle span.mceText,
.defaultSkin .mceListBoxMenu .mce_macro_quote span.mceText,
.defaultSkin .mceListBoxMenu .mce_macro_code span.mceText,
.defaultSkin .mceListBoxMenu .mce_macro_panel span.mceText,
.defaultSkin .mceListBoxMenu .mce_macro_noformat span.mceText {
    font-size: 10pt;
}
.defaultSkin .mceMenu span.mceText {
   line-height: 1.3;
   font-family: Arial, Helvetica, FreeSans, sans-serif;
}

#com-atlassian-confluence .defaultSkin .mceListBox .mceText {
    font-size: 10pt;
    font-family: Arial, Helvetica, FreeSans, sans-serif;
}

#com-atlassian-confluence .mce_formatselect .mceText {
    width: 85px;
    line-height: 1.6;
}
/* autocomplete section */

.aui-dd-parent {
    text-align: left;
}
#com-atlassian-confluence #autocomplete-dropdown .autocomplete {
    border-top-color: #bbb;
}
#autocomplete-dropdown .aui-dropdown a:link,
#autocomplete-dropdown .aui-dropdown a:visited,
#autocomplete-dropdown .aui-dropdown a:hover,
#autocomplete-dropdown .aui-dropdown a:active {
    color: #333;
}
#autocomplete-dropdown .aui-dropdown li.active a:link,
#autocomplete-dropdown .aui-dropdown li.active a:visited,
#autocomplete-dropdown .aui-dropdown li.active a:hover,
#autocomplete-dropdown .aui-dropdown li.active a:active {
    color: #fff;
}
#autocomplete-dropdown .aui-dropdown ol.top-menu-item {
    border-bottom-color: #bbb;
    font-size: .9em;
    padding: 0;
}
#autocomplete-dropdown .aui-dropdown ol.top-menu-item li,
#autocomplete-dropdown .aui-dropdown ol.top-menu-item li:hover {
    background: #f0f0f0;
    height: 22px;
    line-height: 22px;
}
#autocomplete-dropdown .aui-dropdown ol.top-menu-item li:hover span {
    background: none;
    color: #333;
}
#autocomplete-dropdown .aui-dropdown ol.top-menu-item li a.menu-header {
    cursor: default;
}
#autocomplete-dropdown .aui-dropdown ol.top-menu-item li a.menu-header:hover,
#autocomplete-dropdown .aui-dropdown ol.top-menu-item li:hover {
    color: #535353;
}
#autocomplete-dropdown .aui-dropdown ol.top-menu-item li a.menu-header span {
    padding-left: 5px;
}
.defaultSkin td.mceStatusbar {
    padding: 5px 0 0;
}
.defaultSkin td.mceStatusbar span,
.defaultSkin td.mceStatusbar strong {
    color: #666;
    font-size: 12px;
}
.defaultSkin td.mceStatusbar strong {
    font-weight: bold;
}

.defaultSkin span.mce_conf_macro_browser.wait {
    background: url(wait-4.gif)/*tpa=http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/images/icons/wait.gif*/ no-repeat 50% 50%;
}
.defaultSkin span.mce_conf_macro_browser {
    background: url(editor-icons.gif)/*tpa=http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/images/icons/editor-icons.gif*/ no-repeat -40px 0;
}
.defaultSkin span.mce_confimage {
    background: url(editor-icons.gif)/*tpa=http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/images/icons/editor-icons.gif*/ no-repeat -20px 0;
}

/**
 *  Insert Menu
 */
.defaultSkin a.rte-insert-menu {
    width: 46px; /* = label (33px) + label padding (3px) + icon (10px) */
    _width: 49px; /* IE6 uses incorrect width calculation */
    overflow: hidden;
}
.defaultSkin .rte-insert-menu span.mceButtonLabel {
    font-family: Arial, Helvetica, FreeSans, sans-serif;
    font-size: 12px;
    overflow: hidden;
    padding: 3px 0 3px 3px;
    width: 33px; /* variable width doesn't work in IE6 and IE7 because we're in a table */
}
.defaultSkin .rte-insert-menu span.mceIcon {
    background: url(icons.gif)/*tpa=http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.tinymceplugin:tinymceeditor/tinymcesource/themes/advanced/img/icons.gif*/ no-repeat -741px 0;
    float: right;
    width: 10px;
}
.defaultSkin .mceMenu .mceMenuItem a {
    padding: 5px 0;
}
.defaultSkin .rte-insert-menu a span.mceText {
    padding-left: 28px;
}
.defaultSkin .mceMenu .mceFirst td {
    padding-top: 5px;
}
.defaultSkin .mceMenu .mceLast td {
    padding-bottom: 5px;
}
/* Fix arrow on the formatting drop down */
.defaultSkin .mceNoIcons .mceMenuItem span.mceIcon {
    width: 0;
}
/* Insert menu icons */
.defaultSkin .mceMenu .mceMenuItem .mceIcon {
    background-color: transparent;
    background-repeat: no-repeat;
    margin-left: 2px;
    margin-top: 1px;
    width: 20px;
}
/* Confluence Editor icons */
.defaultSkin .mceMenu .mceMenuItem .mce_menu_confimage .mceIcon,
.defaultSkin .mceMenu .mceMenuItem .mce_menu_conflink .mceIcon,
.defaultSkin .mceMenu .mceMenuItem .mce_conf_macro_browser .mceIcon,
.mceMenu .mceMenuItem .mce_menu_conf_macro_gallery .mceIcon,
.mceMenu .mceMenuItem .mce_menu_conf_macro_info .mceIcon,
.mceMenu .mceMenuItem .mce_menu_conf_macro_recently-updated .mceIcon,
.mceMenu .mceMenuItem .mce_menu_conf_macro_toc .mceIcon,
.mceMenu .mceMenuItem .mce_menu_conf_macro_tasklist .mceIcon,
.mceMenu .mceMenuItem .mce_menu_conf_macro_widget .mceIcon,
.mceMenu .mceMenuItem .mce_menu_confattachment .mceIcon {
    background-image: url(editor-icons.gif)/*tpa=http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/images/icons/editor-icons.gif*/;
}
.defaultSkin .mceMenu .mceMenuItem .mce_menu_conflink .mceIcon {
    background-position: 0 0;
}
.defaultSkin .mceMenu .mceMenuItem .mce_menu_confimage .mceIcon {
    background-position: -20px 0;
}
.defaultSkin .mceMenu .mceMenuItem .mce_conf_macro_browser .mceIcon {
    background-position: -40px 0;
}
.mceMenu .mceMenuItem .mce_menu_conf_macro_info .mceIcon {
    background-position: -80px 0;
}
.mceMenu .mceMenuItem .mce_menu_conf_macro_gallery .mceIcon {
    background-position: -140px 0;
}
.mceMenu .mceMenuItem .mce_menu_conf_macro_recently-updated .mceIcon {
    background-position: -60px 0;
}
.mceMenu .mceMenuItem .mce_menu_conf_macro_widget .mceIcon {
    background-position: -160px 0;
}
.mceMenu .mceMenuItem .mce_menu_conf_macro_tasklist .mceIcon {
    background-position: -120px 0;
}
.mceMenu .mceMenuItem .mce_menu_conf_macro_toc .mceIcon {
    background-position: -100px 0;
}
.mceMenu .mceMenuItem .mce_menu_confattachment .mceIcon {
    background-position: -180px 0;
}

/* TinyMCE icons */
.mceMenu .mceMenuItem .mce_menu_conf_emoticon .mceIcon,
.mceMenu .mceMenuItem .mce_menu_conf_symbol .mceIcon,
.mceMenu .mceMenuItem .mce_menu_conf_hr .mceIcon {
    background-image: url(icons.gif)/*tpa=http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.tinymceplugin:tinymceeditor/tinymcesource/themes/advanced/img/icons.gif*/;
}
.mceMenu .mceMenuItem .mce_menu_conf_emoticon .mceIcon {
    background-position: -60px -20px;
}
.mceMenu .mceMenuItem .mce_menu_conf_symbol .mceIcon {
    background-position: -240px 0;
}
.mceMenu .mceMenuItem .mce_menu_conf_hr .mceIcon {
    background-position: -360px 0;
}

/* i18n fix for insert menu button CONF-17851. TO DO: evaluate using a broader selector and incorporating this into base RTE styles. */
#wysiwygTextarea_rte-insert-menu-button,
#mce_fullscreen_rte-insert-menu-button {
    padding-right: 10px;
    position: relative;
    width: auto;
}
#wysiwygTextarea_rte-insert-menu-button .mceIcon,
#mce_fullscreen_rte-insert-menu-button .mceIcon {
    position: absolute;
    right: 2px;
    width: 7px;
}
#wysiwygTextarea_rte-insert-menu-button .mceButtonLabel,
#mce_fullscreen_rte-insert-menu-button .mceButtonLabel {
    display: inline-block;
    width: auto;
}

/* CONFDEV-2095 Smart Spritify these icons */
#autocomplete-dropdown span.editor-icon {
    padding: 0;
}
#autocomplete-dropdown .dropdown-insert-link span.icon {
    background-position: 0 2px;
}
#autocomplete-dropdown .dropdown-insert-image span.icon {
    background-position: -20px 2px;
}
#autocomplete-dropdown .dropdown-insert-macro span.icon {
    background-position: -40px 2px;
}
#autocomplete-dropdown span.icon {
    background-image: url('editor-icons-1.gif')/*tpa=http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/images/icons/editor-icons.gif*/;
    height: 20px;
    width: 20px;
}
#autocomplete-dropdown .aui-dropdown li.error {
    color: #535353;
    display: block;
    outline: none;
    position: relative;
    text-decoration: none;
    text-align: left;
    background-color: #fff;
    background-image: url(10.png)/*tpa=http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/images/icons/classic/16/10.png*/;
    background-repeat: no-repeat;
    background-position: 7px 50%;
    padding-left: 2.5em;
}
