/** * This file defines most styles of the CMS: Colors, fonts, backgrounds, * alignments, dimensions. * * Use SCSS variable definitions in screen.css to avoid repeating styles * like background colours or padding dimensions. See themes/_default.scss * to get started. * * To avoid this file getting too large and complicated, it is encouraged to * create new SCSS files for larger components like the CMS menu or tree * (see _tree.scss and _menu.scss). */ @import "compass"; @import "compass/css3"; @import "compass/utilities"; /** ---------------------------------------------------- * Core Styles. * ---------------------------------------------------- */ html,body { width: 100%; height: 100%; @include global-reset; font-size: $font-base-size; line-height: $grid-vertical * 2; font-family: $font-family; color: $color-text; } body.cms { overflow: hidden; } .cms { a { color: $color-text-dark-link; text-decoration: none; &:hover, &:focus { text-decoration: underline; } } body .ui-widget { font-family: $font-family; font-size: $font-base-size; } strong { font-weight: bold; } } /** -------------------------------------------- * Helpers * -------------------------------------------- */ .cms-helper-hide-actions { .Actions { display: none; } } /** -------------------------------------------- * Panels Styles * -------------------------------------------- */ .cms-container { height: 100%; background: $tab-panel-texture-background; } .cms-preview, .cms-menu, .cms-content, .cms-content-header, .cms-content-tools, .cms-content-fields, .cms-edit-form, .cms-preview, .cms-preview iframe, .cms-preview-controls { @include inline-block; } .cms-content-header { background-color: darken($color-widget-bg, 20%); padding: $grid-vertical $grid-horizontal ($grid-vertical - 2); height: $grid-vertical * 4; z-index: 60; border-bottom: 2px solid darken($color-widget-bg, 35%); @include box-shadow($color-widget-bg 0 $grid-vertical $grid-vertical*2); @include background-image( linear-gradient(darken($color-widget-bg, 10%), darken($color-widget-bg, 30%)) ); h2 { float: left; padding: $grid-vertical $grid-horizontal 0 0; font-size: $font-base-size + 2; line-height: $grid-horizontal * 3; font-weight: bold; text-shadow: darken($color-widget-bg, 15%) 1px 1px 0; width: $grid-horizontal * 22 /* 24 - (padding on each side + margin) */; margin: 0; @include hide-text-overflow(); } & > div { width: 9999em; overflow: hidden; } .cms-content-header-tabs { float: left; } } .ui-tabs .cms-content-header, .cms-dialog .ui-tabs-nav { .ui-tabs-nav li { a { font-weight: bold; line-height: $grid-vertical * 2; padding: ($grid-vertical * 2 - 5) $grid-horizontal + 4 $grid-vertical + 1; border-bottom: 2px solid darken($color-tab, 15%); } } .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { background-color: $color-tab; @include background-image( linear-gradient($color-tab, darken($color-tab, 10%) )); border-color: darken($color-tab, 20%); text-shadow: lighten($color-tab, 60%) 0 1px 0; } .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { background: $color-widget-bg; a { border-bottom: 2px solid $color-widget-bg; } } } /** ------------------------------------------------------- * Loading Interface * ------------------------------------------------------- */ .cms-content-loading-overlay { position: absolute; // z-index doesn't apply properly without that top: 0; left: 0; width: 100%; height: 100%; z-index: 9998; // Further styling by .ui-widget-overlay-light which is usually applied at the same time } .cms-content-loading-spinner { position: absolute; // z-index doesn't apply properly without that top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; background: url(../images/spinner.gif) no-repeat 50% 50%; } /** ----------------------------------------------- * Loading Screen * ------------------------------------------------ */ .ss-loading-screen { width: 100%; height: 100%; overflow: hidden; position: absolute; z-index: 100000; // TODO Convert to compass gradient include background: #fff; background: -moz-radial-gradient(50% 50% 180deg, circle cover, #FFFFFF, #EFEFEF, #C7C7C7 100%); background: -webkit-gradient(radial, 50% 50%, 350, 50% 50%, 0, from(#E3E3E3), to(white)); .loading-logo { width: 100%; height: 100%; overflow: hidden; position: absolute; background: transparent url(../images/logo.gif) no-repeat 50% 50%; } p { width: 100%; text-align: center; position: absolute; bottom: 80px; z-index: 100001; span.notice { width: 300px; font-size: 14px; padding: 10px 20px; color: #dc7f00; border: none; background: none; @include border-radius(5px); display: inline-block; zoom: 1; *display: inline; } } .loading-animation { display: none; position: absolute; left: 49%; top: 75%; } } /** -------------------------------------------- * Actions * -------------------------------------------- */ .cms-content-actions { margin: $grid-vertical $grid-horizontal*2 $grid-vertical*2 $grid-horizontal*2; text-align: right; height: $grid-vertical*4; z-index: 70; @include box-shadow($tab-panel-texture-color 0 $grid-vertical*-2 $grid-vertical*2); } /** -------------------------------------------- * Messages * -------------------------------------------- */ .message { margin: 0 0 $grid_vertical 0; padding: $grid_vertical - 1 $grid_horizontal - 1; font-weight: bold; border: 1px black solid; &.notice { background-color: lighten($color-notice, 20%); border-color: $color-notice; a { color: #999; } } &.warning { background-color: lighten($color-warning, 20%); border-color: $color-warning; } &.error { background-color: lighten($color-error, 20%); border-color: $color-error; } &.good { background-color: lighten($color-good, 20%); border-color: $color-good; } p { margin: 0; } } /** -------------------------------------------- * "Add page" dialog * -------------------------------------------- */ .cms-page-add-form-dialog { display: none; } .cms-add-form { #PageType li { float: none; width: 100%; padding: 9px 0 9px 15px; overflow: hidden; border-bottom-width: 2px; border-bottom: 2px groove lighten($color-shadow-light, 95%); -webkit-border-image: url(../images/textures/bg_fieldset_elements_border.png) 2 stretch stretch; border-image: url(../images/textures/bg_fieldset_elements_border.png) 2 stretch stretch; &:last-child { border-bottom: none; } &:hover, &.selected { background-color: $color-highlight-opacity; } &.disabled { color: $color-text-disabled; &:hover { background: none; } } input { margin: inherit; } label { padding-left: 0; padding-bottom: 0; } input, label, .icon, .title { float: left; line-height: 1.3em; } .icon { width: 20px; display: block; width: 16px; height: 16px; margin: 0 4px; background-color: transparent; background-image: url(../images/sitetree_ss_pageclass_icons_default.png); background-repeat: no-repeat; } .class-HomePage { background-position: 0 -48px; } .class-RedirectorPage { background-position: 0 -16px; } .class-VirtualPage { background-position: 0 -32px; } .class-ErrorPage { background-position: 0 -112px; } .title { width: 120px; font-weight: bold; padding-right: 10px; } .description { font-style: italic; } } } /** -------------------------------------------- * Content toolbar * -------------------------------------------- */ .cms-content-toolbar { display: block; margin: 0 0 15px 0; @include doubleborder(bottom, $color-light-separator, lighten($color-light-separator, 50%)); @include legacy-pie-clearfix(); & > * { float: left; } .cms-tree-view-modes * { display: inline-block; } } /* -------------------------------------------------------- * Content Tools is the sidebar on the left of the main content * panel */ .cms-content-tools { background-color: darken($color-widget-bg, 5%); width: $grid-horizontal * 24; border-right: 1px solid darken($color-widget-bg, 15%); overflow-y: auto; overflow-x: hidden; z-index: 70; .cms-panel-header { padding: 0; margin: 0 0 $grid-vertical - 1; line-height: $grid-vertical * 3; @include doubleborder(bottom, $color-light-separator, lighten($color-light-separator, 10%)) } .cms-panel-content { width: ($grid-horizontal * 22); padding: $grid-vertical $grid-horizontal; overflow-x: hidden; overflow-y: auto; } .cms-content-header { background-color: darken($color-widget-bg, 40%); border-bottom: 2px solid darken($color-widget-bg, 50%); @include background-image( linear-gradient(darken($color-widget-bg, 20%), darken($color-widget-bg, 40%)) ); h2 { text-shadow: darken($color-widget-bg, 50%) -1px -1px 0; width: $grid-horizontal * 22 /* 24 - (padding on each side + margin) */; color: lighten($color-widget-bg, 60%); @include hide-text-overflow(); } } h3,h4,h5 { font-weight: bold; line-height: $grid-vertical * 2; } h3 { font-size: $font-base-size + 1; } .ui-widget-content { background: none; } .field { /* * Fields are more compressed in the sidebar compared to the * main content editing window so the below alters the internal * spacing of the fields so we can move that spacing to between * the form fields rather than padding */ label { float: none; width: auto; font-size: 11px; padding: 0 $grid-horizontal 4px 0; } .middleColumn { margin: 0; } input.text, select, textarea { padding: 5px; font-size: 11px; } &.checkbox { padding: 0 8px 0; input { margin: 2px 0; } } /* smaller treedropdown */ .chzn-container-single .chzn-single { height: 24px; line-height: 24px; font-size: 11px; div b { background-position: 4px 0; } } } /* buttons now need to line with with reduced input sizes */ .ss-ui-button { padding: 5px $grid-horizontal; } .fieldgroup { .fieldgroup-field { width: auto; padding: 0; .field { margin: 0; padding: 0; } } } table { margin: 8px -4px; thead { th { color: $color-text-dark; font-weight: bold; line-height: 16px; font-size: 11px; padding: 4px; } } tr { &.active { background-color: $color-menu-button; color: $color-text-light; td.first-column { @include border-radius(6px 0 0 6px); } td.last-column { @include border-radius(0 6px 6px 0); } } } td { padding: 4px; line-height: 16px; vertical-align: top; } } td { border-bottom: 1px solid darken($color-widget-bg, 10%); padding: $grid-vertical - 1 2px; font-size: 11px; } } /** * CMS Batch actions */ .cms-content-batchactions, .cms-content-constructive-actions { float: right; } .cms-content-batchactions { float: right; position: relative; display: block; margin-right: 8px; form > * { display: block; float: left; } form.cms-batch-actions { float: left; } } .cms-content-constructive-actions a { display: block; float: right; } #Form_BatchActionsForm select { width: 200px; } /** -------------------------------------------- * Preview * -------------------------------------------- */ .cms-switch-view { a { padding-right: 1em; } } .cms-preview { width: 1px; // collapsed by default z-index: 100; .cms-preview-toggle { width: 10px; cursor: pointer; a { display: block; padding: 2px 12px 2px 6px; height: 16px; position: relative; top: 48%; background-color: $color-base; color: $color-text-light; font-weight: bold; text-decoration: none; z-index: 2000; line-height: 16px; @include border-bottom-right-radius(4px); @include border-top-right-radius(4px); @include box-shadow(0 0 10px rgba(180, 180,180,0.4)); } } &.is-collapsed { .cms-preview-toggle { a { left: -15px; // point left } } } iframe { width: 100%; height: 100%; } .cms-preview-controls { z-index: 99; background: $color-widget-bg; padding: 10px; min-height: 30px; .cms-navigator { width: 100%; * { display: inline-block; } } .cms-preview-states { margin-right: 10px; } .cms-preview-popup-link { display: inline-block; } .cms-preview-toggle-link { float: right; } } } .cms-preview-header { background-color: #FFBE66; padding: 10px; font-weight: bold; } /** -------------------------------------------- * Member Profile * -------------------------------------------- */ form.member-profile-form { #CsvFile .middleColumn { background: none !important; } .advanced h4 { margin-bottom: .5em; } .Actions { text-align: left; border: 0; } input.customFormat { width: $grid-horizontal * 10; border: 1px solid #ccc !important; padding: 3px; display: inline-block; margin-left: 1em; } .formattingHelpToggle { display: block; font-size: 11px; } .formattingHelpText { margin: 5px 0 0 -5px; color: #333; padding: 5px 10px; background: #fff; border: 1px solid #ccc; } .formattingHelpText ul { padding: 0; } .formattingHelpText li { font-size: 11px; color: #333; margin-bottom: 2px; padding-bottom: 0; float: none; width: auto; } #Groups .middleColumn { margin-left: 0; width: 100%; .TreeDropdownField { width: 90%; max-width: 90%; } } // Same rules in .SecurityAdmin #Permissions { .optionset { li { float: none; width: auto; } } } } .cms { .cms-content { border-right: 1px solid $color-light-separator; @include box-shadow(3px 0 4px rgba(0,0,0,0.15)); @include border-radius(0); } .cms-content-fields { /* always show a y scroll bar as popups like TreeDropdowns can trigger longer pages and the extra scroll bar doesn't fire our sizing bar */ overflow-y: auto; overflow-x: auto; background: none; } } /** -------------------------------------------- * Panels * -------------------------------------------- */ .cms-panel { overflow: hidden; .cms-panel-toggle { @include box-shadow(0 0 5px rgba(107, 120, 123, 0.5)); a { display: block; text-align: right; padding: $grid-vertical/2 0; width: 100%; @include background-image( linear-gradient(darken($color-widget-bg, 20%), darken($color-widget-bg, 30%)) ); text-decoration: none; span { display: inline-block; margin: 0 5px; color: $color-text-dark; font-size: 16px; } &.toggle-expand { width: 40px; // will set the collapsed width } } } &.collapsed { .cms-panel-content { display: none; } /* .cms-panel-header { @include rotate(-90deg); position: relative; top: $grid-vertical * 10; border: none; padding: 0; } */ } .cms-panel-content-collapsed { width: 40px; h2, h3 { border-bottom: 0; margin-left: $grid-vertical; @include transform-origin(bottom, left); @include rotate(90deg); } } .child-flyout-indicator { width:0; height:0; border-right:3px dashed $color-text-dark; border-top:3px solid transparent; border-left:3px solid transparent; border-bottom:3px dashed $color-text-dark; position: absolute; right: 1px; margin-top: -8px; display: none; /* To be shown by javascript, see LeftAndMain.Panel.js */ } .collapsed-flyout { display: block !important; left: 41px; margin-top: -40px; position: fixed; width: 191px; li a span { display: block !important; } } } .cms-panel-padded { width: ($grid-horizontal * 22); padding: $grid-vertical*2 $grid-horizontal*2; overflow-x: hidden; overflow-y: auto; } .cms-content .cms-panel.collapsed { cursor: pointer; } /** ------------------------------------------------------------------ * Dialog * * Contained in a jQuery UI dialog ('.ui-dialog'), with either inline * markup (for the "insert" dialogs), or an iframe (for member profile). * ----------------------------------------------------------------- */ // overlay for switching between CMS panes .cms .ui-widget-overlay-light { background: #aaaaaa url(../../thirdparty/jquery-ui-themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: 0.3; } // Adjusting the color of the background overlay to be darker for pop-up dialogs (created by jQuery-UI) .cms .ui-widget-overlay { background-color: #000; background-image: none; } // Elements with this class can either frame inline markup or an iframe, // most styles should be applied to .cms-dialog instead (which declares the content in the frame) .ui-dialog { background: url("../images/textures/bg_cms_main_content.png") repeat left top #F0F3F4; border: 3px solid #000 !important; border-radius: $grid-vertical; overflow: visible; padding: 0; // Titlebar for pop-up dialog. .ui-dialog-titlebar.ui-widget-header { font-size: $font-base-size+2; background-color: #92a5b2; padding: $grid-vertical/2 $grid-horizontal/2 $grid-vertical/2 $grid-horizontal*2; border-bottom: 2px solid #8399a7; @include border-radius(0); @include background-image(linear-gradient(#ced7dc, #92a5b2)); } } body.cms-dialog { overflow: auto; background: url("../images/textures/bg_cms_main_content.png") repeat left top #F0F3F4; } .cms-dialog-content { background: url("../images/textures/bg_cms_main_content.png") repeat left top #F0F3F4; padding-bottom: $grid-vertical; .Actions { overflow: auto; margin: $grid-vertical 0; padding-bottom: $grid-vertical; float: right; } .ss-tabset { z-index: 60; @include border-radius(none); .tab { background: none; overflow-y: auto; } &.ui-tabs { background: none; .ui-tabs-nav { padding: $grid-horizontal 0 0 0; border: none; li { &.ui-tabs-selected { margin-bottom: -1px; } &:first-child { margin-left: 15px; } font-weight: bold; line-height: 16px; padding: 11px 12px 9px; border-bottom: 2px solid #B3B3B3; } } .ui-tabs-panel { border: 1px solid #AAAAAA; background: url("../images/textures/bg_cms_main_content.png") repeat left top #F0F3F4; } } } .clear { clear: both; } } /** -------------------------------------------- * "Insert X" forms * -------------------------------------------- */ .htmleditorfield-linkform { .step2 { margin-bottom: $grid-horizontal*2; } } /** -------------------------------------------- * Step labels * -------------------------------------------- */ .step-label { & > * { display: inline-block; vertical-align: top; } .flyout { height: 26px - 2*4px; // minus padding font-size: $font-base-size+2; font-weight: bold; @include border-top-left-radius(3px); @include border-bottom-left-radius(3px); background-color: #667980; // hardcoding colour since its tied to the sprite padding: 4px 3px 4px 6px; text-align: center; text-shadow: none; color: #fff; } .arrow { height: 26px; width: 10px; background: sprite($sprites32, numeric-label) no-repeat; margin-right: 4px; } .title { height: 26px - 2*4px; // minus padding padding: 4px; } }