first commit
Some checks failed
CI / build-test (push) Has been cancelled

This commit is contained in:
2025-05-31 18:56:37 +02:00
commit 8c4798a5fd
1240 changed files with 190468 additions and 0 deletions

View File

@ -0,0 +1,19 @@
.color-selection {
max-width: 400px;
.color-selection-option {
border: none;
color: white;
width: 32px;
height: 32px;
.fa-check {
display: none;
margin: auto;
}
&.selected .fa-check {
display: block;
}
}
}

517
assets/css/general.scss Normal file
View File

@ -0,0 +1,517 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
html {
height: 100%;
}
select {
-webkit-appearance: none;
}
@-moz-document url-prefix() {
body .checkbox input[type='checkbox'] {
float: left;
}
}
body .ui-widget {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
font-size: 1.1em;
}
body .ui-widget-overlay {
background: #000 50% 50% repeat-x;
opacity: 0.5;
filter: Alpha(Opacity=50);
}
body .ui-dialog .ui-dialog-titlebar-close {
display: none;
}
body .ui-draggable .ui-dialog-titlebar {
background: #429a82;
color: #fff;
font-size: 1.2em;
font-weight: lighter;
padding: 12px 10px;
margin-bottom: 10px;
border: none;
border-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
body .ui-dialog {
padding: 0;
z-index: 2000;
border: none !important;
box-shadow: 0 0 10px #333;
}
body .ui-dialog .ui-dialog-buttonpane {
padding: 0.3em 1em 0.3em 0.4em;
border: none;
}
body .ui-button .ui-icon,
body .ui-button:hover .ui-icon {
background-image: url('../ext/jquery-ui/images/ui-icons_222222_256x240.png');
}
body .ui-dialog #error-technical {
max-width: 500px;
}
body .ui-widget.ui-widget-content {
border: 1px solid #429a82;
padding: 0;
}
body .ui-dialog-buttons {
border-radius: 0.25rem;
}
body #ui-datepicker-div {
margin-top: 5px;
z-index: 1100 !important;
}
body .ui-datepicker {
width: auto;
max-width: 288px;
}
body .ui-datepicker .ui-widget-header {
border: none;
background: #429a82;
border-radius: 0;
}
body .ui-datepicker .ui-widget-header .ui-icon {
background-image: url('../vendor/jquery-ui-dist/images/ui-icons_ffffff_256x240.png');
}
body .ui-datepicker .ui-datepicker-title {
color: white;
padding: 8px 5px;
}
body .ui-datepicker th {
background: #429a82;
color: #fff;
}
body .ui-datepicker tbody tr:first-child td {
margin-top: 5px;
}
body .ui-datepicker td a,
body .ui-datepicker td span {
border: none !important;
background: none !important;
color: #1a865f !important;
text-align: center !important;
width: 32px;
height: 32px;
line-height: 2;
}
html body .ui-datepicker td a.ui-state-active {
color: #fff !important;
font-weight: bold !important;
background: #429a82 !important;
border-radius: 50px;
width: 24px;
height: 24px;
line-height: 1.2;
margin: 4px;
}
body .ui-datepicker td a.ui-state-highlight {
background: #80e3ad !important;
border-radius: 67px;
color: #fff !important;
width: 24px;
height: 24px;
line-height: 1.2;
margin: 4px;
}
body .ui-datepicker .ui-datepicker-prev-hover {
top: 2px !important;
left: 2px !important;
background: #80e1ac;
border-color: #80e1ac;
border-radius: 0;
cursor: pointer;
}
body .ui-datepicker .ui-datepicker-next-hover {
top: 2px !important;
right: 2px !important;
background: #80e1ac;
border-color: #80e1ac;
border-radius: 0;
cursor: pointer;
}
body .ui-datepicker .ui-slider-handle {
border-radius: 0;
border-color: #429a82;
background-color: #429a82;
}
body .ui-priority-primary,
body .ui-widget-content .ui-priority-primary,
body .ui-widget-header .ui-priority-primary {
font-weight: normal;
}
body .ui-widget input,
.ui-widget select,
body .ui-widget textarea,
body .ui-widget button {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
font-size: 1rem;
}
body .ui-datepicker .ui-datepicker-buttonpane button {
padding: 6px 16px;
}
.breaks tr:hover td {
background: #ffffc2 !important;
}
.working-plan td {
vertical-align: middle;
}
.breaks td {
vertical-align: middle;
}
li.language {
cursor: pointer;
}
li.language:hover {
color: #005580;
}
#select-language {
cursor: pointer;
display: inline-block;
padding: 5px;
}
#language-list {
list-style: none;
padding-left: 0;
max-height: 500px;
overflow-y: auto;
}
/* JQUERY UI DATETIME PICKER ADDON
------------------------------------------------------------------------- */
.ui-timepicker-div .ui-widget-header {
margin-bottom: 8px;
}
.ui-timepicker-div dl {
text-align: left;
}
.ui-timepicker-div dl dt {
float: left;
clear: left;
padding: 0 0 0 5px;
}
.ui-timepicker-div dl dd {
margin: 0 10px 10px 40%;
}
.ui-timepicker-div dl dd.ui_tpicker_time {
margin-bottom: 4px;
}
.ui-timepicker-div dl dd.ui_tpicker_hour,
.ui-timepicker-div dl dd.ui_tpicker_minute {
padding-top: 8px;
}
.ui-timepicker-div td {
font-size: 90%;
}
.ui-tpicker-grid-label {
background: none;
border: none;
margin: 0;
padding: 0;
}
.ui-timepicker-div .ui_tpicker_unit_hide {
display: none;
}
.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input {
background: none;
color: inherit;
border: none;
outline: none;
width: 95%;
}
.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus {
border-bottom-color: #aaa;
}
.ui-timepicker-rtl {
direction: rtl;
}
.ui-timepicker-rtl dl {
text-align: right;
padding: 0 5px 0 0;
}
.ui-timepicker-rtl dl dt {
float: right;
clear: right;
}
.ui-timepicker-rtl dl dd {
margin: 0 40% 10px 10px;
}
/* Shortened version style */
.ui-timepicker-div.ui-timepicker-oneLine {
padding-right: 2px;
}
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time,
.ui-timepicker-div.ui-timepicker-oneLine dt {
display: none;
}
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label {
display: block;
padding-top: 2px;
}
.ui-timepicker-div.ui-timepicker-oneLine dl {
text-align: right;
}
.ui-timepicker-div.ui-timepicker-oneLine dl dd,
.ui-timepicker-div.ui-timepicker-oneLine dl dd > div {
display: inline-block;
margin: 0;
}
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before {
content: ':';
display: inline-block;
}
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before,
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before {
content: '.';
display: inline-block;
}
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide,
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before {
display: none;
}
/* LOADING SPINNER
------------------------------------------------------------------------- */
.is-loading {
position: relative;
}
.is-loading:before,
.is-loading:after {
content: '';
position: absolute;
top: 50%;
left: 50%;
}
.animation:after {
width: 60px;
height: 60px;
margin: -25px 0 0 -25px;
border: 5px solid rgba(0, 0, 0, 0.4);
border-radius: 50px;
}
.animation:after {
border-bottom-color: transparent;
animation: spin 1s infinite linear;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes spin-reverse {
from {
transform: rotate(0deg);
}
to {
transform: rotate(-360deg);
}
}
.any-element {
width: 60px;
height: 60px;
position: fixed;
left: 50vw;
top: 50vh;
margin-left: -30px;
margin-bottom: -30px;
}
#message-box pre,
#message-box .card {
max-height: 250px;
max-width: 500px;
}
body .popover {
max-width: 430px;
}
body .popover-body strong {
min-width: 90px;
display: inline-block;
}
body .popover-body button {
font-size: 1em;
box-sizing: border-box;
margin: 0;
height: 2.1em;
padding: 0 0.6em;
}
body .popover-body a {
margin-right: 5px;
}
.has-error .control-label,
.has-error label {
color: #dc3545;
}
.has-error .form-control,
.has-error .form-select {
border-color: #dc3545;
}
body .clearfix {
clear: both;
}
.flatpickr-wrapper {
width: 100%;
}
.flatpickr-calendar {
box-shadow: none;
.flatpickr-monthDropdown-months:hover {
background: rgba(0, 0, 0, 0.05) !important;
}
.flatpickr-months {
padding: 10px 0;
background: #449a82;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
.flatpickr-current-month {
padding: 3px;
}
.flatpickr-innerContainer {
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
}
.dayContainer {
padding: 10px 0;
}
.flatpickr-months .flatpickr-month,
.flatpickr-weekdays,
.flatpickr-current-month .flatpickr-monthDropdown-months,
span.flatpickr-weekday {
background: #429a82;
color: white;
-webkit-appearance: none;
}
.flatpickr-day.endRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.endRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.endRange:focus,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected,
.flatpickr-day.selected.inRange,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.selected:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.startRange:focus,
.flatpickr-day.startRange:hover {
background: #429a82;
border-color: #429a82;
color: white;
}
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
height: 0;
width: 0;
visibility: hidden;
}
}
.cc-revoke,
.cc-window {
z-index: 999 !important;
}

10
assets/css/index.html Normal file
View File

