Files
bilety.brzezovka.pl/layout/style-scss/style.scss
2025-04-30 23:59:49 +02:00

1198 lines
17 KiB
SCSS

// out: ../style-css/style.css, compress: true, sourceMap: true
//* Fonts
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,300;1,400;1,700&display=swap');
@import 'mixins';
//* Colors
$cWhite: #ffffff;
$cGreen: #72b81b;
$cYellow: #ffc937;
$cBlue: #138fcb;
$cRed: #e31e4b;
$cOrange: #eb5024;
$cViolet: #8900be;
$base-font-color: #333;
$backgroundColor: #f3f0cf;
$cFooter: #34327c;
$cGray: #95a5a6;
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
color: $base-font-color;
font-family: 'Lato', sans-serif;
background-color: $backgroundColor;
display: flex;
flex-direction: column;
min-height: 100vh;
}
//* mixins
@mixin btn($cTxt, $hTxt, $cBG, $hBG) {
border: none;
background-color: transparent;
color: $cTxt;
padding: 10px 30px;
border-radius: 10px;
font-weight: 800;
background-color: lighten($color: $cBG, $amount: 20%);
text-decoration: none;
&:disabled {
background-color: rgba($cGray, 0.5);
cursor: not-allowed;
}
}
//* Buttons
.btn-t1 {
@include btn($base-font-color, '', $cGreen, '');
}
.btn-t2 {
@include btn($cWhite, '', #000, '');
}
.btn {
padding: 9px 30px;
}
.flex-buttons-group {
display: flex;
justify-content: center;
align-items: center;
gap: 5px;
}
//* text colors
.c_green {
color: $cGreen;
}
.c_red {
color: $cRed;
}
.top {
position: relative;
background: $cGreen;
color: #fff;
height: 70px;
.a_menu {
.logo {
position: absolute;
margin: 10px 0 !important;
}
#nav-menu {
&.active {
display: block;
right: 0;
top: 0;
left: 0;
bottom: 0;
height: 100vh;
background: $cWhite;
z-index: 999;
}
}
#menu-hamburger {
position: relative;
height: 70px;
display: flex;
align-items: center;
justify-content: flex-end;
z-index: 9999;
i {
font-size: 28px;
}
&.active {
#btn-hamburger {
position: relative;
height: 30px;
width: 30px;
span {
position: absolute;
width: 100%;
height: 2px;
background: $base-font-color;
border-radius: 5px;
top: 50%;
transform: translateY(-50%);
&:nth-child(1) {
top: 50%;
transform: rotate(45deg) translateY(-50%);
}
&:nth-child(2) {
transform: translateX(-100%) translateY(-50%);
}
&:nth-child(3) {
top: 50%;
transform: rotate(-45deg) translateY(-50%);
}
}
}
}
#btn-hamburger {
position: relative;
height: 30px;
width: 30px;
overflow: hidden;
span {
position: absolute;
width: 100%;
height: 2px;
background: $cWhite;
border-radius: 5px;
top: 50%;
transform: translateY(-50%);
transition: all 250ms ease;
&:nth-child(1) {
top: 20%;
}
&:nth-child(2) {
}
&:nth-child(3) {
top: 80%;
}
}
}
}
@media (min-width: 768px) {
#menu-hamburger {
display: none;
}
}
@media (max-width: 767px) {
#nav-menu {
position: fixed;
display: none;
ul {
width: 100%;
max-width: 300px;
padding: 0 15px;
margin: 0 auto;
flex-direction: column;
justify-content: center;
li {
a {
color: $base-font-color;
}
}
}
}
}
}
.logo {
background: $cGreen;
display: block;
margin: 0 auto 10px;
width: 150px;
border-radius: 0 0 50% 50%;
padding: 10px 25px 25px;
img {
width: 100%;
}
@media (max-width: 600px) {
margin: 10px 0;
}
}
nav {
height: 70px;
ul {
height: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-end;
gap: 25px;
list-style: none;
margin: 0;
padding: 0;
li {
a {
color: $cWhite;
font-size: 18px;
font-weight: 600;
text-decoration: none;
}
}
}
}
}
.main {
display: flex;
flex-direction: column;
flex-grow: 1;
.tickets {
margin-top: 100px;
margin-bottom: 50px;
display: flex;
flex-direction: column;
width: 100%;
gap: 80px;
//rodzaj biletow
.ticket-container {
display: flex;
flex-direction: column;
width: 100%;
gap: 40px;
align-items: center;
.title-container {
text-align: center;
position: relative;
&::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100px;
border-bottom: 2px dotted black;
}
.title {
font-weight: 800;
font-size: 46px;
}
.description {
font-size: 28px;
}
}
}
//bilet
.ticket {
display: flex;
flex-direction: row;
align-items: center;
.ticket-description {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 500px;
text-align: center;
color: white;
border-radius: 10px;
padding: 20px 0;
&--yellow {
background-color: $cYellow;
}
&--red {
background-color: $cRed;
}
&--blue {
background-color: $cBlue;
}
&--orange {
background-color: $cOrange;
}
&--green {
background-color: $cGreen;
}
&--violet {
background-color: $cViolet;
}
.ticket__name {
font-size: 46px;
font-weight: 800;
}
.description {
font-size: 13px;
font-style: italic;
line-height: 0.75;
margin-bottom: 0;
}
.ticket-alert {
font-size: 20px;
margin: 20px 0 0 0;
font-weight: 800;
text-transform: uppercase;
text-decoration: underline;
}
}
//price
.price {
font-size: 46px;
margin-left: 40px;
font-weight: 800;
min-width: 138px;
}
//przyciski
.ticket-quantity {
margin-left: 30px;
.button {
width: 30px;
height: 30px;
border-radius: 50%;
border: 1px solid $base-font-color;
color: $base-font-color;
background-color: transparent;
text-align: center;
}
span {
padding: 0 5px;
}
}
}
}
//bottom
.bottom-info__description {
text-align: center;
font-size: 16px;
line-height: 29px;
padding: 20px 0;
position: relative;
&::after,
&::before {
position: absolute;
content: '';
border-bottom: 2px dotted $base-font-color;
left: 50%;
transform: translateX(-50%);
width: 10%;
}
&::after {
top: 0;
}
&::before {
bottom: 0;
}
p:nth-child(2) {
margin-bottom: 0;
}
}
.bottom-info__background {
margin-top: 40px;
background-image: url('https://brzezovka.pl/css/../img/bgcity.png');
background-position: bottom center;
background-repeat: repeat-x;
width: 100%;
height: 300px;
}
}
.footer {
background-color: $cFooter;
display: flex;
flex-direction: column;
width: 100%;
color: white;
a {
text-decoration: none;
color: $cOrange;
}
.footer__top {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr;
justify-items: center;
align-items: center;
.location {
padding: 20px 0;
text-align: center;
.title {
font-size: 22px;
font-weight: 800;
}
}
.logo {
height: 100px;
img {
width: 100%;
height: 100%;
}
}
}
.footer__bottom {
width: 100%;
p {
text-align: center;
margin: 0;
padding: 30px 0;
}
}
@media (max-width: 767px) {
.footer__top {
padding-top: 30px;
grid-template-columns: 1fr;
.opening-hours {
grid-row-start: 2;
}
.logo {
grid-row-start: 1;
}
.location {
grid-row-start: 3;
}
}
}
}
//shoping cart
.shopping-cart {
opacity: 0;
position: fixed;
top: 80px;
right: 10px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
border-radius: 10px;
background-color: $cGreen;
color: white;
gap: 20px;
width: 230px;
padding: 20px 0;
transition: opacity 0.2s;
// border: 1px solid $base-font-color;
&--active {
opacity: 1;
}
.basket {
font-size: 30px;
}
.quantity {
font-size: 18px;
font-weight: 800;
}
.tickets__list {
width: 100%;
list-style: none;
padding: 0 5px;
background-color: white;
color: $base-font-color;
border-right: 1px solid $base-font-color;
border-left: 1px solid $base-font-color;
// border: 1px solid $base-font-color;
p {
margin-bottom: 0;
}
.ticket {
border: 1px solid $base-font-color;
border-radius: 5px;
margin: 5px 0;
padding: 5px 0 5px 5px;
display: grid;
grid-template-columns: 1fr 20px;
grid-template-rows: 1fr 1fr;
grid-template-areas:
'name btn'
'price btn';
font-size: 12px;
align-items: center;
&__description {
grid-area: name;
font-weight: 800;
font-size: 13px;
}
&__price {
grid-area: price;
font-weight: 800;
font-size: 13px;
span {
font-weight: 400;
}
}
.ticket__button {
grid-area: btn;
border: none;
background-color: transparent;
color: $base-font-color;
font-size: 14px;
font-weight: 800;
}
}
}
.sum-section {
text-align: center;
p {
margin-bottom: 0;
}
font-weight: 800;
font-size: 18px;
}
.off-btn {
border: none;
background-color: transparent;
color: white;
font-size: 18px;
font-weight: 800;
position: absolute;
top: 5px;
right: 15px;
}
.buy-btn {
border: none;
background-color: transparent;
color: $base-font-color;
padding: 10px 30px;
border-radius: 10px;
font-weight: 800;
background-color: lighten($color: $cGreen, $amount: 20%);
text-decoration: none;
}
}
//* Basket - "page"
#basket_page {
.basket_content {
margin-top: 100px;
margin-bottom: 100px;
}
.box_01 {
margin-bottom: 24px;
table {
width: 100%;
background: $cWhite;
tr {
text-align: center;
border-top: 1px solid rgba(0, 0, 0, 0.1);
th {
padding: 8px;
h3 {
font-size: 1.25rem;
font-weight: 800;
}
}
td {
padding: 8px;
.btn_t1 {
width: 30px;
height: 30px;
border-radius: 50%;
border: none;
transition: 150ms ease-in-out;
}
.btn_t1.add {
&:hover {
color: $cGreen;
border-color: $cGreen;
}
}
.btn_t1.subtract {
&:hover {
color: $cOrange;
border-color: $cOrange;
}
}
.btn_t1.delete {
border: none;
&:hover {
color: $cRed;
}
}
}
}
}
}
.box_02 {
.basket_user_data {
.basket_user_data__wrapper {
background: $cWhite;
padding: 30px;
h2 {
font-size: 1.5rem;
margin-bottom: 20px;
}
.form-vat-box {
display: none;
}
.form-group {
.col-form-label {
font-weight: 600;
.form-vat-option {
opacity: 0;
transition: 400ms ease;
}
}
.form-check {
a {
color: $cGreen;
text-decoration: none;
}
}
}
}
}
.basket_summary {
.basket_summary__wrapper {
text-align: center;
background: $cWhite;
padding: 30px;
height: 100%;
h2 {
font-size: 1.5rem;
}
p {
font-size: 1.5rem;
font-weight: 800;
}
.buy-btn {
display: inline-block;
border: none;
background-color: transparent;
color: $base-font-color;
padding: 10px 30px;
border-radius: 10px;
font-weight: 800;
background-color: lighten($color: $cGreen, $amount: 40%);
text-decoration: none;
}
}
}
}
}
//* Spinner position
.spinner_container {
display: flex;
align-items: center;
justify-content: center;
padding: 150px 0;
}
//* Spinner
.lds-roller {
display: inline-block;
position: relative;
width: 80px;
height: 80px;
div {
animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
transform-origin: 40px 40px;
&:after {
content: ' ';
display: block;
position: absolute;
width: 7px;
height: 7px;
border-radius: 50%;
background: $cGreen;
margin: -4px 0 0 -4px;
}
&:nth-child(1) {
animation-delay: -0.036s;
&:after {
top: 63px;
left: 63px;
}
}
&:nth-child(2) {
animation-delay: -0.072s;
&:after {
top: 68px;
left: 56px;
}
}
&:nth-child(3) {
animation-delay: -0.108s;
&:after {
top: 71px;
left: 48px;
}
}
&:nth-child(4) {
animation-delay: -0.144s;
&:after {
top: 72px;
left: 40px;
}
}
&:nth-child(5) {
animation-delay: -0.18s;
&:after {
top: 71px;
left: 32px;
}
}
&:nth-child(6) {
animation-delay: -0.216s;
&:after {
top: 68px;
left: 24px;
}
}
&:nth-child(7) {
animation-delay: -0.252s;
&:after {
top: 63px;
left: 17px;
}
}
&:nth-child(8) {
animation-delay: -0.288s;
&:after {
top: 56px;
left: 12px;
}
}
}
}
@keyframes lds-roller {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
//* Scanner page
#scanner {
// width: 100vw;
width: 100%;
max-width: 500px;
margin-left: auto;
margin-right: auto;
@include respond-above(sm) {
margin-top: 50px;
}
}
//* aPanel
.alogin-page {
.panel-login {
padding-top: 100px;
padding-bottom: 100px;
display: flex;
align-items: center;
justify-content: center;
form {
display: flex;
flex-direction: column;
gap: 10px;
}
}
}
//* Tickets orders
#tickets-orders {
padding-top: 100px;
padding-bottom: 100px;
h1 {
margin-bottom: 20px;
}
table {
margin-bottom: 10px;
background: $cWhite;
border-bottom: none;
thead {
tr {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
th {
padding: 15px 10px;
font-size: 1.25rem;
font-weight: 800;
border-bottom: none;
}
}
}
tbody {
tr {
td {
&.edit-btn {
a {
margin-left: 20px;
}
i {
color: $base-font-color;
font-size: 20px;
transition: color 200ms ease;
&:hover {
color: $cGreen;
}
}
}
}
}
}
tr {
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
td {
padding: 15px 10px;
border-bottom: none;
}
}
}
#myTable_wrapper {
.row {
&:nth-child(1) {
margin-bottom: 10px;
}
&:nth-child(3) {
}
}
#myTable_length {
label {
display: flex;
flex-direction: row;
align-items: center;
gap: 15px;
select {
min-width: 70px;
background-color: $cWhite;
}
}
}
#myTable_filter {
label {
display: flex;
flex-direction: row;
align-items: center;
gap: 15px;
input {
margin-left: 0;
background: $cWhite;
}
}
}
#myTable_paginate {
.pagination {
display: flex;
align-items: center;
column-gap: 5px;
margin-bottom: 0;
.paginate_button {
padding: 0;
border: none;
&.active {
a {
color: $cWhite;
background: $cGreen;
}
}
&:hover {
border: none;
background: none;
}
&.disabled > .page-link {
color: $cGray;
}
.page-link {
color: #000;
}
a {
border: none;
}
}
}
}
}
}
//* Order data
#order-data {
padding: 100px 0;
.order-data {
.mini-nav-menu {
margin-bottom: 30px;
a {
&:hover {
color: $base-font-color;
}
}
}
.box_01 {
margin-bottom: 24px;
table {
width: 100%;
background: $cWhite;
tr {
text-align: center;
border-top: 1px solid rgba(0, 0, 0, 0.1);
th {
padding: 8px;
h3 {
font-size: 1.25rem;
font-weight: 800;
}
}
td {
padding: 8px;
.btn_t1 {
width: 30px;
height: 30px;
border-radius: 50%;
border: none;
transition: 150ms ease-in-out;
}
.btn_t1.add {
&:hover {
color: $cGreen;
border-color: $cGreen;
}
}
.btn_t1.subtract {
&:hover {
color: $cOrange;
border-color: $cOrange;
}
}
.btn_t1.delete {
border: none;
&:hover {
color: $cRed;
}
}
}
}
}
.btn-save-new-list {
display: block;
margin: 30px auto 0;
}
}
.box_02 {
.order-detale-info {
.order-detale-info__wrapper {
background: $cWhite;
padding: 30px;
h2 {
font-size: 1.5rem;
margin-bottom: 20px;
}
.form-group {
.col-form-label {
font-weight: 600;
}
}
}
}
.order-summary {
.order-summary__wrapper {
text-align: center;
background: #fff;
padding: 30px;
height: 100%;
h2 {
font-size: 1.5rem;
margin-bottom: 20px;
}
p {
font-size: 1.5rem;
font-weight: 800;
}
}
}
}
}
}
//* Regulamin
#regulamin_box {
margin-top: 80px;
margin-bottom: 50px;
.regulamin_box__wrapper {
h5 {
font-size: 26px;
margin: 0;
color: #333;
text-align: center;
margin-bottom: 20px;
}
h6 {
font-size: 22px;
margin-bottom: 10px;
text-transform: uppercase;
font-family: 'Lato', sans-serif;
font-weight: 800;
letter-spacing: 0.8px;
color: #333;
text-align: center;
}
.regulamin__box {
margin-bottom: 50px;
h5 {
text-align: center;
}
}
}
}
.sale-box {
h2 {
text-align: center;
font-size: 48px;
line-height: 43px;
span {
color: #74aa32;
font-weight: 700;
}
}
}