@import 'constants'; #CONTAINER{ display: block; position: absolute; top: $header-height; left: $menu-width; height: calc( 100% - #{$header-height} ); width: calc( 100% - #{$menu-width} ); background-color: $bg-color; overflow: hidden; overflow-y: auto; z-index: 100; // card container &.card{ display: flex; flex-direction: row; justify-content: flex-start; flex-wrap: wrap; } } /* [1] List style ---------------------------------*/ #CONTAINER > div.list{ display: flex; // flex properties flex-direction: column; justify-content: flex-start; & > *:first-child{ margin-top: 1em; } & > *:last-child{ margin-bottom: 3em; } /* (1) List element */ & > section{ display: block; margin: .3em 1em; padding: .8em 1em; border-radius: 5px / 5px; background-color: #fff; } /* (2) List title */ & > h1{ display: inline-block; margin: 0 1.2em; margin-top: .8em; font-size: inherit; color: darken($secondary-color, 5%); } /* (3) List separator */ & > hr{ display: block; position: relative; margin: 1em 1.5em; border: 0; border-bottom: 2px solid darken($bg-color, 5%); } } /* [3] Card style -> container ---------------------------------*/ #CONTAINER.card > div.card.container{ order: 2; flex: 1 0 calc( 100% - 20em ); display: flex; min-height: 100%; // flex properties flex-direction: row; justify-content: flex-start; align-items: stretch; align-content: flex-start; flex-wrap: wrap; z-index: 101; overflow: auto; /* [3.1] Card style -> instant-search ---------------------------------*/ & > input.instant-search{ display: inline-block; position: relative; // - marg - padd - [NEW] - separ flex: 0 1 calc( 100% - 2*1em - 2*.5em - 2em - 2*1em ); margin: 1em .5em; padding: .5em 1em; margin-right: 0; border-radius: 3px / 3px; background-color: #fff; box-shadow: 0 2px 2px darken(#fff, 10%); & + button.card.toggle{ display: inline-block; position: relative; flex: 0 0 calc( 2em - 2*.5em ); margin: 1em .5em; font-weight: bold; } } /* (1) Card container */ & > section{ flex: 1 1 20em; display: flex; position: relative; margin: 1em .5em; padding: 1.5em; border-radius: 3px / 3px; border: 1px solid transparent; box-shadow: 0 1px 1px darken(#fff, 20%); &.invalid{ box-shadow: 0; border: 1px solid $form-invalid-color; } &.valid{ box-shadow: 0; border: 1px solid $form-valid-color; } &.search{ box-shadow: 0; border: 1px solid $form-search-color; } // animation for incoming element @keyframes incoming{ from{ transform: translateY(-2em); opacity: 0; } to{ transform: translateY(0); opacity: 1; } } // animation for outgoing element @keyframes outgoing{ from{ transform: translateY(0); opacity: 1; } to{ transform: translateY(2em); opacity: 0; } } // animation to nav in &[data-anim-outgoing='1']{ animation: outgoing .4s ease-in-out; } &[data-anim-incoming='1']{ animation: incoming .4s ease-in-out; } background-color: #fff; color: $primary-color; // flex flex-direction: column; justify-content: space-between; flex-wrap: nowrap; z-index: 102; &[data-create]{ border: 1px solid $form-valid-color; } // hidden mode &.search-hidden, &.filter-hidden{ display: none; } /* (2) REMOVE+EDIT+ADMIN button */ & > div.goo-menu{ $btn-size: 1.8em; $btn-space: 0em; $nb-btn: 3; $nb-spc: $nb-btn - 1; $cont-w: $btn-size * $nb-btn + $nb-spc * $btn-space; display: inline-block; position: absolute; top: 1em; left: calc( 100% - 1em - #{$btn-size} - .5em ); width: $btn-size; height: $btn-size; -webkit-filter: url('/asset/svg/filter.svg#goo-menu') drop-shadow(-5px 0 0 #fff); filter: url('/asset/svg/filter.svg#goo-menu') drop-shadow(-5px 0 0 #fff); cursor: pointer; z-index: 103; /* (2.1) Pan all on hover */ &:hover{ left: calc( 100% - 1em - #{$cont-w} - .5em - 1em ); width: calc( #{$cont-w} + 1em ); /* (2.1.1) lighter color on hover */ & > div.remove[data-remove], & > div.edit[data-edit], & > div.enabled[data-enabled], & > div.admin[data-admin]{ background-color: darken(#fff, 12%); /* (2.1.2) displace all but 1st element */ &.edit[data-edit]{ left: calc( 100% - #{$btn-size * 2 + $btn-space} ); } &.remove[data-remove]{ left: calc( 100% - #{$btn-size * 3 + $btn-space * 2} ); } } } /* (2.2) Design elements */ & > div.remove[data-remove], & > div.edit[data-edit], & > div.enabled[data-enabled], & > div.admin[data-admin]{ display: inline-block; position: absolute; top: 0; left: calc( 100% - #{$btn-size} ); width: $btn-size; height: $btn-size; border-radius: 50%; transition: background-color .1s ease-in-out, left .2s ease-in-out; background: #fff url('/asset/svg/cross.svg@aaaaaa') center center no-repeat; background-size: auto 50%; cursor: pointer; z-index: 103; /* (2.1) Feedback */ &:hover{ background-image: url('/asset/svg/cross.svg@#{$rd-form-invalid-color}'); } /* (2.2) EDIT button */ &.edit[data-edit]{ background-image: url('/asset/svg/a.svg@aaaaaa'); background-size: auto 60%; z-index: 104; &:hover{ background-image: url('/asset/svg/a.svg@#{$rd-form-search-color}'); } } /* (2.3) ADMIN switch */ &.admin[data-admin]{ background-image: url('/asset/svg/admin-disabled.svg@aaaaaa'); z-index: 105; &:hover{ background-image: url('/asset/svg/admin-disabled.svg@555555'); } &[data-active='1']{ background-image: url('/asset/svg/admin.svg@f4bd18'); } &[data-active='1']:hover{ background-image: url('/asset/svg/admin.svg@f4a118'); } } /* (2.3) DISABLED switch */ &.enabled[data-enabled]{ background-image: url('/asset/svg/bell-disabled.svg@aaaaaa'); z-index: 105; &:hover{ background-image: url('/asset/svg/bell-disabled.svg@555555'); } &[data-active='1']{ background-image: url('/asset/svg/bell.svg@f4bd18'); } &[data-active='1']:hover{ background-image: url('/asset/svg/bell.svg@f4a118'); } } } } /* (4) Card generic title */ & > span.category, & > select.category{ display: block; position: relative; width: calc( 100% - 1em ); margin-bottom: .5em; font-size: .7em; color: darken($secondary-color, 10%); text-transform: uppercase; letter-spacing: .05em; z-index: 102; } /* (4-edit) Card generic title (select) */ & > select.category{ width: calc( 100% + 1em ); height: 3em; margin: 0; padding: 0; margin-left: -.4em; // emulate no