@ -0,0 +1,10 @@
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,31 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
body {
width: 100vw;
height: 100vh;
display: table-cell;
vertical-align: middle;
}
#login-frame {
width: 630px;
margin: auto;
border: 1px solid #dddada;
padding: 70px;
}
@media (max-width: 640px) {
#login-frame {
width: 100%;
padding: 20px;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,425 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
root {
display: block;
}
html,
body {
height: 100%;
}
#main {
min-height: 100%;
}
/* BOOK APPOINTMENT WIZARD
------------------------------------------------------------------------------ */
#book-appointment-wizard {
min-height: 480px;
padding: 0;
margin: auto;
}
#book-appointment-wizard #header {
overflow: auto;
height: auto;
padding: 20px 15px;
background: #429a82;
}
#book-appointment-wizard #company-name {
float: none;
display: block;
text-align: center;
font-size: 24px;
font-weight: lighter;
color: #fff;
margin: 20px 0;
#company-logo {
display: block;
margin: 14px auto;
max-height: 56px;
}
.display-booking-selection {
color: #225d4d;
border-right-color: #225d4d !important;
font-size: 60%;
font-weight: normal;
}
}
#book-appointment-wizard #steps {
float: none;
display: block;
overflow: auto;
margin: 15px auto;
width: 190px;
}
#book-appointment-wizard #book-appointment-form #book-appointment-submit {
width: 100%;
margin-right: 0;
}
#book-appointment-wizard #form-message {
text-align: center;
margin-bottom: 30px;
}
#book-appointment-wizard .wizard-frame {
height: auto;
padding: 15px;
}
#book-appointment-wizard .wizard-frame .frame-container {
height: auto;
min-height: 500px;
padding: 15px 0;
}
#book-appointment-wizard .frame-container .frame-title {
font-weight: lighter;
text-align: center;
margin-bottom: 30px;
color: #666;
}
#book-appointment-wizard .frame-container .frame-content {
float: none;
}
#book-appointment-wizard .wizard-frame .command-buttons {
float: none;
margin: 15px auto;
text-align: center;
}
#book-appointment-wizard .wizard-frame .command-buttons .btn {
min-width: 120px;
margin-right: 10px;
}
#book-appointment-wizard .wizard-frame .command-buttons .btn:last-child {
margin-right: 0;
}
#book-appointment-wizard .wizard-frame .flatpickr-calendar {
margin: 25px auto;
}
#book-appointment-wizard .wizard-frame #select-time {
max-width: 288px;
margin: auto;
padding: 15px 0;
}
#book-appointment-wizard .book-step {
display: inline-block;
height: 35px;
width: 35px;
float: left;
background: #225d4d;
padding: 8px;
margin-right: 12px;
margin-top: 6px;
border-radius: 0.25rem;
transition: all 0.3s linear;
}
#book-appointment-wizard .book-step:last-child {
margin-right: 0;
}
#book-appointment-wizard .book-step strong {
font-size: 12px;
display: block;
text-align: center;
color: #0bb98d;
transition: all 0.3s linear;
cursor: default;
}
#book-appointment-wizard .active-step {
display: inline-block;
height: 45px;
width: 45px;
float: left;
background: #fff;
padding: 7px;
margin-right: 13px;
margin-top: 0;
}
#book-appointment-wizard .active-step strong {
color: #429a82;
font-size: 21px;
}
#book-appointment-wizard #frame-footer {
padding: 15px;
text-align: center;
border-top: 1px solid #ebeef1;
}
#book-appointment-wizard #available-hours {
overflow: auto;
margin: 15px 0;
padding-right: 10px;
width: auto;
max-height: 250px;
}
#book-appointment-wizard #available-hours div {
margin-right: 30px;
}
#book-appointment-wizard #available-hours .available-hour {
margin-bottom: 10px;
}
#book-appointment-wizard #available-hours .selected-hour {
background-color: #439a82;
border-color: #439a82;
color: white;
}
#book-appointment-wizard .span3 {
min-width: 270px; /* This is especially needed for ie8 */
}
#book-appointment-wizard #select-timezone {
margin-bottom: 15px;
}
#book-appointment-wizard #appointment-details p,
#book-appointment-wizard #customer-details p {
font-size: 16px;
line-height: 28px;
}
#book-appointment-wizard #wizard-frame-1 label {
font-size: 19px;
margin-bottom: 12px;
}
#book-appointment-wizard #wizard-frame-1 select {
margin-bottom: 25px;
}
#book-appointment-wizard .captcha-title {
float: left;
margin: 7px 0 10px 0;
}
#book-appointment-wizard .captcha-title .fa-sync-alt {
cursor: pointer;
transition: all 0.3s linear;
}
#book-appointment-wizard .captcha-title .fa-sync-alt:hover {
color: #1a865f;
}
#book-appointment-wizard .captcha-image {
float: left;
margin-bottom: 20px;
border-radius: 3px;
}
#book-appointment-wizard .captcha-text {
width: 100%;
margin-bottom: 20px;
}
#book-appointment-wizard #service-description {
overflow-y: auto;
clear: both;
max-height: 153px;
box-shadow: none;
}
#book-appointment-wizard #select-language,
#book-appointment-wizard .backend-link {
display: block;
min-width: 120px;
margin: 15px auto;
padding: 5px;
}
.popover .popover-title {
text-align: center;
}
.popover .popover-content #language-list .language {
margin: 15px 0;
}
#book-appointment-wizard #wizard-frame-4 .frame-container .frame-content {
max-width: 630px;
}
@media (min-width: 768px) {
.wrapper {
min-height: 100vh;
}
#book-appointment-wizard {
border-radius: 0.25rem;
overflow: hidden;
box-shadow: rgba(138, 195, 255, 0.12) 0 1px 5px 0;
}
#book-appointment-wizard #company-name {
text-align: left;
display: inline-block;
float: left;
margin: 0 auto;
min-width: 400px;
line-height: 1.4;
#company-logo {
display: inline-block;
float: left;
margin-right: 14px;
margin-top: 0;
margin-bottom: 0;
}
}
#book-appointment-wizard #steps {
display: inline-block;
float: right;
margin: 5px auto;
}
#book-appointment-wizard .wizard-frame {
padding: 10px 20px;
}
#book-appointment-wizard .wizard-frame .command-buttons {
display: flex;
justify-content: space-between;
}
#book-appointment-wizard .captcha-title {
margin-right: 20px;
margin-top: 7px;
}
#book-appointment-wizard .captcha-image {
float: right;
}
#book-appointment-wizard #select-language {
width: 100px;
padding: 5px;
margin: 5px auto;
}
#book-appointment-wizard #frame-footer small {
display: flex;
}
#book-appointment-wizard .footer-powered-by,
#book-appointment-wizard .footer-options {
width: 50%;
}
#book-appointment-wizard .footer-powered-by {
text-align: left;
padding: 5px 5px 5px 0;
}
#book-appointment-wizard .footer-options {
text-align: right;
}
#book-appointment-wizard #select-language {
display: inline-block;
}
#book-appointment-wizard .backend-link {
display: inline-block;
min-width: 120px;
padding: 5px;
margin: 5px 0;
}
}
/* BOOK SUCCESS & MESSAGE
------------------------------------------------------------------------- */
#message-frame,
#success-frame {
background: var(--bs-body-bg);
text-align: center;
height: auto;
border: none;
padding: 35px;
}
#message-frame .alert,
#success-frame .alert {
margin-top: 20px;
}
#message-frame #message-icon,
#success-frame #success-icon {
margin-top: 20px;
margin-right: 20px;
width: 64px;
display: block;
margin: auto;
float: none !important;
}
#success-frame .btn {
margin-bottom: 10px;
width: 80%;
max-width: 300px;
}
@media (min-width: 768px) {
#message-frame,
#success-frame {
height: 100%;
}
}
/* CANCEL APPOINTMENT
------------------------------------------------------------------------- */
.booking-header-bar {
padding: 15px 0;
margin: 0;
background: #f3f2e7;
border-bottom: 1px solid #e4e1c9;
text-align: center;
}
.ui-dialog .ui-dialog-title {
font-size: 1.2em;
}
@media (min-width: 768px) {
.booking-header-bar {
padding: 15px 0;
margin: 0;
background: #f3f2e7;
border-bottom: 1px solid #e4e1c9;
text-align: left;
}
}

View File

@ -0,0 +1,10 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */

View File

@ -0,0 +1,51 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
header {
background: #daffeb;
margin-bottom: 25px;
}
header .page-title {
font-weight: lighter;
padding: 40px 0;
color: #429a82;
}
.content p {
word-break: break-all;
}
.alert {
margin: 25px 0 10px 0;
}
footer {
padding: 10px 35px;
background-color: #fafafa;
margin-top: 20px;
border-top: 1px solid #eee;
}
#loading {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
background: rgba(255, 255, 255, 0.75);
}
#loading img {
margin: auto;
display: block;
}

View File

@ -0,0 +1,42 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
html {
position: relative;
min-height: 100%;
}
header {
background: #daffeb;
margin-bottom: 25px;
}
header .page-title {
font-weight: lighter;
padding: 40px 0;
color: #429a82;
}
h3 {
margin-bottom: 40px;
}
.content {
margin-top: 30px;
}
footer {
position: absolute;
bottom: 0;
width: 100%;
background-color: #f5f5f5;
padding: 15px 40px;
}

View File

@ -0,0 +1,128 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Cosmo 5.1.3
// Bootswatch
$theme: 'cosmo' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #868e96 !default;
$gray-700: #495057 !default;
$gray-800: #373a3c !default;
$gray-900: #212529 !default;
$black: #000 !default;
$blue: #2780e3 !default;
$indigo: #6610f2 !default;
$purple: #613d7c !default;
$pink: #e83e8c !default;
$red: #ff0039 !default;
$orange: #f0ad4e !default;
$yellow: #ff7518 !default;
$green: #3fb618 !default;
$teal: #20c997 !default;
$cyan: #9954bb !default;
$primary: $blue !default;
$secondary: $gray-800 !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-800 !default;
$min-contrast-ratio: 2.6 !default;
// Options
$enable-rounded: false !default;
// Body
$body-color: $gray-800 !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
$font-family-sans-serif:
'Source Sans Pro',
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
'Helvetica Neue',
Arial,
sans-serif,
'Apple Color Emoji',
'Segoe UI Emoji',
'Segoe UI Symbol' !default;
$headings-font-weight: 400 !default;
// Navbar
$navbar-dark-hover-color: rgba($white, 1) !default;
$navbar-light-hover-color: rgba($black, 0.9) !default;
// Alerts
$alert-border-width: 0% !default;
// Progress bars
$progress-height: 0.5rem !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Cosmo 5.1.3
// Bootswatch
// Variables
$web-font-path: 'https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;700&display=swap' !default;
@if $web-font-path {
@import url($web-font-path);
}
// Typography
body {
-webkit-font-smoothing: antialiased;
}
// Indicators
.badge {
&.bg-light {
color: $dark;
}
}
// Progress bars
.progress {
@include box-shadow(none);
.progress-bar {
font-size: 8px;
line-height: 8px;
}
}

View File

