From 33444f22d458b40e247e31e87bd8c876bd5d415a Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 20 Dec 2021 01:27:49 +0200 Subject: [PATCH 1/8] fsdsfd --- files/assets/css/main.css | 10366 +++++++--------- files/templates/CHRISTMAS/authforms.html | 4 +- files/templates/CHRISTMAS/default.html | 4 +- files/templates/CHRISTMAS/login.html | 4 +- files/templates/CHRISTMAS/login_2fa.html | 2 +- files/templates/CHRISTMAS/settings.html | 4 +- files/templates/CHRISTMAS/sign_up.html | 4 +- .../CHRISTMAS/sign_up_failed_ref.html | 2 +- files/templates/CHRISTMAS/tailwind.html | 2 +- files/templates/authforms.html | 4 +- files/templates/default.html | 4 +- files/templates/log.html | 4 +- files/templates/login.html | 2 +- files/templates/login_2fa.html | 2 +- files/templates/settings.html | 2 +- files/templates/settings2.html | 4 +- files/templates/sign_up.html | 2 +- files/templates/sign_up_failed_ref.html | 2 +- files/templates/submit.html | 4 +- 19 files changed, 4697 insertions(+), 5725 deletions(-) diff --git a/files/assets/css/main.css b/files/assets/css/main.css index e41992f34..5ec1ea533 100644 --- a/files/assets/css/main.css +++ b/files/assets/css/main.css @@ -1,5700 +1,4672 @@ @charset "UTF-8"; - -*, -*::before, -*::after { - box-sizing: border-box; -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -article, aside, figcaption, figure, footer, header, main, nav, section { - display: block; -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; -} - -[tabindex="-1"]:focus:not(:focus-visible) { - outline: 0 !important; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-bs-original-title] { - text-decoration: underline; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; - text-decoration-skip-ink: none; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: 600; -} - -dd { - margin-bottom: 0.5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -b, -strong { - font-weight: 700; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -a { - color: var(--primary); - text-decoration: none; - background-color: transparent; -} -a:hover { - color: var(--primary); - text-decoration: underline; -} - -a:not([href]) { - color: inherit; - text-decoration: none; -} -a:not([href]):hover { - color: inherit; - text-decoration: none; -} - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; - border-style: none; -} - -svg { - overflow: hidden; - vertical-align: middle; -} - -table { - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; -} - -th { - text-align: inherit; -} - -label { - display: inline-block; - margin-bottom: 0.5rem; -} - -button { - border-radius: 0; -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -select { - word-wrap: normal; -} - -button, -[type=button], [type=reset], -[type=submit] { - -webkit-appearance: button; -} - -button:not(:disabled), -[type=button]:not(:disabled), -[type=reset]:not(:disabled), -[type=submit]:not(:disabled) { - cursor: pointer; -} - -button::-moz-focus-inner, -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner { - padding: 0; - border-style: none; -} - -input[type=radio], -input[type=checkbox] { - box-sizing: border-box; - padding: 0; -} - -input[type=date], -input[type=time], -input[type=month] { - -webkit-appearance: listbox; -} - -textarea { - overflow: auto; - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: 0.5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; -} - -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto; -} - -[type=search] { - outline-offset: -2px; - -webkit-appearance: none; -} - -[type=search]::-webkit-search-decoration { - -webkit-appearance: none; -} - -summary { - display: list-item; - cursor: pointer; -} - -template { - display: none; -} - -[hidden] { - display: none !important; -} - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-weight: 600; - line-height: 1.2; -} - -h1, .h1 { - font-size: 2.5rem; -} - -h2, .h2 { - font-size: 2rem; -} - -h3, .h3 { - font-size: 1.75rem; -} - -h4, .h4 { - font-size: 1.5rem; -} - -h5, .h5 { - font-size: 1.25rem; -} - -h6, .h6 { - font-size: 1rem; -} - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid var(--primary); -} - -small, -.small { - font-size: 0.75rem; - font-weight: 400; -} - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} -.list-inline-item:not(:last-child) { - margin-right: 0.5rem; -} - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: 0.35rem; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -code { - font-size: 87.5%; - color: #e83e8c; - word-wrap: break-word; -} -a > code { - color: inherit; -} - -kbd { - padding: 0.2rem 0.4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 600; -} - -pre { - display: block; - font-size: 87.5%; -} -pre code { - font-size: inherit; - color: inherit; - word-break: normal; -} - -.container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} -@media (min-width: 576px) { - .container { - max-width: 540px; - } -} -@media (min-width: 768px) { - .container { - max-width: 720px; - } -} -@media (min-width: 992px) { - .container { - max-width: 960px; - } -} -@media (min-width: 1200px) { - .container { - max-width: 1140px; - } -} - -.container-fluid { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container { - max-width: 540px; - } -} -@media (min-width: 768px) { - .container { - max-width: 720px; - } -} -@media (min-width: 992px) { - .container { - max-width: 960px; - } -} -@media (min-width: 1200px) { - .container { - max-width: 1140px; - } -} -.row { - display: flex; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} -.no-gutters > .col, -.no-gutters > [class*=col-] { - padding-right: 0; - padding-left: 0; -} - + *, *::before, *::after { + box-sizing: border-box; +} + html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + article, aside, figcaption, figure, footer, header, main, nav, section { + display: block; +} + body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + [tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + p { + margin-top: 0; + margin-bottom: 1rem; +} + abbr[title], abbr[data-bs-original-title] { + text-decoration: underline; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + text-decoration-skip-ink: none; +} + address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + ol, ul, dl { + margin-top: 0; + margin-bottom: 1rem; +} + ol ol, ul ul, ol ul, ul ol { + margin-bottom: 0; +} + dt { + font-weight: 600; +} + dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + blockquote { + margin: 0 0 1rem; +} + b, strong { + font-weight: 700; +} + small { + font-size: 80%; +} + sub, sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + sub { + bottom: -0.25em; +} + sup { + top: -0.5em; +} + a { + color: var(--primary); + text-decoration: none; + background-color: transparent; +} + a:hover { + color: var(--primary); + text-decoration: underline; +} + a:not([href]) { + color: inherit; + text-decoration: none; +} + a:not([href]):hover { + color: inherit; + text-decoration: none; +} + pre, code, kbd, samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + figure { + margin: 0 0 1rem; +} + img { + vertical-align: middle; + border-style: none; +} + svg { + overflow: hidden; + vertical-align: middle; +} + table { + border-collapse: collapse; +} + caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + th { + text-align: inherit; +} + label { + display: inline-block; + margin-bottom: 0.5rem; +} + button { + border-radius: 0; +} + button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + input, button, select, optgroup, textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + button, input { + overflow: visible; +} + button, select { + text-transform: none; +} + select { + word-wrap: normal; +} + button, [type=button], [type=reset], [type=submit] { + -webkit-appearance: button; +} + button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) { + cursor: pointer; +} + button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner { + padding: 0; + border-style: none; +} + input[type=radio], input[type=checkbox] { + box-sizing: border-box; + padding: 0; +} + input[type=date], input[type=time], input[type=month] { + -webkit-appearance: listbox; +} + textarea { + overflow: auto; + resize: vertical; +} + fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + [type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { + height: auto; +} + [type=search] { + outline-offset: -2px; + -webkit-appearance: none; +} + [type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + summary { + display: list-item; + cursor: pointer; +} + template { + display: none; +} + [hidden] { + display: none !important; +} + h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 600; + line-height: 1.2; +} + h1, .h1 { + font-size: 2.5rem; +} + h2, .h2 { + font-size: 2rem; +} + h3, .h3 { + font-size: 1.75rem; +} + h4, .h4 { + font-size: 1.5rem; +} + h5, .h5 { + font-size: 1.25rem; +} + h6, .h6 { + font-size: 1rem; +} + hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid var(--primary); +} + small, .small { + font-size: 0.75rem; + font-weight: 400; +} + mark, .mark { + padding: 0.2em; + background-color: #fcf8e3; +} + .list-inline { + padding-left: 0; + list-style: none; +} + .list-inline-item { + display: inline-block; +} + .list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + .blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + .img-fluid { + max-width: 100%; + height: auto; +} + .img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.35rem; + max-width: 100%; + height: auto; +} + .figure { + display: inline-block; +} + code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} + a > code { + color: inherit; +} + kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 600; +} + pre { + display: block; + font-size: 87.5%; +} + pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + .container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + @media (min-width: 576px) { + .container { + max-width: 540px; + } +} + @media (min-width: 768px) { + .container { + max-width: 720px; + } +} + @media (min-width: 992px) { + .container { + max-width: 960px; + } +} + @media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + .container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + @media (min-width: 576px) { + .container { + max-width: 540px; + } +} + @media (min-width: 768px) { + .container { + max-width: 720px; + } +} + @media (min-width: 992px) { + .container { + max-width: 960px; + } +} + @media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + .row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + .no-gutters { + margin-right: 0; + margin-left: 0; +} + .no-gutters > .col, .no-gutters > [class*=col-] { + padding-right: 0; + padding-left: 0; +} .col-xl-3, .col-lg-10, .col-lg-8, .col-lg-4, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-sm-6, .col, .col-12, .col-10 { - position: relative; - width: 100%; - padding-right: 15px; - padding-left: 15px; -} - -.col { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; -} - -.row-cols-1 > * { - flex: 0 0 100%; - max-width: 100%; -} - -.col-10 { - flex: 0 0 83.3333333333%; - max-width: 83.3333333333%; -} - -.col-12 { - flex: 0 0 100%; - max-width: 100%; -} - -@media (min-width: 576px) { - - .col-sm-6 { - flex: 0 0 50%; - max-width: 50%; - } -} -@media (min-width: 768px) { - - .row-cols-md-3 > * { - flex: 0 0 33.3333333333%; - max-width: 33.3333333333%; - } - - .col-md-5 { - flex: 0 0 41.6666666667%; - max-width: 41.6666666667%; - } - - .col-md-6 { - flex: 0 0 50%; - max-width: 50%; - } - - .col-md-7 { - flex: 0 0 58.3333333333%; - max-width: 58.3333333333%; - } - - .col-md-8 { - flex: 0 0 66.6666666667%; - max-width: 66.6666666667%; - } -} -@media (min-width: 992px) { - - .col-lg-4 { - flex: 0 0 33.3333333333%; - max-width: 33.3333333333%; - } - - .col-lg-8 { - flex: 0 0 66.6666666667%; - max-width: 66.6666666667%; - } - - .col-lg-10 { - flex: 0 0 83.3333333333%; - max-width: 83.3333333333%; - } -} -@media (min-width: 1200px) { - - .col-xl-3 { - flex: 0 0 25%; - max-width: 25%; - } -} -.table { - width: 100%; - margin-bottom: 1rem; - color: #212529; -} -.table th, -.table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid var(--gray-400); -} -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid var(--gray-400); -} -.table tbody + tbody { - border-top: 2px solid var(--gray-400); -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); -} - -.table-hover tbody tr:hover { - color: #212529; - background-color: rgba(0, 0, 0, 0.075); -} - -.table .thead-dark th { - color: #fff; - background-color: #343a40; - border-color: #454d55; -} - -.form-control { - display: block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fff; - background-clip: padding-box; - border: 1px solid var(--gray-400); - border-radius: 0.35rem; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .form-control { - transition: none; - } -} -.form-control::-ms-expand { - background-color: transparent; - border: 0; -} -.form-control:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 #495057; -} -.form-control:focus { - color: #495057; - background-color: #fff; - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} -.form-control::placeholder { - color: #6c757d; - opacity: 1; -} -.form-control:disabled, .form-control[readonly] { - background-color: #e9ecef; - opacity: 1; -} - -select.form-control:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.form-control-sm { - height: calc(1.5em + 0.5rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -select.form-control[size], select.form-control[multiple] { - height: auto; -} - -textarea.form-control { - height: auto; -} - -.form-group { - margin-bottom: 1rem; -} - -.form-text { - display: block; - margin-top: 0.25rem; -} - -.form-inline { - display: flex; - flex-flow: row wrap; - align-items: center; -} -@media (min-width: 576px) { - .form-inline label { - display: flex; - align-items: center; - justify-content: center; - margin-bottom: 0; - } - .form-inline .form-group { - display: flex; - flex: 0 0 auto; - flex-flow: row wrap; - align-items: center; - margin-bottom: 0; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .input-group { - width: auto; - } - .form-inline .custom-control { - align-items: center; - justify-content: center; - } - .form-inline .custom-control-label { - margin-bottom: 0; - } -} - -.btn { - display: inline-block; - font-weight: 400; - text-align: center; - color: var(--primary); - vertical-align: middle; - cursor: pointer; - user-select: none; - background-color: transparent; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.35rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .btn { - transition: none; - } -} -.btn:hover { - color: #212529; - text-decoration: none; -} -.btn:focus, .btn.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} -.btn.disabled, .btn:disabled { - opacity: 0.65; -} -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none; -} - -.btn-primary { - color: #fff; - background-color: var(--primary); - border-color: var(--primary); -} -.btn-primary:hover { - color: #fff; - background-color: var(--primary); - border-color: #0062cc; -} -.btn-primary:focus, .btn-primary.focus { - color: #fff; - background-color: var(--primary); - border-color: #0062cc; - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); -} -.btn-primary.disabled, .btn-primary:disabled { - color: #fff; - background-color: var(--primary); - border-color: var(--primary); -} -.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #0062cc; - border-color: #005cbf; -} -.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); -} - -.btn-secondary { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} -.btn-secondary:hover { - color: #fff; - background-color: #5a6268; - border-color: #545b62; -} -.btn-secondary:focus, .btn-secondary.focus { - color: #fff; - background-color: #5a6268; - border-color: #545b62; - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); -} -.btn-secondary.disabled, .btn-secondary:disabled { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} -.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { - color: #fff; - background-color: #545b62; - border-color: #4e555b; -} -.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); -} - -.btn-success { - color: #fff; - background-color: #38A169; - border-color: #38A169; -} -.btn-success:hover { - color: #fff; - background-color: #218838; - border-color: #1e7e34; -} -.btn-success:focus, .btn-success.focus { - color: #fff; - background-color: #218838; - border-color: #1e7e34; - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); -} -.btn-success.disabled, .btn-success:disabled { - color: #fff; - background-color: #38A169; - border-color: #38A169; -} -.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #1e7e34; - border-color: #1c7430; -} -.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); -} - -.btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:hover { - color: #fff; - background-color: #c82333; - border-color: #bd2130; -} -.btn-danger:focus, .btn-danger.focus { - color: #fff; - background-color: #c82333; - border-color: #bd2130; - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); -} -.btn-danger.disabled, .btn-danger:disabled { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} -.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #bd2130; - border-color: #b21f2d; -} -.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); -} - -.btn-link { - font-weight: 400; - color: var(--primary); - text-decoration: none; -} -.btn-link:hover { - color: var(--primary); - text-decoration: underline; -} -.btn-link:focus, .btn-link.focus { - text-decoration: underline; - box-shadow: none; -} -.btn-link:disabled, .btn-link.disabled { - color: #6c757d; - pointer-events: none; -} - -.btn-lg { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 0.5rem; -} - -input[type=submit].btn-block, -input[type=reset].btn-block, -input[type=button].btn-block { - width: 100%; -} - -.fade { - transition: opacity 0.15s linear; -} -@media (prefers-reduced-motion: reduce) { - .fade { - transition: none; - } -} -.fade:not(.show) { - opacity: 0; -} - -.collapse:not(.show) { - display: none; -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - transition: height 0.35s ease; -} -@media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; - } -} - -.dropup, -.dropdown { - position: relative; -} - -.dropdown-toggle { - white-space: nowrap; -} -.dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; -} -.dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.35rem; -} - -.dropdown-menu-right { - right: 0; - left: auto; -} -@media (min-width: 992px) { - .dropdown-menu-lg-left { - right: auto; - left: 0; - } -} -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: 0.125rem; -} -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; -} -.dropup .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] { - right: auto; - bottom: auto; -} - -.dropdown-item { - display: block; - width: 100%; - padding: 0.25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; -} -.dropdown-item:hover, .dropdown-item:focus { - color: #16181b; - text-decoration: none; - background-color: #f8f9fa; -} -.dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: var(--primary); -} -.dropdown-item.disabled, .dropdown-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: transparent; -} - -.dropdown-menu.show { - display: block; -} - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: stretch; - width: 100%; -} -.input-group > .form-control { - position: relative; - flex: 1 1 0%; - min-width: 0; - margin-bottom: 0; -} -.input-group > .form-control + .form-control { - margin-left: -1px; -} -.input-group > .form-control:focus { - z-index: 3; -} -.input-group > .form-control:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} -.input-group > .form-control:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - - -.input-group-append { - display: flex; -} - -.input-group-append .btn { - position: relative; - z-index: 2; -} - -.input-group-append .btn:focus { - z-index: 3; -} - -.input-group-append .btn + .btn, -.input-group-append .btn + .input-group-text, -.input-group-append .input-group-text + .input-group-text, -.input-group-append .input-group-text + .btn { - margin-left: -1px; -} - -.input-group-append { - margin-left: -1px; -} - -.input-group-text { - display: flex; - align-items: center; - padding: 0.375rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid var(--gray-400); - border-radius: 0.35rem; -} -.input-group-text input[type=radio], -.input-group-text input[type=checkbox] { - margin-top: 0; -} - - -.input-group > .input-group-append:not(:last-child) > .btn, -.input-group > .input-group-append:not(:last-child) > .input-group-text, -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .input-group-append > .btn, -.input-group > .input-group-append > .input-group-text { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.custom-control { - position: relative; - display: block; - min-height: 1.5rem; - padding-left: 1.5rem; -} - -.custom-control-input { - position: absolute; - left: 0; - z-index: -1; - width: 1rem; - height: 1.25rem; - opacity: 0; -} -.custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - border-color: var(--primary); - background-color: var(--primary); -} -.custom-control-input:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} -.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { - border-color: #80bdff; -} -.custom-control-input:not(:disabled):active ~ .custom-control-label::before { - color: #fff; - background-color: #b3d7ff; - border-color: #b3d7ff; -} -.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { - color: #6c757d; -} -.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e9ecef; -} - -.custom-control-label { - position: relative; - margin-bottom: 0; - vertical-align: top; -} -.custom-control-label::before { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - content: ""; - background-color: #fff; - border: #adb5bd solid 1px; -} -.custom-control-label::after { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - content: ""; - background: no-repeat 50%/50% 50%; -} - -.custom-checkbox .custom-control-label::before { - border-radius: 0.35rem; -} -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); -} -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - border-color: var(--primary); - background-color: var(--primary); -} -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); -} -.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} -.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-switch { - padding-left: 2.25rem; -} -.custom-switch .custom-control-label::before { - left: -2.25rem; - width: 1.75rem; - pointer-events: all; - border-radius: 0.5rem; -} -.custom-switch .custom-control-label::after { - top: calc(0.25rem + 2px); - left: calc(-2.25rem + 2px); - width: calc(1rem - 4px); - height: calc(1rem - 4px); - border-radius: 0.5rem; - transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .custom-switch .custom-control-label::after { - transition: none; - } -} -.custom-switch .custom-control-input:checked ~ .custom-control-label::after { - background-color: #fff; - transform: translateX(0.75rem); -} -.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-control-label::before { - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .custom-control-label::before { - transition: none; - } -} - -.nav { - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: 0.5rem 1rem; -} -.nav-link:hover, .nav-link:focus { - text-decoration: none; -} -.nav-link.disabled { - color: #6c757d; - pointer-events: none; - cursor: default; -} - -.nav-pills .nav-link { - border-radius: 0.35rem; -} -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: #fff; - background-color: var(--primary); -} - -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} - -.navbar { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding: 0.5rem 1rem; -} -.navbar .container, -.navbar .container-fluid { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; -} -.navbar-brand { - display: inline-block; - padding-top: 0.3125rem; - padding-bottom: 0.3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; -} -.navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; -} - -.navbar-nav { - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} -.navbar-nav .dropdown-menu { - position: static; - float: none; -} - -.navbar-collapse { - flex-basis: 100%; - flex-grow: 1; - align-items: center; -} - -.navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.35rem; -} -.navbar-toggler:hover, .navbar-toggler:focus { - text-decoration: none; -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - background-size: 100% 100%; -} -@media (max-width: 767.98px) { - .navbar-expand-md > .container, -.navbar-expand-md > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} -@media (min-width: 768px) { - .navbar-expand-md { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-md > .container, -.navbar-expand-md > .container-fluid { - flex-wrap: nowrap; - } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } -} -@media (max-width: 991.98px) { - .navbar-expand-lg > .container, -.navbar-expand-lg > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} -@media (min-width: 992px) { - .navbar-expand-lg { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-lg > .container, -.navbar-expand-lg > .container-fluid { - flex-wrap: nowrap; - } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } -} - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); -} -.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { - color: rgba(0, 0, 0, 0.9); -} -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); -} -.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { - color: rgba(0, 0, 0, 0.7); -} -.navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); -} -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); -} -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.navbar-dark .navbar-brand { - color: #fff; -} -.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #fff; -} -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); -} -.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: rgba(255, 255, 255, 0.75); -} -.navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #fff; -} -.navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.5); - border-color: rgba(255, 255, 255, 0.1); -} -.navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.card { - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.35rem; -} -.card > hr { - margin-right: 0; - margin-left: 0; -} -.card > .list-group:first-child .list-group-item:first-child { - border-top-left-radius: 0.35rem; - border-top-right-radius: 0.35rem; -} -.card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.35rem; - border-bottom-left-radius: 0.35rem; -} - -.card-body { - flex: 1 1 auto; - min-height: 1px; - padding: 1.25rem; -} - -.card-title { - margin-bottom: 0.75rem; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); -} -.card-header:first-child { - border-radius: calc(0.35rem - 1px) calc(0.35rem - 1px) 0 0; -} -.card-header + .list-group .list-group-item:first-child { - border-top: 0; -} - -.card-footer { - padding: 0.75rem 1.25rem; - background-color: rgba(0, 0, 0, 0.03); - border-top: 1px solid rgba(0, 0, 0, 0.125); -} -.card-footer:last-child { - border-radius: 0 0 calc(0.35rem - 1px) calc(0.35rem - 1px); -} - - -.card-img-top { - flex-shrink: 0; - width: 100%; -} - - -.card-img-top { - border-top-left-radius: calc(0.35rem - 1px); - border-top-right-radius: calc(0.35rem - 1px); -} - -.card-columns .card { - margin-bottom: 0.75rem; -} -@media (min-width: 576px) { - .card-columns { - column-count: 3; - column-gap: 1.25rem; - orphans: 1; - widows: 1; - } - .card-columns .card { - display: inline-block; - width: 100%; - } -} - -.pagination { - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.35rem; -} - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: var(--primary); - background-color: #fff; - border: 1px solid #dee2e6; -} -.page-link:hover { - z-index: 2; - color: var(--primary); - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; -} -.page-link:focus { - z-index: 3; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 0.35rem; - border-bottom-left-radius: 0.35rem; -} -.page-item:last-child .page-link { - border-top-right-radius: 0.35rem; - border-bottom-right-radius: 0.35rem; -} -.page-item.active .page-link { - z-index: 3; - color: #fff; - background-color: var(--primary); - border-color: var(--primary); -} -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6; -} - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; -} -.pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; -} -.pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; -} - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: 600; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.35rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .badge { - transition: none; - } -} -a.badge:hover, a.badge:focus { - text-decoration: none; -} - -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -.badge-secondary { - color: #fff; - background-color: #6c757d; -} -a.badge-secondary:hover, a.badge-secondary:focus { - color: #fff; - background-color: var(--primary); -} -a.badge-secondary:focus, a.badge-secondary.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.badge-danger { - color: #fff; - background-color: #dc3545; -} -a.badge-danger:hover, a.badge-danger:focus { - color: #fff; - background-color: #bd2130; -} -a.badge-danger:focus, a.badge-danger.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; -} -@media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; - } -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; -} - -.alert { - position: relative; - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.35rem; -} - -.alert-link { - font-weight: 600; -} - -.alert-dismissible { - padding-right: 4rem; -} -.alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - padding: 0.75rem 1.25rem; - color: inherit; -} - -.alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; -} -.alert-success hr { - border-top-color: #b1dfbb; -} -.alert-success .alert-link { - color: #0b2e13; -} - -.alert-warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; -} -.alert-warning hr { - border-top-color: #ffe8a1; -} -.alert-warning .alert-link { - color: #533f03; -} - -.alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; -} -.alert-danger hr { - border-top-color: #f1b0b7; -} -.alert-danger .alert-link { - color: #491217; -} - -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -.media { - display: flex; - align-items: flex-start; -} - -.media-body { - flex: 1; -} - -.list-group { - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; -} - -.list-group-item { - position: relative; - display: block; - padding: 0.75rem 1.25rem; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); -} -.list-group-item:first-child { - border-top-left-radius: 0.35rem; - border-top-right-radius: 0.35rem; -} -.list-group-item:last-child { - border-bottom-right-radius: 0.35rem; - border-bottom-left-radius: 0.35rem; -} -.list-group-item.disabled, .list-group-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: #fff; -} -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: var(--primary); - border-color: var(--primary); -} -.list-group-item + .list-group-item { - border-top-width: 0; -} -.list-group-item + .list-group-item.active { - margin-top: -1px; - border-top-width: 1px; -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: 600; - line-height: 1; - color: #fff; - opacity: 0.5; -} -.close:hover { - color: #000; - text-decoration: none; -} -.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { - opacity: 0.75; -} - -button.close { - padding: 0; - background-color: transparent; - border: 0; - appearance: none; -} - -a.close.disabled { - pointer-events: none; -} - -.toast { - max-width: 350px; - overflow: hidden; - font-size: 0.875rem; - background-color: rgba(255, 255, 255, 0.85); - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.1); - box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); - backdrop-filter: blur(10px); - opacity: 0; - border-radius: 0.25rem; -} -.toast:not(:last-child) { - margin-bottom: 0.75rem; -} -.toast.showing { - opacity: 1; -} -.toast.show { - display: block; - opacity: 1; -} -.toast.hide { - display: none; -} - -.toast-body { - padding: 0.75rem; -} - -.modal-open { - overflow: hidden; -} -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} - -.modal { - position: fixed; - top: 0; - left: 0; - z-index: 1050; - display: none; - width: 100%; - height: 100%; - overflow: hidden; - outline: 0; -} - -.modal-dialog { - position: relative; - width: auto; - margin: 0.5rem; - pointer-events: none; -} -.modal.fade .modal-dialog { - transition: transform 0.3s ease-out; - transform: translate(0, -50px); -} -@media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; - } -} -.modal.show .modal-dialog { - transform: none; -} -.modal.modal-static .modal-dialog { - transform: scale(1.02); -} - -.modal-dialog-scrollable { - display: flex; - max-height: calc(100% - 1rem); -} -.modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 1rem); - overflow: hidden; -} -.modal-dialog-scrollable .modal-header, -.modal-dialog-scrollable .modal-footer { - flex-shrink: 0; -} -.modal-dialog-scrollable .modal-body { - overflow-y: auto; -} - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - 1rem); -} -.modal-dialog-centered::before { - display: block; - height: calc(100vh - 1rem); - content: ""; -} -.modal-dialog-centered.modal-dialog-scrollable { - flex-direction: column; - justify-content: center; - height: 100%; -} -.modal-dialog-centered.modal-dialog-scrollable .modal-content { - max-height: none; -} -.modal-dialog-centered.modal-dialog-scrollable::before { - content: none; -} - -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; -} - -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; -} -.modal-backdrop.fade { - opacity: 0; -} -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header { - display: flex; - align-items: flex-start; - justify-content: space-between; - padding: 1rem 1rem; - border-bottom: 1px solid var(--gray-400); - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} -.modal-header .close { - padding: 1rem 1rem; - margin: -1rem -1rem -1rem auto; -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5; -} - -.modal-body { - position: relative; - flex: 1 1 auto; - padding: 1rem; -} - -.modal-footer { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: flex-end; - padding: 0.75rem; - border-top: 1px solid var(--gray-400); - border-bottom-right-radius: calc(0.3rem - 1px); - border-bottom-left-radius: calc(0.3rem - 1px); -} -.modal-footer > * { - margin: 0.25rem; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; - } - - .modal-dialog-scrollable { - max-height: calc(100% - 3.5rem); - } - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 3.5rem); - } - - .modal-dialog-centered { - min-height: calc(100% - 3.5rem); - } - .modal-dialog-centered::before { - height: calc(100vh - 3.5rem); - } -} -@media (min-width: 992px) { - -.modal-xl { - max-width: 800px; - } -} -@media (min-width: 1200px) { - .modal-xl { - max-width: 1140px; - } -} -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} -.tooltip.show { - opacity: 1; -} -.tooltip .arrow { - position: absolute; - display: block; - width: 0.8rem; - height: 0.4rem; -} -.tooltip .arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; -} - -.tooltip-inner { - max-width: 200px; - padding: 0.25rem 0.5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.35rem; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; -} -.popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: 0.5rem; - margin: 0 0.3rem; -} -.popover .arrow::before, .popover .arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; -} - -.popover-header { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} -.popover-header:empty { - display: none; -} - -.popover-body { - padding: 0.5rem 0.75rem; - color: #212529; -} - -.carousel { - position: relative; -} - -.carousel.pointer-event { - touch-action: pan-y; -} - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; -} -@media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; - } -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; -} - -.carousel-item-next:not(.carousel-item-left) { - transform: translateX(100%); -} - -.carousel-item-prev:not(.carousel-item-right) { - transform: translateX(-100%); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: flex; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} -.carousel-indicators li { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: 0.5; - transition: opacity 0.6s ease; -} -@media (prefers-reduced-motion: reduce) { - .carousel-indicators li { - transition: none; - } -} -.carousel-indicators .active { - opacity: 1; -} - -@keyframes spinner-border { - to { - transform: rotate(360deg); - } -} - -@keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - } -} - -.align-top { - vertical-align: top !important; -} - -.align-middle { - vertical-align: middle !important; -} - -.bg-primary { - background-color: var(--primary) !important; -} - -a.bg-primary:hover, a.bg-primary:focus, -button.bg-primary:hover, -button.bg-primary:focus { - background-color: #0062cc !important; -} - -.bg-success { - background-color: #38A169 !important; -} - -a.bg-success:hover, a.bg-success:focus, -button.bg-success:hover, -button.bg-success:focus { - background-color: #1e7e34 !important; -} - -.bg-danger { - background-color: #dc3545 !important; -} - -a.bg-danger:hover, a.bg-danger:focus, -button.bg-danger:hover, -button.bg-danger:focus { - background-color: #bd2130 !important; -} - -.bg-light { - background-color: #f8f9fa !important; -} - -a.bg-light:hover, a.bg-light:focus, -button.bg-light:hover, -button.bg-light:focus { - background-color: #dae0e5 !important; -} - -.bg-transparent { - background-color: transparent !important; -} - -.border { - border: 1px solid var(--gray-400) !important; -} - -.border-top { - border-top: 1px solid var(--gray-400) !important; -} - -.border-bottom { - border-bottom: 1px solid var(--gray-400) !important; -} - -.border-left { - border-left: 1px solid var(--gray-400) !important; -} - -.border-0 { - border: 0 !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-warning { - border-color: #ffc107 !important; -} - -.border-white { - border-color: #fff !important; -} - -.rounded { - border-radius: 0.35rem !important; -} - -.rounded-lg { - border-radius: 0.3rem !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.d-none { - display: none !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline-flex { - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - - .d-sm-flex { - display: flex !important; - } -} -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - - .d-md-inline-block { - display: inline-block !important; - } - - .d-md-block { - display: block !important; - } - - .d-md-flex { - display: flex !important; - } -} -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - - .d-lg-flex { - display: flex !important; - } -} -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; -} -.embed-responsive::before { - display: block; - content: ""; -} - -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} - -.embed-responsive-16by9::before { - padding-top: 56.25%; -} - -.flex-row { - flex-direction: row !important; -} - -.flex-column { - flex-direction: column !important; -} - -.flex-row-reverse { - flex-direction: row-reverse !important; -} - -.flex-wrap { - flex-wrap: wrap !important; -} - -.flex-nowrap { - flex-wrap: nowrap !important; -} - -.flex-grow-1 { - flex-grow: 1 !important; -} - -.flex-shrink-0 { - flex-shrink: 0 !important; -} - -.justify-content-end { - justify-content: flex-end !important; -} - -.justify-content-center { - justify-content: center !important; -} - -.justify-content-between { - justify-content: space-between !important; -} - -.justify-content-around { - justify-content: space-around !important; -} - -.align-items-end { - align-items: flex-end !important; -} - -.align-items-center { - align-items: center !important; -} -@media (min-width: 768px) { - .flex-md-row { - flex-direction: row !important; - } - - .justify-content-md-between { - justify-content: space-between !important; - } -} - -.float-right { - float: right !important; -} -.overflow-auto { - overflow: auto !important; -} - -.position-relative { - position: relative !important; -} - -.position-absolute { - position: absolute !important; -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; -} - -@supports (position: sticky) { - .sticky-top { - position: sticky; - top: 0; - z-index: 1020; - } -} - -.shadow-sm { - box-shadow: 0 0.1px 3px 0 rgba(0, 0, 0, 0.05), 0 0.1px 2px 0 rgba(0, 0, 0, 0.03) !important; -} - -.shadow { - box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05) !important; -} - -.shadow-none { - box-shadow: none !important; -} - -.w-100 { - width: 100% !important; -} - -.h-100 { - height: 100% !important; -} - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - pointer-events: auto; - content: ""; - background-color: rgba(0, 0, 0, 0); -} - -.m-0 { - margin: 0 !important; -} - -.mt-0, -.my-0 { - margin-top: 0 !important; -} - -.mr-0, -.mx-0 { - margin-right: 0 !important; -} - -.mb-0, -.my-0 { - margin-bottom: 0 !important; -} - -.ml-0, -.mx-0 { - margin-left: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1, -.my-1 { - margin-top: 0.25rem !important; -} - -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; -} - -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; -} - -.mt-2, -.my-2 { - margin-top: 0.5rem !important; -} - -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; -} - -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; -} - -.mt-3, -.my-3 { - margin-top: 1rem !important; -} - -.mr-3, -.mx-3 { - margin-right: 1rem !important; -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; -} - -.ml-3, -.mx-3 { - margin-left: 1rem !important; -} - -.m-4 { - margin: 1.5rem !important; -} - -.mt-4, -.my-4 { - margin-top: 1.5rem !important; -} - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; -} - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; -} - -.mt-5, -.my-5 { - margin-top: 3rem !important; -} - -.mb-5, -.my-5 { - margin-bottom: 3rem !important; -} - -.mb-6, -.my-6 { - margin-bottom: 3.5rem !important; -} - -.mt-8, -.my-8 { - margin-top: 10rem !important; -} - -.mb-8, -.my-8 { - margin-bottom: 10rem !important; -} - -.p-0 { - padding: 0 !important; -} - -.pt-0, -.py-0 { - padding-top: 0 !important; -} - -.pr-0, -.px-0 { - padding-right: 0 !important; -} - -.pb-0, -.py-0 { - padding-bottom: 0 !important; -} - -.pl-0, -.px-0 { - padding-left: 0 !important; -} - -.pr-1, -.px-1 { - padding-right: 0.25rem !important; -} - -.py-1, -.pb-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1, -.px-1 { - padding-left: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2, -.py-2 { - padding-top: 0.5rem !important; -} - -.pr-2, -.px-2 { - padding-right: 0.5rem !important; -} - -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2, -.px-2 { - padding-left: 0.5rem !important; -} - -.p-3 { - padding: 1rem !important; -} - -.pt-3, -.py-3 { - padding-top: 1rem !important; -} - -.pr-3, -.px-3 { - padding-right: 1rem !important; -} - -.pb-3, -.py-3 { - padding-bottom: 1rem !important; -} - -.pl-3, -.px-3 { - padding-left: 1rem !important; -} - -.p-4 { - padding: 1.5rem !important; -} - -.pt-4, -.py-4 { - padding-top: 1.5rem !important; -} - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; -} - -.p-5 { - padding: 3rem !important; -} - -.pt-5, -.py-5 { - padding-top: 3rem !important; -} - -.pb-5, -.py-5 { - padding-bottom: 3rem !important; -} - -.pt-7, -.py-7 { - padding-top: 5rem !important; -} - -.pb-7, -.py-7 { - padding-bottom: 5rem !important; -} - -.mt-n3 { - margin-top: -1rem !important; -} - -.mt-n6 { - margin-top: -3.5rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mt-auto, -.my-auto { - margin-top: auto !important; -} - -.mr-auto, -.mx-auto { - margin-right: auto !important; -} - -.mb-auto, -.my-auto { - margin-bottom: auto !important; -} - -.ml-auto, -.mx-auto { - margin-left: auto !important; -} - -@media (min-width: 576px) { - - .mb-sm-5 { - margin-bottom: 3rem !important; - } -} -@media (min-width: 768px) { - .m-md-0 { - margin: 0 !important; - } - - .mb-md-0 { - margin-bottom: 0 !important; - } - - .mb-md-1 { - margin-bottom: 0.25rem !important; - } - - .mr-md-2 { - margin-right: 0.5rem !important; - } - - .mb-md-2 { - margin-bottom: 0.5rem !important; - } - - .mt-md-3, -.my-md-3 { - margin-top: 1rem !important; - } - - .mb-md-3, -.my-md-3 { - margin-bottom: 1rem !important; - } - - .mb-md-5 { - margin-bottom: 3rem !important; - } - - .p-md-0 { - padding: 0 !important; - } - - -.py-md-0 { - padding-top: 0 !important; - } - - -.py-md-0 { - padding-bottom: 0 !important; - } - - .pl-md-0 { - padding-left: 0 !important; - } - - .pb-md-1 { - padding-bottom: 0.25rem !important; - } - - .pl-md-3 { - padding-left: 1rem !important; - } - - .p-md-4 { - padding: 1.5rem !important; - } - - -.py-md-8 { - padding-top: 10rem !important; - } - - -.py-md-8 { - padding-bottom: 10rem !important; - } - - -.my-md-auto { - margin-top: auto !important; - } - - -.my-md-auto { - margin-bottom: auto !important; - } -} -@media (min-width: 992px) { - - -.mx-lg-5 { - margin-right: 3rem !important; - } - - -.mx-lg-5 { - margin-left: 3rem !important; - } - - -.mx-lg-auto { - margin-right: auto !important; - } - - -.mx-lg-auto { - margin-left: auto !important; - } -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.text-left { - text-align: left !important; -} - -.text-right { - text-align: right !important; -} - -.text-center { - text-align: center !important; -} -@media (min-width: 768px) { - .text-md-left { - text-align: left !important; - } - - .text-md-center { - text-align: center !important; - } -} -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.font-weight-normal { - font-weight: 400 !important; -} - -.font-weight-bold { - font-weight: 600 !important; -} - -.font-weight-bolder { - font-weight: 700 !important; -} - -.font-italic { - font-style: italic !important; -} - -.text-white { - color: #fff !important; -} - -.text-primary { - color: var(--primary) !important; -} - -a.text-primary:hover, a.text-primary:focus { - color: #0056b3 !important; -} - -.text-success { - color: #38A169 !important; -} - -a.text-success:hover, a.text-success:focus { - color: #19692c !important; -} - -.text-info { - color: #17a2b8 !important; -} - -a.text-info:hover, a.text-info:focus { - color: #0f6674 !important; -} - -.text-warning { - color: #ffc107 !important; -} - -a.text-warning:hover, a.text-warning:focus { - color: #ba8b00 !important; -} - -.text-danger { - color: #dc3545 !important; -} - -a.text-danger:hover, a.text-danger:focus { - color: #a71d2a !important; -} - -.text-muted { - color: #6c757d !important; -} - -.text-decoration-none { - text-decoration: none !important; -} - -.text-break { - word-break: break-word !important; - overflow-wrap: break-word !important; -} - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} - -@media print { - *, -*::before, -*::after { - box-shadow: none !important; - } - - a:not(.btn) { - text-decoration: underline; - } - - abbr[title]::after { - content: " (" attr(title) ")"; - } - - pre { - white-space: pre-wrap !important; - } - - pre, -blockquote { - border: 1px solid #adb5bd; - page-break-inside: avoid; - } - - thead { - display: table-header-group; - } - - tr, -img { - page-break-inside: avoid; - } - - p, -h2, -h3 { - orphans: 3; - widows: 3; - } - - h2, -h3 { - page-break-after: avoid; - } - - @page { - size: a3; - } - body { - min-width: 992px !important; - } - - .container { - min-width: 992px !important; - } - - .navbar { - display: none; - } - - .badge { - border: 1px solid #000; - } - - .table { - border-collapse: collapse !important; - } - .table td, -.table th { - background-color: #fff !important; - } - - .table .thead-dark th { - color: inherit; - border-color: var(--gray-400); - } -} -html { - font-size: 14px; -} - -@supports (font-variation-settings: normal) { - html { - font-family: "Inter var", sans-serif; - } -} -body { - color: var(--black); - padding-top: 49px; - background-color: var(--gray-700); - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -@media (min-width: 1200px) { - .container { - max-width: 1300px; - } -} -p { - font-size: 14px; -} - -pre { - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; -} - -#settings, #submit { - padding-top: 98px; - background-color: var(--gray-600); -} - -#page { - padding-top: 49px; - background-color: var(--gray-700); -} - -#article { - padding-top: 0; - background-color: var(--gray-700); -} - -#thread, #userpage { - background-color: var(--gray-700); -} - -#article .navbar-light .navbar-nav .nav-link { - color: var(--black); -} - -#article .navbar-light .navbar-nav .nav-link:hover { - background-color: transparent; - color: var(--primary); -} - -#article .navbar-light .navbar-nav .nav-link:focus { - background-color: transparent; - color: var(--primary); -} - -.article-title { - margin-bottom: 3rem; - font-weight: 600; - line-height: 3rem; - margin-top: 2rem; -} - -#thread .custom-gutters { - padding: 0 10px; -} - -.custom-gutters { - padding-left: 10px; - padding-right: 10px; -} - -.sticky { - position: -webkit-sticky; - position: sticky; - top: 47px; - height: auto; - overflow-y: auto; - z-index: 4; -} - -.text-lg { - font-size: 1.25rem !important; -} - -.text-base { - font-size: 1rem !important; -} - -.text-small { - font-size: 12px !important; -} - -.text-small-extra { - font-size: 10.1px !important; -} - -#page p { - font-size: 16px; -} - -a.dropdown-toggle:hover { - text-decoration: none; -} - -.comment-text ul li ul { - padding-left: 0; -} - -ul.no-bullets { - list-style-type: none; -} - -ol > li { - list-style-type: none; - counter-increment: count; - margin-bottom: 0.75rem; -} - -ol > li::before { - content: counter(count) "."; - font-weight: 600; - margin-right: 0.5rem; -} - -.footer .list-inline-item:not(:last-child) { - margin-right: 1.5rem; -} - -[data-bs-toggle=collapse] .fa:before { - content: "\f139"; -} - -[data-bs-toggle=collapse].collapsed .fa:before { - content: "\f13a"; -} - -.btn { - font-weight: 600; - font-size: 1rem; - border-radius: 0.2rem; -} - -.btn-lg { - font-size: 1rem; -} - -.btn.disabled, .btn:disabled { - opacity: 0.5; -} - -.btn-success, .btn-danger { - color: var(--white); -} - -.btn.login, .btn.register { - height: calc(1.5em + 0.75rem + 2px); - border-radius: 0.35rem; -} - -.tooltip { - font-weight: 600; -} - -.tooltip-inner { - background-color: var(--white); - color: var(--dark); -} - -.alert { - padding: 0.5rem 1rem; -} - -.alert-dismissible .close { - padding: 0.5rem 1.25rem; - bottom: 0; -} - -.alert-dismissible .close .fa, .alert-dismissible .close .fas, .alert-dismissible .close .far, .alert-dismissible .close .fab { - margin-right: 0rem; -} - -.alert .fa, .alert .fas, .alert .far, .alert .fab { - margin-right: 0.5rem; -} - -.toast { - font-size: 1rem; - font-weight: 600; - color: var(--black); - border: 0; - display: none; - position: fixed; - bottom: 1.5rem; - margin: 0 auto; - left: 1.5rem; - right: 0; - width: 300px; - z-index: 1041; - background-color: var(--dark); -} - -.navbar-light { - background-color: var(--gray-500) !important; - box-shadow: 0 0.1px 2px rgba(0, 0, 0, 0.15), 0 0 2px rgba(0, 0, 0, 0.1) !important; -} - -.navbar-toggler-icon { - width: auto; - height: auto; -} - -.navbar-toggler-icon, .navbar-dark .navbar-toggler-icon, .navbar-light .navbar-toggler-icon { - background: transparent; -} - -.navbar-toggler, .navbar-dark .navbar-toggler, .navbar-light .navbar-toggler { - border: none; -} - -.navbar-expand-md .navbar-nav .nav-link { - padding-left: 1rem; - padding-right: 1rem; -} - -#page .navbar-light .navbar-nav .nav-link { - color: var(--dark); -} - -#page .navbar-light .navbar-nav .nav-link:hover { - background-color: transparent; - color: var(--primary); -} - -.navbar-brand, .navbar-light .navbar-brand { - color: var(--primary); - font-weight: 600; -} - -.navbar-dark .navbar-brand { - color: var(--white); -} - -.navbar .text-white { - color: var(--white); -} - -.tab-bar { - box-shadow: inset 0 -0.1px 0 var(--gray-400); - border-top-left-radius: 0.35rem; - border-top-right-radius: 0.35rem; - padding: 0.75rem 1rem 0 1rem; - background-color: var(--light); - z-index: 5; -} - -.navbar-nav .nav-link { - padding: 0.25rem 0.5rem; -} - -.navbar-expand-md .navbar-nav .nav-link { - padding: 0.25rem 0.5rem; -} - -.navbar-light .navbar-nav .nav-link, .navbar-light .navbar-nav .nav-link:hover { - color: var(--black); -} - -.navbar-light .navbar-nav .nav-link:hover { - border-radius: 0.35rem; -} - -.navbar-light .navbar-nav .nav-link:focus { - background-color: rgba(0, 0, 0, 0.15); - border-radius: 0.35rem; -} - -.navbar-light .navbar-nav .nav-link:active .fa, .navbar-light .navbar-nav .nav-link:active .fas, .navbar-light .navbar-nav .nav-link:active .far, .navbar-light .navbar-nav .nav-link:active .fab { - color: var(--primary); - text-align: center; - font-size: 1rem; -} - -.navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { - color: var(--white); - text-align: center; - font-size: 1rem; -} - -.navbar-light .navbar-nav .btn-primary.nav-link { - color: var(--white); -} - -.navbar-dark .navbar-nav .nav-link { - color: var(--white); -} - -.navbar-dark .navbar-nav .nav-link:hover { - background-color: rgba(0, 0, 0, 0.15); - border-radius: 0.35rem; -} - -.navbar-dark .navbar-nav .show > .nav-link:focus, .navbar-dark .navbar-nav .show > .nav-link:active, .navbar-dark .navbar-nav .show > .nav-link:hover { - background-color: var(--light); - border-radius: 0.35rem; -} - -.navbar-dark .navbar-nav .nav-link .fa, .navbar-dark .navbar-nav .nav-link .fas, .navbar-dark .navbar-nav .nav-link .far, .navbar-dark .navbar-nav .nav-link .fab { - color: var(--white); - text-align: center; - font-size: 1.25rem; -} - -.navbar-dark .navbar-nav .show > .nav-link:focus .fa, .navbar-dark .navbar-nav .show > .nav-link:focus .fas, .navbar-dark .navbar-nav .show > .nav-link:focus .far, .navbar-dark .navbar-nav .show > .nav-link:focus .fab { - color: var(--black); -} - -.navbar-dark .navbar-nav .nav-link:hover:active .fa, .navbar-dark .navbar-nav .nav-link:hover:active .fas, .navbar-dark .navbar-nav .nav-link:hover:active .far, .navbar-dark .navbar-nav .nav-link:hover:active .fab { - color: var(--white); -} - -.post-nav .nav-link { - color: var(--muted); - font-size: 1rem; - font-weight: 600; - padding: 0.75rem 1rem; -} - -.settings-nav .nav-link { - color: var(--gray-200); - font-size: 1rem; - font-weight: 400; - padding: 0.75rem 1rem; -} - -.post-nav > .nav-item > .nav-link.active { - color: var(--primary); -} - -.settings-nav > .nav-item > .nav-link.active { - color: var(--primary); - box-shadow: inset 0 -2px 0 var(--primary); -} - -.post-nav .nav-link:hover, .post-nav .nav-link:focus, .settings-nav .nav-link:hover, .settings-nav .nav-link:focus { - color: var(--primary); -} - -.post-nav .nav-link:hover .fa, .post-nav .nav-link:focus .fa, .post-nav .nav-link:hover .fas, .post-nav .nav-link:focus .fas, .post-nav .nav-link:hover .far, .post-nav .nav-link:focus .far, .post-nav .nav-link:hover .fab, .post-nav .nav-link:focus .fab { - color: var(--primary); -} - -.post-nav > .nav-item > .nav-link.active .fa, .post-nav > .nav-item > .nav-link.active .fas, .post-nav > .nav-item > .nav-link.active .far, .post-nav > .nav-item > .nav-link.active .fab { - color: var(--primary); -} - -.post-nav .fa, .post-nav .fas, .post-nav .far, .post-nav .fab, .post-nav .fal { - font-size: 12px; - margin-right: 0.5rem; - color: var(--muted); -} - -.settings-nav > .nav-item > .nav-link.active { - color: var(--primary); - box-shadow: inset 0 -2px 0 var(--primary); -} - -.settings-nav > .nav-item > .nav-link.active .fa, .settings-nav > .nav-item > .nav-link.active .fas, .settings-nav > .nav-item > .nav-link.active .far, .settings-nav > .nav-item > .nav-link.active .fab { - color: var(--primary); -} - -.settings-nav .fa, .settings-nav .fas, .settings-nav .far, .settings-nav .fab, .settings-nav .fal { - font-size: 16px; - color: var(--muted); -} - -.color-picker input[type=radio] { - display: none; -} - -label.color-radio { - display: inline-block; - width: 25px; - height: 25px; - margin: 0.5rem 1rem 0.5rem 0; - cursor: pointer; -} - -label.color-radio span { - display: block; - width: 100%; - height: 100%; - border-radius: 100%; - text-align: center; - line-height: 2.25; -} - -#page .nav-pills .nav-link { - border-radius: 0; - font-size: 1rem; - font-weight: 600; - color: var(--muted); - border-bottom: 2px solid transparent; - padding: 1rem 1.5rem; -} - -#page .nav-pills .nav-link:hover { - color: var(--primary); -} - -#page .nav-pills .nav-link.active, .nav-pills .show > .nav-link { - color: var(--primary); - background-color: transparent; - transition: ease 0.25s; - border-bottom: 2px solid var(--primary); -} - -#page .bg-light .nav-pills .nav-link.active, .bg-light .nav-pills .show > .nav-link { - color: var(--primary); - background-color: transparent; - transition: ease 0.25s; - border-bottom: 2px solid var(--primary); -} - -.form-inline.search .form-control:hover, .form-inline.search .form-control:active, .form-inline.search .form-control:focus { - border-color: var(--primary); -} - -.form-inline.search .form-control:active, .form-inline.search .form-control:focus { - background-color: var(--gray-900); - color: var(--black); -} - -.form-inline.search .form-control, -.form-control[readonly] { - background-color: var(--gray-800); - font-size: 1rem; - color: var(--white); -} - -.form-inline.search .input-group-append .input-group-text .fa.fa-search { - color: var(--black); -} - -.form-inline.search .form-control::placeholder { - color: var(--black); -} - -.form-inline.search .form-control::-ms-input-placeholder { - color: var(--black); -} - -.form-inline.search .form-control::-ms-input-placeholder { - color: var(--black); -} - -.form-inline.search .form-control:active::placeholder, .form-inline.search .form-control:focus::placeholder { - color: var(--black); -} - -.form-inline.search .form-control:active::-ms-input-placeholder, .form-inline.search .form-control:focus::-ms-input-placeholder { - color: var(--black); -} - -.form-inline.search .form-control:active::-ms-input-placeholder, .form-inline.search .form-control:focus::-ms-input-placeholder { - color: var(--black); -} - -.form-control { - color: var(--muted); - border-color: var(--muted); - border-width: 2px; - background: #dee2e6; - transition: none; -} - -.form-control:disabled, .form-control[readonly] { - background-color: var(--dark); -} - -.form-control:hover { - color: var(--black); - background-color: var(--gray-600); - outline: 0; - border-color: var(--primary); - box-shadow: none; -} - -.form-control:focus, .form-control:active { - color: var(--black); - background-color: var(--gray-900); - outline: 0; - border-color: var(--primary); - box-shadow: none; -} - -.form-control::placeholder { - color: var(--black); -} - -.form-control::-ms-input-placeholder { - color: var(--black); -} - -.form-control::-ms-input-placeholder { - color: var(--black); -} - -label { - text-transform: uppercase; - font-weight: 600; - font-size: 12px; - letter-spacing: 0.025rem; - color: var(--black); -} - -#login label { - color: var(--black); -} - -label.terms { - font-weight: normal; - text-transform: none; - font-size: 13px; - color: var(--black); - vertical-align: middle; - padding: 0.1rem 0; -} - -.dropdown-menu { - padding: 0.5rem; - color: var(--white); - background-color: var(--gray-600); -} - -.dropdown-item { - padding: 0.5rem 1rem; - border-radius: 0.35rem; - color: var(--black); -} - -.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { - color: var(--black); - text-decoration: none; - background-color: var(--gray-300); -} - -.dropdown-item:hover .fas, .dropdown-item:focus .fas, .dropdown-item.active .fas, .dropdown-item:hover .far, .dropdown-item:focus .far, .dropdown-item.active .far .dropdown-item:hover .fa, -.dropdown-item:focus .fa, .dropdown-item.active .fa { - color: var(--black); -} - -small, .small { - font-size: 12px; -} - -th { - font-weight: 600; -} - -.fa-rotate--45 { - -webkit-transform: rotate(-45deg); - -moz-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); -} - -.icon::before { - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - -webkit-font-smoothing: antialiased; -} - -.format .fa-bold:hover, -.format .fa-italic:hover, -.format .fa-quote-right:hover, -.format .fa-link:hover, -.format .fa-image:hover { - color: var(--black); -} - -.voting { - position: relative; - z-index: 2; - font-size: 12px; - font-weight: 600; - text-align: center; - word-break: keep-all; - min-width: 40px; -} - -#thread .voting { - min-width: 10px; - margin-right: 10px; - overflow-wrap: normal; -} - -#frontpage .voting, #search .voting, #userpage .voting { - margin: auto 0; -} - -.active.arrow-up::before { - color: var(--primary); -} - -.arrow-up::before { - cursor: pointer; - font-size: 1.3rem; - color: var(--gray-200); - font-family: "font awesome 5 pro" !important; - font-weight: 900; - content: "\f357"; -} - -.arrow-up:hover::before { - color: var(--primary); - opacity: 0.5; -} - -.active.arrow-down::before { - color: #38B2AC; -} - -.arrow-down::before { - cursor: pointer; - font-size: 1.3rem; - color: var(--gray-200); - font-family: "font awesome 5 pro" !important; - font-weight: 900; - content: "\f354"; -} - -.arrow-down:hover::before { - color: #38B2AC; - opacity: 0.5; -} - -.comment-actions .arrow-up { - top: 0; -} - -.comment-actions .arrow-down { - bottom: 0; -} - -.upvoted .arrow-mobile-up { - color: var(--primary) !important; -} - -.downvoted .arrow-mobile-down { - color: #38B2AC !important; -} - -.comment-actions .score { - color: var(--muted); -} - -.score { - color: var(--black); - font-size: 1.1rem; -} - -.score-up { - color: var(--primary) !important; - font-size: 1.1rem; -} - -.score-down { - color: #38B2AC !important; - font-size: 1.1rem; -} - -.box-shadow-bottom { - box-shadow: inset 0 -0.1px 0 var(--gray-400); -} - -.border-1 { - border-width: 0.1px; - border-style: solid; -} - -.border-2 { - border-width: 2px; - border-style: solid; -} - -.border-3 { - border-width: 3px; - border-style: solid; -} - -.opacity-25 { - opacity: 0.25; -} - -.pseudo-submit-form .card-header { - background-color: var(--gray-600) !important; -} - -#frontpage .pseudo-submit-form.card, #search .search-results.card { - background-color: var(--gray-600); - border-radius: 0.35rem; - border: none; -} - -#frontpage .pseudo-submit-form.card .card-body, #search .search-results.card .card-body { - padding-left: 10px; - padding-right: 10px; -} - -#frontpage .pseudo-submit-form.card .card-body .form-control { - background-color: var(--light); -} - -#frontpage .pseudo-submit-form.card .card-body .form-control:hover, #frontpage .pseudo-submit-form.card .card-body .form-control:active, #frontpage .pseudo-submit-form.card .card-body .form-control:focus { - background-color: var(--light); -} - -.user-name { - color: inherit; -} - -.banner-pic-135 { - object-fit: cover; - height: 135px; - max-width: 572px; - width: 572px; -} - -.profile-pic { - width: 50px; - height: 50px; - border-radius: 50%; - margin: auto; - text-align: center; - object-fit: cover; - color: var(--white); - background-color: #1f2023; -} - -.navbar .navbar-nav .profile-pic { - display: inline-block; - width: 28px; - height: 28px; -} - -.profile-pic-20, .pp20 { - margin-right: 0.25rem !important; - width: 20px; - height: 20px; - border-radius: 50%; - text-align: center; - object-fit: cover; - background-color: var(--gray-600); -} - -.profile-pic-25 { - width: 25px; - height: 25px; - border-radius: 50%; - text-align: center; - object-fit: cover; - background-color: var(--gray-600); -} - -.profile-pic-35 { - width: 35px; - height: 35px; - border-radius: 50%; - text-align: center; - object-fit: cover; - background-color: var(--gray-600); -} - -.profile-pic-50 { - width: 50px; - height: 50px; - border-radius: 50%; - text-align: center; - object-fit: cover; - background-color: var(--gray-600); -} - -.profile-pic-65 { - width: 65px; - height: 65px; - border-radius: 50%; - text-align: center; - object-fit: cover; - background-color: var(--gray-600); -} - -.profile-pic-75 { - width: 75px; - height: 75px; - border-radius: 50%; - text-align: center; - object-fit: cover; - background-color: var(--gray-600); -} - -.profile-pic-100 { - width: 100px; - height: 100px; - border-radius: 50%; - text-align: center; - object-fit: cover; - background-color: var(--gray-600); -} - -.card-header:first-child { - border-radius: 0.35rem 0.35rem 0 0; -} - -.card-header { - font-size: 1rem; - font-weight: 600; - color: var(--black); - padding: 0.5rem 1rem; - border-bottom: 0.1px solid var(--gray-400); -} - -.card { - background-color: var(--gray-900); -} - -#thread .card { - background-color: var(--gray-700); -} - -#frontpage .posts .card:first-of-type, #userpage .posts .card:first-of-type, #search .posts .card:first-of-type { - border-top-left-radius: 0.35rem; - border-top-right-radius: 0.35rem; -} - -#frontpage .posts .card, #userpage .posts .card, #search .posts .card { - border-width: 0.1px 0.1px 0 0.1px; - border-color: #303030; - border-style: solid; - border-radius: 0; - padding: 0.5rem; -} - -#frontpage .posts .card:hover, #userpage .posts .card:hover, #search .posts .card:hover { - background-color: var(--gray-600); -} - -.post-title { - font-size: 16px; - font-weight: 600; - word-break: break-word; - overflow: hidden; -} - -.post-title a { - color: var(--black); -} - -.post-title a:hover, .post-title a:active, .post-title a:focus { - text-decoration: none; - color: var(--primary); -} - -#frontpage .post-title a { - color: var(--black); -} - -#frontpage .post-title a:hover, #frontpage .post-title a:active, #frontpage .post-title a:focus { - text-decoration: none; - color: var(--black); -} - -.stretched-link a:hover { - color: #6f42c1; -} - -.post-meta { - position: relative; - z-index: 2; - color: var(--muted); - font-size: 12px; - width: fit-content; -} - -#frontpage .posts .card .card-footer, #userpage .posts .card .card-footer, #thread .card .card-footer, #search .posts .card .card-footer { - border: 0; - background-color: transparent; - padding: 0; -} - -.post-body { - word-break: break-word; - overflow: hidden; -} - -.modal-backdrop.show { - opacity: 1; - background-color: rgba(30, 30, 30, 0.9); -} - -.modal-backdrop { - background-color: transparent; -} - -.modal-header { - border-bottom: none; - border-top-left-radius: 0.35rem; - border-top-right-radius: 0.35rem; - padding: 0.5rem 1rem; - box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05); -} - -.modal-header .close { - padding: 1.25rem 1rem 1.25rem 0.5rem; -} - -.modal-content { - border: none; - background-color: var(--gray-400); - border-radius: 0.35rem; - box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05); -} - -.modal-footer { - border: none; - border-bottom-right-radius: 0.35rem; - border-bottom-left-radius: 0.35rem; -} - -.modal .post-actions .list-group-item { - border: none; - border-radius: 0.35rem; - background-color: var(--gray-400); -} - -.modal .post-actions .list-group-item:focus, .modal .post-actions .list-group-item:hover { - background-color: var(--gray-300); -} - -.modal .post-actions a { - color: var(--black); - font-size: 1rem; -} - -.modal .post-actions .fa, .modal .post-actions .fas, .modal .post-actions .far { - width: 1.25rem; - font-size: 1rem; -} - -.post-actions { - position: relative; - color: var(--muted); - font-weight: 600; - font-size: 12px; - z-index: 3; -} - -.post-actions .fa, .post-actions .fas, .post-actions .far { - font-size: 12px; - margin-right: 0.5rem; - width: 1rem; -} - -.post-actions .voting .fa, .post-actions .voting .fas, .post-actions .voting .far { - color: inherit; -} - -.post-actions .dropdown-item:active .fa, .post-actions .dropdown-item:active .fas { - color: var(--black); -} - -.post-actions .dropdown-item:hover .fa, .post-actions .dropdown-item:hover .fas { - color: var(--gray); -} - -.post-actions a:hover .fa, .post-actions a:hover .fas { - color: var(--black); -} - -.post-actions:hover, .post-actions:focus { - z-index: 4; -} - -.post-actions .copy-link:hover { - color: var(--black); -} - -.post-actions .fas.fa-ellipsis-h, .post-actions .far.fa-ellipsis-h { - font-size: 1.25rem; - vertical-align: middle; -} - -.post-actions .list-inline { - margin-bottom: 0; -} - -.post-actions .list-inline .list-inline-item { - margin-right: 1rem; -} - -.post-actions .list-inline .list-inline-item:last-child { - margin-right: 0; -} - -.close .far, .close .fab, .close .fal, .close .fas { - font-size: 1.25rem; -} - -@media (max-width: 767.98px) { - .modal-dialog { - margin: auto; - max-width: 80%; - } -} -.dropdown-actions { - position: relative; - color: var(--muted); - font-weight: 600; - font-size: 12px; - z-index: 3; -} - -.dropdown-actions .fa, .dropdown-actions .fas, .dropdown-actions .far { - font-size: 12px; - color: var(--muted); - margin-right: 0.5rem; - width: 1rem; - text-align: center; -} - -.dropdown-actions .voting .fa, .dropdown-actions .voting .fas, .dropdown-actions .voting .far { - color: inherit; -} - -.dropdown-actions .dropdown-item:active .fa, .dropdown-actions .dropdown-item:active .fas { - color: var(--black); -} - -.dropdown-actions .dropdown-item:hover .fa, .dropdown-actions .dropdown-item:hover .fas { - color: var(--black); -} - -.dropdown-actions a:hover .fa, .dropdown-actions a:hover .fas { - color: var(--black); -} - -.dropdown-actions:hover, .dropdown-actions:focus { - z-index: 4; -} - -.dropdown-actions .copy-link:hover { - color: var(--black); -} - -.dropdown-actions .fas.fa-ellipsis-h, .dropdown-actions .far.fa-ellipsis-h { - font-size: 1.25rem; - vertical-align: middle; -} - -.dropdown-actions .list-inline { - margin-bottom: 0; -} - -.dropdown-actions .list-inline .list-inline-item { - margin-right: 1rem; -} - -.dropdown-actions .list-inline .list-inline-item:last-child { - margin-right: 0; -} - -.page-link { - font-weight: 600; - background-color: var(--dark); - border: 0.1px solid #343a40; -} - -.page-link:hover { - background-color: var(--gray-100); -} - -.page-item.disabled .page-link { - font-weight: 600; - background-color: var(--dark); - border: 0.1px solid #343a40; - opacity: 0.5; -} - -@media (max-width: 767.98px) { - .post-actions .list-inline .list-inline-item { - margin-right: 1.5rem; - margin-top: 5px; - } - - .post-actions .list-inline .list-inline-item:last-child { - margin-right: 0; - } -} -.post-actions .list-inline .list-inline-item .dropdown-item { - font-size: 1rem; -} - -.post-actions .list-inline .list-inline-item .dropdown-item:active { - color: var(--white); -} - -.post-actions a { - color: var(--gray-100); - text-decoration: none; - text-transform: none; -} - -.post-actions a:hover { - color: var(--black); -} - -.post-actions .dropdown-item:hover { - color: var(--black); -} - -.post-img { - width: 100px; - height: 70px; - object-fit: cover; - border: 0.1px solid var(--primary); - border-radius: 0.35rem; - z-index: 2; - background-color: var(--gray-300); -} - -@media (max-width: 767.98px) { - .post-img { - width: 80px; - height: 60px; - } -} -.post-actions .comments, .post-actions .share, .post-actions .flag { - margin-right: 0.5rem; - vertical-align: top; -} - -.time-stamp, .points { - color: var(--muted); -} - -.comments-count { - display: flex; -} - -.comments-count .total { - font-weight: 600; - font-size: 12px; - color: var(--muted); -} - -.comment { - display: flex; - position: relative; - margin-top: 2rem; - padding-left: 12px; -} - -#notifications .comment, #userpage .comment { - margin-top: 0.5rem; - margin-bottom: 1rem; -} - -#notifications .comment:last-child, #userpage .comment:last-child { - margin-bottom: 0; -} - -.comment .comment-body { - width: 100%; -} - -.comment .comment-body .user-info { - font-size: 12px; - color: var(--muted); - margin-bottom: 0.25rem; - margin-top: -0.25rem; -} - -.comment .comment-body .user-name { - color: var(--black); -} - -.comment .comment-body .comment-text { - margin-bottom: 1rem; - word-break: break-word; - color: var(--black); - overflow: hidden; - padding-right: 10px !important; - padding-top: 5px !important; -} - -.modal .comment-actions .list-group-item { - border: none; - border-radius: 0.35rem; - background-color: var(--gray-400); -} - -.modal .comment-actions .list-group-item:focus, .modal .comment-actions .list-group-item:hover { - background-color: var(--gray-300) !important; -} - -.modal .comment-actions a { - color: var(--gray-100); - font-size: 1rem; -} - -.modal .comment-actions .fa, .modal .comment-actions .fas, .modal .comment-actions .far { - width: 1.25rem; - font-size: 1rem; -} - -.comment-section { - background-color: var(--gray-700); -} - -.comment p { - word-break: break-word; -} - -.comment-actions { - font-weight: 600; - font-size: 12px; - margin-bottom: 0; -} - -.comment-actions .fa, .comment-actions .fas, .comment-actions .far { - font-size: 12px; - margin-right: 0.25rem; - margin-left: 0.25rem; - color: var(--gray-100); -} - -@media (min-width: 768px) { - .comment-actions .fa, .comment-actions .fas, .comment-actions .fa { - margin-right: 0.5rem; - margin-left: 0; - } -} - -.comment-actions .dropdown-item:active .fa, .comment-actions .dropdown-item:active .fas, .comment-actions .dropdown-item:active .far { - color: var(--black); -} - -.comment-actions .dropdown-item:hover .fa, .comment-actions .dropdown-item:hover .fas, .comment-actions .dropdown-item:hover .far { - color: var(--black); -} - -.comment-actions a:hover .fa, .comment-actions a:hover .fas, .comment-actions a:hover .far { - color: var(--black); -} - -.comment-actions .fas.fa-ellipsis-h { - font-size: 1.25rem; - vertical-align: bottom; -} - -.comment-actions .list-inline { - margin-bottom: 0; -} - -.comment-actions .list-inline li .btn, .comment-actions .list-inline .btn { - margin-right: 0.5rem; - box-shadow: none; - border: none; - font-size: 12px; -} - -.comment-actions .list-inline .list-inline-item .dropdown-item { - font-size: 12px; -} - -.comment-actions .list-inline .list-inline-item .dropdown-item:active { - color: var(--black); -} - -.comment-actions a { - color: var(--gray-100); - text-decoration: none; -} - -.comment-actions a:hover, .comment-actions .copy-link:hover { - color: var(--black); -} - -.comment-actions .dropdown-item:hover { - color: var(--black); -} - -ul.comment-section { - padding-left: 0; - margin-bottom: 0; -} - -.comment-write { - position: relative; -} - -.comment-write.child { - margin-top: 1rem; -} - -.comment-write.collapsed textarea:focus, .comment-write.collapsed textarea:active { - background-color: var(--gray-900); -} - -.comment-write.collapsed textarea { - width: 100%; - box-sizing: border-box; - padding: 0.5rem 0.75rem; - min-height: 84px; -} - -.comment-format { - display: flex; - align-items: center; - bottom: 0; - left: 0; - padding: 0.5rem 0 0 0; - width: 100%; - z-index: 1; -} - -.comment-write .comment-format .format { - padding: 0 0.5rem; - font-size: 1rem; - color: var(--gray-200); -} - -.comment-write .comment-format .format:hover { - color: var(--black); -} - -.comment .comment-collapse-icon:hover::before { - border-left-color: var(--primary); -} - -.comment.collapsed .comment-collapse-icon::before { - content: "\f055"; - font-family: "font awesome 5 pro" !important; - font-weight: 900; - border-left: none; - top: -0.1px; - left: -3px; - font-size: 10px; -} - -.comment.collapsed .comment-collapse-icon:hover::before { - color: var(--primary); -} - - .comment.collapsed .comment-body p.text, .comment.collapsed div.comment-text, .comment.collapsed .comment-actions, .comment.collapsed .comment-write, -.comment.collapsed .comment { - display: none; -} - -.comment.collapsed .user-info { - margin-bottom: 0; -} - -.comment.collapsed .profile-pic-25 { - opacity: 0.5; -} - -.comment.collapsed .comment-body { - opacity: 0.5; -} - -.comment.collapsed .comment-body:hover { - opacity: 1; -} - -#login { - padding-top: 0; - height: 100%; - overflow: hidden; - background-color: var(--light); -} - -.splash-wrapper { - position: relative; - width: 100%; - height: 100%; - font-size: 0; -} - -.splash-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(127, 127, 127, 0.25); - background-image: linear-gradient(135deg, rgba(30, 30, 36, 0.1) 0%, var(--primary) 150%); -} - -.splash-img { - height: 100%; - width: 100%; - background-size: cover; - background-position: bottom; - object-fit: cover; -} - -.pagination { - padding: 1rem 0; -} - -.table .thead-dark th { - color: var(--muted); - font-size: 12px; - text-transform: uppercase; - background-color: var(--light); - border: none; -} - -.settings .settings-section { - margin-bottom: 3rem; - border: 0.1px solid var(--gray-400); - border-radius: 0.35rem; - overflow: hidden; -} - -.settings .settings-section .title, .settings .settings-section .body, .settings .settings-section .footer { - padding: 1rem; -} - -.settings .settings-section .title p:last-of-type { - margin-bottom: 0; -} - -.settings .settings-section .footer { - background-color: var(--secondary); -} - -.modal .profile-actions .list-group-item { - border: none; - border-radius: 0.35rem; -} - -.modal .profile-actions .list-group-item:focus, .modal .profile-actions .list-group-item:hover { - background-color: var(--gray-200); -} - -.modal .profile-actions a { - color: var(--black); - font-size: 1rem; -} - -.modal .profile-actions .fa, .modal .profile-actions .fas, .modal .profile-actions .far { - width: 1.25rem; - font-size: 1rem; -} - -.profile-actions a { - color: var(--gray); - text-decoration: none; - font-size: 12px; -} - -.profile-actions .fa, .profile-actions .fas, .profile-actions .far { - font-size: 12px; - color: var(--gray); -} - -.profile-actions .dropdown-item:hover { - color: var(--black); -} - -.profile-actions .dropdown-item { - font-size: 13px; -} - -.profile-actions .dropdown .dropdown-menu .dropdown-item .fa, .profile-actions .dropdown .dropdown-menu .dropdown-item .fas, .profile-actions .dropdown .dropdown-menu .dropdown-item .far { - font-size: 12px; - color: var(--gray); - width: 1rem; - margin-right: 0.5rem; - text-align: center; -} - -.profile-actions .dropdown-item:active .fa, .profile-actions .dropdown-item:active .fas, .profile-actions .dropdown-item:active .far { - color: var(--black); -} - -.profile-actions .dropdown-item:hover .fa, .profile-actions .dropdown-item:hover .fas, .profile-actions .dropdown-item:active .far { - color: var(--black); -} - -#page .footer h1, #page .footer h2, #page .footer h3, #page .footer h4, #page .footer h5, #page .footer h6, -#article .footer h1, #article .footer h2, #article .footer h3, #article .footer h4, #article .footer h5, #article .footer h6 { - font-weight: 600; -} - -#page .footer a, #article .footer a { - color: var(--white); - opacity: 0.8; -} - -#page .footer li, #article .footer li { - padding: 0.25rem 0; -} - -.footer .list-inline-item { - font-weight: 400; -} - -.footer a { - text-decoration: none; - color: var(--muted); -} - -.footer a:hover, .footer a:focus, .footer a:active { - text-decoration: underline; -} - -.empty-state-img { - width: 200px; - opacity: 0.35; - filter: brightness(0); -} - -.ghost { - -webkit-animation: ghost 2s infinite alternate; - animation: ghost 2s infinite alternate; -} -@keyframes ghost { - 0% { - transform: translateY(0); - } - 100% { - transform: translateY(-20px); - } -} -.border-top { - border-top: 1px solid var(--gray-400) !important; -} - -.border-bottom { - border-bottom: 1px solid var(--gray-400) !important; -} - -.border-left { - border-left: 1px solid var(--gray-400) !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border { - border: 1px solid var(--gray-400) !important; -} - -.border-0 { - border: none !important; -} - -.rounded { - border-radius: 0.35rem; -} - -.rounded-circle { - border-radius: 50%; -} -@media (min-width: 768px) { - - .border-md { - border: 1px solid var(--gray-400) !important; - } - - .border-md-0 { - border: none !important; - } - - .rounded-md { - border-radius: 0.35rem; - } -} -@media (min-width: 992px) { - - .rounded-lg { - border-radius: 0.35rem; - } -} -@media (min-width: 992px) { - .w-lg-25 { - width: 25% !important; - } - - .w-lg-75 { - width: 75% !important; - } - - .w-lg-100 { - width: 100% !important; - } -} - -.submission .body { - padding: 1rem; -} - -.submission .footer { - background-color: transparent; - padding: 1rem; - border-bottom-left-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; -} - -.custom-control-label { - text-transform: uppercase; - font-weight: 600; - font-size: 1rem; - letter-spacing: 0; - color: var(--black); -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { - background-color: var(--primary); - border: 0.1px solid #6f42c1; -} - -.custom-switch { - padding-left: 2.25rem; - padding-bottom: 1rem; -} - -.custom-switch .custom-control-label { - padding-top: 0.5rem; - padding-left: 2rem; - padding-bottom: 0.1rem; -} - -.custom-control-input:checked ~ .custom-control-label::before { - opacity: 1; - background-color: var(--primary); - border: #38A169 solid 0.1px; -} - -.custom-control-input:checked ~ .custom-control-label:hover::before { - opacity: 1; -} - -.custom-switch .custom-control-label::before { - left: -2.25rem; - height: 1.5rem; - width: 2.75rem; - pointer-events: all; - border-radius: 1rem; - background-color: var(--gray-100); - border: #f8f9fa solid 0.1px; - opacity: 0.7; -} - -.custom-switch .custom-control-label:hover::before { - opacity: 0.85; -} - -.custom-switch .custom-control-label::after { - top: calc(0.25rem + 2px); - left: calc(-2.25rem + 2px); - width: calc(1.5rem - 4px); - height: calc(1.5rem - 4px); - background-color: var(--light); - border-radius: 2rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; - transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .custom-switch .custom-control-label::after { - transition: none; - } -} -.custom-switch .custom-control-input:checked ~ .custom-control-label::after { - background-color: var(--white); - -webkit-transform: translateX(1.25rem); - transform: translateX(1.25rem); -} - -pre code { - word-break: break-word; - white-space: break-spaces; - color: var(--primary); -} - -pre ol > li { - margin-bottom: 0; -} - -pre ol > li::before { - color: var(--white); - font-weight: 400; - background-color: transparent; - right: 1rem; - padding: 0.25rem; - text-align: right; - margin-right: 0.5rem; - width: 3rem; -} - -pre .str, code .str { - color: #38A169; - opacity: 0.75; -} - -pre .com, code .com { - color: #ab4bc3; -} - -.gif-categories .card { - overflow: hidden; - border: none; -} - -.gif-categories img { - border-radius: 0.35rem; - height: 110px; - width: 100%; - object-fit: cover; - -webkit-transition: all 0.15s ease; - -moz-transition: all 0.15s ease; - -o-transition: all 0.15s ease; - -ms-transition: all 0.15s ease; - transition: all 0.15s ease; -} - -.gif-categories img:hover { - border: 3px solid var(--primary); -} - -.gif-categories .card .gif-cat-overlay { - position: absolute; - text-align: center; - height: 100%; - width: 100%; - background-color: rgba(0, 0, 0, 0.4); - -webkit-transition: all 0.15s ease; - -moz-transition: all 0.15s ease; - -o-transition: all 0.15s ease; - -ms-transition: all 0.15s ease; - transition: all 0.15s ease; -} - -.gif-categories .card:hover .gif-cat-overlay { - background-color: rgba(0, 0, 0, 0.6); - border: 3px solid var(--primary); - border-radius: 0.35rem; -} - -@media (max-width: 991.98px) { - #frontpage, #search { - padding-top: 49px; - } -} -@media (max-width: 767.98px) { - html { - font-size: 14px; - } - - .container { - overflow: hidden; - max-width: none; - } - - body, #settings, #notifications, #submit { - padding-top: 49px; - background-color: var(--gray-700); - } - - #thread, #userpage { - background-color: var(--gray-600); - } - - .custom-gutters { - padding-left: 0; - padding-right: 0; - } - - .navbar.bg-primary { - background-color: var(--dark) !important; - } - - .navbar-nav { - height: 100vh; - } - - .navbar-nav .nav-link, .navbar-expand-md .navbar-nav .nav-link { - padding: 0.5rem; - } - - .navbar-dark .navbar-nav .nav-link:hover { - background-color: transparent; - border-radius: 0; - } - - .navbar-dark .navbar-nav .nav-link:active { - background-color: rgba(0, 0, 0, 0.15); - border-radius: 0; - } - - .navbar-dark .navbar-nav .nav-link .fa, .navbar-dark .navbar-nav .nav-link .fas, .navbar-dark .navbar-nav .nav-link .far, .navbar-dark .navbar-nav .nav-link .fab { - font-size: 1rem; - } - - .navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { - color: var(--primary); - font-size: 1.25rem; - } - - #fixed-bar-mobile { - box-shadow: none; - } - - .mobile-nav-icon { - padding: 0.25rem 0.75rem; - } - - #thread, #submit { - background-color: var(--light); - } - - #frontpage { - padding-top: 49px; - } - - #search .search-results.card { - border-bottom: 0.1px solid var(--gray-400); - border-width: 0 0 0.1px 0; - border-radius: 0; - } - - #frontpage .posts .card, #userpage .posts .card, #search .posts .card { - padding: 7px; - border-width: 0 0 0.1px 0; - } - - #frontpage .posts .card:first-of-type, #userpage .posts .card:first-of-type, #search .posts .card:first-of-type { - border-radius: 0; - } - - #frontpage .posts .card, #userpage .posts .card, #search .posts .card, #userpage .posts .card { - background-color: var(--gray-600); - } - - #frontpage .posts .card:hover .post-title a, #search .posts .card:hover .post-title a { - color: var(--primary); - } - - #frontpage .posts .card .post-img, #search .posts .card .post-img { - z-index: 3; - } - - .toast { - bottom: 1.5rem; - margin: 0 auto; - left: 0; - right: 0; - } - - #thread .card { - background-color: var(--gray-600); - } - - .card { - background-color: var(--gray-600); - } - - .posts, #thread #main-content-col { - box-shadow: none; - border: none; - border-radius: 0; - } - - #thread #main-content-col { - margin: 0; - } - - .post-title a { - color: var(--black); - } - - .post-title a:hover, .post-title a:active, .post-title a:focus { - color: var(--primary); - } - - #thread .voting { - min-width: 0; - margin-right: 0; - margin-top: 0; - } - - .voting { - font-weight: 400; - font-size: 1.2rem; - } - - #frontpage .voting, #search .voting, #userpage .voting { - margin: 0; - } - - .post-title { - font-size: 14px; - font-weight: 400; - line-height: normal; - overflow: hidden; - } - - .post-meta { - font-size: 1rem; - } - - .post-actions { - font-weight: 400; - } - - .post-actions a { - font-size: 1rem; - color: var(--gray-200); - } - - .post-actions .fa, .post-actions .fas, .post-actions .far { - font-size: 1rem; - } - - .post-actions .voting .fa, .post-actions .voting .fas, .post-actions .voting .far { - font-size: 1.25rem; - } - - .comment-actions .score { - color: var(--gray-200); - } - - .score { - color: var(--gray-200); - } - - .arrow-up::before, .arrow-down::before, .arrow-up:hover::before, .arrow-down:hover::before { - font-size: 1.5rem; - color: var(--gray-200); - opacity: 1; - } - - .active.arrow-up::before, .active.arrow-up:hover::before { - color: var(--primary); - } - - .active.arrow-down::before, .active.arrow-down:hover::before { - color: #38B2AC; - } - - .dropdown-actions a { - font-size: 1rem; - } - - .dropdown-actions .fa, .dropdown-actions .fas, .dropdown-actions .far { - font-size: 1rem; - } - - .comment-section { - background-color: var(--gray-600); - } - - .comment-section > .comment { - padding-left: 12px; - } - - .comment { - margin-top: 1.5rem; - } - - .comment.collapsed .user-info { - padding-top: 0.5rem; - } - - .comment.collapsed .comment-body:hover { - opacity: 0.5; - } - - .comment-actions .fa, .comment-actions .fas, .comment-actions .far { - color: var(--gray-100); - } - - .banner-pic-135 { - max-width: 100%; - } - - .x-scroll-parent { - overflow: hidden; - } - - .x-scroll { - width: 100%; - overflow-x: scroll; - white-space: nowrap; - scrollbar-width: none; - -ms-overflow-style: none; - } - - .x-scroll::-webkit-scrollbar { - width: 100%; - overflow-x: scroll; - white-space: nowrap; - background: transparent; - } - - #thread .post-title { - font-size: 16px; - } - - #submit .submission { - border: none; - } - - #submit .submission .body { - padding: 0; - } - - #submit .submission .footer { - background: transparent; - padding: 1rem 0; - } - - .footer .list-inline-item { - line-height: 3; - } - - .comments-count .total { - font-weight: 400; - font-size: 1rem; - } - - .comment-actions { - font-weight: 400; - font-size: 1.2rem; - } - - .user-name { - font-weight: 400; - } - - .comment .comment-body .user-name { - color: var(--black); - font-weight: 600; - } - - .pagination { - padding: 1rem; - } - - input[type=color], -input[type=date], -input[type=email], -input[type=month], -input[type=number], -input[type=password], -input[type=search], -input[type=tel], -input[type=text], -input[type=time], -input[type=url], -input[type=week], -select:focus, -textarea { - font-size: 16px !important; - } - - textarea, input[type=text] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - } -} -.bg-white { - background-color: var(--gray-600) !important; -} - -.text-muted { - color: var(--muted) !important; -} - -.text-primary { - color: var(--primary) !important; -} - -.text-gray-400, .text-gray-500 { - color: var(--gray-200) !important; -} - -span.red { - color: var(--primary); -} - -span.green { - color: #38A169; -} - -div.banned { - background-color: #960000 !important; - border-left: 3px solid #ff0000 !important; -} - -div.deleted { - background-color: #4a4a15 !important; -} - -div.deleted.banned { - background-color: #964000 !important; -} - -.text-admin { - color: var(--primary); -} - -.object-cover { - object-fit: cover; -} - -.spoiler { - color: var(--white); - background-color: var(--white); - font-weight: 600 !important; - padding: 5px; -} - -.spoiler:hover { - color: var(--gray); -} - -@media (min-width: 768px) { - .comment { - border-left: 0 !important; - padding-left: 0 !important; - } -} -.comment .comment-collapse-desktop { - padding-right: 20px; - cursor: pointer; -} - -.comment .comment-collapse-desktop:hover { - border-left-color: var(--white) !important; -} - -.comment.collapsed .comment-collapse-desktop:hover { - color: var(--white) !important; -} - -@media (max-width: 767.98px) { - .settings-nav .nav-link { - font-size: 1rem; - padding: 0.75rem 0.6rem; - } -} -.table { - color: var(--white); -} - -.comment-box { - border: 2px solid #e9ecef; -} - -.btn { - background: transparent; -} - -.form-control { - background: transparent; -} - -.navbar-light .navbar-nav .nav-link { - border-radius: 5px; -} - -.btn-secondary { - color: var(--muted); -} - -.btn-primary { - color: var(--muted); -} - -.btn-success { - border-color: #38A169 !important; -} - -.btn-danger { - border-color: #E53E3E !important; -} - -.alert { - color: #000000; -} - -.btn-lg { - border-color: transparent !important; -} - -@media (max-width: 767.98px) { - .followbutton { - margin-bottom: 10px !important; - } - - .comment-actions { - margin-top: -8px; - } -} -.btn-primary:focus, .btn-primary.focus { - box-shadow: none !important; -} - -.flaggers { - margin: 7px; - border: 1px solid var(--primary); - padding: 10px; - border-radius: 3px; - background-color: var(--gray-700) !important; -} - -.text-info { - color: var(--primary) !important; -} - -* { - -webkit-animation: None !important; - animation: None !important; -} - -.patron { - padding: 2px 5px 3px 5px !important; - border-radius: 5px !important; - color: white !important; -} - -.container, .container-fluid { - background-color: var(--gray-700) !important; - border-radius: 5px !important; -} - -.btn { - background-color: var(--gray-700) !important; -} - -.nobackground { - background: None !important; -} - -textarea { - resize: both !important; -} - -.jumbotron-guild { - position: relative; - background-repeat: no-repeat; - background-size: cover; - background-position: center; - border-radius: 0; - overflow: hidden; - margin-bottom: 0; - padding: 0; - display: flex; - align-items: center; - z-index: 1; -} - -.jumbotron-guild .jumbotron-overlay { - background-color: rgba(0, 0, 0, 0.7); - position: absolute; - width: 100%; - height: 100%; - bottom: 0; - left: 0; - z-index: -1; - pointer-events: none; -} - -@media (max-width: 767.98px) { - .jumbotron-guild { - height: 110px; - } -} -@media (min-width: 767.98px) { - .card-columns { - column-count: 4 !important; - } -} -@media (min-width: 992px) { - .card-columns { - column-count: 5 !important; - } -} -.container, .container-fluid { - padding-bottom: 30px; -} - -.navbar { - padding: 0.5rem 0.5rem 0.3rem 0.5rem; -} - -@media (min-width: 767.98px) { - .navbar { - padding: 0.5rem 3rem 0.3rem 0.5rem; - } -} - -blockquote { - border-left: 2px solid var(--primary); - color: var(--black); - font-size: 1rem; - font-weight: 400; - background-color: #46444a; - padding: 0 1rem; - margin: 0.5rem 0 0 0; -} - -div > blockquote:last-child { - margin-bottom: 0.5rem !important; -} - -blockquote + blockquote, blockquote:last-child { - margin-top: 0 !important; -} - -blockquote + p { - margin-top: 1rem; -} - -blockquote p { - margin-bottom: 0; - padding-bottom: 0.7rem; - padding-top: 0.7rem; -} - -.unread { - padding: 10px !important; - border: 2px solid var(--primary) !important; -} - -@media (min-width: 576px) -{ - .modal-dialog { - max-width: 50% !important; - margin: 1.75rem auto !important; - } -} - -.in-comment-image { - max-height: 150px !important; - max-width: 100% !important; - border-radius: 0.2rem !important; - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.embedvid { - max-height: 20rem !important; - max-width: 100% !important; - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.spotify { - max-height: 80px !important; - max-width: 100% !important; - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; -} - -.text-pink { - color: #ff66ac !important; -} - -.text-purple { - color: #805ad5 !important; -} - -.text-black-50 { - color: #808080 !important; -} - -.text-orange { - color: orange !important; -} - -.text-silver { - color: silver !important; -} - -.text-gold { - color: gold !important; -} - -.text-lightgreen { - color: lightgreen !important; -} - -.text-blue { - color: #1D9BF0 !important; -} - -.text-red { - color: #C30F16 !important; -} - -.timeline-Widget { - max-height: 500px !important; - overflow-y: scroll !important; -} - -.comment .comment-collapse-icon { - padding-right: 10px; -} - -.comment .comment-collapse-icon::before { - font-family: "font awesome 5 pro" !important; - color: var(--primary); - display: inline-block; - cursor: pointer; - height: 100%; - width: 10px; - content: "\f056"; - position: static; - font-size: 10px; - font-weight: 900; - border: none; - margin-left: 0.25rem; -} - -.text-removed { - color: #ffabab !important; -} - -.mirrored { - transform: scaleX(-1);-webkit-transform: scaleX(-1); -} - -@media (max-width: 768px) { - .popover-bio * { - font-size: 0.8rem !important; - } -} - -@media (min-width: 768px) { - .popover-bio * { - font-size: 1rem !important; - } -} - -.b2 { - border: 2px solid !important; -} - -.fl-r { - float: right !important; -} - -.edit-title { - background-color: #fff !important; - color: #000 !important -} - -.text-lightblue { - color: lightblue; -} - -.bet ~ .custom-control-label::before { - border-radius: 50%; -} - -.emoji-modal { - max-width: 90% !important -} - -.emoji { - height: 30px !important; -} - -.bigemoji { - height: 60px !important; -} - -.bigemoji, .emj, .emoji, .emoji-md, .emoji-lg { - max-width: 10rem !important; - display: inline-block; - -o-object-fit: contain; - object-fit: contain; + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + .col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; +} + .row-cols-1 > * { + flex: 0 0 100%; + max-width: 100%; +} + .col-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; +} + .col-12 { + flex: 0 0 100%; + max-width: 100%; +} + @media (min-width: 576px) { + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } +} + @media (min-width: 768px) { + .row-cols-md-3 > * { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; + } + .col-md-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667%; + } + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333%; + } + .col-md-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; + } +} + @media (min-width: 992px) { + .col-lg-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; + } + .col-lg-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; + } + .col-lg-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; + } +} + @media (min-width: 1200px) { + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } +} + .table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + .table th, .table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid var(--gray-400); +} + .table thead th { + vertical-align: bottom; + border-bottom: 2px solid var(--gray-400); +} + .table tbody + tbody { + border-top: 2px solid var(--gray-400); +} + .table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + .table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + .table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + .form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid var(--gray-400); + border-radius: 0.35rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + @media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + .form-control::-ms-expand { + background-color: transparent; + border: 0; +} + .form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + .form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + .form-control::placeholder { + color: #6c757d; + opacity: 1; +} + .form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + .form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + select.form-control[size], select.form-control[multiple] { + height: auto; +} + textarea.form-control { + height: auto; +} + .form-group { + margin-bottom: 1rem; +} + .form-text { + display: block; + margin-top: 0.25rem; +} + .form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; +} + @media (min-width: 576px) { + .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .input-group { + width: auto; + } + .form-inline .custom-control { + align-items: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + .btn { + display: inline-block; + font-weight: 400; + text-align: center; + color: var(--primary); + vertical-align: middle; + cursor: pointer; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.35rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + @media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + .btn:hover { + color: #212529; + text-decoration: none; +} + .btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + .btn.disabled, .btn:disabled { + opacity: 0.65; +} + a.btn.disabled, fieldset:disabled a.btn { + pointer-events: none; +} + .btn-primary { + color: #fff; + background-color: var(--primary); + border-color: var(--primary); +} + .btn-primary:hover { + color: #fff; + background-color: var(--primary); + border-color: #0062cc; +} + .btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: var(--primary); + border-color: #0062cc; + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + .btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: var(--primary); + border-color: var(--primary); +} + .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + .btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + .btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + .btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #5a6268; + border-color: #545b62; + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + .btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + .btn-success { + color: #fff; + background-color: #38A169; + border-color: #38A169; +} + .btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + .btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #218838; + border-color: #1e7e34; + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + .btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #38A169; + border-color: #38A169; +} + .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + .btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + .btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + .btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c82333; + border-color: #bd2130; + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + .btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + .btn-link { + font-weight: 400; + color: var(--primary); + text-decoration: none; +} + .btn-link:hover { + color: var(--primary); + text-decoration: underline; +} + .btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + .btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + .btn-lg { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + .btn-block { + display: block; + width: 100%; +} + .btn-block + .btn-block { + margin-top: 0.5rem; +} + input[type=submit].btn-block, input[type=reset].btn-block, input[type=button].btn-block { + width: 100%; +} + .fade { + transition: opacity 0.15s linear; +} + @media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + .fade:not(.show) { + opacity: 0; +} + .collapse:not(.show) { + display: none; +} + .collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + @media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + .dropup, .dropdown { + position: relative; +} + .dropdown-toggle { + white-space: nowrap; +} + .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + .dropdown-toggle:empty::after { + margin-left: 0; +} + .dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.35rem; +} + .dropdown-menu-right { + right: 0; + left: auto; +} + @media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } +} + .dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + .dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + .dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + .dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] { + right: auto; + bottom: auto; +} + .dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + .dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + .dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: var(--primary); +} + .dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + .dropdown-menu.show { + display: block; +} + .input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + .input-group > .form-control { + position: relative; + flex: 1 1 0%; + min-width: 0; + margin-bottom: 0; +} + .input-group > .form-control + .form-control { + margin-left: -1px; +} + .input-group > .form-control:focus { + z-index: 3; +} + .input-group > .form-control:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + .input-group > .form-control:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + .input-group-append { + display: flex; +} + .input-group-append .btn { + position: relative; + z-index: 2; +} + .input-group-append .btn:focus { + z-index: 3; +} + .input-group-append .btn + .btn, .input-group-append .btn + .input-group-text, .input-group-append .input-group-text + .input-group-text, .input-group-append .input-group-text + .btn { + margin-left: -1px; +} + .input-group-append { + margin-left: -1px; +} + .input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid var(--gray-400); + border-radius: 0.35rem; +} + .input-group-text input[type=radio], .input-group-text input[type=checkbox] { + margin-top: 0; +} + .input-group > .input-group-append:not(:last-child) > .btn, .input-group > .input-group-append:not(:last-child) > .input-group-text, .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + .input-group > .input-group-append > .btn, .input-group > .input-group-append > .input-group-text { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + .custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + .custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} + .custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: var(--primary); + background-color: var(--primary); +} + .custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + .custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + .custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + .custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + .custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50%/50% 50%; +} + .custom-checkbox .custom-control-label::before { + border-radius: 0.35rem; +} + .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} + .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: var(--primary); + background-color: var(--primary); +} + .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + .custom-switch { + padding-left: 2.25rem; +} + .custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + .custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + border-radius: 0.5rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + @media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + .custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + transform: translateX(0.75rem); +} + .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + .custom-control-label::before { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + @media (prefers-reduced-motion: reduce) { + .custom-control-label::before { + transition: none; + } +} + .nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + .nav-link { + display: block; + padding: 0.5rem 1rem; +} + .nav-link:hover, .nav-link:focus { + text-decoration: none; +} + .nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + .nav-pills .nav-link { + border-radius: 0.35rem; +} + .nav-pills .nav-link.active, .nav-pills .show > .nav-link { + color: #fff; + background-color: var(--primary); +} + .tab-content > .tab-pane { + display: none; +} + .tab-content > .active { + display: block; +} + .navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; +} + .navbar .container, .navbar .container-fluid { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} + .navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + .navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + .navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + .navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + .navbar-nav .dropdown-menu { + position: static; + float: none; +} + .navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + .navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.35rem; +} + .navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + .navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + @media (max-width: 767.98px) { + .navbar-expand-md > .container, .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + @media (min-width: 768px) { + .navbar-expand-md { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, .navbar-expand-md > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + @media (max-width: 991.98px) { + .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + @media (min-width: 992px) { + .navbar-expand-lg { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + .navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + .navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + .navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + .navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + .navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + .navbar-dark .navbar-brand { + color: #fff; +} + .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + .navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + .navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + .navbar-dark .navbar-nav .show > .nav-link, .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + .navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + .navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='https://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + .card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.35rem; +} + .card > hr { + margin-right: 0; + margin-left: 0; +} + .card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; +} + .card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.35rem; + border-bottom-left-radius: 0.35rem; +} + .card-body { + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + .card-title { + margin-bottom: 0.75rem; +} + .card-text:last-child { + margin-bottom: 0; +} + .card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + .card-header:first-child { + border-radius: calc(0.35rem - 1px) calc(0.35rem - 1px) 0 0; +} + .card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + .card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + .card-footer:last-child { + border-radius: 0 0 calc(0.35rem - 1px) calc(0.35rem - 1px); +} + .card-img-top { + flex-shrink: 0; + width: 100%; +} + .card-img-top { + border-top-left-radius: calc(0.35rem - 1px); + border-top-right-radius: calc(0.35rem - 1px); +} + .card-columns .card { + margin-bottom: 0.75rem; +} + @media (min-width: 576px) { + .card-columns { + column-count: 3; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + .pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.35rem; +} + .page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: var(--primary); + background-color: #fff; + border: 1px solid #dee2e6; +} + .page-link:hover { + z-index: 2; + color: var(--primary); + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + .page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + .page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.35rem; + border-bottom-left-radius: 0.35rem; +} + .page-item:last-child .page-link { + border-top-right-radius: 0.35rem; + border-bottom-right-radius: 0.35rem; +} + .page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: var(--primary); + border-color: var(--primary); +} + .page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + .pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + .pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + .pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + .badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 600; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.35rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + @media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + a.badge:hover, a.badge:focus { + text-decoration: none; +} + .badge:empty { + display: none; +} + .btn .badge { + position: relative; + top: -1px; +} + .badge-secondary { + color: #fff; + background-color: #6c757d; +} + a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: var(--primary); +} + a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + .badge-danger { + color: #fff; + background-color: #dc3545; +} + a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + .jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + @media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + .jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + .alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.35rem; +} + .alert-link { + font-weight: 600; +} + .alert-dismissible { + padding-right: 4rem; +} + .alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + .alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + .alert-success hr { + border-top-color: #b1dfbb; +} + .alert-success .alert-link { + color: #0b2e13; +} + .alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + .alert-warning hr { + border-top-color: #ffe8a1; +} + .alert-warning .alert-link { + color: #533f03; +} + .alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + .alert-danger hr { + border-top-color: #f1b0b7; +} + .alert-danger .alert-link { + color: #491217; +} + @keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + .media { + display: flex; + align-items: flex-start; +} + .media-body { + flex: 1; +} + .list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + .list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + .list-group-item:first-child { + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; +} + .list-group-item:last-child { + border-bottom-right-radius: 0.35rem; + border-bottom-left-radius: 0.35rem; +} + .list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + .list-group-item.active { + z-index: 2; + color: #fff; + background-color: var(--primary); + border-color: var(--primary); +} + .list-group-item + .list-group-item { + border-top-width: 0; +} + .list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + .close { + float: right; + font-size: 1.5rem; + font-weight: 600; + line-height: 1; + color: #fff; + opacity: 0.5; +} + .close:hover { + color: #000; + text-decoration: none; +} + .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: 0.75; +} + button.close { + padding: 0; + background-color: transparent; + border: 0; + appearance: none; +} + a.close.disabled { + pointer-events: none; +} + .toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + .toast:not(:last-child) { + margin-bottom: 0.75rem; +} + .toast.showing { + opacity: 1; +} + .toast.show { + display: block; + opacity: 1; +} + .toast.hide { + display: none; +} + .toast-body { + padding: 0.75rem; +} + .modal-open { + overflow: hidden; +} + .modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + .modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + .modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + .modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + @media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + .modal.show .modal-dialog { + transform: none; +} + .modal.modal-static .modal-dialog { + transform: scale(1.02); +} + .modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); +} + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + .modal-dialog-scrollable .modal-header, .modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} + .modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + .modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} + .modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + .modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; +} + .modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + .modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + .modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + .modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + .modal-backdrop.fade { + opacity: 0; +} + .modal-backdrop.show { + opacity: 0.5; +} + .modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid var(--gray-400); + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + .modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + .modal-title { + margin-bottom: 0; + line-height: 1.5; +} + .modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + .modal-footer { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid var(--gray-400); + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} + .modal-footer > * { + margin: 0.25rem; +} + @media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } +} + @media (min-width: 992px) { + .modal-xl { + max-width: 800px; + } +} + @media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + .tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + .tooltip.show { + opacity: 1; +} + .tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + .tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + .tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.35rem; +} + .popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + .popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + .popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + .popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + .popover-header:empty { + display: none; +} + .popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + .carousel { + position: relative; +} + .carousel.pointer-event { + touch-action: pan-y; +} + .carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + @media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + .carousel-item.active, .carousel-item-next, .carousel-item-prev { + display: block; +} + .carousel-item-next:not(.carousel-item-left) { + transform: translateX(100%); +} + .carousel-item-prev:not(.carousel-item-right) { + transform: translateX(-100%); +} + .carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + .carousel-indicators li { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} + @media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + .carousel-indicators .active { + opacity: 1; +} + @keyframes spinner-border { + to { + transform: rotate(360deg); + } +} + @keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + } +} + .align-top { + vertical-align: top !important; +} + .align-middle { + vertical-align: middle !important; +} + .bg-primary { + background-color: var(--primary) !important; +} + a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus { + background-color: #0062cc !important; +} + .bg-success { + background-color: #38A169 !important; +} + a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus { + background-color: #1e7e34 !important; +} + .bg-danger { + background-color: #dc3545 !important; +} + a.bg-danger:hover, a.bg-danger:focus, button.bg-danger:hover, button.bg-danger:focus { + background-color: #bd2130 !important; +} + .bg-light { + background-color: #f8f9fa !important; +} + a.bg-light:hover, a.bg-light:focus, button.bg-light:hover, button.bg-light:focus { + background-color: #dae0e5 !important; +} + .bg-transparent { + background-color: transparent !important; +} + .border { + border: 1px solid var(--gray-400) !important; +} + .border-top { + border-top: 1px solid var(--gray-400) !important; +} + .border-bottom { + border-bottom: 1px solid var(--gray-400) !important; +} + .border-left { + border-left: 1px solid var(--gray-400) !important; +} + .border-0 { + border: 0 !important; +} + .border-bottom-0 { + border-bottom: 0 !important; +} + .border-warning { + border-color: #ffc107 !important; +} + .border-white { + border-color: #fff !important; +} + .rounded { + border-radius: 0.35rem !important; +} + .rounded-lg { + border-radius: 0.3rem !important; +} + .rounded-circle { + border-radius: 50% !important; +} + .d-none { + display: none !important; +} + .d-inline-block { + display: inline-block !important; +} + .d-flex { + display: flex !important; +} + .d-inline-flex { + display: inline-flex !important; +} + @media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-flex { + display: flex !important; + } +} + @media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-flex { + display: flex !important; + } +} + @media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-flex { + display: flex !important; + } +} + .embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + .embed-responsive::before { + display: block; + content: ""; +} + .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + .embed-responsive-16by9::before { + padding-top: 56.25%; +} + .flex-row { + flex-direction: row !important; +} + .flex-column { + flex-direction: column !important; +} + .flex-row-reverse { + flex-direction: row-reverse !important; +} + .flex-wrap { + flex-wrap: wrap !important; +} + .flex-nowrap { + flex-wrap: nowrap !important; +} + .flex-grow-1 { + flex-grow: 1 !important; +} + .flex-shrink-0 { + flex-shrink: 0 !important; +} + .justify-content-end { + justify-content: flex-end !important; +} + .justify-content-center { + justify-content: center !important; +} + .justify-content-between { + justify-content: space-between !important; +} + .justify-content-around { + justify-content: space-around !important; +} + .align-items-end { + align-items: flex-end !important; +} + .align-items-center { + align-items: center !important; +} + @media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } +} + .float-right { + float: right !important; +} + .overflow-auto { + overflow: auto !important; +} + .position-relative { + position: relative !important; +} + .position-absolute { + position: absolute !important; +} + .fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + .fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + @supports (position: sticky) { + .sticky-top { + position: sticky; + top: 0; + z-index: 1020; + } +} + .shadow-sm { + box-shadow: 0 0.1px 3px 0 rgba(0, 0, 0, 0.05), 0 0.1px 2px 0 rgba(0, 0, 0, 0.03) !important; +} + .shadow { + box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05) !important; +} + .shadow-none { + box-shadow: none !important; +} + .w-100 { + width: 100% !important; +} + .h-100 { + height: 100% !important; +} + .stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + .m-0 { + margin: 0 !important; +} + .mt-0, .my-0 { + margin-top: 0 !important; +} + .mr-0, .mx-0 { + margin-right: 0 !important; +} + .mb-0, .my-0 { + margin-bottom: 0 !important; +} + .ml-0, .mx-0 { + margin-left: 0 !important; +} + .m-1 { + margin: 0.25rem !important; +} + .mt-1, .my-1 { + margin-top: 0.25rem !important; +} + .mr-1, .mx-1 { + margin-right: 0.25rem !important; +} + .mb-1, .my-1 { + margin-bottom: 0.25rem !important; +} + .ml-1, .mx-1 { + margin-left: 0.25rem !important; +} + .mt-2, .my-2 { + margin-top: 0.5rem !important; +} + .mr-2, .mx-2 { + margin-right: 0.5rem !important; +} + .mb-2, .my-2 { + margin-bottom: 0.5rem !important; +} + .ml-2, .mx-2 { + margin-left: 0.5rem !important; +} + .mt-3, .my-3 { + margin-top: 1rem !important; +} + .mr-3, .mx-3 { + margin-right: 1rem !important; +} + .mb-3, .my-3 { + margin-bottom: 1rem !important; +} + .ml-3, .mx-3 { + margin-left: 1rem !important; +} + .m-4 { + margin: 1.5rem !important; +} + .mt-4, .my-4 { + margin-top: 1.5rem !important; +} + .mr-4, .mx-4 { + margin-right: 1.5rem !important; +} + .mb-4, .my-4 { + margin-bottom: 1.5rem !important; +} + .ml-4, .mx-4 { + margin-left: 1.5rem !important; +} + .mt-5, .my-5 { + margin-top: 3rem !important; +} + .mb-5, .my-5 { + margin-bottom: 3rem !important; +} + .mb-6, .my-6 { + margin-bottom: 3.5rem !important; +} + .mt-8, .my-8 { + margin-top: 10rem !important; +} + .mb-8, .my-8 { + margin-bottom: 10rem !important; +} + .p-0 { + padding: 0 !important; +} + .pt-0, .py-0 { + padding-top: 0 !important; +} + .pr-0, .px-0 { + padding-right: 0 !important; +} + .pb-0, .py-0 { + padding-bottom: 0 !important; +} + .pl-0, .px-0 { + padding-left: 0 !important; +} + .pr-1, .px-1 { + padding-right: 0.25rem !important; +} + .py-1, .pb-1 { + padding-bottom: 0.25rem !important; +} + .pl-1, .px-1 { + padding-left: 0.25rem !important; +} + .p-2 { + padding: 0.5rem !important; +} + .pt-2, .py-2 { + padding-top: 0.5rem !important; +} + .pr-2, .px-2 { + padding-right: 0.5rem !important; +} + .pb-2, .py-2 { + padding-bottom: 0.5rem !important; +} + .pl-2, .px-2 { + padding-left: 0.5rem !important; +} + .p-3 { + padding: 1rem !important; +} + .pt-3, .py-3 { + padding-top: 1rem !important; +} + .pr-3, .px-3 { + padding-right: 1rem !important; +} + .pb-3, .py-3 { + padding-bottom: 1rem !important; +} + .pl-3, .px-3 { + padding-left: 1rem !important; +} + .p-4 { + padding: 1.5rem !important; +} + .pt-4, .py-4 { + padding-top: 1.5rem !important; +} + .pb-4, .py-4 { + padding-bottom: 1.5rem !important; +} + .p-5 { + padding: 3rem !important; +} + .pt-5, .py-5 { + padding-top: 3rem !important; +} + .pb-5, .py-5 { + padding-bottom: 3rem !important; +} + .pt-7, .py-7 { + padding-top: 5rem !important; +} + .pb-7, .py-7 { + padding-bottom: 5rem !important; +} + .mt-n3 { + margin-top: -1rem !important; +} + .mt-n6 { + margin-top: -3.5rem !important; +} + .m-auto { + margin: auto !important; +} + .mt-auto, .my-auto { + margin-top: auto !important; +} + .mr-auto, .mx-auto { + margin-right: auto !important; +} + .mb-auto, .my-auto { + margin-bottom: auto !important; +} + .ml-auto, .mx-auto { + margin-left: auto !important; +} + @media (min-width: 576px) { + .mb-sm-5 { + margin-bottom: 3rem !important; + } +} + @media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mr-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mt-md-3, .my-md-3 { + margin-top: 1rem !important; + } + .mb-md-3, .my-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .py-md-0 { + padding-top: 0 !important; + } + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0 { + padding-left: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .py-md-8 { + padding-top: 10rem !important; + } + .py-md-8 { + padding-bottom: 10rem !important; + } + .my-md-auto { + margin-top: auto !important; + } + .my-md-auto { + margin-bottom: auto !important; + } +} + @media (min-width: 992px) { + .mx-lg-5 { + margin-right: 3rem !important; + } + .mx-lg-5 { + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + } + .mx-lg-auto { + margin-left: auto !important; + } +} + .text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + .text-left { + text-align: left !important; +} + .text-right { + text-align: right !important; +} + .text-center { + text-align: center !important; +} + @media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-center { + text-align: center !important; + } +} + .text-lowercase { + text-transform: lowercase !important; +} + .text-uppercase { + text-transform: uppercase !important; +} + .text-capitalize { + text-transform: capitalize !important; +} + .font-weight-normal { + font-weight: 400 !important; +} + .font-weight-bold { + font-weight: 600 !important; +} + .font-weight-bolder { + font-weight: 700 !important; +} + .font-italic { + font-style: italic !important; +} + .text-white { + color: #fff !important; +} + .text-primary { + color: var(--primary) !important; +} + a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + .text-success { + color: #38A169 !important; +} + a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + .text-info { + color: #17a2b8 !important; +} + a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + .text-warning { + color: #ffc107 !important; +} + a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + .text-danger { + color: #dc3545 !important; +} + a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + .text-muted { + color: #6c757d !important; +} + .text-decoration-none { + text-decoration: none !important; +} + .text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + .visible { + visibility: visible !important; +} + .invisible { + visibility: hidden !important; +} + @media print { + *, *::before, *::after { + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, img { + page-break-inside: avoid; + } + p, h2, h3 { + orphans: 3; + widows: 3; + } + h2, h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, .table th { + background-color: #fff !important; + } + .table .thead-dark th { + color: inherit; + border-color: var(--gray-400); + } +} + html { + font-size: 14px; +} + @supports (font-variation-settings: normal) { + html { + font-family: "Inter var", sans-serif; + } +} + body { + color: var(--black); + padding-top: 49px; + background-color: var(--gray-700); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + @media (min-width: 1200px) { + .container { + max-width: 1300px; + } +} + p { + font-size: 14px; +} + pre { + white-space: pre-wrap; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; +} + #settings, #submit { + padding-top: 98px; + background-color: var(--gray-600); +} + #page { + padding-top: 49px; + background-color: var(--gray-700); +} + #article { + padding-top: 0; + background-color: var(--gray-700); +} + #thread, #userpage { + background-color: var(--gray-700); +} + #article .navbar-light .navbar-nav .nav-link { + color: var(--black); +} + #article .navbar-light .navbar-nav .nav-link:hover { + background-color: transparent; + color: var(--primary); +} + #article .navbar-light .navbar-nav .nav-link:focus { + background-color: transparent; + color: var(--primary); +} + .article-title { + margin-bottom: 3rem; + font-weight: 600; + line-height: 3rem; + margin-top: 2rem; +} + #thread .custom-gutters { + padding: 0 10px; +} + .custom-gutters { + padding-left: 10px; + padding-right: 10px; +} + .sticky { + position: -webkit-sticky; + position: sticky; + top: 47px; + height: auto; + overflow-y: auto; + z-index: 4; +} + .text-lg { + font-size: 1.25rem !important; +} + .text-base { + font-size: 1rem !important; +} + .text-small { + font-size: 12px !important; +} + .text-small-extra { + font-size: 10.1px !important; +} + #page p { + font-size: 16px; +} + a.dropdown-toggle:hover { + text-decoration: none; +} + .comment-text ul li ul { + padding-left: 0; +} + ul.no-bullets { + list-style-type: none; +} + ol > li { + list-style-type: none; + counter-increment: count; + margin-bottom: 0.75rem; +} + ol > li::before { + content: counter(count) "."; + font-weight: 600; + margin-right: 0.5rem; +} + .footer .list-inline-item:not(:last-child) { + margin-right: 1.5rem; +} + [data-bs-toggle=collapse] .fa:before { + content: "\f139"; +} + [data-bs-toggle=collapse].collapsed .fa:before { + content: "\f13a"; +} + .btn { + font-weight: 600; + font-size: 1rem; + border-radius: 0.2rem; +} + .btn-lg { + font-size: 1rem; +} + .btn.disabled, .btn:disabled { + opacity: 0.5; +} + .btn-success, .btn-danger { + color: var(--white); +} + .btn.login, .btn.register { + height: calc(1.5em + 0.75rem + 2px); + border-radius: 0.35rem; +} + .tooltip { + font-weight: 600; +} + .tooltip-inner { + background-color: var(--white); + color: var(--dark); +} + .alert { + padding: 0.5rem 1rem; +} + .alert-dismissible .close { + padding: 0.5rem 1.25rem; + bottom: 0; +} + .alert-dismissible .close .fa, .alert-dismissible .close .fas, .alert-dismissible .close .far, .alert-dismissible .close .fab { + margin-right: 0rem; +} + .alert .fa, .alert .fas, .alert .far, .alert .fab { + margin-right: 0.5rem; +} + .toast { + font-size: 1rem; + font-weight: 600; + color: var(--black); + border: 0; + display: none; + position: fixed; + bottom: 1.5rem; + margin: 0 auto; + left: 1.5rem; + right: 0; + width: 300px; + z-index: 1041; + background-color: var(--dark); +} + .navbar-light { + background-color: var(--gray-500) !important; + box-shadow: 0 0.1px 2px rgba(0, 0, 0, 0.15), 0 0 2px rgba(0, 0, 0, 0.1) !important; +} + .navbar-toggler-icon { + width: auto; + height: auto; +} + .navbar-toggler-icon, .navbar-dark .navbar-toggler-icon, .navbar-light .navbar-toggler-icon { + background: transparent; +} + .navbar-toggler, .navbar-dark .navbar-toggler, .navbar-light .navbar-toggler { + border: none; +} + .navbar-expand-md .navbar-nav .nav-link { + padding-left: 1rem; + padding-right: 1rem; +} + #page .navbar-light .navbar-nav .nav-link { + color: var(--dark); +} + #page .navbar-light .navbar-nav .nav-link:hover { + background-color: transparent; + color: var(--primary); +} + .navbar-brand, .navbar-light .navbar-brand { + color: var(--primary); + font-weight: 600; +} + .navbar-dark .navbar-brand { + color: var(--white); +} + .navbar .text-white { + color: var(--white); +} + .tab-bar { + box-shadow: inset 0 -0.1px 0 var(--gray-400); + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; + padding: 0.75rem 1rem 0 1rem; + background-color: var(--light); + z-index: 5; +} + .navbar-nav .nav-link { + padding: 0.25rem 0.5rem; +} + .navbar-expand-md .navbar-nav .nav-link { + padding: 0.25rem 0.5rem; +} + .navbar-light .navbar-nav .nav-link, .navbar-light .navbar-nav .nav-link:hover { + color: var(--black); +} + .navbar-light .navbar-nav .nav-link:hover { + border-radius: 0.35rem; +} + .navbar-light .navbar-nav .nav-link:focus { + background-color: rgba(0, 0, 0, 0.15); + border-radius: 0.35rem; +} + .navbar-light .navbar-nav .nav-link:active .fa, .navbar-light .navbar-nav .nav-link:active .fas, .navbar-light .navbar-nav .nav-link:active .far, .navbar-light .navbar-nav .nav-link:active .fab { + color: var(--primary); + text-align: center; + font-size: 1rem; +} + .navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { + color: var(--white); + text-align: center; + font-size: 1rem; +} + .navbar-light .navbar-nav .btn-primary.nav-link { + color: var(--white); +} + .navbar-dark .navbar-nav .nav-link { + color: var(--white); +} + .navbar-dark .navbar-nav .nav-link:hover { + background-color: rgba(0, 0, 0, 0.15); + border-radius: 0.35rem; +} + .navbar-dark .navbar-nav .show > .nav-link:focus, .navbar-dark .navbar-nav .show > .nav-link:active, .navbar-dark .navbar-nav .show > .nav-link:hover { + background-color: var(--light); + border-radius: 0.35rem; +} + .navbar-dark .navbar-nav .nav-link .fa, .navbar-dark .navbar-nav .nav-link .fas, .navbar-dark .navbar-nav .nav-link .far, .navbar-dark .navbar-nav .nav-link .fab { + color: var(--white); + text-align: center; + font-size: 1.25rem; +} + .navbar-dark .navbar-nav .show > .nav-link:focus .fa, .navbar-dark .navbar-nav .show > .nav-link:focus .fas, .navbar-dark .navbar-nav .show > .nav-link:focus .far, .navbar-dark .navbar-nav .show > .nav-link:focus .fab { + color: var(--black); +} + .navbar-dark .navbar-nav .nav-link:hover:active .fa, .navbar-dark .navbar-nav .nav-link:hover:active .fas, .navbar-dark .navbar-nav .nav-link:hover:active .far, .navbar-dark .navbar-nav .nav-link:hover:active .fab { + color: var(--white); +} + .post-nav .nav-link { + color: var(--muted); + font-size: 1rem; + font-weight: 600; + padding: 0.75rem 1rem; +} + .settings-nav .nav-link { + color: var(--gray-200); + font-size: 1rem; + font-weight: 400; + padding: 0.75rem 1rem; +} + .post-nav > .nav-item > .nav-link.active { + color: var(--primary); +} + .settings-nav > .nav-item > .nav-link.active { + color: var(--primary); + box-shadow: inset 0 -2px 0 var(--primary); +} + .post-nav .nav-link:hover, .post-nav .nav-link:focus, .settings-nav .nav-link:hover, .settings-nav .nav-link:focus { + color: var(--primary); +} + .post-nav .nav-link:hover .fa, .post-nav .nav-link:focus .fa, .post-nav .nav-link:hover .fas, .post-nav .nav-link:focus .fas, .post-nav .nav-link:hover .far, .post-nav .nav-link:focus .far, .post-nav .nav-link:hover .fab, .post-nav .nav-link:focus .fab { + color: var(--primary); +} + .post-nav > .nav-item > .nav-link.active .fa, .post-nav > .nav-item > .nav-link.active .fas, .post-nav > .nav-item > .nav-link.active .far, .post-nav > .nav-item > .nav-link.active .fab { + color: var(--primary); +} + .post-nav .fa, .post-nav .fas, .post-nav .far, .post-nav .fab, .post-nav .fal { + font-size: 12px; + margin-right: 0.5rem; + color: var(--muted); +} + .settings-nav > .nav-item > .nav-link.active { + color: var(--primary); + box-shadow: inset 0 -2px 0 var(--primary); +} + .settings-nav > .nav-item > .nav-link.active .fa, .settings-nav > .nav-item > .nav-link.active .fas, .settings-nav > .nav-item > .nav-link.active .far, .settings-nav > .nav-item > .nav-link.active .fab { + color: var(--primary); +} + .settings-nav .fa, .settings-nav .fas, .settings-nav .far, .settings-nav .fab, .settings-nav .fal { + font-size: 16px; + color: var(--muted); +} + .color-picker input[type=radio] { + display: none; +} + label.color-radio { + display: inline-block; + width: 25px; + height: 25px; + margin: 0.5rem 1rem 0.5rem 0; + cursor: pointer; +} + label.color-radio span { + display: block; + width: 100%; + height: 100%; + border-radius: 100%; + text-align: center; + line-height: 2.25; +} + #page .nav-pills .nav-link { + border-radius: 0; + font-size: 1rem; + font-weight: 600; + color: var(--muted); + border-bottom: 2px solid transparent; + padding: 1rem 1.5rem; +} + #page .nav-pills .nav-link:hover { + color: var(--primary); +} + #page .nav-pills .nav-link.active, .nav-pills .show > .nav-link { + color: var(--primary); + background-color: transparent; + transition: ease 0.25s; + border-bottom: 2px solid var(--primary); +} + #page .bg-light .nav-pills .nav-link.active, .bg-light .nav-pills .show > .nav-link { + color: var(--primary); + background-color: transparent; + transition: ease 0.25s; + border-bottom: 2px solid var(--primary); +} + .form-inline.search .form-control:hover, .form-inline.search .form-control:active, .form-inline.search .form-control:focus { + border-color: var(--primary); +} + .form-inline.search .form-control:active, .form-inline.search .form-control:focus { + background-color: var(--gray-900); + color: var(--black); +} + .form-inline.search .form-control, .form-control[readonly] { + background-color: var(--gray-800); + font-size: 1rem; + color: var(--white); +} + .form-inline.search .input-group-append .input-group-text .fa.fa-search { + color: var(--black); +} + .form-inline.search .form-control::placeholder { + color: var(--black); +} + .form-inline.search .form-control::-ms-input-placeholder { + color: var(--black); +} + .form-inline.search .form-control::-ms-input-placeholder { + color: var(--black); +} + .form-inline.search .form-control:active::placeholder, .form-inline.search .form-control:focus::placeholder { + color: var(--black); +} + .form-inline.search .form-control:active::-ms-input-placeholder, .form-inline.search .form-control:focus::-ms-input-placeholder { + color: var(--black); +} + .form-inline.search .form-control:active::-ms-input-placeholder, .form-inline.search .form-control:focus::-ms-input-placeholder { + color: var(--black); +} + .form-control { + color: var(--muted); + border-color: var(--muted); + border-width: 2px; + background: #dee2e6; + transition: none; +} + .form-control:disabled, .form-control[readonly] { + background-color: var(--dark); +} + .form-control:hover { + color: var(--black); + background-color: var(--gray-600); + outline: 0; + border-color: var(--primary); + box-shadow: none; +} + .form-control:focus, .form-control:active { + color: var(--black); + background-color: var(--gray-900); + outline: 0; + border-color: var(--primary); + box-shadow: none; +} + .form-control::placeholder { + color: var(--black); +} + .form-control::-ms-input-placeholder { + color: var(--black); +} + .form-control::-ms-input-placeholder { + color: var(--black); +} + label { + text-transform: uppercase; + font-weight: 600; + font-size: 12px; + letter-spacing: 0.025rem; + color: var(--black); +} + #login label { + color: var(--black); +} + label.terms { + font-weight: normal; + text-transform: none; + font-size: 13px; + color: var(--black); + vertical-align: middle; + padding: 0.1rem 0; +} + .dropdown-menu { + padding: 0.5rem; + color: var(--white); + background-color: var(--gray-600); +} + .dropdown-item { + padding: 0.5rem 1rem; + border-radius: 0.35rem; + color: var(--black); +} + .dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active { + color: var(--black); + text-decoration: none; + background-color: var(--gray-300); +} + .dropdown-item:hover .fas, .dropdown-item:focus .fas, .dropdown-item.active .fas, .dropdown-item:hover .far, .dropdown-item:focus .far, .dropdown-item.active .far .dropdown-item:hover .fa, .dropdown-item:focus .fa, .dropdown-item.active .fa { + color: var(--black); +} + small, .small { + font-size: 12px; +} + th { + font-weight: 600; +} + .fa-rotate--45 { + -webkit-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + transform: rotate(-45deg); +} + .icon::before { + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + -webkit-font-smoothing: antialiased; +} + .format .fa-bold:hover, .format .fa-italic:hover, .format .fa-quote-right:hover, .format .fa-link:hover, .format .fa-image:hover { + color: var(--black); +} + .voting { + position: relative; + z-index: 2; + font-size: 12px; + font-weight: 600; + text-align: center; + word-break: keep-all; + min-width: 40px; +} + #thread .voting { + min-width: 10px; + margin-right: 10px; + overflow-wrap: normal; +} + #frontpage .voting, #search .voting, #userpage .voting { + margin: auto 0; +} + .active.arrow-up::before { + color: var(--primary); +} + .arrow-up::before { + cursor: pointer; + font-size: 1.3rem; + color: var(--gray-200); + font-family: "font awesome 5 pro" !important; + font-weight: 900; + content: "\f357"; +} + .arrow-up:hover::before { + color: var(--primary); + opacity: 0.5; +} + .active.arrow-down::before { + color: #38B2AC; +} + .arrow-down::before { + cursor: pointer; + font-size: 1.3rem; + color: var(--gray-200); + font-family: "font awesome 5 pro" !important; + font-weight: 900; + content: "\f354"; +} + .arrow-down:hover::before { + color: #38B2AC; + opacity: 0.5; +} + .comment-actions .arrow-up { + top: 0; +} + .comment-actions .arrow-down { + bottom: 0; +} + .upvoted .arrow-mobile-up { + color: var(--primary) !important; +} + .downvoted .arrow-mobile-down { + color: #38B2AC !important; +} + .comment-actions .score { + color: var(--muted); +} + .score { + color: var(--black); + font-size: 1.1rem; +} + .score-up { + color: var(--primary) !important; + font-size: 1.1rem; +} + .score-down { + color: #38B2AC !important; + font-size: 1.1rem; +} + .box-shadow-bottom { + box-shadow: inset 0 -0.1px 0 var(--gray-400); +} + .border-1 { + border-width: 0.1px; + border-style: solid; +} + .border-2 { + border-width: 2px; + border-style: solid; +} + .border-3 { + border-width: 3px; + border-style: solid; +} + .opacity-25 { + opacity: 0.25; +} + .pseudo-submit-form .card-header { + background-color: var(--gray-600) !important; +} + #frontpage .pseudo-submit-form.card, #search .search-results.card { + background-color: var(--gray-600); + border-radius: 0.35rem; + border: none; +} + #frontpage .pseudo-submit-form.card .card-body, #search .search-results.card .card-body { + padding-left: 10px; + padding-right: 10px; +} + #frontpage .pseudo-submit-form.card .card-body .form-control { + background-color: var(--light); +} + #frontpage .pseudo-submit-form.card .card-body .form-control:hover, #frontpage .pseudo-submit-form.card .card-body .form-control:active, #frontpage .pseudo-submit-form.card .card-body .form-control:focus { + background-color: var(--light); +} + .user-name { + color: inherit; +} + .banner-pic-135 { + object-fit: cover; + height: 135px; + max-width: 572px; + width: 572px; +} + .profile-pic { + width: 50px; + height: 50px; + border-radius: 50%; + margin: auto; + text-align: center; + object-fit: cover; + color: var(--white); + background-color: #1f2023; +} + .navbar .navbar-nav .profile-pic { + display: inline-block; + width: 28px; + height: 28px; +} + .profile-pic-20, .pp20 { + margin-right: 0.25rem !important; + width: 20px; + height: 20px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + .profile-pic-25 { + width: 25px; + height: 25px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + .profile-pic-35 { + width: 35px; + height: 35px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + .profile-pic-50 { + width: 50px; + height: 50px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + .profile-pic-65 { + width: 65px; + height: 65px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + .profile-pic-75 { + width: 75px; + height: 75px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + .profile-pic-100 { + width: 100px; + height: 100px; + border-radius: 50%; + text-align: center; + object-fit: cover; + background-color: var(--gray-600); +} + .card-header:first-child { + border-radius: 0.35rem 0.35rem 0 0; +} + .card-header { + font-size: 1rem; + font-weight: 600; + color: var(--black); + padding: 0.5rem 1rem; + border-bottom: 0.1px solid var(--gray-400); +} + .card { + background-color: var(--gray-900); +} + #thread .card { + background-color: var(--gray-700); +} + #frontpage .posts .card:first-of-type, #userpage .posts .card:first-of-type, #search .posts .card:first-of-type { + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; +} + #frontpage .posts .card, #userpage .posts .card, #search .posts .card { + border-width: 0.1px 0.1px 0 0.1px; + border-color: #303030; + border-style: solid; + border-radius: 0; + padding: 0.5rem; +} + #frontpage .posts .card:hover, #userpage .posts .card:hover, #search .posts .card:hover { + background-color: var(--gray-600); +} + .post-title { + font-size: 16px; + font-weight: 600; + word-break: break-word; + overflow: hidden; +} + .post-title a { + color: var(--black); +} + .post-title a:hover, .post-title a:active, .post-title a:focus { + text-decoration: none; + color: var(--primary); +} + #frontpage .post-title a { + color: var(--black); +} + #frontpage .post-title a:hover, #frontpage .post-title a:active, #frontpage .post-title a:focus { + text-decoration: none; + color: var(--black); +} + .stretched-link a:hover { + color: #6f42c1; +} + .post-meta { + position: relative; + z-index: 2; + color: var(--muted); + font-size: 12px; + width: fit-content; +} + #frontpage .posts .card .card-footer, #userpage .posts .card .card-footer, #thread .card .card-footer, #search .posts .card .card-footer { + border: 0; + background-color: transparent; + padding: 0; +} + .post-body { + word-break: break-word; + overflow: hidden; +} + .modal-backdrop.show { + opacity: 1; + background-color: rgba(30, 30, 30, 0.9); +} + .modal-backdrop { + background-color: transparent; +} + .modal-header { + border-bottom: none; + border-top-left-radius: 0.35rem; + border-top-right-radius: 0.35rem; + padding: 0.5rem 1rem; + box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05); +} + .modal-header .close { + padding: 1.25rem 1rem 1.25rem 0.5rem; +} + .modal-content { + border: none; + background-color: var(--gray-400); + border-radius: 0.35rem; + box-shadow: 0 0.1px 3px rgba(190, 113, 113, 0.05), 0 0 0 0.1px rgba(0, 0, 0, 0.05); +} + .modal-footer { + border: none; + border-bottom-right-radius: 0.35rem; + border-bottom-left-radius: 0.35rem; +} + .modal .post-actions .list-group-item { + border: none; + border-radius: 0.35rem; + background-color: var(--gray-400); +} + .modal .post-actions .list-group-item:focus, .modal .post-actions .list-group-item:hover { + background-color: var(--gray-300); +} + .modal .post-actions a { + color: var(--black); + font-size: 1rem; +} + .modal .post-actions .fa, .modal .post-actions .fas, .modal .post-actions .far { + width: 1.25rem; + font-size: 1rem; +} + .post-actions { + position: relative; + color: var(--muted); + font-weight: 600; + font-size: 12px; + z-index: 3; +} + .post-actions .fa, .post-actions .fas, .post-actions .far { + font-size: 12px; + margin-right: 0.5rem; + width: 1rem; +} + .post-actions .voting .fa, .post-actions .voting .fas, .post-actions .voting .far { + color: inherit; +} + .post-actions .dropdown-item:active .fa, .post-actions .dropdown-item:active .fas { + color: var(--black); +} + .post-actions .dropdown-item:hover .fa, .post-actions .dropdown-item:hover .fas { + color: var(--gray); +} + .post-actions a:hover .fa, .post-actions a:hover .fas { + color: var(--black); +} + .post-actions:hover, .post-actions:focus { + z-index: 4; +} + .post-actions .copy-link:hover { + color: var(--black); +} + .post-actions .fas.fa-ellipsis-h, .post-actions .far.fa-ellipsis-h { + font-size: 1.25rem; + vertical-align: middle; +} + .post-actions .list-inline { + margin-bottom: 0; +} + .post-actions .list-inline .list-inline-item { + margin-right: 1rem; +} + .post-actions .list-inline .list-inline-item:last-child { + margin-right: 0; +} + .close .far, .close .fab, .close .fal, .close .fas { + font-size: 1.25rem; +} + @media (max-width: 767.98px) { + .modal-dialog { + margin: auto; + max-width: 80%; + } +} + .dropdown-actions { + position: relative; + color: var(--muted); + font-weight: 600; + font-size: 12px; + z-index: 3; +} + .dropdown-actions .fa, .dropdown-actions .fas, .dropdown-actions .far { + font-size: 12px; + color: var(--muted); + margin-right: 0.5rem; + width: 1rem; + text-align: center; +} + .dropdown-actions .voting .fa, .dropdown-actions .voting .fas, .dropdown-actions .voting .far { + color: inherit; +} + .dropdown-actions .dropdown-item:active .fa, .dropdown-actions .dropdown-item:active .fas { + color: var(--black); +} + .dropdown-actions .dropdown-item:hover .fa, .dropdown-actions .dropdown-item:hover .fas { + color: var(--black); +} + .dropdown-actions a:hover .fa, .dropdown-actions a:hover .fas { + color: var(--black); +} + .dropdown-actions:hover, .dropdown-actions:focus { + z-index: 4; +} + .dropdown-actions .copy-link:hover { + color: var(--black); +} + .dropdown-actions .fas.fa-ellipsis-h, .dropdown-actions .far.fa-ellipsis-h { + font-size: 1.25rem; + vertical-align: middle; +} + .dropdown-actions .list-inline { + margin-bottom: 0; +} + .dropdown-actions .list-inline .list-inline-item { + margin-right: 1rem; +} + .dropdown-actions .list-inline .list-inline-item:last-child { + margin-right: 0; +} + .page-link { + font-weight: 600; + background-color: var(--dark); + border: 0.1px solid #343a40; +} + .page-link:hover { + background-color: var(--gray-100); +} + .page-item.disabled .page-link { + font-weight: 600; + background-color: var(--dark); + border: 0.1px solid #343a40; + opacity: 0.5; +} + @media (max-width: 767.98px) { + .post-actions .list-inline .list-inline-item { + margin-right: 1.5rem; + margin-top: 5px; + } + .post-actions .list-inline .list-inline-item:last-child { + margin-right: 0; + } +} + .post-actions .list-inline .list-inline-item .dropdown-item { + font-size: 1rem; +} + .post-actions .list-inline .list-inline-item .dropdown-item:active { + color: var(--white); +} + .post-actions a { + color: var(--gray-100); + text-decoration: none; + text-transform: none; +} + .post-actions a:hover { + color: var(--black); +} + .post-actions .dropdown-item:hover { + color: var(--black); +} + .post-img { + width: 100px; + height: 70px; + object-fit: cover; + border: 0.1px solid var(--primary); + border-radius: 0.35rem; + z-index: 2; + background-color: var(--gray-300); +} + @media (max-width: 767.98px) { + .post-img { + width: 80px; + height: 60px; + } +} + .post-actions .comments, .post-actions .share, .post-actions .flag { + margin-right: 0.5rem; + vertical-align: top; +} + .time-stamp, .points { + color: var(--muted); +} + .comments-count { + display: flex; +} + .comments-count .total { + font-weight: 600; + font-size: 12px; + color: var(--muted); +} + .comment { + display: flex; + position: relative; + margin-top: 2rem; + padding-left: 12px; +} + #notifications .comment, #userpage .comment { + margin-top: 0.5rem; + margin-bottom: 1rem; +} + #notifications .comment:last-child, #userpage .comment:last-child { + margin-bottom: 0; +} + .comment .comment-body { + width: 100%; +} + .comment .comment-body .user-info { + font-size: 12px; + color: var(--muted); + margin-bottom: 0.25rem; + margin-top: -0.25rem; +} + .comment .comment-body .user-name { + color: var(--black); +} + .comment .comment-body .comment-text { + margin-bottom: 1rem; + word-break: break-word; + color: var(--black); + overflow: hidden; + padding-right: 10px !important; + padding-top: 5px !important; +} + .modal .comment-actions .list-group-item { + border: none; + border-radius: 0.35rem; + background-color: var(--gray-400); +} + .modal .comment-actions .list-group-item:focus, .modal .comment-actions .list-group-item:hover { + background-color: var(--gray-300) !important; +} + .modal .comment-actions a { + color: var(--gray-100); + font-size: 1rem; +} + .modal .comment-actions .fa, .modal .comment-actions .fas, .modal .comment-actions .far { + width: 1.25rem; + font-size: 1rem; +} + .comment-section { + background-color: var(--gray-700); +} + .comment p { + word-break: break-word; +} + .comment-actions { + font-weight: 600; + font-size: 12px; + margin-bottom: 0; +} + .comment-actions .fa, .comment-actions .fas, .comment-actions .far { + font-size: 12px; + margin-right: 0.25rem; + margin-left: 0.25rem; + color: var(--gray-100); +} + @media (min-width: 768px) { + .comment-actions .fa, .comment-actions .fas, .comment-actions .fa { + margin-right: 0.5rem; + margin-left: 0; + } +} + .comment-actions .dropdown-item:active .fa, .comment-actions .dropdown-item:active .fas, .comment-actions .dropdown-item:active .far { + color: var(--black); +} + .comment-actions .dropdown-item:hover .fa, .comment-actions .dropdown-item:hover .fas, .comment-actions .dropdown-item:hover .far { + color: var(--black); +} + .comment-actions a:hover .fa, .comment-actions a:hover .fas, .comment-actions a:hover .far { + color: var(--black); +} + .comment-actions .fas.fa-ellipsis-h { + font-size: 1.25rem; + vertical-align: bottom; +} + .comment-actions .list-inline { + margin-bottom: 0; +} + .comment-actions .list-inline li .btn, .comment-actions .list-inline .btn { + margin-right: 0.5rem; + box-shadow: none; + border: none; + font-size: 12px; +} + .comment-actions .list-inline .list-inline-item .dropdown-item { + font-size: 12px; +} + .comment-actions .list-inline .list-inline-item .dropdown-item:active { + color: var(--black); +} + .comment-actions a { + color: var(--gray-100); + text-decoration: none; +} + .comment-actions a:hover, .comment-actions .copy-link:hover { + color: var(--black); +} + .comment-actions .dropdown-item:hover { + color: var(--black); +} + ul.comment-section { + padding-left: 0; + margin-bottom: 0; +} + .comment-write { + position: relative; +} + .comment-write.child { + margin-top: 1rem; +} + .comment-write.collapsed textarea:focus, .comment-write.collapsed textarea:active { + background-color: var(--gray-900); +} + .comment-write.collapsed textarea { + width: 100%; + box-sizing: border-box; + padding: 0.5rem 0.75rem; + min-height: 84px; +} + .comment-format { + display: flex; + align-items: center; + bottom: 0; + left: 0; + padding: 0.5rem 0 0 0; + width: 100%; + z-index: 1; +} + .comment-write .comment-format .format { + padding: 0 0.5rem; + font-size: 1rem; + color: var(--gray-200); +} + .comment-write .comment-format .format:hover { + color: var(--black); +} + .comment .comment-collapse-icon:hover::before { + border-left-color: var(--primary); +} + .comment.collapsed .comment-collapse-icon::before { + content: "\f055"; + font-family: "font awesome 5 pro" !important; + font-weight: 900; + border-left: none; + top: -0.1px; + left: -3px; + font-size: 10px; +} + .comment.collapsed .comment-collapse-icon:hover::before { + color: var(--primary); +} + .comment.collapsed .comment-body p.text, .comment.collapsed div.comment-text, .comment.collapsed .comment-actions, .comment.collapsed .comment-write, .comment.collapsed .comment { + display: none; +} + .comment.collapsed .user-info { + margin-bottom: 0; +} + .comment.collapsed .profile-pic-25 { + opacity: 0.5; +} + .comment.collapsed .comment-body { + opacity: 0.5; +} + .comment.collapsed .comment-body:hover { + opacity: 1; +} + #login { + padding-top: 0; + height: 100%; + overflow: hidden; + background-color: var(--light); +} + .splash-wrapper { + position: relative; + width: 100%; + height: 100%; + font-size: 0; +} + .splash-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(127, 127, 127, 0.25); + background-image: linear-gradient(135deg, rgba(30, 30, 36, 0.1) 0%, var(--primary) 150%); +} + .splash-img { + height: 100%; + width: 100%; + background-size: cover; + background-position: bottom; + object-fit: cover; +} + .pagination { + padding: 1rem 0; +} + .table .thead-dark th { + color: var(--muted); + font-size: 12px; + text-transform: uppercase; + background-color: var(--light); + border: none; +} + .settings .settings-section { + margin-bottom: 3rem; + border: 0.1px solid var(--gray-400); + border-radius: 0.35rem; + overflow: hidden; +} + .settings .settings-section .title, .settings .settings-section .body, .settings .settings-section .footer { + padding: 1rem; +} + .settings .settings-section .title p:last-of-type { + margin-bottom: 0; +} + .settings .settings-section .footer { + background-color: var(--secondary); +} + .modal .profile-actions .list-group-item { + border: none; + border-radius: 0.35rem; +} + .modal .profile-actions .list-group-item:focus, .modal .profile-actions .list-group-item:hover { + background-color: var(--gray-200); +} + .modal .profile-actions a { + color: var(--black); + font-size: 1rem; +} + .modal .profile-actions .fa, .modal .profile-actions .fas, .modal .profile-actions .far { + width: 1.25rem; + font-size: 1rem; +} + .profile-actions a { + color: var(--gray); + text-decoration: none; + font-size: 12px; +} + .profile-actions .fa, .profile-actions .fas, .profile-actions .far { + font-size: 12px; + color: var(--gray); +} + .profile-actions .dropdown-item:hover { + color: var(--black); +} + .profile-actions .dropdown-item { + font-size: 13px; +} + .profile-actions .dropdown .dropdown-menu .dropdown-item .fa, .profile-actions .dropdown .dropdown-menu .dropdown-item .fas, .profile-actions .dropdown .dropdown-menu .dropdown-item .far { + font-size: 12px; + color: var(--gray); + width: 1rem; + margin-right: 0.5rem; + text-align: center; +} + .profile-actions .dropdown-item:active .fa, .profile-actions .dropdown-item:active .fas, .profile-actions .dropdown-item:active .far { + color: var(--black); +} + .profile-actions .dropdown-item:hover .fa, .profile-actions .dropdown-item:hover .fas, .profile-actions .dropdown-item:active .far { + color: var(--black); +} + #page .footer h1, #page .footer h2, #page .footer h3, #page .footer h4, #page .footer h5, #page .footer h6, #article .footer h1, #article .footer h2, #article .footer h3, #article .footer h4, #article .footer h5, #article .footer h6 { + font-weight: 600; +} + #page .footer a, #article .footer a { + color: var(--white); + opacity: 0.8; +} + #page .footer li, #article .footer li { + padding: 0.25rem 0; +} + .footer .list-inline-item { + font-weight: 400; +} + .footer a { + text-decoration: none; + color: var(--muted); +} + .footer a:hover, .footer a:focus, .footer a:active { + text-decoration: underline; +} + .empty-state-img { + width: 200px; + opacity: 0.35; + filter: brightness(0); +} + .ghost { + -webkit-animation: ghost 2s infinite alternate; + animation: ghost 2s infinite alternate; +} + @keyframes ghost { + 0% { + transform: translateY(0); + } + 100% { + transform: translateY(-20px); + } +} + .border-top { + border-top: 1px solid var(--gray-400) !important; +} + .border-bottom { + border-bottom: 1px solid var(--gray-400) !important; +} + .border-left { + border-left: 1px solid var(--gray-400) !important; +} + .border-bottom-0 { + border-bottom: 0 !important; +} + .border { + border: 1px solid var(--gray-400) !important; +} + .border-0 { + border: none !important; +} + .rounded { + border-radius: 0.35rem; +} + .rounded-circle { + border-radius: 50%; +} + @media (min-width: 768px) { + .border-md { + border: 1px solid var(--gray-400) !important; + } + .border-md-0 { + border: none !important; + } + .rounded-md { + border-radius: 0.35rem; + } +} + @media (min-width: 992px) { + .rounded-lg { + border-radius: 0.35rem; + } +} + @media (min-width: 992px) { + .w-lg-25 { + width: 25% !important; + } + .w-lg-75 { + width: 75% !important; + } + .w-lg-100 { + width: 100% !important; + } +} + .submission .body { + padding: 1rem; +} + .submission .footer { + background-color: transparent; + padding: 1rem; + border-bottom-left-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + .custom-control-label { + text-transform: uppercase; + font-weight: 600; + font-size: 1rem; + letter-spacing: 0; + color: var(--black); +} + .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { + background-color: var(--primary); + border: 0.1px solid #6f42c1; +} + .custom-switch { + padding-left: 2.25rem; + padding-bottom: 1rem; +} + .custom-switch .custom-control-label { + padding-top: 0.5rem; + padding-left: 2rem; + padding-bottom: 0.1rem; +} + .custom-control-input:checked ~ .custom-control-label::before { + opacity: 1; + background-color: var(--primary); + border: #38A169 solid 0.1px; +} + .custom-control-input:checked ~ .custom-control-label:hover::before { + opacity: 1; +} + .custom-switch .custom-control-label::before { + left: -2.25rem; + height: 1.5rem; + width: 2.75rem; + pointer-events: all; + border-radius: 1rem; + background-color: var(--gray-100); + border: #f8f9fa solid 0.1px; + opacity: 0.7; +} + .custom-switch .custom-control-label:hover::before { + opacity: 0.85; +} + .custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1.5rem - 4px); + height: calc(1.5rem - 4px); + background-color: var(--light); + border-radius: 2rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + @media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + .custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: var(--white); + -webkit-transform: translateX(1.25rem); + transform: translateX(1.25rem); +} + pre code { + word-break: break-word; + white-space: break-spaces; + color: var(--primary); +} + pre ol > li { + margin-bottom: 0; +} + pre ol > li::before { + color: var(--white); + font-weight: 400; + background-color: transparent; + right: 1rem; + padding: 0.25rem; + text-align: right; + margin-right: 0.5rem; + width: 3rem; +} + pre .str, code .str { + color: #38A169; + opacity: 0.75; +} + pre .com, code .com { + color: #ab4bc3; +} + .gif-categories .card { + overflow: hidden; + border: none; +} + .gif-categories img { + border-radius: 0.35rem; + height: 110px; + width: 100%; + object-fit: cover; + -webkit-transition: all 0.15s ease; + -moz-transition: all 0.15s ease; + -o-transition: all 0.15s ease; + -ms-transition: all 0.15s ease; + transition: all 0.15s ease; +} + .gif-categories img:hover { + border: 3px solid var(--primary); +} + .gif-categories .card .gif-cat-overlay { + position: absolute; + text-align: center; + height: 100%; + width: 100%; + background-color: rgba(0, 0, 0, 0.4); + -webkit-transition: all 0.15s ease; + -moz-transition: all 0.15s ease; + -o-transition: all 0.15s ease; + -ms-transition: all 0.15s ease; + transition: all 0.15s ease; +} + .gif-categories .card:hover .gif-cat-overlay { + background-color: rgba(0, 0, 0, 0.6); + border: 3px solid var(--primary); + border-radius: 0.35rem; +} + @media (max-width: 991.98px) { + #frontpage, #search { + padding-top: 49px; + } +} + @media (max-width: 767.98px) { + html { + font-size: 14px; + } + .container { + overflow: hidden; + max-width: none; + } + body, #settings, #notifications, #submit { + padding-top: 49px; + background-color: var(--gray-700); + } + #thread, #userpage { + background-color: var(--gray-600); + } + .custom-gutters { + padding-left: 0; + padding-right: 0; + } + .navbar.bg-primary { + background-color: var(--dark) !important; + } + .navbar-nav { + height: 100vh; + } + .navbar-nav .nav-link, .navbar-expand-md .navbar-nav .nav-link { + padding: 0.5rem; + } + .navbar-dark .navbar-nav .nav-link:hover { + background-color: transparent; + border-radius: 0; + } + .navbar-dark .navbar-nav .nav-link:active { + background-color: rgba(0, 0, 0, 0.15); + border-radius: 0; + } + .navbar-dark .navbar-nav .nav-link .fa, .navbar-dark .navbar-nav .nav-link .fas, .navbar-dark .navbar-nav .nav-link .far, .navbar-dark .navbar-nav .nav-link .fab { + font-size: 1rem; + } + .navbar-light .navbar-nav .nav-link .fa, .navbar-light .navbar-nav .nav-link .fas, .navbar-light .navbar-nav .nav-link .far, .navbar-light .navbar-nav .nav-link .fab { + color: var(--primary); + font-size: 1.25rem; + } + #fixed-bar-mobile { + box-shadow: none; + } + .mobile-nav-icon { + padding: 0.25rem 0.75rem; + } + #thread, #submit { + background-color: var(--light); + } + #frontpage { + padding-top: 49px; + } + #search .search-results.card { + border-bottom: 0.1px solid var(--gray-400); + border-width: 0 0 0.1px 0; + border-radius: 0; + } + #frontpage .posts .card, #userpage .posts .card, #search .posts .card { + padding: 7px; + border-width: 0 0 0.1px 0; + } + #frontpage .posts .card:first-of-type, #userpage .posts .card:first-of-type, #search .posts .card:first-of-type { + border-radius: 0; + } + #frontpage .posts .card, #userpage .posts .card, #search .posts .card, #userpage .posts .card { + background-color: var(--gray-600); + } + #frontpage .posts .card:hover .post-title a, #search .posts .card:hover .post-title a { + color: var(--primary); + } + #frontpage .posts .card .post-img, #search .posts .card .post-img { + z-index: 3; + } + .toast { + bottom: 1.5rem; + margin: 0 auto; + left: 0; + right: 0; + } + #thread .card { + background-color: var(--gray-600); + } + .card { + background-color: var(--gray-600); + } + .posts, #thread #main-content-col { + box-shadow: none; + border: none; + border-radius: 0; + } + #thread #main-content-col { + margin: 0; + } + .post-title a { + color: var(--black); + } + .post-title a:hover, .post-title a:active, .post-title a:focus { + color: var(--primary); + } + #thread .voting { + min-width: 0; + margin-right: 0; + margin-top: 0; + } + .voting { + font-weight: 400; + font-size: 1.2rem; + } + #frontpage .voting, #search .voting, #userpage .voting { + margin: 0; + } + .post-title { + font-size: 14px; + font-weight: 400; + line-height: normal; + overflow: hidden; + } + .post-meta { + font-size: 1rem; + } + .post-actions { + font-weight: 400; + } + .post-actions a { + font-size: 1rem; + color: var(--gray-200); + } + .post-actions .fa, .post-actions .fas, .post-actions .far { + font-size: 1rem; + } + .post-actions .voting .fa, .post-actions .voting .fas, .post-actions .voting .far { + font-size: 1.25rem; + } + .comment-actions .score { + color: var(--gray-200); + } + .score { + color: var(--gray-200); + } + .arrow-up::before, .arrow-down::before, .arrow-up:hover::before, .arrow-down:hover::before { + font-size: 1.5rem; + color: var(--gray-200); + opacity: 1; + } + .active.arrow-up::before, .active.arrow-up:hover::before { + color: var(--primary); + } + .active.arrow-down::before, .active.arrow-down:hover::before { + color: #38B2AC; + } + .dropdown-actions a { + font-size: 1rem; + } + .dropdown-actions .fa, .dropdown-actions .fas, .dropdown-actions .far { + font-size: 1rem; + } + .comment-section { + background-color: var(--gray-600); + } + .comment-section > .comment { + padding-left: 12px; + } + .comment { + margin-top: 1.5rem; + } + .comment.collapsed .user-info { + padding-top: 0.5rem; + } + .comment.collapsed .comment-body:hover { + opacity: 0.5; + } + .comment-actions .fa, .comment-actions .fas, .comment-actions .far { + color: var(--gray-100); + } + .banner-pic-135 { + max-width: 100%; + } + .x-scroll-parent { + overflow: hidden; + } + .x-scroll { + width: 100%; + overflow-x: scroll; + white-space: nowrap; + scrollbar-width: none; + -ms-overflow-style: none; + } + .x-scroll::-webkit-scrollbar { + width: 100%; + overflow-x: scroll; + white-space: nowrap; + background: transparent; + } + #thread .post-title { + font-size: 16px; + } + #submit .submission { + border: none; + } + #submit .submission .body { + padding: 0; + } + #submit .submission .footer { + background: transparent; + padding: 1rem 0; + } + .footer .list-inline-item { + line-height: 3; + } + .comments-count .total { + font-weight: 400; + font-size: 1rem; + } + .comment-actions { + font-weight: 400; + font-size: 1.2rem; + } + .user-name { + font-weight: 400; + } + .comment .comment-body .user-name { + color: var(--black); + font-weight: 600; + } + .pagination { + padding: 1rem; + } + input[type=color], input[type=date], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], select:focus, textarea { + font-size: 16px !important; + } + textarea, input[type=text] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } +} + .bg-white { + background-color: var(--gray-600) !important; +} + .text-muted { + color: var(--muted) !important; +} + .text-primary { + color: var(--primary) !important; +} + .text-gray-400, .text-gray-500 { + color: var(--gray-200) !important; +} + span.red { + color: var(--primary); +} + span.green { + color: #38A169; +} + div.banned { + background-color: #960000 !important; + border-left: 3px solid #ff0000 !important; +} + div.deleted { + background-color: #4a4a15 !important; +} + div.deleted.banned { + background-color: #964000 !important; +} + .text-admin { + color: var(--primary); +} + .object-cover { + object-fit: cover; +} + .spoiler { + color: var(--white); + background-color: var(--white); + font-weight: 600 !important; + padding: 5px; +} + .spoiler:hover { + color: var(--gray); +} + @media (min-width: 768px) { + .comment { + border-left: 0 !important; + padding-left: 0 !important; + } +} + .comment .comment-collapse-desktop { + padding-right: 20px; + cursor: pointer; +} + .comment .comment-collapse-desktop:hover { + border-left-color: var(--white) !important; +} + .comment.collapsed .comment-collapse-desktop:hover { + color: var(--white) !important; +} + @media (max-width: 767.98px) { + .settings-nav .nav-link { + font-size: 1rem; + padding: 0.75rem 0.6rem; + } +} + .table { + color: var(--white); +} + .comment-box { + border: 2px solid #e9ecef; +} + .btn { + background: transparent; +} + .form-control { + background: transparent; +} + .navbar-light .navbar-nav .nav-link { + border-radius: 5px; +} + .btn-secondary { + color: var(--muted); +} + .btn-primary { + color: var(--muted); +} + .btn-success { + border-color: #38A169 !important; +} + .btn-danger { + border-color: #E53E3E !important; +} + .alert { + color: #000000; +} + .btn-lg { + border-color: transparent !important; +} + @media (max-width: 767.98px) { + .followbutton { + margin-bottom: 10px !important; + } + .comment-actions { + margin-top: -8px; + } +} + .btn-primary:focus, .btn-primary.focus { + box-shadow: none !important; +} + .flaggers { + margin: 7px; + border: 1px solid var(--primary); + padding: 10px; + border-radius: 3px; + background-color: var(--gray-700) !important; +} + .text-info { + color: var(--primary) !important; +} + * { + -webkit-animation: None !important; + animation: None !important; +} + .patron { + padding: 2px 5px 3px 5px !important; + border-radius: 5px !important; + color: white !important; +} + .container, .container-fluid { + background-color: var(--gray-700) !important; + border-radius: 5px !important; +} + .btn { + background-color: var(--gray-700) !important; +} + .nobackground { + background: None !important; +} + textarea { + resize: both !important; +} + .jumbotron-guild { + position: relative; + background-repeat: no-repeat; + background-size: cover; + background-position: center; + border-radius: 0; + overflow: hidden; + margin-bottom: 0; + padding: 0; + display: flex; + align-items: center; + z-index: 1; +} + .jumbotron-guild .jumbotron-overlay { + background-color: rgba(0, 0, 0, 0.7); + position: absolute; + width: 100%; + height: 100%; + bottom: 0; + left: 0; + z-index: -1; + pointer-events: none; +} + @media (max-width: 767.98px) { + .jumbotron-guild { + height: 110px; + } +} + @media (min-width: 767.98px) { + .card-columns { + column-count: 4 !important; + } +} + @media (min-width: 992px) { + .card-columns { + column-count: 5 !important; + } +} + .container, .container-fluid { + padding-bottom: 30px; +} + .navbar { + padding: 0.5rem 0.5rem 0.3rem 0.5rem; +} + @media (min-width: 767.98px) { + .navbar { + padding: 0.5rem 3rem 0.3rem 0.5rem; + } +} + blockquote { + border-left: 2px solid var(--primary); + color: var(--black); + font-size: 1rem; + font-weight: 400; + background-color: #46444a; + padding: 0 1rem; + margin: 0.5rem 0 0 0; +} + div > blockquote:last-child { + margin-bottom: 0.5rem !important; +} + blockquote + blockquote, blockquote:last-child { + margin-top: 0 !important; +} + blockquote + p { + margin-top: 1rem; +} + blockquote p { + margin-bottom: 0; + padding-bottom: 0.7rem; + padding-top: 0.7rem; +} + .unread { + padding: 10px !important; + border: 2px solid var(--primary) !important; +} + @media (min-width: 576px) { + .modal-dialog { + max-width: 50% !important; + margin: 1.75rem auto !important; + } +} + .in-comment-image { + max-height: 150px !important; + max-width: 100% !important; + border-radius: 0.2rem !important; + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + .embedvid { + max-height: 20rem !important; + max-width: 100% !important; + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + .spotify { + max-height: 80px !important; + max-width: 100% !important; + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + .text-pink { + color: #ff66ac !important; +} + .text-purple { + color: #805ad5 !important; +} + .text-black-50 { + color: #808080 !important; +} + .text-orange { + color: orange !important; +} + .text-silver { + color: silver !important; +} + .text-gold { + color: gold !important; +} + .text-lightgreen { + color: lightgreen !important; +} + .text-blue { + color: #1D9BF0 !important; +} + .text-red { + color: #C30F16 !important; +} + .timeline-Widget { + max-height: 500px !important; + overflow-y: scroll !important; +} + .comment .comment-collapse-icon { + padding-right: 10px; +} + .comment .comment-collapse-icon::before { + font-family: "font awesome 5 pro" !important; + color: var(--primary); + display: inline-block; + cursor: pointer; + height: 100%; + width: 10px; + content: "\f056"; + position: static; + font-size: 10px; + font-weight: 900; + border: none; + margin-left: 0.25rem; +} + .text-removed { + color: #ffabab !important; +} + .mirrored { + transform: scaleX(-1); + -webkit-transform: scaleX(-1); +} + @media (max-width: 768px) { + .popover-bio * { + font-size: 0.8rem !important; + } +} + @media (min-width: 768px) { + .popover-bio * { + font-size: 1rem !important; + } +} + .b2 { + border: 2px solid !important; +} + .fl-r { + float: right !important; +} + .edit-title { + background-color: #fff !important; + color: #000 !important +} + .text-lightblue { + color: lightblue; +} + .bet ~ .custom-control-label::before { + border-radius: 50%; +} + .emoji-modal { + max-width: 90% !important +} + .emoji { + height: 30px !important; +} + .bigemoji { + height: 60px !important; +} + .bigemoji, .emj, .emoji, .emoji-md, .emoji-lg { + max-width: 10rem !important; + display: inline-block; + -o-object-fit: contain; + object-fit: contain; } \ No newline at end of file diff --git a/files/templates/CHRISTMAS/authforms.html b/files/templates/CHRISTMAS/authforms.html index 14621fde9..e5f452f7e 100644 --- a/files/templates/CHRISTMAS/authforms.html +++ b/files/templates/CHRISTMAS/authforms.html @@ -14,11 +14,11 @@ {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} diff --git a/files/templates/CHRISTMAS/default.html b/files/templates/CHRISTMAS/default.html index 85f0b9149..9e4f9133f 100644 --- a/files/templates/CHRISTMAS/default.html +++ b/files/templates/CHRISTMAS/default.html @@ -186,9 +186,9 @@ {% block stylesheets %} - + - + diff --git a/files/templates/CHRISTMAS/login.html b/files/templates/CHRISTMAS/login.html index 7ce58f56b..8753f7a80 100644 --- a/files/templates/CHRISTMAS/login.html +++ b/files/templates/CHRISTMAS/login.html @@ -13,9 +13,9 @@ Login - {{'SITE_NAME' | app_config}} {% endblock %} - + - + diff --git a/files/templates/CHRISTMAS/login_2fa.html b/files/templates/CHRISTMAS/login_2fa.html index 4bd1c95e4..4441dd7e7 100644 --- a/files/templates/CHRISTMAS/login_2fa.html +++ b/files/templates/CHRISTMAS/login_2fa.html @@ -13,7 +13,7 @@ 2-Step Login - {{'SITE_NAME' | app_config}} - + diff --git a/files/templates/CHRISTMAS/settings.html b/files/templates/CHRISTMAS/settings.html index a6be1cb67..db60eb16f 100644 --- a/files/templates/CHRISTMAS/settings.html +++ b/files/templates/CHRISTMAS/settings.html @@ -28,9 +28,9 @@ {% block stylesheets %} - + - + diff --git a/files/templates/CHRISTMAS/sign_up.html b/files/templates/CHRISTMAS/sign_up.html index a74dd6ee7..a864f0c0d 100644 --- a/files/templates/CHRISTMAS/sign_up.html +++ b/files/templates/CHRISTMAS/sign_up.html @@ -26,9 +26,9 @@ {% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}Sign up - {{'SITE_NAME' | app_config}}{% endif %} - + - + diff --git a/files/templates/CHRISTMAS/sign_up_failed_ref.html b/files/templates/CHRISTMAS/sign_up_failed_ref.html index 97ad6790f..d16eea721 100644 --- a/files/templates/CHRISTMAS/sign_up_failed_ref.html +++ b/files/templates/CHRISTMAS/sign_up_failed_ref.html @@ -31,7 +31,7 @@ {% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}{{'SITE_NAME' | app_config}}{% endif %} - + diff --git a/files/templates/CHRISTMAS/tailwind.html b/files/templates/CHRISTMAS/tailwind.html index 05260c299..c66ce2679 100644 --- a/files/templates/CHRISTMAS/tailwind.html +++ b/files/templates/CHRISTMAS/tailwind.html @@ -5,7 +5,7 @@ - + Flask + Tailwind CSS diff --git a/files/templates/authforms.html b/files/templates/authforms.html index 514d33481..81a97854a 100644 --- a/files/templates/authforms.html +++ b/files/templates/authforms.html @@ -14,11 +14,11 @@ {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} diff --git a/files/templates/default.html b/files/templates/default.html index 904d91cc3..89fd62f61 100644 --- a/files/templates/default.html +++ b/files/templates/default.html @@ -6,12 +6,12 @@ {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} diff --git a/files/templates/log.html b/files/templates/log.html index 23fced5e8..c58ce9e1e 100644 --- a/files/templates/log.html +++ b/files/templates/log.html @@ -6,11 +6,11 @@ {% block content %} {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %}
diff --git a/files/templates/login.html b/files/templates/login.html index 12673e624..2579c3d9f 100644 --- a/files/templates/login.html +++ b/files/templates/login.html @@ -17,7 +17,7 @@ {% endblock %} - + diff --git a/files/templates/login_2fa.html b/files/templates/login_2fa.html index d7bf2426a..5fe1b347c 100644 --- a/files/templates/login_2fa.html +++ b/files/templates/login_2fa.html @@ -13,7 +13,7 @@ 2-Step Login - {{'SITE_NAME' | app_config}} - + diff --git a/files/templates/settings.html b/files/templates/settings.html index 4b302d344..7e1f010b8 100644 --- a/files/templates/settings.html +++ b/files/templates/settings.html @@ -33,7 +33,7 @@ - + {% if v.agendaposter %}{% elif v.css %}{% endif %} diff --git a/files/templates/settings2.html b/files/templates/settings2.html index a8a475fce..643570d59 100644 --- a/files/templates/settings2.html +++ b/files/templates/settings2.html @@ -38,10 +38,10 @@ {% if v %} - + {% else %} - + {% endif %} diff --git a/files/templates/sign_up.html b/files/templates/sign_up.html index 2cb21cf6b..3022a462b 100644 --- a/files/templates/sign_up.html +++ b/files/templates/sign_up.html @@ -30,7 +30,7 @@ {% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}Sign up - {{'SITE_NAME' | app_config}}{% endif %} - + diff --git a/files/templates/sign_up_failed_ref.html b/files/templates/sign_up_failed_ref.html index 63dfb751d..1abe8b2ab 100644 --- a/files/templates/sign_up_failed_ref.html +++ b/files/templates/sign_up_failed_ref.html @@ -31,7 +31,7 @@ {% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}{{'SITE_NAME' | app_config}}{% endif %} - + diff --git a/files/templates/submit.html b/files/templates/submit.html index 15f76c4e4..65c6e74ea 100644 --- a/files/templates/submit.html +++ b/files/templates/submit.html @@ -25,11 +25,11 @@ {% block stylesheets %} {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} {% endblock %} From d633d3f4f755bec2785b593e1b07c92f32250b67 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 20 Dec 2021 01:31:15 +0200 Subject: [PATCH 2/8] sdffsd --- files/routes/admin.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/files/routes/admin.py b/files/routes/admin.py index 144e17e62..be2086c27 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -826,24 +826,18 @@ def ban_user(user_id, v): if not user: abort(400) if days > 0: - if message: - text = f"Your account has been suspended for {days} days for the following reason:\n\n> {message}" - else: - text = f"Your account has been suspended for {days} days." - user.ban(admin=v, reason=reason, days=days) - + if message: text = f"Your account has been suspended for {days} days for the following reason:\n\n> {message}" + else: text = f"Your account has been suspended for {days} days." else: - if message: - text = f"Your account has been permanently suspended for the following reason:\n\n> {message}" - else: - text = "Your account has been permanently suspended." + if message: text = f"Your account has been permanently suspended for the following reason:\n\n> {message}" + else: text = "Your account has been permanently suspended." - user.ban(admin=v, reason=reason) + user.ban(admin=v, reason=reason, days=days) if request.values.get("alts", ""): for x in user.alts: if x.admin_level > 0: break - x.ban(admin=v, reason=reason) + user.ban(admin=v, reason=reason, days=days) send_notification(user.id, text) From 66b2ac5fcc6236a313a6f545a85e299250673801 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 20 Dec 2021 01:31:47 +0200 Subject: [PATCH 3/8] sfddsf --- files/routes/admin.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/files/routes/admin.py b/files/routes/admin.py index be2086c27..0df68cd63 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -824,13 +824,6 @@ def ban_user(user_id, v): message = request.values.get("reason", "").strip()[:256] if not user: abort(400) - - if days > 0: - if message: text = f"Your account has been suspended for {days} days for the following reason:\n\n> {message}" - else: text = f"Your account has been suspended for {days} days." - else: - if message: text = f"Your account has been permanently suspended for the following reason:\n\n> {message}" - else: text = "Your account has been permanently suspended." user.ban(admin=v, reason=reason, days=days) @@ -839,6 +832,13 @@ def ban_user(user_id, v): if x.admin_level > 0: break user.ban(admin=v, reason=reason, days=days) + if days > 0: + if message: text = f"Your account has been suspended for {days} days for the following reason:\n\n> {message}" + else: text = f"Your account has been suspended for {days} days." + else: + if message: text = f"Your account has been permanently suspended for the following reason:\n\n> {message}" + else: text = "Your account has been permanently suspended." + send_notification(user.id, text) if days == 0: duration = "permanent" From cbae7e502d739ca9960e926da1c6aeac79bb3b22 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 20 Dec 2021 01:36:26 +0200 Subject: [PATCH 4/8] dfsfsd --- files/routes/settings.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/files/routes/settings.py b/files/routes/settings.py index 6a587b4de..cba7e49f7 100644 --- a/files/routes/settings.py +++ b/files/routes/settings.py @@ -389,6 +389,11 @@ def settings_profile_post(v): if theme == "win98": v.themecolor = "30409f" updated = True + theme2 = request.values.get("theme2") + if theme2: + v.theme2 = theme2 + updated = True + quadrant = request.values.get("quadrant") if quadrant and 'pcmemes.net' == request.host.lower(): v.quadrant = quadrant From 2c81f65e4f7274da1271ef6fd786cd0bd741afa8 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 20 Dec 2021 02:06:25 +0200 Subject: [PATCH 5/8] fsdfsd --- files/templates/award_modal.html | 4 ---- 1 file changed, 4 deletions(-) diff --git a/files/templates/award_modal.html b/files/templates/award_modal.html index 7a8de17c3..b4c0a9be6 100644 --- a/files/templates/award_modal.html +++ b/files/templates/award_modal.html @@ -66,10 +66,6 @@ background-color: var(--primary)!important; } - .award-columns { - column-count: 2; - } - @media (min-width: 767.98px) { .award-columns { column-count: 7 !important; From a97731da539444b7b306e666eb36a406b65b480e Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 20 Dec 2021 02:09:03 +0200 Subject: [PATCH 6/8] sdffds --- files/routes/settings.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/files/routes/settings.py b/files/routes/settings.py index cba7e49f7..5cc689a28 100644 --- a/files/routes/settings.py +++ b/files/routes/settings.py @@ -530,8 +530,12 @@ def gumroad(v): response = requests.get('https://api.gumroad.com/v2/sales', data=data, timeout=5).json()["sales"][0] tier = tiers[response["variants_and_quantity"]] + if v.patron == tier: return {"error": f"{patron} rewards already claimed"}, 400 + existing = g.db.query(User.id).filter_by(email=v.email, is_activated=True, patron=tier).one_or_none() + if existing: return {"error": f"{patron} rewards already claimed on another account"}, 400 + if v.patron: badge = v.has_badge(20+tier) if badge: g.db.delete(badge) From 9b4f03a478ac6a3b64a1530698e7e1f3e539588a Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 20 Dec 2021 02:26:22 +0200 Subject: [PATCH 7/8] fdsfds --- files/templates/CHRISTMAS/authforms.html | 4 ++-- files/templates/CHRISTMAS/default.html | 4 ++-- files/templates/CHRISTMAS/login.html | 4 ++-- files/templates/CHRISTMAS/login_2fa.html | 2 +- files/templates/CHRISTMAS/settings.html | 4 ++-- files/templates/CHRISTMAS/sign_up.html | 4 ++-- files/templates/CHRISTMAS/sign_up_failed_ref.html | 2 +- files/templates/CHRISTMAS/tailwind.html | 2 +- files/templates/authforms.html | 4 ++-- files/templates/comments.html | 2 +- files/templates/default.html | 4 ++-- files/templates/log.html | 4 ++-- files/templates/login.html | 2 +- files/templates/login_2fa.html | 2 +- files/templates/settings.html | 2 +- files/templates/settings2.html | 4 ++-- files/templates/sign_up.html | 2 +- files/templates/sign_up_failed_ref.html | 2 +- files/templates/submit.html | 4 ++-- 19 files changed, 29 insertions(+), 29 deletions(-) diff --git a/files/templates/CHRISTMAS/authforms.html b/files/templates/CHRISTMAS/authforms.html index e5f452f7e..ce67ea509 100644 --- a/files/templates/CHRISTMAS/authforms.html +++ b/files/templates/CHRISTMAS/authforms.html @@ -14,11 +14,11 @@ {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} diff --git a/files/templates/CHRISTMAS/default.html b/files/templates/CHRISTMAS/default.html index 9e4f9133f..0bc6ff11a 100644 --- a/files/templates/CHRISTMAS/default.html +++ b/files/templates/CHRISTMAS/default.html @@ -186,9 +186,9 @@ {% block stylesheets %} - + - + diff --git a/files/templates/CHRISTMAS/login.html b/files/templates/CHRISTMAS/login.html index 8753f7a80..ed057f254 100644 --- a/files/templates/CHRISTMAS/login.html +++ b/files/templates/CHRISTMAS/login.html @@ -13,9 +13,9 @@ Login - {{'SITE_NAME' | app_config}} {% endblock %} - + - + diff --git a/files/templates/CHRISTMAS/login_2fa.html b/files/templates/CHRISTMAS/login_2fa.html index 4441dd7e7..290e13924 100644 --- a/files/templates/CHRISTMAS/login_2fa.html +++ b/files/templates/CHRISTMAS/login_2fa.html @@ -13,7 +13,7 @@ 2-Step Login - {{'SITE_NAME' | app_config}} - + diff --git a/files/templates/CHRISTMAS/settings.html b/files/templates/CHRISTMAS/settings.html index db60eb16f..14a3b2331 100644 --- a/files/templates/CHRISTMAS/settings.html +++ b/files/templates/CHRISTMAS/settings.html @@ -28,9 +28,9 @@ {% block stylesheets %} - + - + diff --git a/files/templates/CHRISTMAS/sign_up.html b/files/templates/CHRISTMAS/sign_up.html index a864f0c0d..947a91504 100644 --- a/files/templates/CHRISTMAS/sign_up.html +++ b/files/templates/CHRISTMAS/sign_up.html @@ -26,9 +26,9 @@ {% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}Sign up - {{'SITE_NAME' | app_config}}{% endif %} - + - + diff --git a/files/templates/CHRISTMAS/sign_up_failed_ref.html b/files/templates/CHRISTMAS/sign_up_failed_ref.html index d16eea721..157c12d4a 100644 --- a/files/templates/CHRISTMAS/sign_up_failed_ref.html +++ b/files/templates/CHRISTMAS/sign_up_failed_ref.html @@ -31,7 +31,7 @@ {% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}{{'SITE_NAME' | app_config}}{% endif %} - + diff --git a/files/templates/CHRISTMAS/tailwind.html b/files/templates/CHRISTMAS/tailwind.html index c66ce2679..7d92c1955 100644 --- a/files/templates/CHRISTMAS/tailwind.html +++ b/files/templates/CHRISTMAS/tailwind.html @@ -5,7 +5,7 @@ - + Flask + Tailwind CSS diff --git a/files/templates/authforms.html b/files/templates/authforms.html index 81a97854a..03c8671f7 100644 --- a/files/templates/authforms.html +++ b/files/templates/authforms.html @@ -14,11 +14,11 @@ {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} diff --git a/files/templates/comments.html b/files/templates/comments.html index ac4e4cf7a..fa2934d58 100644 --- a/files/templates/comments.html +++ b/files/templates/comments.html @@ -324,7 +324,7 @@ {% endif %} - {{score}} + {{score}} {% if v and request.path.startswith('/@') and v.admin_level == 0 %} {% if voted==-1 %} diff --git a/files/templates/default.html b/files/templates/default.html index 89fd62f61..e868a9b97 100644 --- a/files/templates/default.html +++ b/files/templates/default.html @@ -6,12 +6,12 @@ {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} diff --git a/files/templates/log.html b/files/templates/log.html index c58ce9e1e..dd1d69315 100644 --- a/files/templates/log.html +++ b/files/templates/log.html @@ -6,11 +6,11 @@ {% block content %} {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %}
diff --git a/files/templates/login.html b/files/templates/login.html index 2579c3d9f..48a07dc67 100644 --- a/files/templates/login.html +++ b/files/templates/login.html @@ -17,7 +17,7 @@ {% endblock %} - + diff --git a/files/templates/login_2fa.html b/files/templates/login_2fa.html index 5fe1b347c..112e13d83 100644 --- a/files/templates/login_2fa.html +++ b/files/templates/login_2fa.html @@ -13,7 +13,7 @@ 2-Step Login - {{'SITE_NAME' | app_config}} - + diff --git a/files/templates/settings.html b/files/templates/settings.html index 7e1f010b8..b21e4c639 100644 --- a/files/templates/settings.html +++ b/files/templates/settings.html @@ -33,7 +33,7 @@ - + {% if v.agendaposter %}{% elif v.css %}{% endif %} diff --git a/files/templates/settings2.html b/files/templates/settings2.html index 643570d59..84f9a816e 100644 --- a/files/templates/settings2.html +++ b/files/templates/settings2.html @@ -38,10 +38,10 @@ {% if v %} - + {% else %} - + {% endif %} diff --git a/files/templates/sign_up.html b/files/templates/sign_up.html index 3022a462b..9165b45bc 100644 --- a/files/templates/sign_up.html +++ b/files/templates/sign_up.html @@ -30,7 +30,7 @@ {% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}Sign up - {{'SITE_NAME' | app_config}}{% endif %} - + diff --git a/files/templates/sign_up_failed_ref.html b/files/templates/sign_up_failed_ref.html index 1abe8b2ab..24057af90 100644 --- a/files/templates/sign_up_failed_ref.html +++ b/files/templates/sign_up_failed_ref.html @@ -31,7 +31,7 @@ {% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}{{'SITE_NAME' | app_config}}{% endif %} - + diff --git a/files/templates/submit.html b/files/templates/submit.html index 65c6e74ea..57dadeafc 100644 --- a/files/templates/submit.html +++ b/files/templates/submit.html @@ -25,11 +25,11 @@ {% block stylesheets %} {% if v %} - + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} {% endblock %} From d29014a3a63651b126210fd0111c8a69c4605c15 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Mon, 20 Dec 2021 02:27:25 +0200 Subject: [PATCH 8/8] fsfs --- files/helpers/jinja2.py | 2 +- files/mail/__init__.py | 6 +-- files/routes/admin.py | 28 +++++++------- files/routes/awards.py | 6 +-- files/routes/comments.py | 4 +- files/routes/discord.py | 2 +- files/routes/front.py | 8 ++-- files/routes/login.py | 12 +++--- files/routes/oauth.py | 8 ++-- files/routes/posts.py | 24 ++++++------ files/routes/search.py | 6 +-- files/routes/settings.py | 84 ++++++++++++++++++++-------------------- files/routes/static.py | 30 +++++++------- files/routes/users.py | 56 +++++++++++++-------------- files/routes/votes.py | 4 +- 15 files changed, 140 insertions(+), 140 deletions(-) diff --git a/files/helpers/jinja2.py b/files/helpers/jinja2.py index 090aa3374..0ee962549 100644 --- a/files/helpers/jinja2.py +++ b/files/helpers/jinja2.py @@ -20,7 +20,7 @@ def post_embed(id, v): p = get_post(id, v, graceful=True) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submission_listing.html", listing=[p], v=v) diff --git a/files/mail/__init__.py b/files/mail/__init__.py index 450bd1278..853dbb796 100644 --- a/files/mail/__init__.py +++ b/files/mail/__init__.py @@ -61,7 +61,7 @@ def activate(v): token = request.values.get("token", "").strip() if int(time.time()) - timestamp > 3600: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}message.html", v=v, title="Verification link expired.", message="That link has expired. Visit your settings to send yourself another verification email."), 410 @@ -74,7 +74,7 @@ def activate(v): abort(404) if user.is_activated and user.email == email: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}message_success.html", v=v, title="Email already verified.", message="Email already verified."), 404 @@ -90,6 +90,6 @@ def activate(v): g.db.add(user) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}message_success.html", v=v, title="Email verified.", message=f"Your email {email} has been verified. Thank you.") diff --git a/files/routes/admin.py b/files/routes/admin.py index 0df68cd63..2c6816a8b 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -45,7 +45,7 @@ def distribute(v, cid): @admin_level_required(2) def truescore(v): users = g.db.query(User).order_by(User.truecoins.desc()).limit(25).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}truescore.html", v=v, users=users) @@ -254,7 +254,7 @@ def post_rules(v): def shadowbanned(v): if not (v and v.admin_level > 1): abort(404) users = [x for x in g.db.query(User).filter(User.shadowbanned != None).all()] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}shadowbanned.html", v=v, users=users) @@ -264,7 +264,7 @@ def shadowbanned(v): def agendaposters(v): if not (v and v.admin_level > 1): abort(404) users = [x for x in g.db.query(User).filter_by(agendaposter = True).all()] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}agendaposters.html", v=v, users=users) @@ -284,7 +284,7 @@ def image_posts_listing(v): next_exists = (len(posts) > 25) posts = get_posts(posts[:25], v=v) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/image_posts.html", v=v, listing=posts, next_exists=next_exists, page=page, sort="new") @@ -306,7 +306,7 @@ def reported_posts(v): listing = get_posts(listing, v=v) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/reported_posts.html", next_exists=next_exists, listing=listing, page=page, v=v) @@ -330,7 +330,7 @@ def reported_comments(v): listing = get_comments(listing, v=v) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/reported_comments.html", next_exists=next_exists, @@ -344,7 +344,7 @@ def reported_comments(v): def admin_home(v): with open('disablesignups', 'r') as f: x = f.read() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/admin_home.html", v=v, x=x) @@ -370,7 +370,7 @@ def badge_grant_get(v): "no_user": "That user doesn't exist." } - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/badge_grant.html", v=v, @@ -438,7 +438,7 @@ def users_list(v): next_exists = (len(users) > 25) users = users[:25] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/new_users.html", v=v, @@ -452,7 +452,7 @@ def users_list(v): def alt_votes_get(v): if not request.values.get("u1") or not request.values.get("u2"): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/alt_votes.html", v=v) @@ -550,7 +550,7 @@ def alt_votes_get(v): data['u2_only_comment_downs'] // len( u2_comment_downs) if u2_comment_downs else 0 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/alt_votes.html", u1=u1, @@ -597,7 +597,7 @@ def admin_removed(v): posts = get_posts(ids, v=v) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/removed_posts.html", v=v, @@ -623,7 +623,7 @@ def admin_removed_comments(v): comments = get_comments(ids, v=v) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/removed_comments.html", v=v, @@ -1126,7 +1126,7 @@ def admin_dump_cache(v): def admin_banned_domains(v): banned_domains = g.db.query(BannedDomain).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/banned_domains.html", v=v, banned_domains=banned_domains) diff --git a/files/routes/awards.py b/files/routes/awards.py index 1db10fb22..8e043844e 100644 --- a/files/routes/awards.py +++ b/files/routes/awards.py @@ -69,7 +69,7 @@ def shop(v): val["price"] = int(val["price"]*discount) sales = g.db.query(Vote.id).count() + g.db.query(CommentVote.id).count() - g.db.query(func.sum(User.coins)).scalar() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}shop.html", awards=list(AWARDS.values()), v=v, sales=sales) @@ -505,7 +505,7 @@ def award_comment(cid, v): @app.get("/admin/awards") @admin_level_required(2) def admin_userawards_get(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' if v.admin_level != 3: @@ -518,7 +518,7 @@ def admin_userawards_get(v): @admin_level_required(2) @validate_formkey def admin_userawards_post(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' try: u = request.values.get("username").strip() diff --git a/files/routes/comments.py b/files/routes/comments.py index ecd7d447a..1ecf12668 100644 --- a/files/routes/comments.py +++ b/files/routes/comments.py @@ -602,7 +602,7 @@ def api_comment(v): g.db.commit() if request.headers.get("Authorization"): return c.json - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}comments.html", v=v, comments=[c]) @@ -686,7 +686,7 @@ def edit_comment(cid, v): if ban.reason: reason += f" {ban.reason}" if request.headers.get("Authorization"): return {'error': f'A blacklisted domain was used.'}, 400 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}comment_failed.html", action=f"/edit_comment/{c.id}", diff --git a/files/routes/discord.py b/files/routes/discord.py index 8ae79db89..bc382fc06 100644 --- a/files/routes/discord.py +++ b/files/routes/discord.py @@ -98,7 +98,7 @@ def discord_redirect(v): requests.delete(url, headers=headers, timeout=5) if g.db.query(User).filter(User.id!=v.id, User.discord_id==x["id"]).first(): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}message.html", title="Discord account already linked.", error="That Discord account is already in use by another user.", v=v) diff --git a/files/routes/front.py b/files/routes/front.py index bbe8395ac..2e18b5b8b 100644 --- a/files/routes/front.py +++ b/files/routes/front.py @@ -107,7 +107,7 @@ def notifications(v): if request.headers.get("Authorization"): return {"data":[x.json for x in listing]} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}notifications.html", v=v, @@ -192,7 +192,7 @@ def front_all(v): g.db.commit() if request.headers.get("Authorization"): return {"data": [x.json for x in posts], "next_exists": next_exists} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}home.html", v=v, listing=posts, next_exists=next_exists, sort=sort, t=t, page=page) @@ -303,7 +303,7 @@ def changelog(v): posts = get_posts(ids, v=v) if request.headers.get("Authorization"): return {"data": [x.json for x in posts], "next_exists": next_exists} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}changelog.html", v=v, listing=posts, next_exists=next_exists, sort=sort, t=t, page=page) @@ -447,6 +447,6 @@ def all_comments(v): idlist = idlist[:25] if request.headers.get("Authorization"): return {"data": [x.json for x in comments]} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}home_comments.html", v=v, sort=sort, t=t, page=page, comments=comments, standalone=True, next_exists=next_exists) \ No newline at end of file diff --git a/files/routes/login.py b/files/routes/login.py index 80dd26478..1aecccb90 100644 --- a/files/routes/login.py +++ b/files/routes/login.py @@ -16,7 +16,7 @@ def login_get(v): if v: return redirect(redir) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}login.html", failed=False, @@ -190,7 +190,7 @@ def sign_up_get(v): ref_user = None if ref_user and (ref_user.id in session.get("history", [])): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}sign_up_failed_ref.html") @@ -209,7 +209,7 @@ def sign_up_get(v): error = request.values.get("error", None) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}sign_up.html", formkey=formkey, @@ -459,7 +459,7 @@ def post_reset(v): now = int(time.time()) if now - timestamp > 600: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}message.html", title="Password reset expired", @@ -473,7 +473,7 @@ def post_reset(v): abort(404) if not password == confirm_password: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}reset_password.html", v=user, @@ -486,7 +486,7 @@ def post_reset(v): g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}message_success.html", title="Password reset successful!", diff --git a/files/routes/oauth.py b/files/routes/oauth.py index cf37f208d..fb29effab 100644 --- a/files/routes/oauth.py +++ b/files/routes/oauth.py @@ -13,7 +13,7 @@ def authorize_prompt(v): client_id = request.values.get("client_id") application = g.db.query(OauthApp).filter_by(client_id=client_id).first() if not application: return {"oauth_error": "Invalid `client_id`"}, 401 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}oauth.html", v=v, application=application) @@ -208,7 +208,7 @@ def admin_app_id(v, aid): posts=get_posts(pids, v=v) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/app.html", v=v, @@ -237,7 +237,7 @@ def admin_app_id_comments(v, aid): comments=get_comments(cids, v=v) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/app.html", v=v, @@ -254,7 +254,7 @@ def admin_apps_list(v): apps = g.db.query(OauthApp).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/apps.html", v=v, apps=apps) diff --git a/files/routes/posts.py b/files/routes/posts.py index acac27771..4987fd2a8 100644 --- a/files/routes/posts.py +++ b/files/routes/posts.py @@ -81,7 +81,7 @@ def publish(pid, v): @auth_required def submit_get(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submit.html", v=v) @@ -92,7 +92,7 @@ def submit_get(v): @app.get("/logged_out/post//") @auth_desired def post_id(pid, anything=None, v=None): - if v and v.oldsite: template2 = '' + if not v or v.oldsite: template2 = '' else: template2 = 'CHRISTMAS/' if not v and not request.path.startswith('/logged_out') and not request.headers.get("Authorization"): return redirect(f"/logged_out{request.full_path}") @@ -324,7 +324,7 @@ def viewmore(v, pid, sort, offset): if len(comments) == len(comments2): offset = None comments = comments2 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}comments.html", v=v, comments=comments, render_replies=True, pid=pid, sort=sort, offset=offset) @@ -371,7 +371,7 @@ def morecomments(v, cid): c = g.db.query(Comment).filter_by(id=cid).first() comments = c.replies - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}comments.html", v=v, comments=comments, render_replies=True) @@ -786,7 +786,7 @@ def submit_post(v): domain_obj = get_domain(domain) if domain_obj: if request.headers.get("Authorization"): return {"error":domain_obj.reason}, 400 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submit.html", v=v, error=domain_obj.reason, title=title, url=url, body=request.values.get("body", "")), 400 elif "twitter.com" == domain: @@ -809,13 +809,13 @@ def submit_post(v): if not url and not request.values.get("body") and not request.files.get("file", None): if request.headers.get("Authorization"): return {"error": "`url` or `body` parameter required."}, 400 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submit.html", v=v, error="Please enter a url or some text.", title=title, url=url, body=request.values.get("body", "")), 400 if not title: if request.headers.get("Authorization"): return {"error": "Please enter a better title"}, 400 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submit.html", v=v, error="Please enter a better title.", title=title, url=url, body=request.values.get("body", "")), 400 @@ -907,14 +907,14 @@ def submit_post(v): if len(str(body)) > 10000: if request.headers.get("Authorization"): return {"error":"10000 character limit for text body."}, 400 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submit.html", v=v, error="10000 character limit for text body.", title=title, url=url, body=request.values.get("body", "")), 400 if len(url) > 2048: if request.headers.get("Authorization"): return {"error":"2048 character limit for URLs."}, 400 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submit.html", v=v, error="2048 character limit for URLs.", title=title, url=url,body=request.values.get("body", "")), 400 @@ -951,7 +951,7 @@ def submit_post(v): body += f"\n\n{url}" else: if request.headers.get("Authorization"): return {"error": f"Image/Video files only"}, 400 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submit.html", v=v, error=f"Image/Video files only."), 400 @@ -972,7 +972,7 @@ def submit_post(v): reason = f"Remove the {ban.domain} link from your post and try again." if ban.reason: reason += f" {ban.reason}" if request.headers.get("Authorization"): return {"error": reason}, 403 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submit.html", v=v, error=reason, title=title, url=url, body=request.values.get("body", "")), 403 @@ -1034,7 +1034,7 @@ def submit_post(v): if not file.content_type.startswith(('image/', 'video/')): if request.headers.get("Authorization"): return {"error": f"File type not allowed"}, 400 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}submit.html", v=v, error=f"File type not allowed.", title=title, body=request.values.get("body", "")), 400 diff --git a/files/routes/search.py b/files/routes/search.py index 0f196602f..05c79a902 100644 --- a/files/routes/search.py +++ b/files/routes/search.py @@ -161,7 +161,7 @@ def searchposts(v): domain_obj=None if request.headers.get("Authorization"): return {"total":total, "data":[x.json for x in posts]} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}search.html", v=v, @@ -253,7 +253,7 @@ def searchcomments(v): comments = get_comments(ids, v=v) if request.headers.get("Authorization"): return {"total":total, "data":[x.json for x in comments]} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}search_comments.html", v=v, query=query, total=total, page=page, comments=comments, sort=sort, t=t, next_exists=next_exists) @@ -284,6 +284,6 @@ def searchusers(v): if request.headers.get("Authorization"): return [x.json for x in users] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}search_users.html", v=v, query=query, total=total, page=page, users=users, sort=sort, t=t, next_exists=next_exists) \ No newline at end of file diff --git a/files/routes/settings.py b/files/routes/settings.py index 5cc689a28..c64b658de 100644 --- a/files/routes/settings.py +++ b/files/routes/settings.py @@ -126,7 +126,7 @@ def settings_profile_post(v): v.bio_html = None g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, msg="Your bio has been updated.") @@ -135,7 +135,7 @@ def settings_profile_post(v): v.sig_html = None g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, msg="Your sig has been updated.") @@ -144,7 +144,7 @@ def settings_profile_post(v): v.friends_html = None g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, msg="Your friends list has been updated.") @@ -153,7 +153,7 @@ def settings_profile_post(v): v.enemies_html = None g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, msg="Your enemies list has been updated.") @@ -177,7 +177,7 @@ def settings_profile_post(v): return {"error": reason}, 401 if len(sig_html) > 1000: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -187,7 +187,7 @@ def settings_profile_post(v): v.sig_html=sig_html g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -213,7 +213,7 @@ def settings_profile_post(v): return {"error": reason}, 401 if len(friends_html) > 2000: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -234,7 +234,7 @@ def settings_profile_post(v): v.friends_html=friends_html g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -258,7 +258,7 @@ def settings_profile_post(v): return {"error": reason}, 401 if len(enemies_html) > 2000: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -280,7 +280,7 @@ def settings_profile_post(v): v.enemies_html=enemies_html g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -307,7 +307,7 @@ def settings_profile_post(v): bio += f"\n\n{url}" else: if request.headers.get("Authorization"): return {"error": f"Image/Video files only"}, 400 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, error=f"Image/Video files only."), 400 @@ -316,7 +316,7 @@ def settings_profile_post(v): bans = filter_comment_html(bio_html) if len(bio_html) > 10000: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -347,7 +347,7 @@ def settings_profile_post(v): v.bio_html=bio_html g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -445,14 +445,14 @@ def filters(v): filters=request.values.get("filters")[:1000].strip() if filters == v.custom_filter_list: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_filters.html", v=v, error="You didn't change anything") v.custom_filter_list=filters g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_filters.html", v=v, msg="Your custom filters have been updated.") @@ -474,7 +474,7 @@ def changelogsub(v): @auth_required @validate_formkey def namecolor(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' color = str(request.values.get("color", "")).strip() @@ -490,7 +490,7 @@ def namecolor(v): @auth_required @validate_formkey def themecolor(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' themecolor = str(request.values.get("themecolor", "")).strip() @@ -530,7 +530,7 @@ def gumroad(v): response = requests.get('https://api.gumroad.com/v2/sales', data=data, timeout=5).json()["sales"][0] tier = tiers[response["variants_and_quantity"]] - + if v.patron == tier: return {"error": f"{patron} rewards already claimed"}, 400 existing = g.db.query(User.id).filter_by(email=v.email, is_activated=True, patron=tier).one_or_none() @@ -570,7 +570,7 @@ def gumroad(v): @auth_required @validate_formkey def titlecolor(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' titlecolor = str(request.values.get("titlecolor", "")).strip() @@ -586,7 +586,7 @@ def titlecolor(v): @auth_required @validate_formkey def verifiedcolor(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' verifiedcolor = str(request.values.get("verifiedcolor", "")).strip() @@ -718,7 +718,7 @@ def settings_log_out_others(v): submitted_password = request.values.get("password", "").strip() if not v.verifyPass(submitted_password): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_security.html", v=v, error="Incorrect Password"), 401 @@ -730,7 +730,7 @@ def settings_log_out_others(v): g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_security.html", v=v, msg="All other devices have been logged out") @@ -768,7 +768,7 @@ def settings_images_profile(v): g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, msg="Profile picture successfully updated.") @@ -796,7 +796,7 @@ def settings_images_banner(v): g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, msg="Banner successfully updated.") @@ -812,7 +812,7 @@ def settings_delete_profile(v): g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, msg="Profile picture successfully removed.") @@ -828,7 +828,7 @@ def settings_delete_banner(v): g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, msg="Banner successfully removed.") @@ -837,7 +837,7 @@ def settings_delete_banner(v): @auth_required def settings_blockedpage(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_blocks.html", v=v) @@ -845,7 +845,7 @@ def settings_blockedpage(v): @auth_required def settings_css_get(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_css.html", v=v) @@ -860,7 +860,7 @@ def settings_css(v): g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_css.html", v=v) @@ -869,7 +869,7 @@ def settings_css(v): def settings_profilecss_get(v): if v.truecoins < 1000 and not v.patron and v.admin_level == 0 : return f"You must have +1000 {COINS_NAME} or be a paypig to set profile css." - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profilecss.html", v=v) @@ -884,7 +884,7 @@ def settings_profilecss(v): g.db.add(v) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profilecss.html", v=v) @@ -954,7 +954,7 @@ def settings_unblock_user(v): @auth_required def settings_apps(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_apps.html", v=v) @@ -978,7 +978,7 @@ def settings_remove_discord(v): @auth_required def settings_content_get(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_filters.html", v=v) @@ -993,14 +993,14 @@ def settings_name_change(v): new_name=request.values.get("name").strip() if new_name==v.username: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, error="You didn't change anything") if not re.match(valid_username_regex, new_name): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -1016,7 +1016,7 @@ def settings_name_change(v): ).first() if x and x.id != v.id: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -1054,7 +1054,7 @@ def settings_song_change(v): id = song.split("v=")[1] elif song.startswith("https://youtu.be/"): id = song.split("https://youtu.be/")[1] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, error=f"Not a youtube link.") @@ -1071,19 +1071,19 @@ def settings_song_change(v): req = requests.get(f"https://www.googleapis.com/youtube/v3/videos?id={id}&key={YOUTUBE_KEY}&part=contentDetails", timeout=5).json() duration = req['items'][0]['contentDetails']['duration'] if duration == 'P0D': - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, error=f"Can't use a live youtube video!") if "H" in duration: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, error=f"Duration of the video must not exceed 10 minutes.") if "M" in duration: duration = int(duration.split("PT")[1].split("M")[0]) if duration > 10: - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, error=f"Duration of the video must not exceed 10 minutes.") @@ -1105,7 +1105,7 @@ def settings_song_change(v): try: ydl.download([f"https://youtube.com/watch?v={id}"]) except Exception as e: print(e) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v, @@ -1128,7 +1128,7 @@ def settings_song_change(v): @auth_required @validate_formkey def settings_title_change(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' if v.flairchanged: abort(403) diff --git a/files/routes/static.py b/files/routes/static.py index 504a3d6ca..27797366e 100644 --- a/files/routes/static.py +++ b/files/routes/static.py @@ -16,7 +16,7 @@ site_name = environ.get("SITE_NAME").strip() @auth_desired def emojis(v): emojis = (x.replace('.webp','') for x in os.listdir("files/assets/images/emojis")) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}emojis.html", v=v, emojis=emojis) @@ -70,7 +70,7 @@ def participation_stats(v): } - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admin/content_stats.html", v=v, title="Content Statistics", data=data) @@ -161,7 +161,7 @@ def cached_chart(days): def patrons(v): users = g.db.query(User).filter(User.patron > 0).order_by(User.patron.desc(), User.id).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}patrons.html", v=v, users=users) @@ -170,7 +170,7 @@ def patrons(v): @auth_desired def admins(v): admins = g.db.query(User).filter(User.admin_level>0).order_by(User.truecoins.desc()).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}admins.html", v=v, admins=admins) @@ -205,7 +205,7 @@ def log(v): admins = [x[0] for x in g.db.query(User.username).filter(User.admin_level > 1).all()] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}log.html", v=v, admins=admins, types=types, admin=admin, type=kind, actions=actions, next_exists=next_exists, page=page) @@ -231,7 +231,7 @@ def log_item(id, v): if v and v.admin_level > 1: types = ACTIONTYPES else: types = ACTIONTYPES2 - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}log.html", v=v, actions=[action], next_exists=False, page=1, action=action, admins=admins, types=types) @@ -242,7 +242,7 @@ def favicon(): @app.get("/api") @auth_desired def api(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}api.html", v=v) @@ -252,7 +252,7 @@ def api(v): @auth_required def contact(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}contact.html", v=v) @@ -264,7 +264,7 @@ def submit_contact(v): message = f'This message has been sent automatically to all admins via [/contact](/contact), user email is "{v.email}"\n\nMessage:\n\n' + request.values.get("message", "") send_admin(v.id, message) g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}contact.html", v=v, msg="Your message has been sent.") @@ -336,7 +336,7 @@ def settings(v): def settings_profile(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_profile.html", v=v) @@ -344,7 +344,7 @@ def settings_profile(v): @app.get("/badges") @auth_desired def badges(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}badges.html", v=v, badges=BADGES) @@ -360,7 +360,7 @@ def blocks(v): users.append(get_account(x.user_id)) targets.append(get_account(x.target_id)) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}blocks.html", v=v, users=users, targets=targets) @@ -369,7 +369,7 @@ def blocks(v): def banned(v): users = [x for x in g.db.query(User).filter(User.is_banned > 0, User.unban_utc == 0).all()] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}banned.html", v=v, users=users) @@ -377,7 +377,7 @@ def banned(v): @auth_desired def formatting(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}formatting.html", v=v) @@ -390,7 +390,7 @@ def serviceworker(): def settings_security(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}settings_security.html", v=v, diff --git a/files/routes/users.py b/files/routes/users.py index 9afc5111d..7d99c4a1c 100644 --- a/files/routes/users.py +++ b/files/routes/users.py @@ -35,7 +35,7 @@ def upvoters(v, username): users = sorted(users2, key=lambda x: x[1], reverse=True)[:25] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}voters.html", v=v, users=users, name='Up', name2=f'@{username} biggest simps') @@ -56,7 +56,7 @@ def downvoters(v, username): users = sorted(users2, key=lambda x: x[1], reverse=True)[:25] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}voters.html", v=v, users=users, name='Down', name2=f'@{username} biggest haters') @@ -77,7 +77,7 @@ def upvoting(v, username): users = sorted(users2, key=lambda x: x[1], reverse=True)[:25] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}voters.html", v=v, users=users, name='Up', name2=f'Who @{username} simps for') @@ -98,7 +98,7 @@ def downvoting(v, username): users = sorted(users2, key=lambda x: x[1], reverse=True)[:25] - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}voters.html", v=v, users=users, name='Down', name2=f'Who @{username} hates') @@ -162,7 +162,7 @@ def steal(v): @auth_desired def rentoids(v): users = g.db.query(User).filter(User.rent_utc > 0).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}rentoids.html", v=v, users=users) @@ -173,7 +173,7 @@ def thiefs(v): successful = g.db.query(User).filter(User.steal_utc > 0).all() failed = g.db.query(User).filter(User.fail_utc > 0).all() failed2 = g.db.query(User).filter(User.fail2_utc > 0).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}thiefs.html", v=v, successful=successful, failed=failed, failed2=failed2) @@ -287,10 +287,10 @@ def leaderboard(v): if 'pcmemes.net' == request.host: users6 = users.order_by(User.basedcount.desc()).limit(10).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}leaderboard.html", v=v, users1=users1, users2=users2, users3=users3, users4=users4, users5=users5, users6=users6, users7=users7, users9=users9) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}leaderboard.html", v=v, users1=users1, users2=users2, users3=users3, users4=users4, users5=users5, users7=users7, users9=users9) @@ -453,7 +453,7 @@ def messagereply(v): g.db.commit() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}comments.html", v=v, comments=[new_comment]) @@ -514,7 +514,7 @@ def followers(username, v): # if 'rdrama.net' in request.host and u.id == 147: abort(404) ids = [x[0] for x in g.db.query(Follow.user_id).filter_by(target_id=u.id).all()] users = g.db.query(User).filter(User.id.in_(ids)).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}followers.html", v=v, u=u, users=users) @@ -525,19 +525,19 @@ def following(username, v): # if 'rdrama.net' in request.host and u.id == 147: abort(404) ids = [x[0] for x in g.db.query(Follow.target_id).filter_by(user_id=u.id).all()] users = g.db.query(User).filter(User.id.in_(ids)).all() - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}following.html", v=v, u=u, users=users) @app.get("/views") @auth_required def visitors(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' if 'rdrama.net' in request.host and v.admin_level < 1 and not v.patron: return render_template(f"{template}errors/patron.html", v=v) viewers=sorted(v.viewers, key = lambda x: x.last_view_utc, reverse=True) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}viewers.html", v=v, viewers=viewers) @@ -562,7 +562,7 @@ def u_username(username, v=None): if u.reserved: if request.headers.get("Authorization"): return {"error": f"That username is reserved for: {u.reserved}"} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_reserved.html", u=u, v=v) @@ -589,26 +589,26 @@ def u_username(username, v=None): if v and u.id == LLM_ID: if int(time.time()) - v.rent_utc > 600: if request.headers.get("Authorization"): return {"error": "That userpage is private"} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_private.html", time=int(time.time()), u=u, v=v) else: if request.headers.get("Authorization"): return {"error": "That userpage is private"} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_private.html", time=int(time.time()), u=u, v=v) if v and hasattr(u, 'is_blocking') and u.is_blocking: if request.headers.get("Authorization"): return {"error": f"You are blocking @{u.username}."} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_blocking.html", u=u, v=v) if v and v.admin_level < 2 and hasattr(u, 'is_blocked') and u.is_blocked: if request.headers.get("Authorization"): return {"error": "This person is blocking you."} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_blocked.html", u=u, v=v) @@ -634,7 +634,7 @@ def u_username(username, v=None): if u.unban_utc: if request.headers.get("Authorization"): {"data": [x.json for x in listing]} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage.html", unban=u.unban_string, @@ -650,7 +650,7 @@ def u_username(username, v=None): if request.headers.get("Authorization"): return {"data": [x.json for x in listing]} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage.html", u=u, @@ -684,7 +684,7 @@ def u_username_comments(username, v=None): if u.reserved: if request.headers.get("Authorization"): return {"error": f"That username is reserved for: {u.reserved}"} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_reserved.html", u=u, @@ -695,24 +695,24 @@ def u_username_comments(username, v=None): if v and u.id == LLM_ID: if int(time.time()) - v.rent_utc > 600: if request.headers.get("Authorization"): return {"error": "That userpage is private"} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_private.html", time=int(time.time()), u=u, v=v) else: if request.headers.get("Authorization"): return {"error": "That userpage is private"} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_private.html", time=int(time.time()), u=u, v=v) if v and hasattr(u, 'is_blocking') and u.is_blocking: if request.headers.get("Authorization"): return {"error": f"You are blocking @{u.username}."} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_blocking.html", u=u, v=v) if v and v.admin_level < 2 and hasattr(u, 'is_blocked') and u.is_blocked: if request.headers.get("Authorization"): return {"error": "This person is blocking you."} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_blocked.html", u=u, v=v) @@ -765,7 +765,7 @@ def u_username_comments(username, v=None): is_following = (v and user.has_follower(v)) if request.headers.get("Authorization"): return {"data": [c.json for c in listing]} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_comments.html", u=user, v=v, listing=listing, page=page, sort=sort, t=t,next_exists=next_exists, is_following=is_following, standalone=True) @@ -893,7 +893,7 @@ def saved_posts(v, username): listing = get_posts(ids, v=v) if request.headers.get("Authorization"): return {"data": [x.json for x in listing]} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage.html", u=v, @@ -923,7 +923,7 @@ def saved_comments(v, username): if request.headers.get("Authorization"): return {"data": [x.json for x in listing]} - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}userpage_comments.html", u=v, diff --git a/files/routes/votes.py b/files/routes/votes.py index 3eece9126..42b454dd0 100644 --- a/files/routes/votes.py +++ b/files/routes/votes.py @@ -15,7 +15,7 @@ defaultcolor = environ.get("DEFAULT_COLOR").strip() @limiter.limit("5/second;60/minute;200/hour") @auth_desired def admin_vote_info_get(v): - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' if v and v.shadowbanned: return render_template('errors/500.html', error=True, v=v), 500 @@ -57,7 +57,7 @@ def admin_vote_info_get(v): else: abort(400) - if v and v.oldsite: template = '' + if not v or v.oldsite: template = '' else: template = 'CHRISTMAS/' return render_template(f"{template}votes.html", v=v,