@import "colors"; @import "forms"; @import "devices"; /*--------------------------------GENERAL------------------------------*/ body { position: relative; width: 100%; font-family: sans-serif; } [aria-busy] { --loading-size: 50px; --loading-stroke: 5px; --loading-duration: 1s; position: relative; &.aria-busy-grow { // Make sure the element take enough place to hold the loading wheel min-height: calc((var(--loading-size)) * 1.5); min-width: calc((var(--loading-size)) * 1.5); overflow: hidden; } } [aria-busy]:after { content: ''; position: absolute; top: 50%; left: 50%; width: var(--loading-size); height: var(--loading-size); margin-top: calc(var(--loading-size) / 2 * -1); margin-left: calc(var(--loading-size) / 2 * -1); border: var(--loading-stroke) solid rgba(0, 0, 0, .15); border-radius: 50%; border-top-color: rgba(0, 0, 0, 0.5); animation: rotate calc(var(--loading-duration)) linear infinite; } @keyframes rotate { 100% { transform: rotate(360deg); } } [tooltip] { position: relative; } [tooltip]::before { @include shadow; opacity: 0; z-index: 1; content: attr(tooltip); background: hsl(219.6, 20.8%, 96%); color: $black-color; border: 0.5px solid hsl(0, 0%, 50%); ; border-radius: 5px; padding: 5px; top: 1em; position: absolute; margin-top: 5px; white-space: nowrap; transition: opacity 500ms ease-out; } [tooltip]:hover::before { opacity: 1; } .ib { display: inline-block; padding: 1px; margin: 1px; } .collapse { border-radius: 5px; overflow: hidden; .collapse-header { color: white; background-color: $deepblue; padding: 5px 10px; display: flex; align-items: center; gap: 10px; .collapse-header-text { flex: 2; } .collapse-header-icon { transition: all ease-in-out 150ms; &.reverse { transform: rotate(180deg); } } } .collapse-body { padding: 10px; } } .shadow { @include shadow; } .w_big { width: 75%; } .w_medium { width: 47%; } .w_small { width: 23%; } .clickable:not(:disabled):hover { cursor: pointer; } [x-cloak] { display: none !important; } /*--------------------------------HEADER-------------------------------*/ #popupheader { width: 88%; margin: 0 auto; padding: 0.3em 1%; } #info_boxes { display: flex; flex-wrap: wrap; margin: 1em; @media (max-width: 500px) { margin: 0; width: 100%; } #alert_box, #info_box { flex: 49%; font-size: 0.9em; margin: 0.2em; border-radius: 0.6em; .markdown { margin: 0.5em; } &:before { font-family: FontAwesome; font-size: 4em; float: right; margin: 0.2em; } } #info_box { background: $primary-neutral-light-color; &:before { content: "\f05a"; color: hsl(210, 100%, 56%); } } #alert_box { background: $second-color; &:before { content: "\f06a"; color: $white-color; } } } .edit-action { color: orange; } .delete-action { color: red; } #page { width: 90%; margin: 20px auto 0; /*---------------------------------NAV---------------------------------*/ a.btn { display: inline-block; } .btn { font-size: 15px; font-weight: normal; color: white; padding: 9px 13px; margin: 3px; border: none; text-decoration: none; text-align: center; border-radius: 5px; &.btn-blue { background-color: $deepblue; &:not(:disabled):hover { background-color: darken($deepblue, 10%); } &:disabled { background-color: rgba(70, 90, 126, 0.4); } } &.btn-grey { background-color: grey; &:not(:disabled):hover { background-color: darken(gray, 15%); } &:disabled { background-color: lighten(gray, 15%); } } &.btn-red { background-color: #fc8181; color: black; &:not(:disabled):hover { background-color: darken(#fc8181, 15%); } &:disabled { background-color: lighten(#fc8181, 15%); color: grey; } } i { margin-right: 4px; } } /** * A spacer below an element. Somewhat cleaner than putting
everywhere. */ .margin-bottom { margin-bottom: 1.5rem; } /*--------------------------------CONTENT------------------------------*/ #quick_notif { width: 100%; margin: 0 auto; list-style-type: none; background: $second-color; li { padding: 10px; } } #content { padding: 1em 1%; box-shadow: $shadow-color 0 5px 10px; background: $white-color; overflow: auto; } .alert { margin: 10px; border-radius: 4px; padding: 12px 16px; display: flex; gap: 16px; max-width: 100%; align-items: center; text-align: justify; &.alert-yellow { background-color: rgb(255, 255, 240); color: rgb(99, 87, 6); border: rgb(192, 180, 16) 1px solid; } &.alert-green { background-color: rgb(245, 255, 245); color: rgb(3, 84, 63); border: rgb(14, 159, 110) 1px solid; } &.alert-red { background-color: rgb(255, 245, 245); color: #c53030; border: #fc8181 1px solid; } .alert-title { margin-top: 0; } .alert-main { flex: 2; } .alert-aside { display: flex; flex-direction: column; gap: 5px; } } .snackbar { width: 250px; margin-left: -125px; box-sizing: border-box; position: fixed; z-index: 10; /* to get on top of tomselect */ left: 50%; top: 60px; text-align: center; } .tabs { border-radius: 5px; .tab-headers { display: flex; flex-flow: row wrap; background-color: $primary-neutral-light-color; padding: 3px 12px 12px; column-gap: 20px; border-top-left-radius: 5px; border-top-right-radius: 5px; .tab-header { border: none; padding-right: 0; padding-left: 0; font-size: 120%; background-color: unset; position: relative; &:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; border-bottom: 4px solid darken($primary-neutral-light-color, 10%); border-radius: 2px; transition: all 0.2s ease-in-out; } &:hover:after { border-bottom-color: darken($primary-neutral-light-color, 20%); } &.active:after { border-bottom-color: $primary-dark-color; } } } section { padding: 20px; } } .tool_bar { overflow: auto; padding: 4px; .tools { display: flex; flex-wrap: wrap; float: right; background: $primary-neutral-light-color; padding: 5px; border-radius: 6px; text-align: center; a { padding: 7px; display: inline-block; color: $black-color; font-weight: bold; margin: 2px; flex: 1; flex-wrap: nowrap; white-space: nowrap; &.selected_tab { background: $primary-color; color: $white-color; border-radius: 6px; } &:hover { background: $primary-color; color: $white-color; border-radius: 6px; } } } } .row { display: flex; flex-wrap: wrap; $col-gap: 1rem; $row-gap: 0.5rem; &.gap { column-gap: var($col-gap); row-gap: var($row-gap); } @for $i from 2 through 5 { &.gap-#{$i}x { column-gap: $i * $col-gap; row-gap: $i * $row-gap; } } // Make an element of the row take as much space as needed .grow { flex: 1; } } } @media screen and (max-width: $small-devices) { #page { width: 98%; } } /*---------------------------ACCOUNTING----------------------------*/ #accounting { .journal-table { tbody { .neg-amount { color: red; &:before { font-family: FontAwesome; font-size: 1em; content: "\f063"; } } .pos-amount { color: green; &:before { font-family: FontAwesome; font-size: 1em; content: "\f062"; } } } } } /*-----------------------------GENERAL-----------------------------*/ h1, h2, h3, h4, h5, h6 { font-weight: bold; margin-top: 0.5em; } h1 { font-size: 160%; } h2 { font-size: 150%; } h3 { font-size: 140%; } h4 { font-size: 130%; } h5 { font-size: 120%; } h6 { font-size: 110%; } p, pre { margin-top: 0.8em; margin-left: 0; } ul, ol, dl { margin-top: 1em; margin-bottom: 1em; margin-left: 25px; } dt { margin-top: 25px; } .edit-bar { display: block; margin: 4px; a { display: inline-block; margin: 4px; } } .important { font-size: 1.2em; font-weight: bold; color: red; } table { width: 90%; margin: 15px auto; border-collapse: collapse; border-spacing: 0; border-radius: 5px; -moz-border-radius: 5px; overflow: hidden; box-shadow: rgba(60, 64, 67, 0.3) 0 1px 3px 0, rgba(60, 64, 67, 0.15) 0 4px 8px 3px; } @media screen and (max-width: 500px) { table { width: 100%; } } th { padding: 4px; } td, th { vertical-align: middle; text-align: center; padding: 5px 10px; >ul { margin-top: 0; } } td { margin: 5px; border-collapse: collapse; vertical-align: top; overflow: hidden; text-overflow: ellipsis; >ul { margin-top: 0; } } th, thead td { text-align: center; border-top: none; } thead { background-color: $deepblue; color: white; } tbody>tr { &:nth-child(even):not(.highlight) { background: $primary-neutral-light-color; } &.clickable:hover { cursor: pointer; background: $secondary-neutral-light-color; width: 100%; } &.highlight { color: $primary-dark-color; font-style: italic; } } sup { vertical-align: super; font-size: smaller; } sub { vertical-align: sub; font-size: smaller; } b, strong { font-weight: bold; } i, em { font-style: italic; } .highlight { background: $second-color; font-weight: bold; } u, .underline { text-decoration: underline; } /*-----------------------------USER PROFILE----------------------------*/ .user_mini_profile { --gap-size: 1em; max-height: 100%; max-width: 100%; display: flex; flex-direction: column; gap: var(--gap-size); img { max-height: 100%; max-width: 100%; } .user_mini_profile_infos { padding: 0.2em; max-height: 20%; display: flex; flex-wrap: nowrap; justify-content: space-around; font-size: 0.9em; .user_mini_profile_infos_text { text-align: center; .user_mini_profile_nick { font-style: italic; } } } .user_mini_profile_picture { max-height: calc(80% - var(--gap-size)); max-width: 100%; display: block; margin: auto; } } .mini_profile_link { display: block; text-decoration: none; span { display: inline-block; width: 50px; vertical-align: middle; } em { vertical-align: middle; } img { max-width: 40px; max-height: 60px; margin: 2px auto; display: block; } } #notifications li { padding: 5px; margin: 2px; list-style: none; } #moderation { div { margin: 2px; padding: 2px; border: solid 1px red; text-align: center; } img { width: 500px; } } /*--------------------------------MATMAT-------------------------------*/ .matmat_results { display: flex; flex-wrap: wrap; .matmat_user { flex-basis: 14em; align-self: flex-start; margin: 0.5em; height: 18em; overflow: hidden; border: 1px solid black; box-shadow: $shadow-color 1px 1px 1px; &:hover { box-shadow: 1px 1px 5px $second-color; } } .matmat_user a { color: $primary-neutral-dark-color; height: 100%; width: 100%; margin: 0; padding: 0; display: block; } } /*---------------------------------PAGE--------------------------------*/ .page_content { display: block; margin: 10px; padding: 10px; background: $white-color; } textarea { width: 98%; margin-top: 10px; } /*---------------------------LAUNDERETTE-------------------------------*/ #token_form label { display: inline; } /*--------------------------------FOOTER-------------------------------*/ footer { width: 90%; margin: 2em auto; font-size: 90%; text-align: center; vertical-align: middle; div { margin: 0.6em 0; color: $white-color; border-radius: 5px; display: flex; flex-wrap: wrap; align-items: center; background-color: $primary-neutral-dark-color; box-shadow: $shadow-color 0 0 15px; a { padding: 0.8em; flex: 1; font-weight: bold; color: $white-color !important; &:hover { color: $primary-dark-color; } } } >.version { margin-top: 3px; color: rgba(0, 0, 0, 0.3); } .fa-github { color: $githubblack; } } .ui-dialog .ui-dialog-buttonpane { bottom: 0; position: absolute; width: 97%; } #cash_summary_form label, .inline { display: inline; } .form_button { width: 150px; height: 120px; padding: 2px; display: inline-block; font-size: 0.8em; span { width: 70px; float: right; } img { max-width: 50px; max-height: 50px; float: left; } strong { font-weight: bold; font-size: 1.2em; } button { vertical-align: middle; } } /*--------------------------------JQuery-------------------------------*/ .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { background: $primary-color; border-color: $primary-color; } .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-top, .ui-corner-left { border-radius: 0; } #club_detail { .club_logo { float: right; img { display: block; max-height: 10em; max-width: 10em; } } }