@ -0,0 +1,273 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Darkly 5.1.3
// Bootswatch
$theme: 'darkly' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #ebebeb !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #888 !default;
$gray-700: #444 !default;
$gray-800: #303030 !default;
$gray-900: #222 !default;
$black: #000 !default;
$blue: #375a7f !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #e74c3c !default;
$orange: #fd7e14 !default;
$yellow: #f39c12 !default;
$green: #00bc8c !default;
$teal: #20c997 !default;
$cyan: #3498db !default;
$primary: $blue !default;
$secondary: $gray-700 !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-500 !default;
$dark: $gray-800 !default;
$min-contrast-ratio: 1.9 !default;
// Body
$body-bg: $gray-900 !default;
$body-color: $white !default;
// Links
$link-color: $success !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
$font-family-sans-serif:
Lato,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
'Helvetica Neue',
Arial,
sans-serif,
'Apple Color Emoji',
'Segoe UI Emoji',
'Segoe UI Symbol' !default;
$h1-font-size: 3rem !default;
$h2-font-size: 2.5rem !default;
$h3-font-size: 2rem !default;
$text-muted: $gray-600 !default;
// Tables
$table-border-color: $gray-700 !default;
$table-bg-scale: 0% !default;
// Forms
$input-bg: $white !default;
$input-color: $gray-800 !default;
$input-border-color: $body-bg !default;
$input-group-addon-color: $gray-500 !default;
$input-group-addon-bg: $gray-700 !default;
$form-check-input-bg: $white !default;
$form-check-input-border: none !default;
$form-file-button-color: $white !default;
// Dropdowns
$dropdown-bg: $gray-900 !default;
$dropdown-border-color: $gray-700 !default;
$dropdown-divider-bg: $gray-700 !default;
$dropdown-link-color: $white !default;
$dropdown-link-hover-color: $white !default;
$dropdown-link-hover-bg: $primary !default;
// Navs
$nav-link-padding-x: 2rem !default;
$nav-link-disabled-color: $gray-500 !default;
$nav-tabs-border-color: $gray-700 !default;
$nav-tabs-link-hover-border-color: $nav-tabs-border-color $nav-tabs-border-color transparent !default;
$nav-tabs-link-active-color: $white !default;
$nav-tabs-link-active-border-color: $nav-tabs-border-color $nav-tabs-border-color transparent !default;
// Navbar
$navbar-padding-y: 1rem !default;
$navbar-dark-color: rgba($white, 0.6) !default;
$navbar-dark-hover-color: $white !default;
$navbar-light-color: rgba($gray-900, 0.7) !default;
$navbar-light-hover-color: $gray-900 !default;
$navbar-light-active-color: $gray-900 !default;
$navbar-light-toggler-border-color: rgba($gray-900, 0.1) !default;
// Pagination
$pagination-color: $white !default;
$pagination-bg: $success !default;
$pagination-border-width: 0% !default;
$pagination-border-color: transparent !default;
$pagination-hover-color: $white !default;
$pagination-hover-bg: lighten($success, 10%) !default;
$pagination-hover-border-color: transparent !default;
$pagination-active-bg: $pagination-hover-bg !default;
$pagination-active-border-color: transparent !default;
$pagination-disabled-color: $white !default;
$pagination-disabled-bg: darken($success, 15%) !default;
$pagination-disabled-border-color: transparent !default;
// Cards
$card-cap-bg: $gray-700 !default;
$card-bg: $gray-800 !default;
// Popovers
$popover-bg: $gray-800 !default;
$popover-header-bg: $gray-700 !default;
// Toasts
$toast-background-color: $gray-700 !default;
$toast-header-background-color: $gray-800 !default;
// Modals
$modal-content-bg: $gray-800 !default;
$modal-content-border-color: $gray-700 !default;
$modal-header-border-color: $gray-700 !default;
// Progress bars
$progress-bg: $gray-700 !default;
// List group
$list-group-color: $body-color !default;
$list-group-bg: $gray-800 !default;
$list-group-border-color: $gray-700 !default;
$list-group-hover-bg: $gray-700 !default;
$list-group-action-hover-color: $list-group-color !default;
$list-group-action-active-bg: $gray-900 !default;
// Breadcrumbs
$breadcrumb-padding-y: 0.375rem !default;
$breadcrumb-padding-x: 0.75rem !default;
$breadcrumb-bg: $gray-700 !default;
$breadcrumb-border-radius: 0.25rem !default;
// Close
$btn-close-color: $white !default;
$btn-close-opacity: 0.4 !default;
$btn-close-hover-opacity: 1 !default;
// Code
$pre-color: inherit !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Darkly 5.1.3
// Bootswatch
// Variables
$web-font-path: 'https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap' !default;
@if $web-font-path {
@import url($web-font-path);
}
// Typography
.blockquote {
&-footer {
color: $gray-600;
}
}
// Forms
.input-group-addon {
color: $white;
}
.form-floating > label {
color: $gray-700;
}
// Navs
.nav-tabs,
.nav-pills {
.nav-link,
.nav-link.active,
.nav-link.active:focus,
.nav-link.active:hover,
.nav-item.open .nav-link,
.nav-item.open .nav-link:focus,
.nav-item.open .nav-link:hover {
color: $white;
}
}
.breadcrumb a {
color: $white;
}
.pagination {
a:hover {
text-decoration: none;
}
}
// Indicators
.alert {
color: $white;
border: none;
a,
.alert-link {
color: $white;
text-decoration: underline;
}
@each $color, $value in $theme-colors {
&-#{$color} {
@if $enable-gradients {
background: $value linear-gradient(180deg, mix($white, $value, 15%), $value) repeat-x;
} @else {
background-color: $value;
}
}
}
}

View File

@ -0,0 +1,305 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Lux 5.1.3
// Bootswatch
$theme: 'lux' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #f7f7f9 !default;
$gray-300: #eceeef !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #919aa1 !default;
$gray-700: #55595c !default;
$gray-800: #343a40 !default;
$gray-900: #1a1a1a !default;
$black: #000 !default;
$blue: #007bff !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #d9534f !default;
$orange: #fd7e14 !default;
$yellow: #f0ad4e !default;
$green: #4bbf73 !default;
$teal: #20c997 !default;
$cyan: #1f9bcf !default;
$primary: #439982 !default;
$secondary: $white !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-800 !default;
$min-contrast-ratio: 2.3 !default;
// Options
$enable-rounded: true !default;
// Body
$body-color: $gray-800 !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
//$font-family-sans-serif: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;
$h1-font-size: 2rem !default;
$h2-font-size: 1.75rem !default;
$h3-font-size: 1.5rem !default;
$h4-font-size: 1.25rem !default;
$h5-font-size: 1rem !default;
$h6-font-size: 0.75rem !default;
$headings-font-weight: 600 !default;
$headings-color: $gray-900 !default;
// Tables
$table-border-color: rgba(0, 0, 0, 0.05) !default;
// Buttons + Forms
$input-btn-border-width: 1px !default;
// Buttons
$btn-line-height: 1.25rem !default;
$input-btn-padding-y: 0.6rem !default;
$input-btn-padding-x: 1rem !default;
$input-btn-padding-y-sm: 0.35rem !default;
$input-btn-padding-x-sm: 0.5rem !default;
$input-btn-padding-y-lg: 1.85rem !default;
$input-btn-padding-x-lg: 1.5rem !default;
$btn-font-weight: 600 !default;
// Forms
$input-line-height: 1.25 !default;
$input-bg: $white !default;
$input-disabled-bg: $gray-300 !default;
$input-group-addon-bg: $gray-300 !default;
// Navbar
$navbar-padding-y: 1.5rem !default;
$navbar-dark-hover-color: $white !default;
$navbar-light-color: rgba($black, 0.3) !default;
$navbar-light-hover-color: $gray-900 !default;
$navbar-light-active-color: $gray-900 !default;
// Pagination
$pagination-border-color: transparent !default;
$pagination-hover-border-color: $pagination-border-color !default;
$pagination-disabled-border-color: $pagination-border-color !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Bootswatch (Lux)
// Variables
// Hint: Use the following $var to load a custom font.
// $web-font-path: "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600&display=swap" !default;
// @if $web-font-path {
// @import url($web-font-path);
// }
// Navbar
.navbar {
font-size: $font-size-sm;
text-transform: uppercase;
font-weight: 600;
&-nav {
.nav-link {
padding-top: 0.715rem;
padding-bottom: 0.715rem;
}
}
&-brand {
margin-right: 2rem;
}
}
.bg-light {
border: 1px solid $gray-400 !important;
&.navbar-fixed-top {
border-width: 0 0 1px;
}
&.navbar-bottom-top {
border-width: 1px 0 0;
}
}
// Buttons
.btn {
font-size: $font-size-sm;
text-transform: uppercase;
&-sm {
font-size: 10px;
}
&-warning {
&,
&:hover,
&:not([disabled]):not(.disabled):active,
&:focus {
color: $white;
}
}
}
.btn-secondary {
//color: #45927d;
color: darken($primary, 5);
}
.btn-outline-secondary {
background: none;
border-color: #777;
color: #777;
&:not([disabled]):not(.disabled):hover,
&:not([disabled]):not(.disabled):focus,
&:not([disabled]):not(.disabled):active {
background-color: $gray-400;
border-color: $gray-400;
color: $white;
}
&:not([disabled]):not(.disabled):focus {
box-shadow: 0 0 0 0.2rem rgba($gray-400, 0.5);
}
&[disabled],
&.disabled {
color: $gray-400;
border-color: $gray-400;
}
}
[class*='btn-outline-'] {
border-width: 1px;
}
.border-secondary {
border: 1px solid $gray-400 !important;
}
.btn-close {
opacity: 0.3;
}
// Typography
body {
//font-weight: 200;
letter-spacing: 0.05rem;
}
h1,
h2,
h3,
h4,
h5,
h6 {
text-transform: uppercase;
letter-spacing: 3px;
}
.text-secondary {
color: $body-color !important;
}
// Tables
th {
font-size: $font-size-sm;
text-transform: uppercase;
}
// Navs
.dropdown-menu {
font-size: $font-size-sm;
text-transform: uppercase;
border: 1px solid rgb(0 0 0 / 30%);
.dropdown-item {
padding: 1rem;
}
}
// Indicators
.badge {
padding-top: 0.28rem;
&-pill {
border-radius: 10rem;
}
&.bg-secondary,
&.bg-light {
color: $dark;
}
}
// Containers
.list-group-item {
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
color: inherit;
}
}
.card {
&-title,
&-header {
color: inherit;
}
}
// Forms
.form-label {
font-weight: bold;
}

View File

@ -0,0 +1,226 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Flatly 5.1.3
// Bootswatch
$theme: 'flatly' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #ecf0f1 !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #b4bcc2 !default;
$gray-600: #95a5a6 !default;
$gray-700: #7b8a8b !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;
$black: #000 !default;
$blue: #2c3e50 !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #e74c3c !default;
$orange: #fd7e14 !default;
$yellow: #f39c12 !default;
$green: #18bc9c !default;
$teal: #20c997 !default;
$cyan: #3498db !default;
$primary: $blue !default;
$secondary: $gray-600 !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-200 !default;
$dark: $gray-700 !default;
$min-contrast-ratio: 2.05 !default;
// Links
$link-color: $success !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
$font-family-sans-serif:
Lato,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
'Helvetica Neue',
Arial,
sans-serif,
'Apple Color Emoji',
'Segoe UI Emoji',
'Segoe UI Symbol' !default;
$h1-font-size: 3rem !default;
$h2-font-size: 2.5rem !default;
$h3-font-size: 2rem !default;
// Tables
$table-bg-scale: 0% !default;
// Dropdowns
$dropdown-link-color: $gray-700 !default;
$dropdown-link-hover-color: $white !default;
$dropdown-link-hover-bg: $primary !default;
// Navs
$nav-link-padding-y: 0.5rem !default;
$nav-link-padding-x: 2rem !default;
$nav-link-disabled-color: $gray-600 !default;
$nav-tabs-border-color: $gray-200 !default;
// Navbar
$navbar-padding-y: 1rem !default;
$navbar-dark-color: $white !default;
$navbar-dark-hover-color: $primary !default;
$navbar-dark-active-color: $primary !default;
$navbar-dark-brand-color: $white !default;
$navbar-dark-brand-hover-color: $navbar-dark-brand-color !default;
// Pagination
$pagination-color: $white !default;
$pagination-bg: $success !default;
$pagination-border-width: 0% !default;
$pagination-border-color: transparent !default;
$pagination-hover-color: $white !default;
$pagination-hover-bg: darken($success, 15%) !default;
$pagination-hover-border-color: transparent !default;
$pagination-active-bg: $pagination-hover-bg !default;
$pagination-active-border-color: transparent !default;
$pagination-disabled-color: $gray-200 !default;
$pagination-disabled-bg: lighten($success, 15%) !default;
$pagination-disabled-border-color: transparent !default;
// List group
$list-group-hover-bg: $gray-200 !default;
$list-group-disabled-bg: $gray-200 !default;
// Breadcrumbs
$breadcrumb-padding-y: 0.375rem !default;
$breadcrumb-padding-x: 0.75rem !default;
$breadcrumb-border-radius: 0.25rem !default;
// Close
$btn-close-color: $white !default;
$btn-close-opacity: 0.4 !default;
$btn-close-hover-opacity: 1 !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Flatly 5.1.3
// Bootswatch
// Variables
$web-font-path: 'https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap' !default;
@if $web-font-path {
@import url($web-font-path);
}
// Navbar
.bg-primary {
.navbar-nav .show > .nav-link,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
color: $success !important;
}
}
// Navs
.nav-tabs {
.nav-link.active,
.nav-link.active:focus,
.nav-link.active:hover,
.nav-item.open .nav-link,
.nav-item.open .nav-link:focus,
.nav-item.open .nav-link:hover {
color: $primary;
}
}
.pagination {
a:hover {
text-decoration: none;
}
}
// Indicators
.badge {
&.bg-light {
color: $dark;
}
}
.alert {
color: $white;
border: none;
a,
.alert-link {
color: $white;
text-decoration: underline;
}
@each $color, $value in $theme-colors {
&-#{$color} {
@if $enable-gradients {
background: $value linear-gradient(180deg, mix($body-bg, $value, 15%), $value) repeat-x;
} @else {
background-color: $value;
}
}
}
&-light {
&,
a,
.alert-link {
color: $body-color;
}
}
}
// Containers
.modal,
.toast,
.offcanvas {
.btn-close {
background-image: escape-svg(
url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$black}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>")
);
}
}

View File

@ -0,0 +1,227 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Litera 5.1.3
// Bootswatch
$theme: 'litera' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #e9ecef !default;
$gray-300: #ddd !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #868e96 !default;
$gray-700: #495057 !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;
$black: #000 !default;
$blue: #4582ec !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #d9534f !default;
$orange: #fd7e14 !default;
$yellow: #f0ad4e !default;
$green: #02b875 !default;
$teal: #20c997 !default;
$cyan: #17a2b8 !default;
$primary: $blue !default;
$secondary: $gray-500 !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-800 !default;
$min-contrast-ratio: 1.85 !default;
// Body
$body-color: $gray-800 !default;
// Fonts
// stylelint-disable value-keyword-case
$font-family-sans-serif: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',
sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji' !default;
$font-family-serif: Georgia, Cambria, 'Times New Roman', Times, serif !default;
// stylelint-enable
$font-size-base: 1.1rem !default;
$headings-font-weight: 700 !default;
// Tables
$table-border-color: rgba(0, 0, 0, 0.1) !default;
$table-bg-scale: 0% !default;
// Buttons
$input-btn-padding-y: 0.5rem !default;
$input-btn-padding-x: 1.1rem !default;
$btn-font-family: $font-family-sans-serif !default;
$btn-font-size: 0.875rem !default;
$btn-font-size-sm: 0.688rem !default;
$btn-border-radius: 1.078em !default;
$btn-border-radius-lg: 2.688em !default;
$btn-border-radius-sm: 0.844em !default;
// Forms
$input-border-color: rgba(0, 0, 0, 0.1) !default;
$input-group-addon-bg: $gray-200 !default;
// Navbar
$navbar-dark-color: rgba($white, 0.6) !default;
$navbar-dark-hover-color: $white !default;
$navbar-light-hover-color: $body-color !default;
$navbar-light-active-color: $body-color !default;
// Tooltips
$tooltip-font-size: 11px !default;
// Badges
$badge-font-weight: 400 !default;
$badge-padding-y: 0.6em !default;
$badge-padding-x: 1.2em !default;
// Alerts
$alert-border-width: 0 !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Litera 5.1.3
// Bootswatch
// Navbar
.navbar {
font-size: $font-size-sm;
&.bg-dark {
background-color: $success !important;
}
&.bg-light {
background-color: $white !important;
border: 1px solid rgba(0, 0, 0, 0.1);
&.navbar-fixed-top {
border-width: 0 0 1px;
}
&.navbar-fixed-bottom {
border-width: 1px 0 0;
}
}
}
// Typography
p {
font-family: $font-family-serif;
}
blockquote {
font-style: italic;
}
footer {
font-size: $font-size-sm;
}
.lead {
font-family: $font-family-sans-serif;
color: $gray-600;
}
// Tables
table,
.table {
font-size: $font-size-sm;
}
// Navs
.nav,
.breadcrumb,
.pagination {
font-size: $font-size-sm;
}
.dropdown-menu {
font-size: $font-size-sm;
}
// Indicators
.alert {
font-size: $font-size-sm;
color: $white;
&,
p {
font-family: $font-family-sans-serif;
}
a,
.alert-link {
font-weight: 400;
color: $white;
text-decoration: underline;
}
@each $color, $value in $theme-colors {
&-#{$color} {
@if $enable-gradients {
background: $value linear-gradient($value, mix($body-bg, $value, 15%)) repeat-x;
} @else {
background-color: $value;
}
}
}
&-light {
&,
a,
.alert-link {
color: $body-color;
}
}
}
.badge {
&.bg-light {
color: $dark;
}
}
// Containers
.list-group {
font-size: $font-size-sm;
}

View File

@ -0,0 +1,444 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Lumen 5.1.3
// Bootswatch
$theme: 'lumen' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f6f6f6 !default;
$gray-200: #f0f0f0 !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #999 !default;
$gray-700: #555 !default;
$gray-800: #333 !default;
$gray-900: #222 !default;
$black: #000 !default;
$blue: #158cba !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #ff4136 !default;
$orange: #fd7e14 !default;
$yellow: #ff851b !default;
$green: #28b62c !default;
$teal: #20c997 !default;
$cyan: #75caeb !default;
$primary: $blue !default;
$secondary: $gray-600 !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-700 !default;
$min-contrast-ratio: 1.75 !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
$font-family-sans-serif:
'Source Sans Pro',
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
'Helvetica Neue',
Arial,
sans-serif,
'Apple Color Emoji',
'Segoe UI Emoji',
'Segoe UI Symbol' !default;
// Tables
$table-bg-scale: 0% !default;
// Buttons
$btn-font-weight: 700 !default;
// Dropdowns
$dropdown-link-color: rgba(0, 0, 0, 0.5) !default;
// Navs
$nav-tabs-border-color: $gray-200 !default;
$nav-tabs-link-hover-border-color: $nav-tabs-border-color !default;
$nav-tabs-link-active-color: $gray-900 !default;
$nav-tabs-link-active-border-color: $nav-tabs-border-color !default;
// Pagination
$pagination-color: $gray-700 !default;
$pagination-bg: $gray-200 !default;
$pagination-hover-color: $pagination-color !default;
$pagination-hover-bg: $pagination-bg !default;
$pagination-active-border-color: darken($primary, 5%) !default;
$pagination-disabled-color: $gray-600 !default;
$pagination-disabled-bg: $pagination-bg !default;
// Breadcrumbs
$breadcrumb-padding-y: 0.375rem !default;
$breadcrumb-padding-x: 0.75rem !default;
$breadcrumb-bg: $pagination-bg !default;
$breadcrumb-border-radius: 0.25rem !default;
// Modals
$modal-content-border-color: rgba($black, 0.1) !default;
// Close
$btn-close-color: $white !default;
$btn-close-opacity: 0.4 !default;
$btn-close-hover-opacity: 1 !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Lumen 5.1.3
// Bootswatch
// Variables
$web-font-path: 'https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap' !default;
@if $web-font-path {
@import url($web-font-path);
}
// Mixins
@mixin shadow($width: 4px) {
border-style: solid;
border-width: 0 1px $width 1px;
}
// Navbar
.navbar {
@include shadow();
@each $color, $value in $theme-colors {
&.bg-#{$color} {
border-color: shade-color($value, 10%);
}
}
}
// Buttons
.btn {
@include shadow();
text-transform: uppercase;
&:not(.disabled):hover {
margin-top: 1px;
border-bottom-width: 3px;
}
&:not(.disabled):active {
margin-top: 2px;
border-bottom-width: 2px;
@include box-shadow(none);
}
@each $color, $value in $theme-colors {
&-#{$color} {
&:hover,
&:active,
&:focus {
background-color: $value;
}
&,
&:not(.disabled):hover,
&:not(.disabled):active,
&:focus {
border-color: shade-color($value, 10%);
}
}
}
}
[class*='btn-outline'] {
border-top-width: 1px;
}
.btn-group-vertical {
.btn + .btn {
&:hover {
margin-top: -1px;
border-top-width: 1px;
}
&:active {
margin-top: -1px;
border-top-width: 2px;
}
}
}
// Typography
.text-secondary {
color: $gray-700 !important;
}
.blockquote-footer {
color: $gray-600;
}
// Forms
.form-control {
box-shadow: inset 0 2px 0 rgba(0, 0, 0, 0.075);
}
// Navs
.nav {
.open > a,
.open > a:hover,
.open > a:focus {
border-color: transparent;
}
}
.nav-tabs {
.nav-link {
color: $body-color;
&,
&.disabled,
&.disabled:hover,
&.disabled:focus {
margin-top: 6px;
border-color: $nav-tabs-border-color;
transition:
padding-bottom 0.2s ease-in-out,
margin-top 0.2s ease-in-out,
border-bottom 0.2s ease-in-out;
}
&:not(.disabled):hover,
&:not(.disabled):focus,
&.active {
padding-bottom: add(0.5rem, 6px);
margin-top: 0;
border-bottom-color: transparent;
}
}
&.nav-justified > li {
vertical-align: bottom;
}
}
.dropdown-menu {
margin-top: 0;
@include shadow();
border-top-width: 1px;
@include box-shadow(none);
}
.breadcrumb {
border-color: shade-color($breadcrumb-bg, 10%);
@include shadow();
}
.pagination {
> li > a,
> li > span {
position: relative;
top: 0;
font-weight: 700;
color: $pagination-color;
text-transform: uppercase;
@include shadow();
&:hover,
&:focus {
top: 1px;
text-decoration: none;
border-bottom-width: 3px;
}
&:active {
top: 2px;
border-bottom-width: 2px;
}
}
> .disabled > a,
> .disabled > span {
&:hover {
top: 0;
@include shadow();
}
&:active {
top: 0;
@include shadow();
}
}
}
.pager {
> li > a,
> li > span,
> .disabled > a,
> .disabled > span {
&,
&:hover,
&:active {
border-right-width: 2px;
border-left-width: 2px;
}
}
}
// Indicators
.btn-close {
text-decoration: none;
opacity: 0.4;
&:hover,
&:focus {
opacity: 1;
}
}
.alert {
color: $white;
@include shadow();
&-primary {
background-color: $primary;
border-color: shade-color($primary, 10%);
}
&-secondary {
background-color: $secondary;
border-color: shade-color($secondary, 10%);
}
&-success {
background-color: $success;
border-color: shade-color($success, 10%);
}
&-info {
background-color: $info;
border-color: shade-color($info, 10%);
}
&-danger {
background-color: $danger;
border-color: shade-color($danger, 10%);
}
&-warning {
background-color: $warning;
border-color: shade-color($warning, 10%);
}
&-dark {
background-color: $dark;
border-color: shade-color($dark, 10%);
}
&-light {
background-color: $light;
border-color: shade-color($light, 10%);
}
.alert-link {
font-weight: 400;
color: $white;
text-decoration: underline;
}
&-secondary,
&-light {
&,
a,
.alert-link {
color: $body-color;
}
}
}
.badge {
&.bg-secondary,
&.bg-light {
color: $dark;
}
}
// Containers
a.list-group-item {
&-success {
&.active {
background-color: $success;
}
&.active:hover,
&.active:focus {
background-color: shade-color($success, 10%);
}
}
&-warning {
&.active {
background-color: $warning;
}
&.active:hover,
&.active:focus {
background-color: shade-color($warning, 10%);
}
}
&-danger {
&.active {
background-color: $danger;
}
&.active:hover,
&.active:focus {
background-color: shade-color($danger, 10%);
}
}
}
.modal,
.toast,
.offcanvas {
.btn-close {
background-image: escape-svg(
url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$black}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>")
);
}
}

View File

@ -0,0 +1,806 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Materia 5.1.3
// Bootswatch
$theme: 'materia' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #eee !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #bbb !default;
$gray-600: #666 !default;
$gray-700: #444 !default;
$gray-800: #222 !default;
$gray-900: #212121 !default;
$black: #000 !default;
$blue: #2196f3 !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #e51c23 !default;
$orange: #fd7e14 !default;
$yellow: #ff9800 !default;
$green: #4caf50 !default;
$teal: #20c997 !default;
$cyan: #9c27b0 !default;
$primary: $blue !default;
$secondary: $white !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-800 !default;
$min-contrast-ratio: 2.15 !default;
$enable-gradients: true !default;
// Body
$body-color: $gray-700 !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
$font-family-sans-serif:
Roboto,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
'Helvetica Neue',
Arial,
sans-serif !default;
$font-size-base: 1rem !default;
$font-weight-base: 400 !default;
// Buttons
$input-btn-padding-y: 0.8rem !default;
$input-btn-padding-x: 1rem !default;
// Forms
$input-padding-y: 1rem !default;
$input-padding-x: 0% !default;
$input-padding-y-sm: 0% !default;
$input-padding-x-sm: 0% !default;
$input-padding-y-lg: ($font-size-base * 1.25) !default;
$input-padding-x-lg: 0% !default;
$input-bg: transparent !default;
$input-disabled-bg: transparent !default;
$input-color: $gray-600 !default;
$input-border-color: transparent !default;
$input-border-width: 0% !default;
$input-border-radius: 0% !default;
$input-border-radius-lg: 0% !default;
$input-border-radius-sm: 0% !default;
$input-placeholder-color: rgba(0, 0, 0, 0.4) !default;
$input-group-addon-bg: transparent !default;
// Navs
$nav-link-disabled-color: $gray-500 !default;
$nav-tabs-border-color: transparent !default;
// Navbar
$navbar-padding-y: 1rem !default;
$navbar-dark-color: rgba($white, 0.75) !default;
$navbar-dark-hover-color: $white !default;
// Cards
$card-border-width: 0 !default;
$card-border-color: transparent !default;
// Tooltips
$tooltip-bg: $gray-700 !default;
// Modals
$modal-content-border-color: transparent !default;
// Progress bars
$progress-height: 0.375rem !default;
$progress-border-radius: 0% !default;
// Close
$btn-close-color: $white !default;
$btn-close-opacity: 0.6 !default;
$btn-close-hover-opacity: 1 !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Materia 5.1.3
// Bootswatch
// Variables
$web-font-path: 'https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap' !default;
@if $web-font-path {
@import url($web-font-path);
}
// Mixins
@mixin ripple($color) {
position: relative;
&::before {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
margin-left: 0;
pointer-events: none;
content: '';
background-position: 50%;
background-size: 1000% 1000%;
border: none;
opacity: 0;
transition:
background 0.5s,
opacity 1s;
@include gradient-radial($color 10%, transparent 10.01%);
}
&:active::before {
background-size: 0 0;
opacity: 0.2;
transition: none;
}
&.disabled,
&[disabled] {
&::before {
display: none;
}
}
}
@mixin btn($class, $bg, $color) {
.btn-#{$class} {
&:focus {
background-color: $bg;
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
&:hover,
&:active:hover {
background-color: shade-color($bg, 12%);
}
&:active {
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}
@include ripple($color);
}
.btn-outline-#{$class} {
@include ripple($color);
}
}
.dropdown-toggle::after,
.dropup .dropdown-toggle::after,
.dropstart .dropdown-toggle::after,
.dropend .dropdown-toggle::after {
border-width: 4px;
}
// Navbar
.navbar {
border: none;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
&-brand {
font-size: 24px;
}
&-nav .nav-link {
padding-top: 0.9rem;
padding-bottom: 0.9rem;
}
&.bg-dark,
&.bg-primary {
input[type='search'],
input[type='text'],
input[type='password'],
input[type='email'],
input[type='number'],
input[type='tel'] {
color: $white;
box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5);
&:focus {
box-shadow: inset 0 -2px 0 $white;
}
&::placeholder {
color: rgba(255, 255, 255, 0.5);
}
}
}
}
// Buttons
@include btn(primary, $primary, $white);
@include btn(secondary, $secondary, $gray-500);
@include btn(success, $success, $white);
@include btn(info, $info, $white);
@include btn(warning, $warning, $white);
@include btn(danger, $danger, $white);
@include btn(dark, $dark, $white);
@include btn(light, $light, $white);
.btn {
text-transform: uppercase;
border: none;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
transition:
color 0.4s,
background-color 0.4s,
border-color 0.4s,
box-shadow 0.4s;
&-link {
color: $link-color;
box-shadow: none;
&:hover,
&:focus {
color: $link-hover-color;
text-decoration: $link-hover-decoration;
box-shadow: none;
}
&.disabled, // Although btn-link is intended for buttons, which want to look like link, I include here a.disable for the sake of consistency
&[disabled],
fieldset[disabled] & {
&:hover,
&:active:hover {
color: $btn-link-disabled-color;
text-decoration: none;
}
}
}
&-secondary {
&.disabled,
&[disabled],
fieldset[disabled] & {
color: rgba(0, 0, 0, 0.4);
background-color: rgba(0, 0, 0, 0.1);
opacity: 1;
&:hover,
&:focus {
background-color: rgba(0, 0, 0, 0.1);
}
}
}
&-outline-secondary {
color: $gray-300;
border-color: $gray-200;
}
&-warning {
color: $white;
}
}
.btn-group {
.btn + .btn,
.btn + .btn-group,
.btn-group + .btn,
.btn-group + .btn-group {
margin-left: 0;
}
&-vertical {
> .btn + .btn,
> .btn + .btn-group,
> .btn-group + .btn,
> .btn-group + .btn-group {
margin-top: 0;
}
}
.btn + .btn,
.btn + .btn-group > .dropdown-toggle {
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4);
}
}
.border-secondary {
border: 1px solid #dfdfdf !important;
}
// Typography
body,
input,
button {
letter-spacing: 0.1px;
}
p {
margin: 0 0 1em;
}
.text-secondary {
color: $gray-500 !important;
}
// Tables
.table-hover {
> tbody > tr,
> tbody > tr > th,
> tbody > tr > td {
transition:
background-color 0.2s,
color 0.2s;
}
}
.thead-inverse th {
color: $white;
background-color: $primary;
}
// Forms
.col-form-label {
font-size: 16px;
&-sm {
font-size: $font-size-sm;
}
&-lg {
font-size: $font-size-lg;
}
}
textarea,
textarea.form-control,
input.form-control,
input[type='text'],
input[type='password'],
input[type='email'],
input[type='number'],
[type='text'].form-control,
[type='password'].form-control,
[type='email'].form-control,
[type='tel'].form-control,
[contenteditable].form-control {
box-shadow: inset 0 -1px 0 #ddd;
transition: box-shadow 0.2s;
&:focus {
box-shadow: inset 0 -2px 0 $primary;
}
&[disabled],
&[readonly] {
border-bottom: 1px dotted #ddd;
box-shadow: none;
}
&[disabled],
&[disabled]::placeholder {
color: #ddd;
}
}
select,
select.form-control {
padding: 0.5rem 0;
background-image: escape-svg(
url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 4'><path fill='#{$gray-600}' d='M8 0 4 4 0 0z'/></svg>")
);
background-repeat: no-repeat;
background-position: right center;
background-size: 8px 4px;
box-shadow: inset 0 -1px 0 #ddd;
appearance: none;
&.input {
&-sm {
font-size: $font-size-sm;
}
&-lg {
font-size: $font-size-lg;
}
}
&:focus {
background-image: escape-svg(
url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 4'><path fill='#{$gray-900}' d='M8 0 4 4 0 0z'/></svg>")
);
box-shadow: inset 0 -2px 0 $primary;
}
&[multiple] {
background: none;
}
}
.form-check-input {
width: 1.25em;
height: 1.25em;
margin-top: 1px;
border: 2px solid $gray-400;
&:checked[type='radio'] {
background-image: escape-svg(
url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$blue}' stroke='#{$white}'/></svg>")
),
var(--bs-gradient);
background-size: 1.8em;
}
}
.form-switch {
.form-check-input {
position: relative;
height: 0.8em;
margin-top: 0.29em;
background-color: $gray-400;
background-image: none;
border: none;
&:focus {
box-shadow: none;
}
&::before {
position: absolute;
top: -0.2em;
left: -0.2em;
width: 1.2em;
height: 1.2em;
content: '';
background-color: $white;
border-radius: 50%;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
transition: left 0.15s ease-in-out;
}
&::after {
position: absolute;
top: -0.2em;
left: -0.2em;
z-index: -1;
width: 1.2em;
height: 1.2em;
content: '';
border-radius: 50%;
box-shadow: 0 0 0 9px rgba(0, 0, 0, 0.05);
transition:
left 0.15s ease-in-out,
transform 0.15s ease-in-out,
box-shadow 0.15s ease-in-out;
transform: scale(0);
}
&:hover:not(.disabled),
&:focus:not(.disabled) {
&::after {
transform: scale(0.9);
}
}
&:focus:not(.disabled) {
&::after {
box-shadow: 0 0 0 9px rgba(0, 0, 0, 0.1);
}
}
&:checked {
background-color: rgba(33, 150, 243, 0.3);
&::before {
left: calc(100% - 0.8em);
background-color: rgba(33, 150, 243, 1);
}
&::after {
left: calc(100% - 0.8em);
box-shadow: 0 0 0 9px rgba(33, 150, 243, 0.1);
}
&:hover:not(.disabled),
&:focus:not(.disabled) {
&::after {
transform: scale(0.9);
}
}
&:focus:not(.disabled) {
&::after {
box-shadow: 0 0 0 9px rgba(33, 150, 243, 0.2);
}
}
}
}
}
.form-check:not(.form-switch) {
.form-check-input {
&:checked[type='checkbox'] {
background-image: escape-svg(
url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$white}' stroke-width='2' d='m6 10 3 3 6-6'/></svg>")
),
var(--bs-gradient);
background-size: 1.6em;
}
}
}
.has-warning {
input:not([type='checkbox']),
.form-control,
input.form-control[readonly],
input[type='text'][readonly],
[type='text'].form-control[readonly],
input:not([type='checkbox']):focus,
.form-control:focus {
border-bottom: none;
box-shadow: inset 0 -2px 0 $warning;
}
}
.has-danger {
input:not([type='checkbox']),
.form-control,
input.form-control[readonly],
input[type='text'][readonly],
[type='text'].form-control[readonly],
input:not([type='checkbox']):focus,
.form-control:focus {
border-bottom: none;
box-shadow: inset 0 -2px 0 $danger;
}
}
.has-success {
input:not([type='checkbox']),
.form-control,
input.form-control[readonly],
input[type='text'][readonly],
[type='text'].form-control[readonly],
input:not([type='checkbox']):focus,
.form-control:focus {
border-bottom: none;
box-shadow: inset 0 -2px 0 $success;
}
}
// Remove the Bootstrap feedback styles for input addons
.input-group-addon {
.has-warning &,
.has-danger &,
.has-success & {
color: $input-color;
background-color: $input-group-addon-bg;
border-color: $input-group-addon-border-color;
}
}
.form-group-lg {
select,
select.form-control {
line-height: 1.5;
}
}
// Navs
.nav-tabs {
.nav-item + .nav-item {
margin-left: 0;
}
.nav-link,
.nav-link:focus {
margin-right: 0;
color: $body-color;
background-color: transparent;
border: none;
box-shadow: inset 0 -1px 0 #ddd;
transition:
color 0.2s,
box-shadow 0.2s;
&:hover {
color: $primary;
background-color: transparent;
box-shadow: inset 0 -2px 0 $primary;
}
}
.nav-link.active,
.nav-link.active:focus {
color: $primary;
border: none;
box-shadow: inset 0 -2px 0 $primary;
&:hover {
color: $primary;
border: none;
}
}
.nav-link.disabled {
box-shadow: inset 0 -1px 0 #ddd;
}
&.nav-justified {
.nav-link,
.nav-link:hover,
.nav-link:focus,
.nav-link.active,
.nav-link.active:hover,
.nav-link.active:focus {
border: none;
}
}
.dropdown-menu {
margin-top: 0;
}
}
.dropdown-menu {
margin-top: 0;
border: none;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}
// Indicators
.alert {
padding-right: 2.5rem;
border: none;
&,
h1,
h2,
h3,
h4,
h5,
h6 {
color: $white;
}
@each $color, $value in $theme-colors {
&-#{$color} {
@if $enable-gradients {
background: $value linear-gradient(180deg, mix($body-bg, $value, 15%), $value) repeat-x;
} @else {
background-color: $value;
}
}
}
a:not(.btn),
.alert-link {
font-weight: 700;
color: $white;
}
&-secondary,
&-light {
&,
a:not(.btn),
.alert-link {
color: $body-color;
}
}
}
.badge {
&.bg-secondary,
&.bg-light {
color: $dark;
}
}
.tag {
padding: 4px 6px;
}
// Containers
.card {
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
&.border-primary,
&.border-secondary,
&.border-success,
&.border-info,
&.border-warning,
&.border-danger,
&.border-light,
&.border-dark {
border-width: 1px;
}
}
.list-group {
&-item-action.active {
h1,
h2,
h3,
h4,
h5,
h6 {
color: $white;
}
}
}
.modal-content {
border-radius: 0.2rem;
box-shadow: 0 6px 36px rgba(0, 0, 0, 0.3);
}
.modal,
.toast,
.offcanvas {
.btn-close {
background-image: escape-svg(
url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$black}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>")
);
}
}
.popover {
border: none;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}
.carousel {
&-caption {
h1,
h2,
h3,
h4,
h5,
h6 {
color: inherit;
}
}
}

View File

@ -0,0 +1,271 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Minty 5.1.3
// Bootswatch
$theme: 'minty' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #f7f7f9 !default;
$gray-300: #eceeef !default;
$gray-400: #ced4da !default;
$gray-500: #aaa !default;
$gray-600: #888 !default;
$gray-700: #5a5a5a !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;
$black: #000 !default;
$blue: #007bff !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #ff7851 !default;
$orange: #fd7e14 !default;
$yellow: #ffce67 !default;
$green: #56cc9d !default;
$teal: #20c997 !default;
$cyan: #6cc3d5 !default;
$primary: #78c2ad !default;
$secondary: #f3969a !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-800 !default;
$min-contrast-ratio: 1.45 !default;
// Body
$body-color: $gray-600 !default;
// Components
$border-radius: 0.4rem !default;
$border-radius-lg: 0.6rem !default;
$border-radius-sm: 0.3rem !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
$headings-font-family:
Montserrat,
-apple-system,
system-ui,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
'Helvetica Neue',
Arial,
sans-serif !default;
$headings-color: $gray-700 !default;
// Tables
$table-border-color: rgba(0, 0, 0, 0.05) !default;
$table-bg-scale: 0% !default;
// Dropdowns
$dropdown-link-hover-color: $white !default;
$dropdown-link-hover-bg: $secondary !default;
// Navbar
$navbar-dark-color: rgba($white, 0.6) !default;
$navbar-dark-hover-color: $white !default;
$navbar-light-color: rgba($black, 0.3) !default;
$navbar-light-hover-color: $gray-700 !default;
$navbar-light-active-color: $gray-700 !default;
$navbar-light-disabled-color: rgba($black, 0.1) !default;
// Pagination
$pagination-color: $white !default;
$pagination-bg: $primary !default;
$pagination-border-color: $primary !default;
$pagination-hover-color: $white !default;
$pagination-hover-bg: $secondary !default;
$pagination-hover-border-color: $pagination-hover-bg !default;
$pagination-active-bg: $secondary !default;
$pagination-active-border-color: $pagination-active-bg !default;
$pagination-disabled-color: $white !default;
$pagination-disabled-bg: #cce8e0 !default;
$pagination-disabled-border-color: $pagination-disabled-bg !default;
// Alerts
$alert-color-scale: 0% !default;
$alert-bg-scale: 0% !default;
// Breadcrumbs
$breadcrumb-padding-y: 0.375rem !default;
$breadcrumb-padding-x: 0.75rem !default;
$breadcrumb-bg: $primary !default;
$breadcrumb-divider-color: $white !default;
$breadcrumb-active-color: $breadcrumb-divider-color !default;
$breadcrumb-border-radius: 0.25rem !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Minty 5.1.3
// Bootswatch
// Variables
$web-font-path: 'https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&display=swap' !default;
@if $web-font-path {
@import url($web-font-path);
}
// Navbar
.navbar {
font-family: $headings-font-family;
}
.bg-dark {
background-color: $secondary !important;
}
.border-dark {
border-color: $secondary !important;
}
// Buttons
.btn {
font-family: $headings-font-family;
&,
&:hover {
color: $white;
}
&-light,
&-light:hover {
color: $gray-700;
}
&-link,
&-link:hover {
color: $primary;
}
&-link.disabled:hover {
color: $gray-600;
}
&-outline-primary {
color: $primary;
}
&-outline-secondary {
color: $secondary;
}
&-outline-success {
color: $success;
}
&-outline-info {
color: $info;
}
&-outline-warning {
color: $warning;
}
&-outline-danger {
color: $danger;
}
&-outline-dark {
color: $dark;
}
&-outline-light {
color: $light;
}
}
// Forms
legend {
font-family: $headings-font-family;
}
// Navs
.dropdown-menu {
font-family: $font-family-sans-serif;
}
.breadcrumb {
a {
color: $navbar-dark-color;
}
a:hover {
color: $white;
text-decoration: none;
}
}
// Indicators
.alert {
a,
.alert-link {
color: $white;
}
&-light {
&,
a:not(.btn),
.alert-link {
color: $body-color;
}
}
}
.badge {
color: $white;
&.bg-light {
color: $gray-700;
}
}
// Containers
.card,
.list-group-item {
h1,
h2,
h3,
h4,
h5,
h6 {
color: inherit;
}
}

View File

@ -0,0 +1,645 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Sketchy 5.1.3
// Bootswatch
$theme: 'sketchy' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #f7f7f9 !default;
$gray-300: #dee2e6 !default;
$gray-400: #ccc !default;
$gray-500: #aaa !default;
$gray-600: #868e96 !default;
$gray-700: #555 !default;
$gray-800: #333 !default;
$gray-900: #212529 !default;
$black: #000 !default;
$blue: #007bff !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #dc3545 !default;
$orange: #fd7e14 !default;
$yellow: #ffc107 !default;
$green: #28a745 !default;
$teal: #20c997 !default;
$cyan: #17a2b8 !default;
$primary: $gray-800 !default;
$secondary: $gray-700 !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $white !default;
$dark: $gray-700 !default;
$min-contrast-ratio: 1.6 !default;
// Links
$link-decoration: underline !default;
// Components
$border-width: 2px !default;
$border-radius: 25px !default;
$border-radius-lg: 35px !default;
$border-radius-sm: 15px !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
$font-family-sans-serif:
Neucha,
-apple-system,
system-ui,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
'Helvetica Neue',
Arial,
sans-serif !default;
$font-weight-base: 700 !default;
$headings-font-family: 'Cabin Sketch', cursive !default;
$blockquote-small-color: $gray-800 !default;
// Tables
$table-hover-bg: $white !default;
$table-border-width: 2px !default;
$table-border-color: $gray-800 !default;
// Forms
$input-border-color: $gray-800 !default;
$input-focus-border-color: $input-border-color !default;
// Dropdowns
$dropdown-border-color: $gray-800 !default;
$dropdown-divider-bg: $gray-800 !default;
$dropdown-link-hover-color: $white !default;
$dropdown-link-hover-bg: $gray-800 !default;
// Navs
$nav-tabs-border-color: $gray-800 !default;
$nav-tabs-link-hover-border-color: $gray-800 !default;
$nav-tabs-link-active-color: $gray-800 !default;
$nav-tabs-link-active-border-color: $gray-800 !default;
// Navbar
$navbar-dark-color: $white !default;
$navbar-dark-hover-color: $white !default;
$navbar-dark-toggler-border-color: $white !default;
$navbar-light-color: $gray-800 !default;
$navbar-light-hover-color: $gray-800 !default;
$navbar-light-active-color: $gray-800 !default;
$navbar-light-toggler-border-color: $gray-800 !default;
// Pagination
$pagination-border-color: $gray-800 !default;
$pagination-hover-color: $white !default;
$pagination-hover-bg: $gray-800 !default;
$pagination-hover-border-color: $gray-800 !default;
$pagination-disabled-color: $gray-400 !default;
$pagination-disabled-border-color: $gray-800 !default;
// Cards
$card-border-width: 2px !default;
$card-border-color: $gray-800 !default;
// Popovers
$popover-border-color: $gray-800 !default;
// Badges
$badge-padding-y: 0.5em !default;
$badge-padding-x: 1.2em !default;
// Toasts
$toast-border-width: 2px !default;
$toast-border-color: $gray-800 !default;
$toast-header-color: $gray-800 !default;
$toast-header-border-color: $toast-border-color !default;
// Modals
$modal-content-border-color: $gray-800 !default;
$modal-header-border-color: $gray-800 !default;
// Progress bars
$progress-bg: $white !default;
$progress-bar-bg: $gray-400 !default;
// List group
$list-group-border-color: $gray-800 !default;
$list-group-hover-bg: $gray-300 !default;
$list-group-active-color: $white !default;
$list-group-active-bg: $gray-800 !default;
$list-group-action-color: $gray-800 !default;
// Breadcrumbs
$breadcrumb-padding-y: 0.375rem !default;
$breadcrumb-padding-x: 0.75rem !default;
$breadcrumb-divider-color: $gray-800 !default;
$breadcrumb-active-color: $gray-800 !default;
$breadcrumb-border-radius: 0.25rem !default;
// Close
$btn-close-color: inherit !default;
$btn-close-opacity: 1 !default;
$btn-close-hover-opacity: 1 !default;
$btn-close-focus-shadow: none !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Sketchy 5.1.3
// Bootswatch
// Variables
$web-font-path: 'https://fonts.googleapis.com/css?family=Neucha|Cabin+Sketch&display=swap' !default;
@if $web-font-path {
@import url($web-font-path);
}
// stylelint-disable scss/dollar-variable-default
$border-radius-sketchy: 255px 25px 225px 25px / 25px 225px 25px 255px;
$border-radius-lg-sketchy: 55px 225px 15px 25px / 25px 25px 35px 355px;
$border-radius-sm-sketchy: 255px 25px 225px 25px / 25px 225px 25px 255px;
// style-enable scss/dollar-variable-default
// Navbar
.navbar {
border-style: solid;
border-width: 2px;
border-radius: 25px 25px 55px 5px/5px 55px 25px 25px;
&.bg-light {
border-color: $gray-800;
}
&.fixed-top {
border-width: 0 0 2px;
border-radius: 0 25px 225px 0/25px 0 25px 255px;
}
&.fixed-bottom {
border-width: 2px 0 0;
border-radius: 255px 25px 0 25px/25px 225px 25px 0;
}
&-brand {
font-family: $headings-font-family;
font-weight: 400;
text-decoration: none;
}
}
// Buttons
.btn {
text-decoration: none;
border-radius: $border-radius-sketchy;
&-lg {
border-radius: $border-radius-lg-sketchy;
}
&-sm {
border-radius: $border-radius-sm-sketchy;
}
}
.btn-check {
display: none;
}
// Typography
button,
input,
optgroup,
select,
textarea {
font-family: $font-family-sans-serif;
}
blockquote {
border-radius: 15px 27px 25px 25px/25px 25px 305px 635px;
}
// Tables
table {
th,
td {
background-color: $white;
}
}
.table-bordered {
overflow: hidden;
border-spacing: 0;
border-collapse: separate;
background-color: $gray-800;
border-radius: 5px 25px 5px 25px/25px 5px 25px 5px;
th,
td {
border-radius: 5px 5px 25px 4px/5px 4px 3px 5px;
}
.table-success,
.table-success:hover {
td,
th {
color: $white;
background-color: $success;
}
}
.table-info,
.table-info:hover {
td,
th {
color: $white;
background-color: $info;
}
}
.table-warning,
.table-warning:hover {
td,
th {
color: $white;
background-color: $warning;
}
}
.table-danger,
.table-danger:hover {
td,
th {
color: $white;
background-color: $danger;
}
}
}
.table-dark {
th,
td,
&.table-hover .table-active:hover > th,
&.table-hover .table-active:hover > td {
background-color: $gray-800;
}
}
// Forms
input,
.form-control,
.input-group-text {
border-radius: $border-radius-sketchy;
}
textarea,
textarea.form-control,
select,
select.form-control {
border-radius: $border-radius-lg-sketchy !important;
}
[type='checkbox'] {
position: relative;
width: 0;
height: 0;
cursor: pointer;
border: none;
appearance: none;
&::before {
position: absolute;
top: -0.1em;
left: 0;
display: inline-block;
width: 15px;
height: 16px;
content: '';
border: 2px solid $gray-800;
border-radius: 2px 8px 2px 4px / 5px 3px 5px 3px;
}
&:checked::after {
position: absolute;
top: 0;
left: 0.1em;
font-size: 1.5rem;
line-height: 0.5;
color: $gray-800;
content: 'x';
}
&:disabled {
&::before {
border: 2px solid $gray-500;
}
}
}
[type='radio'] {
position: relative;
width: 0;
height: 0;
cursor: pointer;
border: none;
appearance: none;
&::before {
position: absolute;
top: -0.1em;
left: 0;
display: inline-block;
width: 16px;
height: 16px;
content: '';
border: 2px solid $gray-800;
border-radius: 50% 45% 40% 50% / 40% 50% 50% 45%;
}
&:checked::before {
background-color: $gray-800;
}
&:disabled {
&::before {
border: 2px solid $gray-500;
}
}
}
.form-check-input {
&:focus {
box-shadow: none;
}
}
.form-switch {
padding-left: 0;
.form-check-input {
position: relative;
margin-left: 0;
&::before {
width: 32px;
border-radius: 30% 35% 30% 30% / 30% 50% 30% 45%;
}
&::after {
position: absolute;
top: 0;
left: 0;
display: inline-block;
width: 12px;
height: 12px;
content: '';
background-color: $white;
border: 2px solid #333;
border-radius: 50% 45% 40% 50% / 40% 50% 50% 45%;
transition: left 0.15s ease-in-out;
}
&:checked::after {
top: 0;
left: 18px;
background-color: $gray-800;
}
}
.form-check-label {
margin-left: 0.5em;
}
}
// Navs
.dropdown-menu {
overflow: hidden;
border-radius: 555px 25px 25px 25px/25px 25px 25px 555px;
}
.dropdown-divider {
border-top-width: 2px;
}
.list-group {
overflow: hidden;
background-color: $gray-800;
border: 2px solid $gray-800;
border-radius: 45px 15px 35px 5px/15px 5px 15px 65px;
&-item {
border-top: 2px solid $gray-800;
border-right: none;
border-left: none;
border-radius: 255px 5px 225px 5px/25px 225px 25px 255px;
&:first-child {
border-top: none;
}
&:last-child {
border-bottom: none;
}
}
}
.nav-pills .nav-link {
border-radius: $border-radius-sketchy;
}
.nav-link,
.page-link,
.list-group-item,
.dropdown-item {
text-decoration: none;
}
.nav-tabs {
.nav-link {
border-radius: 45px 15px 225px 5px/25px 225px 25px 255px;
}
}
.breadcrumb {
border: 2px solid $gray-800;
border-radius: $border-radius-sketchy;
}
.pagination {
.page-link {
border-radius: 425px 255px 25px 25px/25px 25px 5px 25px;
}
}
// Indicators
.badge {
border-radius: $border-radius-sm-sketchy;
&-pill {
border-radius: 7rem 8rem 8rem 8rem / 4rem 5rem 6rem 6rem;
}
&.bg-light {
color: $dark;
}
}
.alert {
border-radius: $border-radius-sketchy;
.btn-close {
&::before {
color: inherit;
}
}
}
// Progress bars
.progress {
border: 2px solid $gray-800;
border-radius: $border-radius-sm-sketchy;
}
// Containers
.card {
border-radius: 5px 5px 5px 5px/25px 25px 25px 5px;
&-outline {
&-primary,
&-success,
&-info,
&-warning,
&-danger {
border-width: 2px;
}
}
&-header {
border-color: inherit;
border-bottom-width: 2px;
&:first-child {
border-radius: 3px 3px 0 0/23px 23px 0 0;
}
}
&-footer {
border-top-width: 2px;
}
}
.toast {
border-radius: 10px 10px 15px 5px/5px 15px 5px 15px;
&-header {
font-family: $headings-font-family;
}
}
.modal {
&-content {
border-radius: 15px 5px 5px 25px/5px 25px 25px 5px;
}
}
.popover {
padding: 0;
border-radius: 45px 85px 15px 25px/15px 10px 35px 555px;
&-title {
border-bottom: 2px solid $gray-800;
}
&.bs-popover-start::before,
&.bs-tether-element-attached-right::before {
right: -13px;
}
&.bs-popover-top::before,
&.bs-tether-element-attached-bottom::before {
bottom: -13px;
}
&.bs-popover-bottom::before,
&.bs-tether-element-attached-top::before {
top: -13px;
}
&.bs-popover-end::before,
&.bs-tether-element-attached-left::before {
left: -13px;
}
}
.tooltip {
&-inner {
border-radius: $border-radius-sm-sketchy;
}
}
pre {
border: 2px solid $gray-800;
border-radius: 15px 5px 5px 25px/5px 25px 25px 5px;
}
.btn-close {
background-image: none;
&::before {
position: absolute;
top: 0.8rem;
right: 1rem;
content: 'X';
}
}
.img {
&-thumbnail {
border-radius: $border-radius-sketchy;
}
}

View File

@ -0,0 +1,396 @@
/* ----------------------------------------------------------------------------
* Easy!Appointments - Online Appointment Scheduler
*
* @package EasyAppointments
* @author A.Tselegidis <alextselegidis@gmail.com>
* @copyright Copyright (c) Alex Tselegidis
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
* @link https://easyappointments.org
* @since v1.5.0
* ---------------------------------------------------------------------------- */
// Zephyr 5.1.3
// Bootswatch
$theme: 'zephyr' !default;
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #6c757d !default;
$gray-700: #495057 !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;
$black: #000 !default;
$blue: #3459e6 !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #d63384 !default;
$red: #da292e !default;
$orange: #f8765f !default;
$yellow: #f4bd61 !default;
$green: #2fb380 !default;
$teal: #20c997 !default;
$cyan: #287bb5 !default;
$primary: $blue !default;
$secondary: $white !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-900 !default;
$min-contrast-ratio: 1.65 !default;
$enable-shadows: true !default;
// Body
$body-color: $gray-700 !default;
$headings-color: $gray-900 !default;
// Fonts
// stylelint-disable-next-line value-keyword-case
$font-family-sans-serif:
Inter,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
'Helvetica Neue',
Arial,
sans-serif,
'Apple Color Emoji',
'Segoe UI Emoji',
'Segoe UI Symbol' !default;
$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
$font-size-sm: $font-size-base * 0.875 !default;
// Components
$box-shadow: 0 1px 2px rgba($black, 0.05) !default;
$box-shadow-lg:
0 1px 3px 0 rgba(0, 0, 0, 0.1),
0 1px 2px 0 rgba(0, 0, 0, 0.06) !default;
// Tables
$table-cell-padding-y: 1rem !default;
$table-cell-padding-x: 1rem !default;
$table-cell-padding-y-sm: 0.5rem !default;
$table-cell-padding-x-sm: 0.5rem !default;
$table-th-font-weight: 500 !default;
// Buttons + Forms
$input-btn-padding-y: 0.5rem !default;
$input-btn-padding-x: 1rem !default;
$input-btn-font-size: $font-size-sm !default;
// Buttons
$btn-font-weight: 500 !default;
$btn-box-shadow: $box-shadow !default;
$btn-focus-box-shadow: $box-shadow !default;
$btn-active-box-shadow: $box-shadow !default;
// Forms
$form-label-font-weight: 500 !default;
$input-box-shadow: $box-shadow !default;
$input-group-addon-bg: $gray-100 !default;
// Navs
$nav-link-color: $body-color !default;
$nav-link-hover-color: $body-color !default;
$nav-tabs-border-radius: 0 !default;
$nav-tabs-link-active-color: $primary !default;
// Navbar
$navbar-padding-y: 0.85rem !default;
$navbar-nav-link-padding-x: 0.75rem !default;
$navbar-dark-color: $white !default;
$navbar-dark-hover-color: $white !default;
$navbar-dark-active-color: $white !default;
$navbar-light-color: $black !default;
$navbar-light-hover-color: $black !default;
$navbar-light-active-color: $black !default;
// Dropdowns
$dropdown-font-size: $font-size-sm !default;
$dropdown-border-color: $gray-300 !default;
$dropdown-divider-bg: $gray-200 !default;
$dropdown-link-hover-color: $white !default;
$dropdown-link-hover-bg: $primary !default;
$dropdown-item-padding-y: 0.5rem !default;
$dropdown-item-padding-x: 1rem !default;
// Pagination
$pagination-padding-y: 0.5rem !default;
$pagination-padding-x: 1rem !default;
$pagination-color: $gray-700 !default;
$pagination-focus-color: $pagination-color !default;
$pagination-hover-color: $pagination-color !default;
$pagination-hover-bg: $gray-100 !default;
// Cards
$card-spacer-x: 1.5rem !default;
$card-cap-padding-y: 1rem !default;
$card-cap-padding-x: 1.5rem !default;
// Toasts
$toast-header-color: $headings-color !default;
// Modals
$modal-content-border-color: $gray-300 !default;
$modal-header-border-width: 0 !default;
// List group
$list-group-item-padding-y: 1rem !default;
$list-group-item-padding-x: 1.5rem !default;
// Breadcrumbs
$breadcrumb-padding-x: 1rem !default;
$breadcrumb-divider: quote('>') !default;
@import '../../../node_modules/bootstrap/scss/bootstrap';
// Zephyr 5.1.3
// Bootswatch
// Variables
$web-font-path: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap' !default;
@if $web-font-path {
@import url($web-font-path);
}
// Navbar
.navbar {
font-size: $font-size-sm;
font-weight: 500;
.nav-item {
margin-right: 0.5rem;
margin-left: 0.5rem;
}
.navbar-nav {
.nav-link {
border-radius: $border-radius;
}
}
}
.navbar-dark {
.navbar-nav {
.nav-link {
&:hover {
background-color: rgba(255, 255, 255, 0.1);
}
&.active {
background-color: rgba(0, 0, 0, 0.5);
}
}
}
}
.navbar-light {
.navbar-nav {
.nav-link {
&:hover {
background-color: rgba(0, 0, 0, 0.03);
}
&.active {
background-color: rgba(0, 0, 0, 0.05);
}
}
}
}
// Buttons
.btn-secondary,
.btn-light,
.btn-outline-secondary,
.btn-outline-light {
color: $gray-900;
&:disabled,
&.disabled {
border: 1px solid shade-color($secondary, 10%);
}
}
.btn-secondary,
.btn-outline-secondary {
border-color: shade-color($secondary, 10%);
&:hover,
&:active {
background-color: shade-color($secondary, 10%);
border-color: shade-color($secondary, 10%);
}
}
.btn-light,
.btn-outline-light {
border-color: shade-color($light, 10%);
&:hover,
&:active {
background-color: shade-color($light, 10%);
border-color: shade-color($light, 10%);
}
}
// Tables
.table {
font-size: $font-size-sm;
box-shadow: $box-shadow-lg;
}
thead th {
font-size: $font-size-sm;
text-transform: uppercase;
}
// Forms
.input-group-text {
box-shadow: $box-shadow;
}
// Navs
.nav-tabs {
font-weight: 500;
.nav-link {
padding-top: 1rem;
padding-bottom: 1rem;
border-width: 0 0 1px;
}
.nav-link.active,
.nav-item.show .nav-link {
box-shadow: inset 0 -2px 0 $primary;
}
}
.nav-pills {
font-weight: 500;
}
.pagination {
font-size: $font-size-sm;
font-weight: 500;
.page-link {
box-shadow: $box-shadow;
}
}
.breadcrumb {
font-size: $font-size-sm;
font-weight: 500;
border: 1px solid $gray-300;
border-radius: $border-radius;
box-shadow: $box-shadow;
&-item {
padding: 1rem 0.5rem 1rem 0;
}
}
.breadcrumb-item + .breadcrumb-item::before {
padding-right: 1rem;
}
// Indicators
.alert {
.btn-close {
color: inherit;
}
}
.badge {
&.bg-secondary,
&.bg-light {
color: $gray-900;
}
}
// Containers
.list-group-item,
.card {
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
color: inherit;
}
}
.list-group {
box-shadow: $box-shadow-lg;
}
.card {
box-shadow: $box-shadow-lg;
}
.modal-footer {
background-color: $gray-100;
}
.modal-content {
box-shadow: $box-shadow-lg;
}