diff --git a/.claude/settings.local.json b/.claude/settings.local.json
index 3b51926..42f2609 100644
--- a/.claude/settings.local.json
+++ b/.claude/settings.local.json
@@ -6,7 +6,19 @@
"mcp__serena__list_dir",
"Bash(curl:*)",
"WebSearch",
- "Bash(php:*)"
+ "Bash(php:*)",
+ "mcp__serena__read_file",
+ "mcp__serena__activate_project",
+ "mcp__serena__initial_instructions",
+ "mcp__serena__check_onboarding_performed",
+ "mcp__serena__find_file",
+ "mcp__serena__search_for_pattern",
+ "mcp__serena__find_symbol",
+ "mcp__serena__get_symbols_overview",
+ "mcp__serena__insert_after_symbol",
+ "mcp__serena__replace_symbol_body",
+ "mcp__serena__replace_content",
+ "Bash(npx sass:*)"
]
}
}
diff --git a/.serena/.gitignore b/.serena/.gitignore
new file mode 100644
index 0000000..14d86ad
--- /dev/null
+++ b/.serena/.gitignore
@@ -0,0 +1 @@
+/cache
diff --git a/.serena/project.yml b/.serena/project.yml
new file mode 100644
index 0000000..c876d0c
--- /dev/null
+++ b/.serena/project.yml
@@ -0,0 +1,117 @@
+# the name by which the project can be referenced within Serena
+project_name: "bilety.brzezovka.pl"
+
+
+# list of languages for which language servers are started; choose from:
+# al bash clojure cpp csharp
+# csharp_omnisharp dart elixir elm erlang
+# fortran fsharp go groovy haskell
+# java julia kotlin lua markdown
+# matlab nix pascal perl php
+# php_phpactor powershell python python_jedi r
+# rego ruby ruby_solargraph rust scala
+# swift terraform toml typescript typescript_vts
+# vue yaml zig
+# (This list may be outdated. For the current list, see values of Language enum here:
+# https://github.com/oraios/serena/blob/main/src/solidlsp/ls_config.py
+# For some languages, there are alternative language servers, e.g. csharp_omnisharp, ruby_solargraph.)
+# Note:
+# - For C, use cpp
+# - For JavaScript, use typescript
+# - For Free Pascal/Lazarus, use pascal
+# Special requirements:
+# Some languages require additional setup/installations.
+# See here for details: https://oraios.github.io/serena/01-about/020_programming-languages.html#language-servers
+# When using multiple languages, the first language server that supports a given file will be used for that file.
+# The first language is the default language and the respective language server will be used as a fallback.
+# Note that when using the JetBrains backend, language servers are not used and this list is correspondingly ignored.
+languages:
+- php
+
+# the encoding used by text files in the project
+# For a list of possible encodings, see https://docs.python.org/3.11/library/codecs.html#standard-encodings
+encoding: "utf-8"
+
+# whether to use project's .gitignore files to ignore files
+ignore_all_files_in_gitignore: true
+
+# list of additional paths to ignore in this project.
+# Same syntax as gitignore, so you can use * and **.
+# Note: global ignored_paths from serena_config.yml are also applied additively.
+ignored_paths: []
+
+# whether the project is in read-only mode
+# If set to true, all editing tools will be disabled and attempts to use them will result in an error
+# Added on 2025-04-18
+read_only: false
+
+# list of tool names to exclude. We recommend not excluding any tools, see the readme for more details.
+# Below is the complete list of tools for convenience.
+# To make sure you have the latest list of tools, and to view their descriptions,
+# execute `uv run scripts/print_tool_overview.py`.
+#
+# * `activate_project`: Activates a project by name.
+# * `check_onboarding_performed`: Checks whether project onboarding was already performed.
+# * `create_text_file`: Creates/overwrites a file in the project directory.
+# * `delete_lines`: Deletes a range of lines within a file.
+# * `delete_memory`: Deletes a memory from Serena's project-specific memory store.
+# * `execute_shell_command`: Executes a shell command.
+# * `find_referencing_code_snippets`: Finds code snippets in which the symbol at the given location is referenced.
+# * `find_referencing_symbols`: Finds symbols that reference the symbol at the given location (optionally filtered by type).
+# * `find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (optionally filtered by type).
+# * `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes.
+# * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file.
+# * `initial_instructions`: Gets the initial instructions for the current project.
+# Should only be used in settings where the system prompt cannot be set,
+# e.g. in clients you have no control over, like Claude Desktop.
+# * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol.
+# * `insert_at_line`: Inserts content at a given line in a file.
+# * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol.
+# * `list_dir`: Lists files and directories in the given directory (optionally with recursion).
+# * `list_memories`: Lists memories in Serena's project-specific memory store.
+# * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building).
+# * `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with the necessary context).
+# * `read_file`: Reads a file within the project directory.
+# * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store.
+# * `remove_project`: Removes a project from the Serena configuration.
+# * `replace_lines`: Replaces a range of lines within a file with new content.
+# * `replace_symbol_body`: Replaces the full definition of a symbol.
+# * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen.
+# * `search_for_pattern`: Performs a search for a pattern in the project.
+# * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase.
+# * `switch_modes`: Activates modes by providing a list of their names
+# * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information.
+# * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on track with the current task.
+# * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed.
+# * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store.
+excluded_tools: []
+
+# list of tools to include that would otherwise be disabled (particularly optional tools that are disabled by default)
+included_optional_tools: []
+
+# fixed set of tools to use as the base tool set (if non-empty), replacing Serena's default set of tools.
+# This cannot be combined with non-empty excluded_tools or included_optional_tools.
+fixed_tools: []
+
+# list of mode names to that are always to be included in the set of active modes
+# The full set of modes to be activated is base_modes + default_modes.
+# If the setting is undefined, the base_modes from the global configuration (serena_config.yml) apply.
+# Otherwise, this setting overrides the global configuration.
+# Set this to [] to disable base modes for this project.
+# Set this to a list of mode names to always include the respective modes for this project.
+base_modes:
+
+# list of mode names that are to be activated by default.
+# The full set of modes to be activated is base_modes + default_modes.
+# If the setting is undefined, the default_modes from the global configuration (serena_config.yml) apply.
+# Otherwise, this overrides the setting from the global configuration (serena_config.yml).
+# This setting can, in turn, be overridden by CLI parameters (--mode).
+default_modes:
+
+# initial prompt for the project. It will always be given to the LLM upon activating the project
+# (contrary to the memories, which are loaded on demand).
+initial_prompt: ""
+
+# override of the corresponding setting in serena_config.yml, see the documentation there.
+# If null or missing, the value from the global config is used.
+symbol_info_budget:
diff --git a/.vscode/ftp-kr.json b/.vscode/ftp-kr.json
index 40f92c7..298bb46 100644
--- a/.vscode/ftp-kr.json
+++ b/.vscode/ftp-kr.json
@@ -12,6 +12,10 @@
"ignoreRemoteModification": true,
"ignore": [
".git",
- "/.vscode"
+ "/.vscode",
+ "CLAUDE.md",
+ "/.sereana",
+ "/.claude",
+ ".gitignore"
]
}
\ No newline at end of file
diff --git a/.vscode/ftp-kr.sync.cache.json b/.vscode/ftp-kr.sync.cache.json
index 7f59a3e..0a6543f 100644
--- a/.vscode/ftp-kr.sync.cache.json
+++ b/.vscode/ftp-kr.sync.cache.json
@@ -23,8 +23,8 @@
},
"class.DbModel.php": {
"type": "-",
- "size": 1392,
- "lmtime": 0,
+ "size": 1397,
+ "lmtime": 1771797002635,
"modified": false
},
"class.Excel.php": {
@@ -41,22 +41,23 @@
},
"class.S.php": {
"type": "-",
- "size": 7661,
- "lmtime": 1746049759245,
+ "size": 7625,
+ "lmtime": 1771797056545,
"modified": false
},
"class.Tpl.php": {
"type": "-",
- "size": 1673,
- "lmtime": 1746048812215,
+ "size": 1755,
+ "lmtime": 1771797039461,
"modified": false
},
"controls": {
+ "207286": {},
"class.Apanel.php": {
"type": "-",
- "size": 5166,
- "lmtime": 1746048812388,
- "modified": true
+ "size": 5395,
+ "lmtime": 1771797091338,
+ "modified": false
},
"class.Cron.php": {
"type": "-",
@@ -66,20 +67,20 @@
},
"class.Scanner.php": {
"type": "-",
- "size": 3453,
- "lmtime": 1746048812463,
+ "size": 3550,
+ "lmtime": 1771797058858,
"modified": false
},
"class.Site.php": {
"type": "-",
- "size": 570,
- "lmtime": 1746048812539,
+ "size": 625,
+ "lmtime": 1771797034132,
"modified": false
},
"class.Tickets.php": {
"type": "-",
- "size": 20131,
- "lmtime": 1746050141213,
+ "size": 21496,
+ "lmtime": 1771797086011,
"modified": false
},
"class.Users.php": {
@@ -93,13 +94,20 @@
"size": 200,
"lmtime": 1746048812782,
"modified": false
+ },
+ "index.php": {
+ "type": "-",
+ "size": 0,
+ "lmtime": 0,
+ "modified": false
}
},
"factory": {
+ "879348": {},
"class.Apanel.php": {
"type": "-",
- "size": 1208,
- "lmtime": 1746048812856,
+ "size": 1273,
+ "lmtime": 1771796998145,
"modified": false
},
"class.Cron.php": {
@@ -110,14 +118,14 @@
},
"class.Tickets.php": {
"type": "-",
- "size": 2515,
- "lmtime": 1746048813029,
+ "size": 2630,
+ "lmtime": 1771796997296,
"modified": false
},
"class.Users.php": {
"type": "-",
- "size": 1510,
- "lmtime": 0,
+ "size": 1519,
+ "lmtime": 1771797051167,
"modified": false
},
".htaccess": {
@@ -125,6 +133,12 @@
"size": 200,
"lmtime": 1746048813105,
"modified": false
+ },
+ "index.php": {
+ "type": "-",
+ "size": 0,
+ "lmtime": 0,
+ "modified": false
}
},
".htaccess": {
@@ -134,6 +148,7 @@
"modified": false
},
"view": {
+ "330138": {},
"class.Cron.php": {
"type": "-",
"size": 46,
@@ -142,8 +157,8 @@
},
"class.Site.php": {
"type": "-",
- "size": 827,
- "lmtime": 0,
+ "size": 863,
+ "lmtime": 1771797032107,
"modified": false
},
"class.Users.php": {
@@ -157,13 +172,27 @@
"size": 200,
"lmtime": 1746048813184,
"modified": false
+ },
+ "index.php": {
+ "type": "-",
+ "size": 0,
+ "lmtime": 0,
+ "modified": false
}
}
},
+ ".claude": {
+ "settings.local.json": {
+ "type": "-",
+ "size": 184,
+ "lmtime": 1771797522111,
+ "modified": false
+ }
+ },
"config.php": {
"type": "-",
- "size": 8616,
- "lmtime": 1746049434100,
+ "size": 8763,
+ "lmtime": 1771797005444,
"modified": false
},
"cron.php": {
@@ -178,6 +207,22 @@
"lmtime": 0,
"modified": false
},
+ "dev": {
+ "team": {
+ "2026-02-22_22-51_php81-kompatybilnosc.md": {
+ "type": "-",
+ "size": 4570,
+ "lmtime": 1771797146637,
+ "modified": false
+ },
+ "session-state.json": {
+ "type": "-",
+ "size": 730,
+ "lmtime": 1771797155895,
+ "modified": false
+ }
+ }
+ },
".gitignore": {
"type": "-",
"size": 0,
@@ -192,12 +237,88 @@
},
"index.php": {
"type": "-",
- "size": 1675,
- "lmtime": 1746049418854,
+ "size": 1774,
+ "lmtime": 1771797586319,
+ "modified": false
+ },
+ "info.php": {
+ "type": "-",
+ "size": 14,
+ "lmtime": 1771795279292,
"modified": false
},
"layout": {},
- "libraries": {},
+ "libraries": {
+ "bootstrap": {},
+ "bootstrap-4.1.3": {},
+ "ckeditor": {},
+ "context-menu.js": {
+ "type": "-",
+ "size": 2843,
+ "lmtime": 0,
+ "modified": false
+ },
+ "countdown": {},
+ "dataTable": {},
+ "datepicker": {},
+ "daterange": {},
+ "filemanager-9.14.1": {},
+ "font-awesome-4.7.0": {},
+ "font-awesome-6.1.1": {},
+ "functions.js": {
+ "type": "-",
+ "size": 3098,
+ "lmtime": 0,
+ "modified": false
+ },
+ "grid": {},
+ ".htaccess": {
+ "type": "-",
+ "size": 200,
+ "lmtime": 0,
+ "modified": false
+ },
+ "icheck-1.0.2": {},
+ "jquery": {},
+ "jquery-confirm": {},
+ "jquery-gantt": {},
+ "license.txt": {
+ "type": "-",
+ "size": 16728,
+ "lmtime": 1748556485000,
+ "modified": false
+ },
+ "medoo": {},
+ "moment": {},
+ "phpmailer": {},
+ "phpqrcode": {},
+ "qrcode-scanner": {},
+ "rb-download.tar.gz": {
+ "type": "-",
+ "size": 132796,
+ "lmtime": 1771797357906,
+ "modified": false
+ },
+ "rb.php": {
+ "type": "-",
+ "size": 552317,
+ "lmtime": 1748556485000,
+ "modified": false
+ },
+ "tagsinput": {},
+ "typeahead.bundle.js": {
+ "type": "-",
+ "size": 96186,
+ "lmtime": 0,
+ "modified": false
+ },
+ "xlsxwriter.class.php": {
+ "type": "-",
+ "size": 48385,
+ "lmtime": 0,
+ "modified": false
+ }
+ },
"orders": {},
"templates": {
"admin-panel": {
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 0000000..6d36971
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,99 @@
+# CLAUDE.md
+
+This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
+
+## Project Overview
+
+Online ticket sales system for **Kompleks Turystyczny Brzezovka** (amusement park in Kolbuszowa, Poland). Handles ticket purchase, shopping cart, Przelewy24 payments, QR code generation, invoice issuing (via fakturowo.pl API), and a QR ticket scanner for staff.
+
+Live at: `bilety.brzezovka.pl`
+
+## Architecture
+
+Custom PHP MVC without a framework. No Composer — all dependencies are vendored in `libraries/`.
+
+### Request Flow
+
+1. `.htaccess` rewrites URLs as `/{module}/{action}/{params}` → `index.php?module=X&action=Y&...`
+2. `index.php` bootstraps: autoloader, config, DB connections (Medoo + RedBeanPHP), session
+3. `\view\Site::show()` → `\controls\Site::route()` resolves `module`/`action` to a controller method via `\controls\{Module}::{action}()`
+4. Controllers return rendered HTML via `\Tpl::view('template-name', $vars)`
+
+### Autoloader Convention
+
+`spl_autoload_register` maps namespaced classes to files:
+- `\controls\Tickets` → `autoload/controls/class.Tickets.php`
+- `\factory\Tickets` → `autoload/factory/class.Tickets.php`
+- `\view\Site` → `autoload/view/class.Site.php`
+- `\S`, `\Tpl`, `\DbModel`, `\Html` → `autoload/class.{Name}.php`
+
+### Layer Responsibilities
+
+| Layer | Namespace/Dir | Role |
+|-------|--------------|------|
+| Controllers | `autoload/controls/` | Handle actions, coordinate logic, return rendered views |
+| Factory (Services) | `autoload/factory/` | Business logic, DB queries, data processing |
+| Views | `autoload/view/` | Layout assembly (wraps controller output in site layout) |
+| Templates | `templates/` | PHP template files rendered by `Tpl::view()` |
+| Core classes | `autoload/` (root) | `S` (utility/session), `Tpl` (templating), `DbModel` (active record), `Html` (form helpers) |
+
+### Key Modules
+
+| Module | Controller | Purpose |
+|--------|-----------|---------|
+| `tickets` | `controls\Tickets` | Public ticket shop: browse, add/remove from cart, checkout, payment |
+| `apanel` | `controls\Apanel` | Admin panel: order list, order editing, ticket validation |
+| `scanner` | `controls\Scanner` | QR code scanner for on-site ticket verification |
+| `users` | `controls\Users` | User login/logout, settings, permissions |
+
+### Database
+
+MySQL via two ORMs used in parallel:
+- **Medoo** (`$mdb` global) — primary query builder for tickets/orders
+- **RedBeanPHP** (`\R::`) — used in cron jobs (CEIDG import)
+
+Main tables: `orders`, `order_tickets`, `users`
+
+### Entry Points
+
+| File | Purpose |
+|------|---------|
+| `index.php` | Main app entry (web requests) |
+| `ajax.php` | AJAX endpoint (same autoloader, Medoo only) |
+| `api.php` | API endpoint (autoloader + Medoo + PHPMailer + RedBeanPHP) |
+| `cron.php` | Scheduled tasks (email reminders, CEIDG import) |
+
+### External Integrations
+
+- **Przelewy24** — payment gateway (merchant config in `config.php`)
+- **fakturowo.pl** — invoice/receipt generation via API
+- **PHPMailer** — email sending (SMTP via `bilety@brzezovka.pl`)
+- **phpqrcode** — QR code generation for order hashes
+
+## Frontend
+
+- Bootstrap 5.2, jQuery 3.6, Font Awesome 6.1
+- SCSS in `layout/style-scss/` compiled to `layout/style-css/style.css`
+- SCSS compile comment: `// out: ../style-css/style.css, compress: true, sourceMap: true` (Live Sass Compiler)
+- DataTables for admin order list
+- html5-qrcode for scanner
+- Datepicker for ticket date selection
+
+## Key Conventions
+
+- All controller methods are `static public` and accessed via URL routing
+- Global `$settings`, `$mdb`, `$user` are used throughout (no DI)
+- Ticket config (prices, types, dynamic pricing) lives entirely in `config.php`
+- Session-based shopping cart stored at `$_SESSION['basket']`
+- Admin auth is a single shared password (`$settings['admin-password']`), stored in session as `$_SESSION['user']`
+- Template rendering: `\Tpl::view('path/template-name', ['key' => $value])` — variables accessible as `$this->key` in templates
+- AJAX responses: controllers `echo json_encode(...)` then `exit;`
+
+## Development
+
+- No build system, test framework, or package manager
+- SCSS compilation: use VS Code "Live Sass Compiler" extension (configured via first-line comment in `style.scss`)
+- Deployment: FTP sync (`.vscode/ftp-kr.sync.cache.json` present)
+- PHP version: compatible with PHP 7.4+ (no typed properties, uses legacy autoload pattern)
+- Timezone: `Europe/Warsaw`
+- Language: Polish (all UI text, comments, variable names mix PL/EN)
diff --git a/ajax.php b/ajax.php
index 12087bf..019f8b9 100644
--- a/ajax.php
+++ b/ajax.php
@@ -41,5 +41,7 @@ $mdb = new medoo( [
'charset' => 'utf8'
] );
+require_once 'load_prices.php';
+
$user = \S::get_session( 'user' );
?>
\ No newline at end of file
diff --git a/api.php b/api.php
index 6fbca40..e96d9c8 100644
--- a/api.php
+++ b/api.php
@@ -29,4 +29,6 @@ $mdb = new medoo( [
'username' => $database['user'],
'password' => $database['password'],
'charset' => 'utf8'
- ] );
\ No newline at end of file
+ ] );
+
+require_once 'load_prices.php';
\ No newline at end of file
diff --git a/autoload/controls/class.Apanel.php b/autoload/controls/class.Apanel.php
index ade063a..25dc50a 100644
--- a/autoload/controls/class.Apanel.php
+++ b/autoload/controls/class.Apanel.php
@@ -203,6 +203,48 @@ class Apanel
exit;
}
+ static public function tickets()
+ {
+ global $settings;
+
+ return \Tpl::view('admin-panel/tickets', [
+ 'tickets' => $settings['tickets']
+ ]);
+ }
+
+ static public function tickets_save()
+ {
+ global $mdb;
+
+ if (empty($_POST['tickets']) || !is_array($_POST['tickets'])) {
+ echo json_encode(['status' => 'error', 'message' => 'Brak danych']);
+ exit;
+ }
+
+ foreach ($_POST['tickets'] as $ticketId => $data) {
+ $ticketId = preg_replace('/[^a-z0-9\-]/', '', $ticketId);
+
+ $price = trim($data['price'] ?? '') !== '' ? (float) $data['price'] : null;
+ $priceWkd = trim($data['price_weekend'] ?? '') !== '' ? (float) $data['price_weekend'] : null;
+ $day0 = trim($data['day0'] ?? '') !== '' ? (float) $data['day0'] : null;
+ $day12 = trim($data['day1_2'] ?? '') !== '' ? (float) $data['day1_2'] : null;
+ $day37 = trim($data['day3_7'] ?? '') !== '' ? (float) $data['day3_7'] : null;
+
+ $stmt = $mdb->pdo->prepare('REPLACE INTO ticket_prices (ticket_id, price, price_weekend, dynamic_price_day0, dynamic_price_day1_2, dynamic_price_day3_7) VALUES (:tid, :price, :priceWkd, :day0, :day12, :day37)');
+ $stmt->execute([
+ ':tid' => $ticketId,
+ ':price' => $price,
+ ':priceWkd' => $priceWkd,
+ ':day0' => $day0,
+ ':day12' => $day12,
+ ':day37' => $day37,
+ ]);
+ }
+
+ echo json_encode(['status' => 'ok']);
+ exit;
+ }
+
static public function use_ticket() {
global $mdb;
@@ -216,4 +258,22 @@ class Apanel
exit;
}
+
+ static public function settings()
+ {
+ $enable_sell = \factory\Apanel::getSetting('enable_sell', '1');
+
+ return \Tpl::view('admin-panel/settings', [
+ 'enable_sell' => $enable_sell
+ ]);
+ }
+
+ static public function settings_save()
+ {
+ $enable_sell = isset($_POST['enable_sell']) ? '1' : '0';
+ \factory\Apanel::saveSetting('enable_sell', $enable_sell);
+
+ echo json_encode(['status' => 'ok']);
+ exit;
+ }
}
\ No newline at end of file
diff --git a/autoload/controls/class.Tickets.php b/autoload/controls/class.Tickets.php
index 443ad35..2800c25 100644
--- a/autoload/controls/class.Tickets.php
+++ b/autoload/controls/class.Tickets.php
@@ -8,7 +8,9 @@ class Tickets
{
global $settings;
- if ( !$settings['tickets']['enable_sell'] )
+ $enable_sell = \factory\Apanel::getSetting('enable_sell', '1');
+
+ if ( !$enable_sell || $enable_sell === '0' )
return \Tpl::view( 'tickets/disabled-sell' );
return \Tpl::view('tickets/main-view', [
@@ -51,8 +53,13 @@ class Tickets
$addon = 0;
}
+ $is_weekend = $selected_date && in_array((new \DateTime($selected_date))->format('N'), ['6', '7']);
+ $base_price = $is_weekend
+ ? ($settings['tickets'][$ticket_id]['price_weekend'] ?? $settings['tickets'][$ticket_id]['price'])
+ : $settings['tickets'][$ticket_id]['price'];
+
$basket[$ticket_id][$diffDays]['ticket_id'] = $ticket_id;
- $basket[$ticket_id][$diffDays]['ticket_price'] = $settings['tickets'][$ticket_id]['price'] + $addon;
+ $basket[$ticket_id][$diffDays]['ticket_price'] = $base_price + $addon;
$basket[$ticket_id][$diffDays]['product_id'] = $settings['tickets'][$ticket_id]['product_id'];
$basket[$ticket_id][$diffDays]['quantity'] = 1;
$basket[$ticket_id][$diffDays]['date'] = $selected_date;
diff --git a/autoload/controls/index.php b/autoload/controls/index.php
new file mode 100644
index 0000000..e69de29
diff --git a/autoload/factory/class.Apanel.php b/autoload/factory/class.Apanel.php
index fff5fd9..647cd38 100644
--- a/autoload/factory/class.Apanel.php
+++ b/autoload/factory/class.Apanel.php
@@ -60,4 +60,30 @@ class Apanel {
return $basket;
}
+
+ static public function getSetting($key, $default = null)
+ {
+ global $mdb;
+
+ try {
+ $mdb->pdo->exec("CREATE TABLE IF NOT EXISTS site_settings (
+ setting_key VARCHAR(100) PRIMARY KEY,
+ setting_value TEXT
+ )");
+ } catch (\Exception $e) {}
+
+ $stmt = $mdb->pdo->prepare("SELECT setting_value FROM site_settings WHERE setting_key = :key LIMIT 1");
+ $stmt->execute([':key' => $key]);
+ $row = $stmt->fetch(\PDO::FETCH_ASSOC);
+
+ return $row ? $row['setting_value'] : $default;
+ }
+
+ static public function saveSetting($key, $value)
+ {
+ global $mdb;
+
+ $stmt = $mdb->pdo->prepare("REPLACE INTO site_settings (setting_key, setting_value) VALUES (:key, :val)");
+ $stmt->execute([':key' => $key, ':val' => $value]);
+ }
}
\ No newline at end of file
diff --git a/autoload/factory/index.php b/autoload/factory/index.php
new file mode 100644
index 0000000..e69de29
diff --git a/autoload/view/index.php b/autoload/view/index.php
new file mode 100644
index 0000000..e69de29
diff --git a/config.php b/config.php
index 3bed4c9..9c23dcd 100644
--- a/config.php
+++ b/config.php
@@ -9,52 +9,35 @@ $settings['email_port'] = 25;
$settings['email_login'] = 'bilety@brzezovka.pl';
$settings['email_password'] = 'biletyonline';
-$settings['tickets']['enable_sell'] = true;
-
-// $settings['tickets']['price_0day'][indywidua] = 5;
-// $settings['tickets']['price_0day'][rodzinn1] = 5;
-// $settings['tickets']['price_0day'][rodzinny2] = 5;
-//TODO: Bilet ulgowy - do 140 cm wzrostu
-if ( !empty($_SESSION['lower_price_ticket']) )
- $settings['tickets']['plac-zabaw-ulgowy']['price'] = 1;
-else
- $settings['tickets']['plac-zabaw-ulgowy']['price'] = 45;
-
-$settings['tickets']['plac-zabaw-ulgowy']['price_promo'] = 36;
-$settings['tickets']['plac-zabaw-ulgowy']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
+// Park rozrywki i dinozaurow
$settings['tickets']['plac-zabaw-ulgowy']['name'] = 'Park rozrywki i dinozaurów - ulgowy';
$settings['tickets']['plac-zabaw-ulgowy']['color'] = "orange";
$settings['tickets']['plac-zabaw-ulgowy']['product_id'] = 1;
+$settings['tickets']['plac-zabaw-normalny']['name'] = "Park rozrywki i dinozaurów - normalny";
+$settings['tickets']['plac-zabaw-normalny']['color'] = "orange";
+$settings['tickets']['plac-zabaw-normalny']['product_id'] = 3;
-$settings['tickets']['park-wodny-ulgowy']['price']= 35;
-$settings['tickets']['park-wodny-ulgowy']['price_promo']= 28;
-$settings['tickets']['park-wodny-ulgowy']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
-$settings['tickets']['park-wodny-ulgowy']['name']= 'Park wodny - ulgowy';
-$settings['tickets']['park-wodny-ulgowy']['color']= 'blue';
+// Park wodny
+$settings['tickets']['park-wodny-ulgowy']['name'] = 'Park wodny - ulgowy';
+$settings['tickets']['park-wodny-ulgowy']['color'] = 'blue';
$settings['tickets']['park-wodny-ulgowy']['product_id'] = 2;
$settings['tickets']['park-wodny-ulgowy']['alert'] = "strefa wodna czynna od 28.06.2025";
+$settings['tickets']['park-wodny-normalny']['name'] = "Park wodny - normalny";
+$settings['tickets']['park-wodny-normalny']['color'] = "blue";
+$settings['tickets']['park-wodny-normalny']['product_id'] = 4;
+$settings['tickets']['park-wodny-normalny']['alert'] = "strefa wodna czynna od 28.06.2025";
-$settings['tickets']['gift-plac-zabaw-ulgowy']['price'] = 45;
-// $settings['tickets']['gift-plac-zabaw-ulgowy']['price_promo'] = 999;
-$settings['tickets']['gift-plac-zabaw-ulgowy']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
+// Bilety prezentowe Park Rozrywki
$settings['tickets']['gift-plac-zabaw-ulgowy']['name'] = 'Bilet prezentowy Park Rozrywki i Dinozaurów - ulgowy';
$settings['tickets']['gift-plac-zabaw-ulgowy']['color'] = "orange";
$settings['tickets']['gift-plac-zabaw-ulgowy']['product_id'] = 10;
+$settings['tickets']['gift-plac-zabaw-normalny']['name'] = "Bilet prezentowy Park Rozrywki i Dinozaurów - normalny";
+$settings['tickets']['gift-plac-zabaw-normalny']['color'] = "orange";
+$settings['tickets']['gift-plac-zabaw-normalny']['product_id'] = 9;
+
$settings['bilety-ulgowe'] = array(
'plac-zabaw-ulgowy',
'gift-plac-zabaw-ulgowy',
@@ -62,43 +45,6 @@ $settings['bilety-ulgowe'] = array(
'park-wodny-ulgowy'
);
-//TODO: Bilet normalny - od 140 cm wzrostu
-$settings['tickets']['plac-zabaw-normalny']['price'] = 52;
-$settings['tickets']['plac-zabaw-normalny']['price_promo'] = 41.60;
-$settings['tickets']['plac-zabaw-normalny']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
-$settings['tickets']['plac-zabaw-normalny']['name'] = "Park rozrywki i dinozaurów - normalny";
-$settings['tickets']['plac-zabaw-normalny']['color'] = "orange";
-$settings['tickets']['plac-zabaw-normalny']['product_id'] = 3;
-
-
-$settings['tickets']['park-wodny-normalny']['price'] = 40;
-$settings['tickets']['park-wodny-normalny']['price_promo'] = 32;
-$settings['tickets']['park-wodny-normalny']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
-$settings['tickets']['park-wodny-normalny']['name'] = "Park wodny - normalny";
-$settings['tickets']['park-wodny-normalny']['color'] = "blue";
-$settings['tickets']['park-wodny-normalny']['product_id'] = 4;
-$settings['tickets']['park-wodny-normalny']['alert'] = "strefa wodna czynna od 28.06.2025";
-
-
-$settings['tickets']['gift-plac-zabaw-normalny']['price'] = 52;
-// $settings['tickets']['plac-zabaw-normalny']['price_promo'] = 999;
-$settings['tickets']['gift-plac-zabaw-normalny']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
-$settings['tickets']['gift-plac-zabaw-normalny']['name'] = "Bilet prezentowy Park Rozrywki i Dinozaurów - normalny";
-$settings['tickets']['gift-plac-zabaw-normalny']['color'] = "orange";
-$settings['tickets']['gift-plac-zabaw-normalny']['product_id'] = 9;
-
$settings['bilety-normalne'] = array(
'plac-zabaw-normalny',
// 'park-historyczny-normalny',
@@ -106,53 +52,21 @@ $settings['bilety-normalne'] = array(
'park-wodny-normalny',
);
-
-//TODO: Bilety All Open - bilety do wszystkich parków
-$settings['tickets']['bilet-all-open-ulgowy']['price']= 75;
-$settings['tickets']['bilet-all-open-ulgowy']['price_promo']= 60;
-$settings['tickets']['bilet-all-open-ulgowy']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
-$settings['tickets']['bilet-all-open-ulgowy']['name']= 'All Open - ulgowy';
-$settings['tickets']['bilet-all-open-ulgowy']['color']= 'green';
+// Bilety All Open
+$settings['tickets']['bilet-all-open-ulgowy']['name'] = 'All Open - ulgowy';
+$settings['tickets']['bilet-all-open-ulgowy']['color'] = 'green';
$settings['tickets']['bilet-all-open-ulgowy']['product_id'] = 5;
-
-$settings['tickets']['bilet-all-open-normalny']['price']= 85;
-$settings['tickets']['bilet-all-open-normalny']['price_promo']= 68.80;
-$settings['tickets']['bilet-all-open-normalny']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
-$settings['tickets']['bilet-all-open-normalny']['name']= 'All Open - normalny';
-$settings['tickets']['bilet-all-open-normalny']['color']= 'green';
+$settings['tickets']['bilet-all-open-normalny']['name'] = 'All Open - normalny';
+$settings['tickets']['bilet-all-open-normalny']['color'] = 'green';
$settings['tickets']['bilet-all-open-normalny']['product_id'] = 6;
-
-$settings['tickets']['gift-bilet-all-open-ulgowy']['price']= 75;
-// $settings['tickets']['gift-bilet-all-open-ulgowy']['price_promo']= 999;
-$settings['tickets']['gift-bilet-all-open-ulgowy']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
-$settings['tickets']['gift-bilet-all-open-ulgowy']['name']= 'Bilet prezentowy All Open - ulgowy';
-$settings['tickets']['gift-bilet-all-open-ulgowy']['color']= 'green';
+$settings['tickets']['gift-bilet-all-open-ulgowy']['name'] = 'Bilet prezentowy All Open - ulgowy';
+$settings['tickets']['gift-bilet-all-open-ulgowy']['color'] = 'green';
$settings['tickets']['gift-bilet-all-open-ulgowy']['product_id'] = 5;
-
-$settings['tickets']['gift-bilet-all-open-normalny']['price']= 85;
-// $settings['tickets']['gift-bilet-all-open-normalny']['price_promo']= 999;
-$settings['tickets']['gift-bilet-all-open-normalny']['dynamic_prices'] = [
- 'day0' => 5,
- 'day1_2' => 3,
- 'day3_7' => 1,
-];
-$settings['tickets']['gift-bilet-all-open-normalny']['name']= 'Bilet prezentowy All Open - normalny';
-$settings['tickets']['gift-bilet-all-open-normalny']['color']= 'green';
+$settings['tickets']['gift-bilet-all-open-normalny']['name'] = 'Bilet prezentowy All Open - normalny';
+$settings['tickets']['gift-bilet-all-open-normalny']['color'] = 'green';
$settings['tickets']['gift-bilet-all-open-normalny']['product_id'] = 11;
$settings['bilety-all-open'] = array(
@@ -160,31 +74,15 @@ $settings['bilety-all-open'] = array(
'bilet-all-open-normalny',
'gift-bilet-all-open-ulgowy',
'gift-bilet-all-open-normalny',
-
);
-//TODO: Bilety rodzinne - bilety dla rodzin
-$settings['tickets']['bilet-rodzina-2+1']['price']= 220;
-$settings['tickets']['bilet-rodzina-2+1']['price_promo']= 176;
-$settings['tickets']['bilet-rodzina-2+1']['dynamic_prices'] = [
- 'day0' => 15,
- 'day1_2' => 9,
- 'day3_7' => 1,
-];
-$settings['tickets']['bilet-rodzina-2+1']['name']= 'Rodzina 2+1';
-$settings['tickets']['bilet-rodzina-2+1']['color']= 'violet';
+// Bilety rodzinne
+$settings['tickets']['bilet-rodzina-2+1']['name'] = 'Rodzina 2+1';
+$settings['tickets']['bilet-rodzina-2+1']['color'] = 'violet';
$settings['tickets']['bilet-rodzina-2+1']['product_id'] = 7;
-
-$settings['tickets']['bilet-rodzina-2+2']['price']= 280;
-$settings['tickets']['bilet-rodzina-2+2']['price_promo']= 224;
-$settings['tickets']['bilet-rodzina-2+2']['dynamic_prices'] = [
- 'day0' => 20,
- 'day1_2' => 12,
- 'day3_7' => 1,
-];
-$settings['tickets']['bilet-rodzina-2+2']['name']= 'Rodzina 2+2';
-$settings['tickets']['bilet-rodzina-2+2']['color']= 'violet';
+$settings['tickets']['bilet-rodzina-2+2']['name'] = 'Rodzina 2+2';
+$settings['tickets']['bilet-rodzina-2+2']['color'] = 'violet';
$settings['tickets']['bilet-rodzina-2+2']['product_id'] = 8;
$settings['bilety-rodzinne'] = array(
@@ -192,31 +90,23 @@ $settings['bilety-rodzinne'] = array(
'bilet-rodzina-2+2'
);
-$settings['tickets']['gift-price']['price']= 15;
-$settings['tickets']['gift-price']['name']= 'Koszt przesyłki';
+$settings['tickets']['gift-price']['name'] = 'Koszt przesyłki';
$settings['tickets']['gift-price']['product_id'] = 999999;
$settings['gift-price-delivery'] = array(
'gift-price'
);
-//TODO: Karnet imienny - na cały sezon
-$settings['tickets']['karnet-imienny-na-caly-sezon']['price']= 250;
-// $settings['tickets']['karnet-imienny-na-caly-sezon']['price_promo']= 176;
-$settings['tickets']['karnet-imienny-na-caly-sezon']['dynamic_prices'] = [
- 'day0' => 0,
- 'day1_2' => 0,
- 'day3_7' => 0,
-];
-$settings['tickets']['karnet-imienny-na-caly-sezon']['name']= 'Karnet imienny na cały sezon';
-$settings['tickets']['karnet-imienny-na-caly-sezon']['color']= 'violet';
+// Karnet imienny
+$settings['tickets']['karnet-imienny-na-caly-sezon']['name'] = 'Karnet imienny na cały sezon';
+$settings['tickets']['karnet-imienny-na-caly-sezon']['color'] = 'violet';
$settings['tickets']['karnet-imienny-na-caly-sezon']['product_id'] = 12;
$settings['karnety'] = array(
'karnet-imienny-na-caly-sezon'
);
-$settings['tickets']['ticket-protection']['price'] = 5;
+// Ochrona kupujacego
$settings['tickets']['ticket-protection']['name'] = 'Ochrona kupującego';
$settings['tickets']['ticket-protection']['product_id'] = 0;
@@ -226,4 +116,4 @@ $settings['p24']['crc_key'] = '6f83d724c84e9bae';
$settings['p24']['sandbox_crc_key'] = 'a48ba2394a52373a';
$settings['p24']['sandbox'] = false;
-$settings['admin-password'] = 'Admin2022!';
\ No newline at end of file
+$settings['admin-password'] = 'Admin2022!';
diff --git a/dev/team/2026-02-22_22-51_php81-kompatybilnosc.md b/dev/team/2026-02-22_22-51_php81-kompatybilnosc.md
deleted file mode 100644
index 939f086..0000000
--- a/dev/team/2026-02-22_22-51_php81-kompatybilnosc.md
+++ /dev/null
@@ -1,108 +0,0 @@
-# Migracja PHP 7.4 → 8.1 — poprawki kompatybilności
-
-**Data:** 2026-02-22 22:51
-**Orkiestrator:** Claude Code (Team)
-**Zapytanie:** Otwarty projekt był napisany pod PHP 7.4, obecnie na serwerze ktoś zmienił wersję na 8.1 przez co strona wywala błąd 500. Przeanalizuj projekt i popraw metody które mogą być problematyczne.
-
----
-
-## Analiza
-- **Typ:** debug + refactor
-- **Złożoność:** 4/5
-- **Pliki kontekstowe:** 20 plików PHP przeanalizowanych
-
-## Routing
-- **Agent główny:** Claude Code — debug wymaga bezpośredniego dostępu do plików i edycji
-- **Wsparcie:** Gemini CLI (niedostępny — 429 rate limit) → fallback do Claude Code
-
-## Wynik — lista poprawek
-
-### KRYTYCZNE (powodują Fatal Error / 500)
-
-#### 1. Krótkie tagi `` zamiast ` $database['password'],
'charset' => 'utf8'
]);
+require_once 'load_prices.php';
+
$user = \S::get_session('user');
echo \view\Site::show();
\ No newline at end of file
diff --git a/layout/.DS_Store b/layout/.DS_Store
new file mode 100644
index 0000000..77e8dc8
Binary files /dev/null and b/layout/.DS_Store differ
diff --git a/layout/.htaccess b/layout/.htaccess
new file mode 100644
index 0000000..7189fc0
--- /dev/null
+++ b/layout/.htaccess
@@ -0,0 +1,9 @@
+
+
+RewriteEngine On
+RewriteBase /
+RewriteRule ^index\.php$ - [L]
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule . /index.php [L]
+
\ No newline at end of file
diff --git a/layout/images/.htaccess b/layout/images/.htaccess
new file mode 100644
index 0000000..7189fc0
--- /dev/null
+++ b/layout/images/.htaccess
@@ -0,0 +1,9 @@
+
+
+RewriteEngine On
+RewriteBase /
+RewriteRule ^index\.php$ - [L]
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule . /index.php [L]
+
\ No newline at end of file
diff --git a/layout/images/logo copy.png b/layout/images/logo copy.png
new file mode 100644
index 0000000..5295317
Binary files /dev/null and b/layout/images/logo copy.png differ
diff --git a/layout/style-css/.htaccess b/layout/style-css/.htaccess
new file mode 100644
index 0000000..7189fc0
--- /dev/null
+++ b/layout/style-css/.htaccess
@@ -0,0 +1,9 @@
+
+
+RewriteEngine On
+RewriteBase /
+RewriteRule ^index\.php$ - [L]
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule . /index.php [L]
+
\ No newline at end of file
diff --git a/layout/style-css/countdown/index.php b/layout/style-css/countdown/index.php
new file mode 100644
index 0000000..e69de29
diff --git a/layout/style-css/style.css b/layout/style-css/style.css
index 274ac27..c2e3b69 100644
--- a/layout/style-css/style.css
+++ b/layout/style-css/style.css
@@ -1 +1 @@
-@import"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";*{margin:0;padding:0;box-sizing:border-box}body{color:#333;font-family:"Lato",sans-serif;background-color:#f3f0cf;display:flex;flex-direction:column;min-height:100vh}.btn-t1{border:none;background-color:rgba(0,0,0,0);color:#333;padding:10px 30px;border-radius:10px;font-weight:800;background-color:rgb(164.4360189573,229.7914691943,83.2085308057);text-decoration:none}.btn-t1:disabled{background-color:rgba(149,165,166,.5);cursor:not-allowed}.btn-t2{border:none;background-color:rgba(0,0,0,0);color:#fff;padding:10px 30px;border-radius:10px;font-weight:800;background-color:#333;text-decoration:none}.btn-t2:disabled{background-color:rgba(149,165,166,.5);cursor:not-allowed}.btn{padding:9px 30px}.flex-buttons-group{display:flex;justify-content:center;align-items:center;gap:5px}.c_green{color:#72b81b}.c_red{color:#e31e4b}.top{position:relative;background:#72b81b;color:#fff;height:70px}.top .a_menu .logo{position:absolute;margin:10px 0 !important}.top .a_menu #nav-menu.active{display:block;right:0;top:0;left:0;bottom:0;height:100vh;background:#fff;z-index:999}.top .a_menu #menu-hamburger{position:relative;height:70px;display:flex;align-items:center;justify-content:flex-end;z-index:9999}.top .a_menu #menu-hamburger i{font-size:28px}.top .a_menu #menu-hamburger.active #btn-hamburger{position:relative;height:30px;width:30px}.top .a_menu #menu-hamburger.active #btn-hamburger span{position:absolute;width:100%;height:2px;background:#333;border-radius:5px;top:50%;transform:translateY(-50%)}.top .a_menu #menu-hamburger.active #btn-hamburger span:nth-child(1){top:50%;transform:rotate(45deg) translateY(-50%)}.top .a_menu #menu-hamburger.active #btn-hamburger span:nth-child(2){transform:translateX(-100%) translateY(-50%)}.top .a_menu #menu-hamburger.active #btn-hamburger span:nth-child(3){top:50%;transform:rotate(-45deg) translateY(-50%)}.top .a_menu #menu-hamburger #btn-hamburger{position:relative;height:30px;width:30px;overflow:hidden}.top .a_menu #menu-hamburger #btn-hamburger span{position:absolute;width:100%;height:2px;background:#fff;border-radius:5px;top:50%;transform:translateY(-50%);transition:all 250ms ease}.top .a_menu #menu-hamburger #btn-hamburger span:nth-child(1){top:20%}.top .a_menu #menu-hamburger #btn-hamburger span:nth-child(3){top:80%}@media(min-width: 768px){.top .a_menu #menu-hamburger{display:none}}@media(max-width: 767px){.top .a_menu #nav-menu{position:fixed;display:none}.top .a_menu #nav-menu ul{width:100%;max-width:300px;padding:0 15px;margin:0 auto;flex-direction:column;justify-content:center}.top .a_menu #nav-menu ul li a{color:#333}}.top .logo{background:#72b81b;display:block;margin:0 auto 10px;width:150px;border-radius:0 0 50% 50%;padding:10px 25px 25px}.top .logo img{width:100%}@media(max-width: 600px){.top .logo{margin:10px 0}}.top nav{height:70px}.top nav ul{height:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:25px;list-style:none;margin:0;padding:0}.top nav ul li a{color:#fff;font-size:18px;font-weight:600;text-decoration:none}.main{display:flex;flex-direction:column;flex-grow:1}.main .tickets_calendar{margin-top:100px;width:100%;margin-bottom:50px}.main .tickets{margin-bottom:50px;display:flex;flex-direction:column;width:100%;gap:80px}.main .tickets .ticket-container{display:flex;flex-direction:column;width:100%;gap:40px;align-items:center}.main .tickets .ticket-container .title-container{text-align:center;position:relative}.main .tickets .ticket-container .title-container::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100px;border-bottom:2px dotted #000}.main .tickets .ticket-container .title-container .title{font-weight:800;font-size:46px}@media(max-width: 991px){.main .tickets .ticket-container .title-container .title{font-size:36px;font-size:22px}}.main .tickets .ticket-container .title-container .description{font-size:28px}.main .tickets .ticket{display:flex;flex-direction:row;align-items:center}.main .tickets .ticket .ticket-description{display:flex;flex-direction:column;align-items:center;justify-content:center;width:500px;text-align:center;color:#fff;border-radius:10px;padding:20px 0}.main .tickets .ticket .ticket-description--yellow{background-color:#ffc937}.main .tickets .ticket .ticket-description--red{background-color:#e31e4b}.main .tickets .ticket .ticket-description--blue{background-color:#138fcb}.main .tickets .ticket .ticket-description--orange{background-color:#eb5024}.main .tickets .ticket .ticket-description--green{background-color:#72b81b}.main .tickets .ticket .ticket-description--violet{background-color:#8900be}.main .tickets .ticket .ticket-description .ticket__name{font-size:46px;font-weight:800}@media(max-width: 991px){.main .tickets .ticket .ticket-description .ticket__name{font-size:32px}}@media(max-width: 767px){.main .tickets .ticket .ticket-description .ticket__name{font-size:28px}}.main .tickets .ticket .ticket-description .description{font-size:13px;font-style:italic;line-height:.75;margin-bottom:0}.main .tickets .ticket .ticket-description .ticket-alert{font-size:20px;margin:20px 0 0 0;font-weight:800;text-transform:uppercase;text-decoration:underline}@media(max-width: 991px){.main .tickets .ticket .ticket-description .ticket-alert{font-size:16px}}@media(max-width: 991px){.main .tickets .ticket .ticket-description{padding-left:10px;padding-right:10px;width:400px}}@media(max-width: 575px){.main .tickets .ticket .ticket-description{width:100%}}.main .tickets .ticket .price{font-size:46px;margin-left:40px;font-weight:800;min-width:138px}@media(max-width: 991px){.main .tickets .ticket .price{font-size:36px;min-width:130px}}@media(max-width: 767px){.main .tickets .ticket .price{margin-left:0;min-width:unset;margin-bottom:0}}.main .tickets .ticket .ticket-quantity{margin-left:30px}@media(max-width: 767px){.main .tickets .ticket .ticket-quantity{margin-left:0}}.main .tickets .ticket .ticket-quantity .button{width:30px;height:30px;border-radius:50%;border:1px solid #333;color:#333;background-color:rgba(0,0,0,0);text-align:center}.main .tickets .ticket .ticket-quantity span{padding:0 5px}@media(max-width: 767px){.main .tickets .ticket{flex-direction:column;row-gap:15px}}@media(max-width: 575px){.main .tickets .ticket{width:100%}}.main .bottom-info__description{text-align:center;font-size:16px;line-height:29px;padding:20px 0;position:relative}.main .bottom-info__description::after,.main .bottom-info__description::before{position:absolute;content:"";border-bottom:2px dotted #333;left:50%;transform:translateX(-50%);width:10%}.main .bottom-info__description::after{top:0}.main .bottom-info__description::before{bottom:0}.main .bottom-info__description p:nth-child(2){margin-bottom:0}.main .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:#34327c;display:flex;flex-direction:column;width:100%;color:#fff}.footer a{text-decoration:none;color:#eb5024}.footer .footer__top{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr;justify-items:center;align-items:center}.footer .footer__top .location{padding:20px 0;text-align:center}.footer .footer__top .location .title{font-size:22px;font-weight:800}.footer .footer__top .logo{height:100px}.footer .footer__top .logo img{width:100%;height:100%}.footer .footer__bottom{width:100%}.footer .footer__bottom p{text-align:center;margin:0;padding:30px 0}@media(max-width: 767px){.footer .footer__top{padding-top:30px;grid-template-columns:1fr}.footer .footer__top .opening-hours{grid-row-start:2}.footer .footer__top .logo{grid-row-start:1}.footer .footer__top .location{grid-row-start:3}}.shopping-cart-container--active .shopping-cart{opacity:1;transform:translateX(0)}.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:#72b81b;color:#fff;gap:20px;width:230px;padding:20px 0;transition:opacity .2s;transform:translateX(100%)}.shopping-cart.hide{display:none}.shopping-cart .basket{font-size:30px}.shopping-cart .quantity{font-size:18px;font-weight:800}.shopping-cart .tickets__list{width:100%;list-style:none;padding:0 5px;background-color:#fff;color:#333;border-right:1px solid #333;border-left:1px solid #333;max-height:calc(90svh - 400px);overflow:auto}.shopping-cart .tickets__list p{margin-bottom:0}.shopping-cart .tickets__list .ticket{border:1px solid #333;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}.shopping-cart .tickets__list .ticket__description{grid-area:name;font-weight:800;font-size:13px}.shopping-cart .tickets__list .ticket__price{grid-area:price;font-weight:800;font-size:13px}.shopping-cart .tickets__list .ticket__price span{font-weight:400}.shopping-cart .tickets__list .ticket .ticket__button{grid-area:btn;border:none;background-color:rgba(0,0,0,0);color:#333;font-size:14px;font-weight:800}.shopping-cart .sum-section{text-align:center;font-weight:800;font-size:18px}.shopping-cart .sum-section p{margin-bottom:0}.shopping-cart .off-btn{border:none;background-color:rgba(0,0,0,0);color:#fff;font-size:18px;font-weight:800;position:absolute;top:5px;right:15px}.shopping-cart .buy-btn{border:none;background-color:rgba(0,0,0,0);color:#333;padding:10px 30px;border-radius:10px;font-weight:800;background-color:rgb(164.4360189573,229.7914691943,83.2085308057);text-decoration:none}.mobile-cart-btn{position:fixed;bottom:50px;right:0;opacity:1;z-index:10;border-top-left-radius:10px;border-bottom-left-radius:10px;background-color:#72b81b;padding:20px 15px 15px 15px;transition:all 250ms ease-in-out;cursor:pointer}.mobile-cart-btn.hide{transform:translateX(100%)}.mobile-cart-btn span{position:absolute;top:8px;right:5px;display:flex;align-items:center;justify-content:center;padding:5px;background:#fff;border-radius:100%;width:20px;height:20px;line-height:1;font-size:12px}.mobile-cart-btn .mobile-cart-btn--img img{width:100%;max-width:40px}#basket_page .basket_content{margin-top:100px;margin-bottom:100px}#basket_page .box_01{margin-bottom:24px}#basket_page .box_01 table{width:100%;background:#fff;border-collapse:collapse}#basket_page .box_01 table tr{text-align:center;border-top:1px solid rgba(0,0,0,.1)}#basket_page .box_01 table tr th{padding:8px}#basket_page .box_01 table tr th h3{font-size:1.25rem;font-weight:800}@media(max-width: 991px){#basket_page .box_01 table tr th h3{font-size:.85rem}}#basket_page .box_01 table tr td{padding:8px}@media(max-width: 991px){#basket_page .box_01 table tr td{font-size:14px}}#basket_page .box_01 table tr td .btn_t1{width:30px;height:30px;border-radius:50%;border:none;transition:150ms ease-in-out;background:#f0f0f0;display:inline-block;color:#000}#basket_page .box_01 table tr td .btn_t1 i{color:#000}#basket_page .box_01 table tr td .btn_t1.add:hover{color:#72b81b;border-color:#72b81b}#basket_page .box_01 table tr td .btn_t1.subtract:hover{color:#eb5024;border-color:#eb5024}#basket_page .box_01 table tr td .btn_t1.delete{border:none}#basket_page .box_01 table tr td .btn_t1.delete:hover{color:#e31e4b}@media(max-width: 767px){#basket_page .box_01 table{background:rgba(0,0,0,0)}#basket_page .box_01 table thead,#basket_page .box_01 table tbody,#basket_page .box_01 table th,#basket_page .box_01 table td,#basket_page .box_01 table tr{display:block}#basket_page .box_01 table tbody>tr:first-child{display:none}#basket_page .box_01 table thead{display:none}#basket_page .box_01 table tr{margin-bottom:15px;border:1px solid #ddd;padding:10px;border-radius:10px;background:#fff}#basket_page .box_01 table td{position:relative;padding-left:50%;text-align:right;border:none;min-height:38px;padding-left:140px !important}#basket_page .box_01 table td:not(:last-child){border-bottom:1px solid #eee}#basket_page .box_01 table td::before{content:attr(data-label);position:absolute;left:10px;top:50%;font-weight:bold;color:#555;transform:translateY(-50%)}}@media(max-width: 767px)and (max-width: 575px){#basket_page .box_01 table td::before{font-size:12px}}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper{background:#fff;padding:30px}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper h2{font-size:1.5rem;margin-bottom:20px}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper .form-vat-box{display:none}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper .form-group .col-form-label{font-weight:600}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper .form-group .col-form-label .form-vat-option{opacity:0;transition:400ms ease}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper .form-group .form-check a{color:#72b81b;text-decoration:none}#basket_page .box_02 .basket_summary .basket_summary__wrapper{text-align:center;background:#fff;padding:30px;height:100%}#basket_page .box_02 .basket_summary .basket_summary__wrapper h2{font-size:1.5rem}#basket_page .box_02 .basket_summary .basket_summary__wrapper p{font-size:1.5rem;font-weight:800}#basket_page .box_02 .basket_summary .basket_summary__wrapper .buy-btn{display:inline-block;border:none;background-color:rgba(0,0,0,0);color:#333;padding:10px 30px;border-radius:10px;font-weight:800;background-color:rgb(211.327014218,242.8436018957,172.1563981043);text-decoration:none}.spinner_container{display:flex;align-items:center;justify-content:center;padding:150px 0}.lds-roller{display:inline-block;position:relative;width:80px;height:80px}.lds-roller div{animation:lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;transform-origin:40px 40px}.lds-roller div:after{content:" ";display:block;position:absolute;width:7px;height:7px;border-radius:50%;background:#72b81b;margin:-4px 0 0 -4px}.lds-roller div:nth-child(1){animation-delay:-0.036s}.lds-roller div:nth-child(1):after{top:63px;left:63px}.lds-roller div:nth-child(2){animation-delay:-0.072s}.lds-roller div:nth-child(2):after{top:68px;left:56px}.lds-roller div:nth-child(3){animation-delay:-0.108s}.lds-roller div:nth-child(3):after{top:71px;left:48px}.lds-roller div:nth-child(4){animation-delay:-0.144s}.lds-roller div:nth-child(4):after{top:72px;left:40px}.lds-roller div:nth-child(5){animation-delay:-0.18s}.lds-roller div:nth-child(5):after{top:71px;left:32px}.lds-roller div:nth-child(6){animation-delay:-0.216s}.lds-roller div:nth-child(6):after{top:68px;left:24px}.lds-roller div:nth-child(7){animation-delay:-0.252s}.lds-roller div:nth-child(7):after{top:63px;left:17px}.lds-roller div:nth-child(8){animation-delay:-0.288s}.lds-roller div:nth-child(8):after{top:56px;left:12px}@keyframes lds-roller{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#scanner{width:100%;max-width:500px;margin-left:auto;margin-right:auto}@media(min-width: 768px){#scanner{margin-top:50px}}.alogin-page .panel-login{padding-top:100px;padding-bottom:100px;display:flex;align-items:center;justify-content:center}.alogin-page .panel-login form{display:flex;flex-direction:column;gap:10px}#tickets-orders{padding-top:100px;padding-bottom:100px}#tickets-orders h1{margin-bottom:20px}#tickets-orders table{margin-bottom:10px;background:#fff;border-bottom:none}#tickets-orders table thead tr{border-bottom:1px solid rgba(0,0,0,.1)}#tickets-orders table thead tr th{padding:15px 10px;font-size:16px;font-weight:600;border-bottom:none}#tickets-orders table tbody tr td{font-size:14px}#tickets-orders table tbody tr td.edit-btn a{margin-left:20px}#tickets-orders table tbody tr td.edit-btn i{color:#333;font-size:20px;transition:color 200ms ease}#tickets-orders table tbody tr td.edit-btn i:hover{color:#72b81b}#tickets-orders table tr{border-bottom:1px solid rgba(0,0,0,.1)}#tickets-orders table tr td{padding:15px 10px;border-bottom:none}#tickets-orders #myTable_wrapper .row:nth-child(1){margin-bottom:10px}#tickets-orders #myTable_wrapper #myTable_length label{display:flex;flex-direction:row;align-items:center;gap:15px}#tickets-orders #myTable_wrapper #myTable_length label select{min-width:70px;background-color:#fff}#tickets-orders #myTable_wrapper #myTable_filter label{display:flex;flex-direction:row;align-items:center;gap:15px}#tickets-orders #myTable_wrapper #myTable_filter label input{margin-left:0;background:#fff}#tickets-orders #myTable_wrapper #myTable_paginate .pagination{display:flex;align-items:center;-moz-column-gap:5px;column-gap:5px;margin-bottom:0}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button{padding:0;border:none}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button.active a{color:#fff;background:#72b81b}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button:hover{border:none;background:none}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button.disabled>.page-link{color:#95a5a6}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button .page-link{color:#000}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button a{border:none}#order-data{padding:100px 0}#order-data .order-data .mini-nav-menu{margin-bottom:30px}#order-data .order-data .mini-nav-menu a:hover{color:#333}#order-data .order-data .box_01{margin-bottom:24px}#order-data .order-data .box_01 table{width:100%;background:#fff}#order-data .order-data .box_01 table tr{text-align:center;border-top:1px solid rgba(0,0,0,.1)}#order-data .order-data .box_01 table tr th{padding:8px}#order-data .order-data .box_01 table tr th h3{font-size:1.25rem;font-weight:800}#order-data .order-data .box_01 table tr td{padding:8px}#order-data .order-data .box_01 table tr td .btn_t1{width:30px;height:30px;border-radius:50%;border:none;transition:150ms ease-in-out}#order-data .order-data .box_01 table tr td .btn_t1.add:hover{color:#72b81b;border-color:#72b81b}#order-data .order-data .box_01 table tr td .btn_t1.subtract:hover{color:#eb5024;border-color:#eb5024}#order-data .order-data .box_01 table tr td .btn_t1.delete{border:none}#order-data .order-data .box_01 table tr td .btn_t1.delete:hover{color:#e31e4b}#order-data .order-data .box_01 .btn-save-new-list{display:block;margin:30px auto 0}#order-data .order-data .box_02 .order-detale-info .order-detale-info__wrapper{background:#fff;padding:30px}#order-data .order-data .box_02 .order-detale-info .order-detale-info__wrapper h2{font-size:1.5rem;margin-bottom:20px}#order-data .order-data .box_02 .order-detale-info .order-detale-info__wrapper .form-group .col-form-label{font-weight:600}#order-data .order-data .box_02 .order-summary .order-summary__wrapper{text-align:center;background:#fff;padding:30px;height:100%}#order-data .order-data .box_02 .order-summary .order-summary__wrapper h2{font-size:1.5rem;margin-bottom:20px}#order-data .order-data .box_02 .order-summary .order-summary__wrapper p{font-size:1.5rem;font-weight:800}#regulamin_box{margin-top:80px;margin-bottom:50px}#regulamin_box .regulamin_box__wrapper h5{font-size:26px;margin:0;color:#333;text-align:center;margin-bottom:20px}#regulamin_box .regulamin_box__wrapper h6{font-size:22px;margin-bottom:10px;text-transform:uppercase;font-family:"Lato",sans-serif;font-weight:800;letter-spacing:.8px;color:#333;text-align:center}#regulamin_box .regulamin_box__wrapper .regulamin__box{margin-bottom:50px}#regulamin_box .regulamin_box__wrapper .regulamin__box h5{text-align:center}.sale-box h2{text-align:center;font-size:48px;line-height:43px}.sale-box h2 span{color:#74aa32;font-weight:700}#dateForm{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}#dateForm ._title{width:100%;font-weight:600;font-size:30px;text-align:center}.basket_protection{display:grid;grid-template-columns:1fr;justify-content:flex-end;margin:10px auto;text-align:right}.basket_protection p{margin-bottom:0;font-style:italic}/*# sourceMappingURL=style.css.map */
\ No newline at end of file
+@import"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";*{margin:0;padding:0;box-sizing:border-box}body{color:#333;font-family:"Lato",sans-serif;background-color:#f3f0cf;display:flex;flex-direction:column;min-height:100vh}.btn-t1{border:none;background-color:rgba(0,0,0,0);color:#333;padding:10px 30px;border-radius:10px;font-weight:800;background-color:rgb(164.4360189573,229.7914691943,83.2085308057);text-decoration:none}.btn-t1:disabled{background-color:rgba(149,165,166,.5);cursor:not-allowed}.btn-t2{border:none;background-color:rgba(0,0,0,0);color:#fff;padding:10px 30px;border-radius:10px;font-weight:800;background-color:#333;text-decoration:none}.btn-t2:disabled{background-color:rgba(149,165,166,.5);cursor:not-allowed}.btn{padding:9px 30px}.flex-buttons-group{display:flex;justify-content:center;align-items:center;gap:5px}.c_green{color:#72b81b}.c_red{color:#e31e4b}.top{position:relative;background:#72b81b;color:#fff;height:70px}.top .a_menu .logo{position:absolute;margin:10px 0 !important}.top .a_menu #nav-menu.active{display:block;right:0;top:0;left:0;bottom:0;height:100vh;background:#fff;z-index:999}.top .a_menu #menu-hamburger{position:relative;height:70px;display:flex;align-items:center;justify-content:flex-end;z-index:9999}.top .a_menu #menu-hamburger i{font-size:28px}.top .a_menu #menu-hamburger.active #btn-hamburger{position:relative;height:30px;width:30px}.top .a_menu #menu-hamburger.active #btn-hamburger span{position:absolute;width:100%;height:2px;background:#333;border-radius:5px;top:50%;transform:translateY(-50%)}.top .a_menu #menu-hamburger.active #btn-hamburger span:nth-child(1){top:50%;transform:rotate(45deg) translateY(-50%)}.top .a_menu #menu-hamburger.active #btn-hamburger span:nth-child(2){transform:translateX(-100%) translateY(-50%)}.top .a_menu #menu-hamburger.active #btn-hamburger span:nth-child(3){top:50%;transform:rotate(-45deg) translateY(-50%)}.top .a_menu #menu-hamburger #btn-hamburger{position:relative;height:30px;width:30px;overflow:hidden}.top .a_menu #menu-hamburger #btn-hamburger span{position:absolute;width:100%;height:2px;background:#fff;border-radius:5px;top:50%;transform:translateY(-50%);transition:all 250ms ease}.top .a_menu #menu-hamburger #btn-hamburger span:nth-child(1){top:20%}.top .a_menu #menu-hamburger #btn-hamburger span:nth-child(3){top:80%}@media(min-width: 768px){.top .a_menu #menu-hamburger{display:none}}@media(max-width: 767px){.top .a_menu #nav-menu{position:fixed;display:none}.top .a_menu #nav-menu ul{width:100%;max-width:300px;padding:0 15px;margin:0 auto;flex-direction:column;justify-content:center}.top .a_menu #nav-menu ul li a{color:#333}}.top .logo{background:#72b81b;display:block;margin:0 auto 10px;width:150px;border-radius:0 0 50% 50%;padding:10px 25px 25px}.top .logo img{width:100%}@media(max-width: 600px){.top .logo{margin:10px 0}}.top nav{height:70px}.top nav ul{height:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:25px;list-style:none;margin:0;padding:0}.top nav ul li a{color:#fff;font-size:18px;font-weight:600;text-decoration:none}.main{display:flex;flex-direction:column;flex-grow:1}.main .tickets_calendar{margin-top:100px;width:100%;margin-bottom:50px}.main .tickets{margin-bottom:50px;display:flex;flex-direction:column;width:100%;gap:80px}.main .tickets .ticket-container{display:flex;flex-direction:column;width:100%;gap:40px;align-items:center}.main .tickets .ticket-container .title-container{text-align:center;position:relative}.main .tickets .ticket-container .title-container::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100px;border-bottom:2px dotted #000}.main .tickets .ticket-container .title-container .title{font-weight:800;font-size:46px}@media(max-width: 991px){.main .tickets .ticket-container .title-container .title{font-size:36px;font-size:22px}}.main .tickets .ticket-container .title-container .description{font-size:28px}.main .tickets .ticket{display:flex;flex-direction:row;align-items:center}.main .tickets .ticket .ticket-description{display:flex;flex-direction:column;align-items:center;justify-content:center;width:500px;text-align:center;color:#fff;border-radius:10px;padding:20px 0}.main .tickets .ticket .ticket-description--yellow{background-color:#ffc937}.main .tickets .ticket .ticket-description--red{background-color:#e31e4b}.main .tickets .ticket .ticket-description--blue{background-color:#138fcb}.main .tickets .ticket .ticket-description--orange{background-color:#eb5024}.main .tickets .ticket .ticket-description--green{background-color:#72b81b}.main .tickets .ticket .ticket-description--violet{background-color:#8900be}.main .tickets .ticket .ticket-description .ticket__name{font-size:46px;font-weight:800}@media(max-width: 991px){.main .tickets .ticket .ticket-description .ticket__name{font-size:32px}}@media(max-width: 767px){.main .tickets .ticket .ticket-description .ticket__name{font-size:28px}}.main .tickets .ticket .ticket-description .description{font-size:13px;font-style:italic;line-height:.75;margin-bottom:0}.main .tickets .ticket .ticket-description .ticket-alert{font-size:20px;margin:20px 0 0 0;font-weight:800;text-transform:uppercase;text-decoration:underline}@media(max-width: 991px){.main .tickets .ticket .ticket-description .ticket-alert{font-size:16px}}@media(max-width: 991px){.main .tickets .ticket .ticket-description{padding-left:10px;padding-right:10px;width:400px}}@media(max-width: 575px){.main .tickets .ticket .ticket-description{width:100%}}.main .tickets .ticket .price{font-size:46px;margin-left:40px;font-weight:800;min-width:138px}@media(max-width: 991px){.main .tickets .ticket .price{font-size:36px;min-width:130px}}@media(max-width: 767px){.main .tickets .ticket .price{margin-left:0;min-width:unset;margin-bottom:0}}.main .tickets .ticket .ticket-quantity{margin-left:auto}@media(max-width: 767px){.main .tickets .ticket .ticket-quantity{margin-left:0}}.main .tickets .ticket .ticket-quantity .button{padding:10px 20px;border-radius:8px;border:none;background-color:#72b81b;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap}.main .tickets .ticket .ticket-quantity .button:hover{background-color:rgb(91.9563981043,148.4208530806,21.7791469194)}.main .tickets .ticket .ticket-quantity .button.added{background-color:rgb(80.9345971564,130.6312796209,19.1687203791);transform:scale(1.05)}@media(max-width: 767px){.main .tickets .ticket{flex-direction:column;row-gap:15px}}@media(max-width: 575px){.main .tickets .ticket{width:100%}}.main .bottom-info__description{text-align:center;font-size:16px;line-height:29px;padding:20px 0;position:relative}.main .bottom-info__description::after,.main .bottom-info__description::before{position:absolute;content:"";border-bottom:2px dotted #333;left:50%;transform:translateX(-50%);width:10%}.main .bottom-info__description::after{top:0}.main .bottom-info__description::before{bottom:0}.main .bottom-info__description p:nth-child(2){margin-bottom:0}.main .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:#34327c;display:flex;flex-direction:column;width:100%;color:#fff}.footer a{text-decoration:none;color:#eb5024}.footer .footer__top{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr;justify-items:center;align-items:center}.footer .footer__top .location{padding:20px 0;text-align:center}.footer .footer__top .location .title{font-size:22px;font-weight:800}.footer .footer__top .logo{height:100px}.footer .footer__top .logo img{width:100%;height:100%}.footer .footer__bottom{width:100%}.footer .footer__bottom p{text-align:center;margin:0;padding:30px 0}@media(max-width: 767px){.footer .footer__top{padding-top:30px;grid-template-columns:1fr}.footer .footer__top .opening-hours{grid-row-start:2}.footer .footer__top .logo{grid-row-start:1}.footer .footer__top .location{grid-row-start:3}}.shopping-cart-container--active .shopping-cart{opacity:1;transform:translateX(0)}.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:#72b81b;color:#fff;gap:20px;width:230px;padding:20px 0;transition:opacity .2s;transform:translateX(100%)}.shopping-cart.hide{display:none}.shopping-cart .basket{font-size:30px}.shopping-cart .quantity{font-size:18px;font-weight:800}.shopping-cart .tickets__list{width:100%;list-style:none;padding:0 5px;background-color:#fff;color:#333;border-right:1px solid #333;border-left:1px solid #333;max-height:calc(90svh - 400px);overflow:auto}.shopping-cart .tickets__list p{margin-bottom:0}.shopping-cart .tickets__list .ticket{border:1px solid #333;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}.shopping-cart .tickets__list .ticket__description{grid-area:name;font-weight:800;font-size:13px}.shopping-cart .tickets__list .ticket__price{grid-area:price;font-weight:800;font-size:13px}.shopping-cart .tickets__list .ticket__price span{font-weight:400}.shopping-cart .tickets__list .ticket .ticket__button{grid-area:btn;border:none;background-color:rgba(0,0,0,0);color:#333;font-size:14px;font-weight:800}.shopping-cart .sum-section{text-align:center}.shopping-cart .sum-section p{margin-bottom:0}.shopping-cart .sum-section{font-weight:800;font-size:18px}.shopping-cart .off-btn{border:none;background-color:rgba(0,0,0,0);color:#fff;font-size:18px;font-weight:800;position:absolute;top:5px;right:15px}.shopping-cart .buy-btn{border:none;background-color:rgba(0,0,0,0);color:#333;padding:10px 30px;border-radius:10px;font-weight:800;background-color:rgb(164.4360189573,229.7914691943,83.2085308057);text-decoration:none}.mobile-cart-btn.cart-bounce{animation:cartBounce .5s ease}.mobile-cart-btn{position:fixed;bottom:50px;right:0;opacity:1;z-index:10;border-top-left-radius:10px;border-bottom-left-radius:10px;background-color:#72b81b;padding:20px 15px 15px 15px;transition:all 250ms ease-in-out;cursor:pointer}.mobile-cart-btn.hide{transform:translateX(100%)}.mobile-cart-btn span{position:absolute;top:8px;right:5px;display:flex;align-items:center;justify-content:center;padding:5px;background:#fff;border-radius:100%;width:20px;height:20px;line-height:1;font-size:12px}.mobile-cart-btn .mobile-cart-btn--img img{width:100%;max-width:40px}#basket_page .basket_content{margin-top:100px;margin-bottom:100px}#basket_page .box_01{margin-bottom:24px}#basket_page .box_01 table{width:100%;background:#fff;border-collapse:collapse}#basket_page .box_01 table tr{text-align:center;border-top:1px solid rgba(0,0,0,.1)}#basket_page .box_01 table tr th{padding:8px}#basket_page .box_01 table tr th h3{font-size:1.25rem;font-weight:800}@media(max-width: 991px){#basket_page .box_01 table tr th h3{font-size:.85rem}}#basket_page .box_01 table tr td{padding:8px}@media(max-width: 991px){#basket_page .box_01 table tr td{font-size:14px}}#basket_page .box_01 table tr td .ticket-date{color:#888;font-size:12px}#basket_page .box_01 table tr td .btn_t1{width:30px;height:30px;border-radius:50%;border:none;transition:150ms ease-in-out;background:#f0f0f0;display:inline-block;color:#000}#basket_page .box_01 table tr td .btn_t1 i{color:#000}#basket_page .box_01 table tr td .btn_t1.add:hover{color:#72b81b;border-color:#72b81b}#basket_page .box_01 table tr td .btn_t1.subtract:hover{color:#eb5024;border-color:#eb5024}#basket_page .box_01 table tr td .btn_t1.delete{border:none}#basket_page .box_01 table tr td .btn_t1.delete:hover{color:#e31e4b}@media(max-width: 767px){#basket_page .box_01 table{background:rgba(0,0,0,0)}#basket_page .box_01 table thead,#basket_page .box_01 table tbody,#basket_page .box_01 table th,#basket_page .box_01 table td,#basket_page .box_01 table tr{display:block}#basket_page .box_01 table tbody>tr:first-child{display:none}#basket_page .box_01 table thead{display:none}#basket_page .box_01 table tr{margin-bottom:15px;border:1px solid #ddd;padding:10px;border-radius:10px;background:#fff}#basket_page .box_01 table td{position:relative;padding-left:50%;text-align:right;border:none;min-height:38px;padding-left:140px !important}#basket_page .box_01 table td:not(:last-child){border-bottom:1px solid #eee}#basket_page .box_01 table td::before{content:attr(data-label);position:absolute;left:10px;top:50%;font-weight:bold;color:#555;transform:translateY(-50%)}}@media(max-width: 767px)and (max-width: 575px){#basket_page .box_01 table td::before{font-size:12px}}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper{background:#fff;padding:30px}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper h2{font-size:1.5rem;margin-bottom:20px}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper .form-vat-box{display:none}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper .form-group .col-form-label{font-weight:600}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper .form-group .col-form-label .form-vat-option{opacity:0;transition:400ms ease}#basket_page .box_02 .basket_user_data .basket_user_data__wrapper .form-group .form-check a{color:#72b81b;text-decoration:none}#basket_page .box_02 .basket_summary .basket_summary__wrapper{text-align:center;background:#fff;padding:30px;height:100%}#basket_page .box_02 .basket_summary .basket_summary__wrapper h2{font-size:1.5rem}#basket_page .box_02 .basket_summary .basket_summary__wrapper p{font-size:1.5rem;font-weight:800}#basket_page .box_02 .basket_summary .basket_summary__wrapper .buy-btn{display:inline-block;border:none;background-color:rgba(0,0,0,0);color:#333;padding:10px 30px;border-radius:10px;font-weight:800;background-color:rgb(211.327014218,242.8436018957,172.1563981043);text-decoration:none}.spinner_container{display:flex;align-items:center;justify-content:center;padding:150px 0}.lds-roller{display:inline-block;position:relative;width:80px;height:80px}.lds-roller div{animation:lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;transform-origin:40px 40px}.lds-roller div:after{content:" ";display:block;position:absolute;width:7px;height:7px;border-radius:50%;background:#72b81b;margin:-4px 0 0 -4px}.lds-roller div:nth-child(1){animation-delay:-0.036s}.lds-roller div:nth-child(1):after{top:63px;left:63px}.lds-roller div:nth-child(2){animation-delay:-0.072s}.lds-roller div:nth-child(2):after{top:68px;left:56px}.lds-roller div:nth-child(3){animation-delay:-0.108s}.lds-roller div:nth-child(3):after{top:71px;left:48px}.lds-roller div:nth-child(4){animation-delay:-0.144s}.lds-roller div:nth-child(4):after{top:72px;left:40px}.lds-roller div:nth-child(5){animation-delay:-0.18s}.lds-roller div:nth-child(5):after{top:71px;left:32px}.lds-roller div:nth-child(6){animation-delay:-0.216s}.lds-roller div:nth-child(6):after{top:68px;left:24px}.lds-roller div:nth-child(7){animation-delay:-0.252s}.lds-roller div:nth-child(7):after{top:63px;left:17px}.lds-roller div:nth-child(8){animation-delay:-0.288s}.lds-roller div:nth-child(8):after{top:56px;left:12px}@keyframes lds-roller{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}#scanner{width:100%;max-width:500px;margin-left:auto;margin-right:auto}@media(min-width: 768px){#scanner{margin-top:50px}}.alogin-page .panel-login{padding-top:100px;padding-bottom:100px;display:flex;align-items:center;justify-content:center}.alogin-page .panel-login form{display:flex;flex-direction:column;gap:10px}#tickets-orders{padding-top:100px;padding-bottom:100px}#tickets-orders h1{margin-bottom:20px}#tickets-orders table{margin-bottom:10px;background:#fff;border-bottom:none}#tickets-orders table thead tr{border-bottom:1px solid rgba(0,0,0,.1)}#tickets-orders table thead tr th{padding:15px 10px;font-size:16px;font-weight:600;border-bottom:none}#tickets-orders table tbody tr td{font-size:14px}#tickets-orders table tbody tr td.edit-btn a{margin-left:20px}#tickets-orders table tbody tr td.edit-btn i{color:#333;font-size:20px;transition:color 200ms ease}#tickets-orders table tbody tr td.edit-btn i:hover{color:#72b81b}#tickets-orders table tr{border-bottom:1px solid rgba(0,0,0,.1)}#tickets-orders table tr td{padding:15px 10px;border-bottom:none}#tickets-orders #myTable_wrapper .row:nth-child(1){margin-bottom:10px}#tickets-orders #myTable_wrapper #myTable_length label{display:flex;flex-direction:row;align-items:center;gap:15px}#tickets-orders #myTable_wrapper #myTable_length label select{min-width:70px;background-color:#fff}#tickets-orders #myTable_wrapper #myTable_filter label{display:flex;flex-direction:row;align-items:center;gap:15px}#tickets-orders #myTable_wrapper #myTable_filter label input{margin-left:0;background:#fff}#tickets-orders #myTable_wrapper #myTable_paginate .pagination{display:flex;align-items:center;-moz-column-gap:5px;column-gap:5px;margin-bottom:0}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button{padding:0;border:none}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button.active a{color:#fff;background:#72b81b}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button:hover{border:none;background:none}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button.disabled>.page-link{color:#95a5a6}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button .page-link{color:#000}#tickets-orders #myTable_wrapper #myTable_paginate .pagination .paginate_button a{border:none}#order-data{padding:100px 0}#order-data .order-data .mini-nav-menu{margin-bottom:30px}#order-data .order-data .mini-nav-menu a:hover{color:#333}#order-data .order-data .box_01{margin-bottom:24px}#order-data .order-data .box_01 table{width:100%;background:#fff}#order-data .order-data .box_01 table tr{text-align:center;border-top:1px solid rgba(0,0,0,.1)}#order-data .order-data .box_01 table tr th{padding:8px}#order-data .order-data .box_01 table tr th h3{font-size:1.25rem;font-weight:800}#order-data .order-data .box_01 table tr td{padding:8px}#order-data .order-data .box_01 table tr td .btn_t1{width:30px;height:30px;border-radius:50%;border:none;transition:150ms ease-in-out}#order-data .order-data .box_01 table tr td .btn_t1.add:hover{color:#72b81b;border-color:#72b81b}#order-data .order-data .box_01 table tr td .btn_t1.subtract:hover{color:#eb5024;border-color:#eb5024}#order-data .order-data .box_01 table tr td .btn_t1.delete{border:none}#order-data .order-data .box_01 table tr td .btn_t1.delete:hover{color:#e31e4b}#order-data .order-data .box_01 .btn-save-new-list{display:block;margin:30px auto 0}#order-data .order-data .box_02 .order-detale-info .order-detale-info__wrapper{background:#fff;padding:30px}#order-data .order-data .box_02 .order-detale-info .order-detale-info__wrapper h2{font-size:1.5rem;margin-bottom:20px}#order-data .order-data .box_02 .order-detale-info .order-detale-info__wrapper .form-group .col-form-label{font-weight:600}#order-data .order-data .box_02 .order-summary .order-summary__wrapper{text-align:center;background:#fff;padding:30px;height:100%}#order-data .order-data .box_02 .order-summary .order-summary__wrapper h2{font-size:1.5rem;margin-bottom:20px}#order-data .order-data .box_02 .order-summary .order-summary__wrapper p{font-size:1.5rem;font-weight:800}#regulamin_box{margin-top:80px;margin-bottom:50px}#regulamin_box .regulamin_box__wrapper h5{font-size:26px;margin:0;color:#333;text-align:center;margin-bottom:20px}#regulamin_box .regulamin_box__wrapper h6{font-size:22px;margin-bottom:10px;text-transform:uppercase;font-family:"Lato",sans-serif;font-weight:800;letter-spacing:.8px;color:#333;text-align:center}#regulamin_box .regulamin_box__wrapper .regulamin__box{margin-bottom:50px}#regulamin_box .regulamin_box__wrapper .regulamin__box h5{text-align:center}.sale-box h2{text-align:center;font-size:48px;line-height:43px}.sale-box h2 span{color:#74aa32;font-weight:700}#dateForm{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}#dateForm ._title{width:100%;font-weight:600;font-size:30px;text-align:center}.basket_protection{display:grid;grid-template-columns:1fr;justify-content:flex-end;margin:10px auto;text-align:right}.basket_protection p{margin-bottom:0;font-style:italic}@keyframes cartBounce{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px) scale(1.1)}50%{transform:translateX(4px) scale(1.05)}75%{transform:translateX(-2px)}}/*# sourceMappingURL=style.css.map */
\ No newline at end of file
diff --git a/layout/style-css/style.css.map b/layout/style-css/style.css.map
index 19914bc..fbc3a9d 100644
--- a/layout/style-css/style.css.map
+++ b/layout/style-css/style.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../style-scss/style.scss","../style-scss/_mixins.scss"],"names":[],"mappings":"AAEQ,6HAAA,CAgBR,EACC,QAAA,CACA,SAAA,CACA,qBAAA,CAGD,KACC,UAZiB,CAajB,6BAAA,CACA,wBAbiB,CAejB,YAAA,CACA,qBAAA,CACA,gBAAA,CAqBD,QAhBC,WAAA,CACA,8BAAA,CACA,UAzBiB,CA0BjB,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,iEAAA,CACA,oBAAA,CAEA,iBACC,qCAAA,CACA,kBAAA,CASF,QApBC,WAAA,CACA,8BAAA,CACA,UAhCQ,CAiCR,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,qBAAA,CACA,oBAAA,CAEA,iBACC,qCAAA,CACA,kBAAA,CAaF,KACC,gBAAA,CAGD,oBACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,OAAA,CAID,SACC,aAlEQ,CAqET,OACC,aAnEM,CAsEP,KACC,iBAAA,CACA,kBA3EQ,CA4ER,UAAA,CACA,WAAA,CAGC,mBACC,iBAAA,CACA,wBAAA,CAIA,8BACC,aAAA,CACA,OAAA,CACA,KAAA,CACA,MAAA,CACA,QAAA,CACA,YAAA,CACA,eA9FK,CA+FL,WAAA,CAIF,6BACC,iBAAA,CACA,WAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CACA,YAAA,CAEA,+BACC,cAAA,CAIA,mDACC,iBAAA,CACA,WAAA,CACA,UAAA,CAEA,wDACC,iBAAA,CACA,UAAA,CACA,UAAA,CACA,eAlHY,CAmHZ,iBAAA,CACA,OAAA,CACA,0BAAA,CAEA,qEACC,OAAA,CACA,wCAAA,CAGD,qEACC,4CAAA,CAGD,qEACC,OAAA,CACA,yCAAA,CAMJ,4CACC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CAEA,iDACC,iBAAA,CACA,UAAA,CACA,UAAA,CACA,eAzJI,CA0JJ,iBAAA,CACA,OAAA,CACA,0BAAA,CACA,yBAAA,CAEA,8DACC,OAAA,CAMD,8DACC,OAAA,CAMJ,yBACC,6BACC,YAAA,CAAA,CAIF,yBACC,uBACC,cAAA,CACA,YAAA,CAEA,0BACC,UAAA,CACA,eAAA,CACA,cAAA,CACA,aAAA,CACA,qBAAA,CACA,sBAAA,CAGC,+BACC,UA3LW,CAAA,CAmMjB,WACC,kBA1MO,CA2MP,aAAA,CACA,kBAAA,CACA,WAAA,CACA,yBAAA,CACA,sBAAA,CAEA,eACC,UAAA,CAGD,yBAZD,WAaE,aAAA,CAAA,CAIF,SACC,WAAA,CAEA,YACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,wBAAA,CACA,QAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CAGC,iBACC,UA3OI,CA4OJ,cAAA,CACA,eAAA,CACA,oBAAA,CAOL,MACC,YAAA,CACA,qBAAA,CACA,WAAA,CAEA,wBACC,gBAAA,CACA,UAAA,CACA,kBAAA,CAGD,eAGC,kBAAA,CACA,YAAA,CACA,qBAAA,CACA,UAAA,CACA,QAAA,CAGA,iCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,QAAA,CACA,kBAAA,CAEA,kDACC,iBAAA,CACA,iBAAA,CAEA,yDACC,UAAA,CACA,iBAAA,CACA,QAAA,CACA,QAAA,CACA,0BAAA,CACA,WAAA,CACA,6BAAA,CAGD,yDACC,eAAA,CACA,cAAA,CCpRH,yBDkRE,yDAKE,cAAA,CACA,cAAA,CAAA,CAIF,+DACC,cAAA,CAMH,uBACC,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,2CACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,cAAA,CAEA,mDACC,wBA/TK,CAkUN,gDACC,wBAjUE,CAoUH,iDACC,wBAtUG,CAyUJ,mDACC,wBAxUK,CA2UN,kDACC,wBAhVI,CAmVL,mDACC,wBA/UK,CAkVN,yDACC,cAAA,CACA,eAAA,CC7UH,yBD2UE,yDAKE,cAAA,CAAA,CChVJ,yBD2UE,yDAQE,cAAA,CAAA,CAIF,wDACC,cAAA,CACA,iBAAA,CACA,eAAA,CACA,eAAA,CAGD,yDACC,cAAA,CACA,iBAAA,CACA,eAAA,CACA,wBAAA,CACA,yBAAA,CCnWH,yBD8VE,yDAQE,cAAA,CAAA,CCtWJ,yBDwSC,2CAmEE,iBAAA,CACA,kBAAA,CACA,WAAA,CAAA,CC7WH,yBDwSC,2CAyEE,UAAA,CAAA,CAKF,8BACC,cAAA,CACA,gBAAA,CACA,eAAA,CACA,eAAA,CC1XF,yBDsXC,8BAOE,cAAA,CACA,eAAA,CAAA,CC9XH,yBDsXC,8BAWE,aAAA,CACA,eAAA,CACA,eAAA,CAAA,CAKF,wCACC,gBAAA,CCzYF,yBDwYC,wCAIE,aAAA,CAAA,CAGD,gDACC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,qBAAA,CACA,UA1Za,CA2Zb,8BAAA,CACA,iBAAA,CAGD,6CACC,aAAA,CC1ZH,yBDmSA,uBA4HE,qBAAA,CACA,YAAA,CAAA,CChaF,yBDmSA,uBAgIE,UAAA,CAAA,CAMH,gCACC,iBAAA,CACA,cAAA,CACA,gBAAA,CACA,cAAA,CACA,iBAAA,CAEA,+EAEC,iBAAA,CACA,UAAA,CACA,6BAAA,CACA,QAAA,CACA,0BAAA,CACA,SAAA,CAGD,uCACC,KAAA,CAGD,wCACC,QAAA,CAGD,+CACC,eAAA,CAIF,+BACC,eAAA,CACA,kEAAA,CACA,iCAAA,CACA,0BAAA,CACA,UAAA,CACA,YAAA,CAIF,QACC,wBAtdS,CAudT,YAAA,CACA,qBAAA,CACA,UAAA,CACA,UAAA,CAEA,UACC,oBAAA,CACA,aAleQ,CAqeT,qBACC,YAAA,CACA,iCAAA,CACA,sBAAA,CACA,oBAAA,CACA,kBAAA,CAEA,+BACC,cAAA,CACA,iBAAA,CAEA,sCACC,cAAA,CACA,eAAA,CAIF,2BACC,YAAA,CAEA,+BACC,UAAA,CACA,WAAA,CAKH,wBACC,UAAA,CAEA,0BACC,iBAAA,CACA,QAAA,CACA,cAAA,CAIF,yBACC,qBACC,gBAAA,CACA,yBAAA,CAEA,oCACC,gBAAA,CAGD,2BACC,gBAAA,CAGD,+BACC,gBAAA,CAAA,CAQF,gDACC,SAAA,CACA,uBAAA,CAKH,eACC,SAAA,CACA,cAAA,CACA,QAAA,CACA,UAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,kBAAA,CACA,wBArjBQ,CAsjBR,UAAA,CACA,QAAA,CACA,WAAA,CACA,cAAA,CACA,sBAAA,CACA,0BAAA,CAOA,oBACC,YAAA,CAGD,uBACC,cAAA,CAGD,yBACC,cAAA,CACA,eAAA,CAGD,8BACC,UAAA,CACA,eAAA,CACA,aAAA,CACA,qBAAA,CACA,UA9kBgB,CA+kBhB,2BAAA,CACA,0BAAA,CAEA,8BAAA,CACA,aAAA,CAEA,gCACC,eAAA,CAGD,sCACC,qBAAA,CACA,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,YAAA,CACA,8BAAA,CACA,0BAAA,CACA,0CACC,CAED,cAAA,CACA,kBAAA,CAEA,mDACC,cAAA,CACA,eAAA,CACA,cAAA,CAGD,6CACC,eAAA,CACA,eAAA,CACA,cAAA,CAEA,kDACC,eAAA,CAIF,sDACC,aAAA,CACA,WAAA,CACA,8BAAA,CACA,UA3nBc,CA4nBd,cAAA,CACA,eAAA,CAKH,4BACC,iBAAA,CAMA,eAAA,CACA,cAAA,CALA,8BACC,eAAA,CAOF,wBACC,WAAA,CACA,8BAAA,CACA,UAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,OAAA,CACA,UAAA,CAGD,wBACC,WAAA,CACA,8BAAA,CACA,UA3pBgB,CA4pBhB,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,iEAAA,CACA,oBAAA,CAIF,iBACC,cAAA,CACA,WAAA,CACA,OAAA,CACA,SAAA,CACA,UAAA,CACA,2BAAA,CACA,8BAAA,CACA,wBAAA,CACA,2BAAA,CACA,gCAAA,CACA,cAAA,CAMA,sBACC,0BAAA,CAGD,sBACC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,WAAA,CACA,eAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CACA,aAAA,CACA,cAAA,CAGA,2CACC,UAAA,CACA,cAAA,CAOF,6BACC,gBAAA,CACA,mBAAA,CAGD,qBACC,kBAAA,CAEA,2BACC,UAAA,CACA,eAnuBM,CAouBN,wBAAA,CAEA,8BACC,iBAAA,CACA,mCAAA,CAEA,iCACC,WAAA,CAEA,oCACC,iBAAA,CACA,eAAA,CCluBJ,yBDguBG,oCAKE,gBAAA,CAAA,CAKH,iCACC,WAAA,CC3uBH,yBD0uBE,iCAIE,cAAA,CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,WAAA,CACA,4BAAA,CACA,kBAAA,CACA,oBAAA,CACA,UAAA,CAEA,2CACC,UAAA,CAKD,mDACC,aA9wBE,CA+wBF,oBA/wBE,CAoxBH,wDACC,aAjxBG,CAkxBH,oBAlxBG,CAsxBL,gDACC,WAAA,CAEA,sDACC,aA3xBA,CCSL,yBDotBA,2BAqEE,wBAAA,CAEA,4JAKC,aAAA,CAKC,gDACC,YAAA,CAKH,iCACC,YAAA,CAGD,8BACC,kBAAA,CACA,qBAAA,CACA,YAAA,CACA,kBAAA,CACA,eAAA,CAGD,8BACC,iBAAA,CACA,gBAAA,CACA,gBAAA,CACA,WAAA,CACA,eAAA,CACA,6BAAA,CAEA,+CACC,4BAAA,CAIF,sCACC,wBAAA,CACA,iBAAA,CACA,SAAA,CACA,OAAA,CACA,gBAAA,CACA,UAAA,CACA,0BAAA,CAAA,CC30BH,+CDo0BE,sCAUE,cAAA,CAAA,CASH,kEACC,eAr2BK,CAs2BL,YAAA,CAEA,qEACC,gBAAA,CACA,kBAAA,CAGD,gFACC,YAAA,CAIA,8FACC,eAAA,CAEA,+GACC,SAAA,CACA,qBAAA,CAKD,4FACC,aA53BE,CA63BF,oBAAA,CAQJ,8DACC,iBAAA,CACA,eAx4BK,CAy4BL,YAAA,CACA,WAAA,CAEA,iEACC,gBAAA,CAGD,gEACC,gBAAA,CACA,eAAA,CAGD,uEACC,oBAAA,CACA,WAAA,CACA,8BAAA,CACA,UAl5Ba,CAm5Bb,iBAAA,CACA,kBAAA,CACA,eAAA,CACA,iEAAA,CACA,oBAAA,CAQL,mBACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CAID,YACC,oBAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CAEA,gBACC,+DAAA,CACA,0BAAA,CAEA,sBACC,WAAA,CACA,aAAA,CACA,iBAAA,CACA,SAAA,CACA,UAAA,CACA,iBAAA,CACA,kBA97BM,CA+7BN,oBAAA,CAGD,6BACC,uBAAA,CAEA,mCACC,QAAA,CACA,SAAA,CAIF,6BACC,uBAAA,CAEA,mCACC,QAAA,CACA,SAAA,CAIF,6BACC,uBAAA,CAEA,mCACC,QAAA,CACA,SAAA,CAIF,6BACC,uBAAA,CAEA,mCACC,QAAA,CACA,SAAA,CAIF,6BACC,sBAAA,CAEA,mCACC,QAAA,CACA,SAAA,CAIF,6BACC,uBAAA,CAEA,mCACC,QAAA,CACA,SAAA,CAIF,6BACC,uBAAA,CAEA,mCACC,QAAA,CACA,SAAA,CAIF,6BACC,uBAAA,CAEA,mCACC,QAAA,CACA,SAAA,CAMJ,sBACC,GACC,sBAAA,CAGD,KACC,wBAAA,CAAA,CAKF,SAEC,UAAA,CACA,eAAA,CACA,gBAAA,CACA,iBAAA,CC1hCC,yBDqhCF,SAQE,eAAA,CAAA,CAMD,0BACC,iBAAA,CACA,oBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,+BACC,YAAA,CACA,qBAAA,CACA,QAAA,CAMH,gBACC,iBAAA,CACA,oBAAA,CAEA,mBACC,kBAAA,CAGD,sBACC,kBAAA,CACA,eAhkCO,CAikCP,kBAAA,CAGC,+BACC,sCAAA,CAEA,kCACC,iBAAA,CACA,cAAA,CACA,eAAA,CACA,kBAAA,CAOD,kCACC,cAAA,CAGC,6CACC,gBAAA,CAGD,6CACC,UAplCW,CAqlCX,cAAA,CACA,2BAAA,CAEA,mDACC,aA/lCC,CAumCP,yBACC,sCAAA,CAEA,4BACC,iBAAA,CACA,kBAAA,CAOD,mDACC,kBAAA,CAQD,uDACC,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,QAAA,CAEA,8DACC,cAAA,CACA,qBAroCI,CA2oCN,uDACC,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,QAAA,CAEA,6DACC,aAAA,CACA,eAnpCI,CAypCN,+DACC,YAAA,CACA,kBAAA,CACA,mBAAA,CAAA,cAAA,CAEA,eAAA,CAEA,gFACC,SAAA,CACA,WAAA,CAGC,yFACC,UAtqCE,CAuqCF,kBAtqCE,CA0qCJ,sFACC,WAAA,CACA,eAAA,CAGD,oGACC,aAvqCE,CA0qCH,2FACC,UAAA,CAGD,kFACC,WAAA,CASN,YACC,eAAA,CAGC,uCACC,kBAAA,CAGC,+CACC,UApsCa,CAysChB,gCACC,kBAAA,CAEA,sCACC,UAAA,CACA,eArtCK,CAutCL,yCACC,iBAAA,CACA,mCAAA,CAEA,4CACC,WAAA,CAEA,+CACC,iBAAA,CACA,eAAA,CAIF,4CACC,WAAA,CAEA,oDACC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,WAAA,CACA,4BAAA,CAIA,8DACC,aAhvCC,CAivCD,oBAjvCC,CAsvCF,mEACC,aAnvCE,CAovCF,oBApvCE,CAwvCJ,2DACC,WAAA,CAEA,iEACC,aA7vCD,CAowCJ,mDACC,aAAA,CACA,kBAAA,CAMA,+EACC,eAjxCI,CAkxCJ,YAAA,CAEA,kFACC,gBAAA,CACA,kBAAA,CAIA,2GACC,eAAA,CAOH,uEACC,iBAAA,CACA,eAAA,CACA,YAAA,CACA,WAAA,CAEA,0EACC,gBAAA,CACA,kBAAA,CAGD,yEACC,gBAAA,CACA,eAAA,CASN,eACC,eAAA,CACA,kBAAA,CAGC,0CACC,cAAA,CACA,QAAA,CACA,UAAA,CACA,iBAAA,CACA,kBAAA,CAGD,0CACC,cAAA,CACA,kBAAA,CACA,wBAAA,CACA,6BAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CACA,iBAAA,CAGD,uDACC,kBAAA,CAEA,0DACC,iBAAA,CAOH,aACC,iBAAA,CACA,cAAA,CACA,gBAAA,CAEA,kBACC,aAAA,CACA,eAAA,CAKH,UACC,YAAA,CACA,sBAAA,CACA,QAAA,CACA,cAAA,CAEA,kBACC,UAAA,CACA,eAAA,CACA,cAAA,CACA,iBAAA,CAIF,mBACC,YAAA,CACA,yBAAA,CACA,wBAAA,CACA,gBAAA,CACA,gBAAA,CAEA,qBACC,eAAA,CACA,iBAAA","file":"style.css"}
\ No newline at end of file
+{"version":3,"sources":["..\\style-scss\\style.scss","..\\style-scss\\_mixins.scss"],"names":[],"mappings":"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","file":"style.css","sourcesContent":["// out: ../style-css/style.css, compress: true, sourceMap: true\r\n//* Fonts\r\n@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');\r\n@import 'mixins';\r\n\r\n//* Colors\r\n$cWhite: #ffffff;\r\n$cGreen: #72b81b;\r\n$cYellow: #ffc937;\r\n$cBlue: #138fcb;\r\n$cRed: #e31e4b;\r\n$cOrange: #eb5024;\r\n$cViolet: #8900be;\r\n$base-font-color: #333;\r\n$backgroundColor: #f3f0cf;\r\n$cFooter: #34327c;\r\n$cGray: #95a5a6;\r\n\r\n* {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\nbody {\r\n color: $base-font-color;\r\n font-family: 'Lato', sans-serif;\r\n background-color: $backgroundColor;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n min-height: 100vh;\r\n}\r\n\r\n//* mixins\r\n@mixin btn($cTxt, $hTxt, $cBG, $hBG) {\r\n border: none;\r\n background-color: transparent;\r\n color: $cTxt;\r\n padding: 10px 30px;\r\n border-radius: 10px;\r\n font-weight: 800;\r\n background-color: lighten($color: $cBG, $amount: 20%);\r\n text-decoration: none;\r\n\r\n &:disabled {\r\n background-color: rgba($cGray, 0.5);\r\n cursor: not-allowed;\r\n }\r\n}\r\n\r\n//* Buttons\r\n.btn-t1 {\r\n @include btn($base-font-color, '', $cGreen, '');\r\n}\r\n\r\n.btn-t2 {\r\n @include btn($cWhite, '', #000, '');\r\n}\r\n\r\n.btn {\r\n padding: 9px 30px;\r\n}\r\n\r\n.flex-buttons-group {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 5px;\r\n}\r\n\r\n//* text colors\r\n.c_green {\r\n color: $cGreen;\r\n}\r\n\r\n.c_red {\r\n color: $cRed;\r\n}\r\n\r\n.top {\r\n position: relative;\r\n background: $cGreen;\r\n color: #fff;\r\n height: 70px;\r\n\r\n .a_menu {\r\n .logo {\r\n position: absolute;\r\n margin: 10px 0 !important;\r\n }\r\n\r\n #nav-menu {\r\n &.active {\r\n display: block;\r\n right: 0;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n height: 100vh;\r\n background: $cWhite;\r\n z-index: 999;\r\n }\r\n }\r\n\r\n #menu-hamburger {\r\n position: relative;\r\n height: 70px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\r\n z-index: 9999;\r\n\r\n i {\r\n font-size: 28px;\r\n }\r\n\r\n &.active {\r\n #btn-hamburger {\r\n position: relative;\r\n height: 30px;\r\n width: 30px;\r\n\r\n span {\r\n position: absolute;\r\n width: 100%;\r\n height: 2px;\r\n background: $base-font-color;\r\n border-radius: 5px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n\r\n &:nth-child(1) {\r\n top: 50%;\r\n transform: rotate(45deg) translateY(-50%);\r\n }\r\n\r\n &:nth-child(2) {\r\n transform: translateX(-100%) translateY(-50%);\r\n }\r\n\r\n &:nth-child(3) {\r\n top: 50%;\r\n transform: rotate(-45deg) translateY(-50%);\r\n }\r\n }\r\n }\r\n }\r\n\r\n #btn-hamburger {\r\n position: relative;\r\n height: 30px;\r\n width: 30px;\r\n overflow: hidden;\r\n\r\n span {\r\n position: absolute;\r\n width: 100%;\r\n height: 2px;\r\n background: $cWhite;\r\n border-radius: 5px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n transition: all 250ms ease;\r\n\r\n &:nth-child(1) {\r\n top: 20%;\r\n }\r\n\r\n &:nth-child(2) {}\r\n\r\n &:nth-child(3) {\r\n top: 80%;\r\n }\r\n }\r\n }\r\n }\r\n\r\n @media (min-width: 768px) {\r\n #menu-hamburger {\r\n display: none;\r\n }\r\n }\r\n\r\n @media (max-width: 767px) {\r\n #nav-menu {\r\n position: fixed;\r\n display: none;\r\n\r\n ul {\r\n width: 100%;\r\n max-width: 300px;\r\n padding: 0 15px;\r\n margin: 0 auto;\r\n flex-direction: column;\r\n justify-content: center;\r\n\r\n li {\r\n a {\r\n color: $base-font-color;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .logo {\r\n background: $cGreen;\r\n display: block;\r\n margin: 0 auto 10px;\r\n width: 150px;\r\n border-radius: 0 0 50% 50%;\r\n padding: 10px 25px 25px;\r\n\r\n img {\r\n width: 100%;\r\n }\r\n\r\n @media (max-width: 600px) {\r\n margin: 10px 0;\r\n }\r\n }\r\n\r\n nav {\r\n height: 70px;\r\n\r\n ul {\r\n height: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: flex-end;\r\n gap: 25px;\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n\r\n li {\r\n a {\r\n color: $cWhite;\r\n font-size: 18px;\r\n font-weight: 600;\r\n text-decoration: none;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.main {\r\n display: flex;\r\n flex-direction: column;\r\n flex-grow: 1;\r\n\r\n .tickets_calendar {\r\n margin-top: 100px;\r\n width: 100%;\r\n margin-bottom: 50px;\r\n }\r\n\r\n .tickets {\r\n // margin-top: 100px;\r\n // margin-top: 50px;\r\n margin-bottom: 50px;\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n gap: 80px;\r\n\r\n //rodzaj biletow\r\n .ticket-container {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n gap: 40px;\r\n align-items: center;\r\n\r\n .title-container {\r\n text-align: center;\r\n position: relative;\r\n\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n bottom: 0;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n width: 100px;\r\n border-bottom: 2px dotted black;\r\n }\r\n\r\n .title {\r\n font-weight: 800;\r\n font-size: 46px;\r\n\r\n @include respond-below(md) {\r\n font-size: 36px;\r\n font-size: 22px;\r\n }\r\n }\r\n\r\n .description {\r\n font-size: 28px;\r\n }\r\n }\r\n }\r\n\r\n //bilet\r\n .ticket {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n .ticket-description {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n width: 500px;\r\n text-align: center;\r\n color: white;\r\n border-radius: 10px;\r\n padding: 20px 0;\r\n\r\n &--yellow {\r\n background-color: $cYellow;\r\n }\r\n\r\n &--red {\r\n background-color: $cRed;\r\n }\r\n\r\n &--blue {\r\n background-color: $cBlue;\r\n }\r\n\r\n &--orange {\r\n background-color: $cOrange;\r\n }\r\n\r\n &--green {\r\n background-color: $cGreen;\r\n }\r\n\r\n &--violet {\r\n background-color: $cViolet;\r\n }\r\n\r\n .ticket__name {\r\n font-size: 46px;\r\n font-weight: 800;\r\n\r\n @include respond-below(md) {\r\n font-size: 32px;\r\n }\r\n\r\n @include respond-below(sm) {\r\n font-size: 28px;\r\n }\r\n }\r\n\r\n .description {\r\n font-size: 13px;\r\n font-style: italic;\r\n line-height: 0.75;\r\n margin-bottom: 0;\r\n }\r\n\r\n .ticket-alert {\r\n font-size: 20px;\r\n margin: 20px 0 0 0;\r\n font-weight: 800;\r\n text-transform: uppercase;\r\n text-decoration: underline;\r\n\r\n @include respond-below(md) {\r\n font-size: 16px;\r\n }\r\n }\r\n\r\n @include respond-below(md) {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n width: 400px;\r\n }\r\n\r\n @include respond-below(xs) {\r\n width: 100%;\r\n }\r\n }\r\n\r\n //price\r\n .price {\r\n font-size: 46px;\r\n margin-left: 40px;\r\n font-weight: 800;\r\n min-width: 138px;\r\n\r\n @include respond-below(md) {\r\n font-size: 36px;\r\n min-width: 130px;\r\n }\r\n\r\n @include respond-below(sm) {\r\n margin-left: 0;\r\n min-width: unset;\r\n margin-bottom: 0;\r\n }\r\n }\r\n\r\n //przyciski\r\n .ticket-quantity {\r\n margin-left: auto;\r\n\r\n @include respond-below(sm) {\r\n margin-left: 0;\r\n }\r\n\r\n .button {\r\n padding: 10px 20px;\r\n border-radius: 8px;\r\n border: none;\r\n background-color: $cGreen;\r\n color: #fff;\r\n font-size: 14px;\r\n font-weight: 700;\r\n cursor: pointer;\r\n transition: all 0.3s ease;\r\n white-space: nowrap;\r\n\r\n &:hover {\r\n background-color: darken($cGreen, 8%);\r\n }\r\n\r\n &.added {\r\n background-color: darken($cGreen, 12%);\r\n transform: scale(1.05);\r\n }\r\n }\r\n }\r\n\r\n @include respond-below(sm) {\r\n flex-direction: column;\r\n row-gap: 15px;\r\n }\r\n\r\n @include respond-below(xs) {\r\n width: 100%;\r\n }\r\n }\r\n }\r\n\r\n //bottom\r\n .bottom-info__description {\r\n text-align: center;\r\n font-size: 16px;\r\n line-height: 29px;\r\n padding: 20px 0;\r\n position: relative;\r\n\r\n &::after,\r\n &::before {\r\n position: absolute;\r\n content: '';\r\n border-bottom: 2px dotted $base-font-color;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n width: 10%;\r\n }\r\n\r\n &::after {\r\n top: 0;\r\n }\r\n\r\n &::before {\r\n bottom: 0;\r\n }\r\n\r\n p:nth-child(2) {\r\n margin-bottom: 0;\r\n }\r\n }\r\n\r\n .bottom-info__background {\r\n margin-top: 40px;\r\n background-image: url('https://brzezovka.pl/css/../img/bgcity.png');\r\n background-position: bottom center;\r\n background-repeat: repeat-x;\r\n width: 100%;\r\n height: 300px;\r\n }\r\n}\r\n\r\n.footer {\r\n background-color: $cFooter;\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n color: white;\r\n\r\n a {\r\n text-decoration: none;\r\n color: $cOrange;\r\n }\r\n\r\n .footer__top {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n grid-template-rows: 1fr;\r\n justify-items: center;\r\n align-items: center;\r\n\r\n .location {\r\n padding: 20px 0;\r\n text-align: center;\r\n\r\n .title {\r\n font-size: 22px;\r\n font-weight: 800;\r\n }\r\n }\r\n\r\n .logo {\r\n height: 100px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n }\r\n\r\n .footer__bottom {\r\n width: 100%;\r\n\r\n p {\r\n text-align: center;\r\n margin: 0;\r\n padding: 30px 0;\r\n }\r\n }\r\n\r\n @media (max-width: 767px) {\r\n .footer__top {\r\n padding-top: 30px;\r\n grid-template-columns: 1fr;\r\n\r\n .opening-hours {\r\n grid-row-start: 2;\r\n }\r\n\r\n .logo {\r\n grid-row-start: 1;\r\n }\r\n\r\n .location {\r\n grid-row-start: 3;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.shopping-cart-container {\r\n &--active {\r\n .shopping-cart {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n }\r\n}\r\n\r\n//shoping cart\r\n.shopping-cart {\r\n opacity: 0;\r\n position: fixed;\r\n top: 80px;\r\n right: 10px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 10px;\r\n background-color: $cGreen;\r\n color: white;\r\n gap: 20px;\r\n width: 230px;\r\n padding: 20px 0;\r\n transition: opacity 0.2s;\r\n transform: translateX(100%);\r\n\r\n // border: 1px solid $base-font-color;\r\n // &--active {\r\n // \topacity: 1;\r\n // \ttransform: translateX(0);\r\n // }\r\n &.hide {\r\n display: none;\r\n }\r\n\r\n .basket {\r\n font-size: 30px;\r\n }\r\n\r\n .quantity {\r\n font-size: 18px;\r\n font-weight: 800;\r\n }\r\n\r\n .tickets__list {\r\n width: 100%;\r\n list-style: none;\r\n padding: 0 5px;\r\n background-color: white;\r\n color: $base-font-color;\r\n border-right: 1px solid $base-font-color;\r\n border-left: 1px solid $base-font-color;\r\n // border: 1px solid $base-font-color;\r\n max-height: calc(90svh - 400px);\r\n overflow: auto;\r\n\r\n p {\r\n margin-bottom: 0;\r\n }\r\n\r\n .ticket {\r\n border: 1px solid $base-font-color;\r\n border-radius: 5px;\r\n margin: 5px 0;\r\n padding: 5px 0 5px 5px;\r\n display: grid;\r\n grid-template-columns: 1fr 20px;\r\n grid-template-rows: 1fr 1fr;\r\n grid-template-areas:\r\n 'name btn'\r\n 'price btn';\r\n font-size: 12px;\r\n align-items: center;\r\n\r\n &__description {\r\n grid-area: name;\r\n font-weight: 800;\r\n font-size: 13px;\r\n }\r\n\r\n &__price {\r\n grid-area: price;\r\n font-weight: 800;\r\n font-size: 13px;\r\n\r\n span {\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n .ticket__button {\r\n grid-area: btn;\r\n border: none;\r\n background-color: transparent;\r\n color: $base-font-color;\r\n font-size: 14px;\r\n font-weight: 800;\r\n }\r\n }\r\n }\r\n\r\n .sum-section {\r\n text-align: center;\r\n\r\n p {\r\n margin-bottom: 0;\r\n }\r\n\r\n font-weight: 800;\r\n font-size: 18px;\r\n }\r\n\r\n .off-btn {\r\n border: none;\r\n background-color: transparent;\r\n color: white;\r\n font-size: 18px;\r\n font-weight: 800;\r\n position: absolute;\r\n top: 5px;\r\n right: 15px;\r\n }\r\n\r\n .buy-btn {\r\n border: none;\r\n background-color: transparent;\r\n color: $base-font-color;\r\n padding: 10px 30px;\r\n border-radius: 10px;\r\n font-weight: 800;\r\n background-color: lighten($color: $cGreen, $amount: 20%);\r\n text-decoration: none;\r\n }\r\n}\r\n\r\n.mobile-cart-btn {\r\n &.cart-bounce {\r\n animation: cartBounce 0.5s ease;\r\n }\r\n\r\n position: fixed;\r\n bottom: 50px;\r\n right: 0;\r\n opacity: 1;\r\n z-index: 10;\r\n border-top-left-radius: 10px;\r\n border-bottom-left-radius: 10px;\r\n background-color: #72b81b;\r\n padding: 20px 15px 15px 15px;\r\n transition: all 250ms ease-in-out;\r\n cursor: pointer;\r\n\r\n // @media (min-width: 1300px) {\r\n // \tdisplay: none;\r\n // }\r\n\r\n &.hide {\r\n transform: translateX(100%);\r\n }\r\n\r\n span {\r\n position: absolute;\r\n top: 8px;\r\n right: 5px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 5px;\r\n background: #fff;\r\n border-radius: 100%;\r\n width: 20px;\r\n height: 20px;\r\n line-height: 1;\r\n font-size: 12px;\r\n }\r\n\r\n .mobile-cart-btn--img {\r\n img {\r\n width: 100%;\r\n max-width: 40px;\r\n }\r\n }\r\n}\r\n\r\n//* Basket - \"page\"\r\n#basket_page {\r\n .basket_content {\r\n margin-top: 100px;\r\n margin-bottom: 100px;\r\n }\r\n\r\n .box_01 {\r\n margin-bottom: 24px;\r\n\r\n table {\r\n width: 100%;\r\n background: $cWhite;\r\n border-collapse: collapse;\r\n\r\n tr {\r\n text-align: center;\r\n border-top: 1px solid rgba(0, 0, 0, 0.1);\r\n\r\n th {\r\n padding: 8px;\r\n\r\n h3 {\r\n font-size: 1.25rem;\r\n font-weight: 800;\r\n\r\n @include respond-below(md) {\r\n font-size: 0.85rem;\r\n }\r\n }\r\n }\r\n\r\n td {\r\n padding: 8px;\r\n\r\n @include respond-below(md) {\r\n font-size: 14px;\r\n }\r\n\r\n .ticket-date {\r\n color: #888;\r\n font-size: 12px;\r\n }\r\n\r\n .btn_t1 {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 50%;\r\n border: none;\r\n transition: 150ms ease-in-out;\r\n background: rgb(240, 240, 240);\r\n display: inline-block;\r\n color: #000;\r\n\r\n i {\r\n color: #000;\r\n }\r\n }\r\n\r\n .btn_t1.add {\r\n &:hover {\r\n color: $cGreen;\r\n border-color: $cGreen;\r\n }\r\n }\r\n\r\n .btn_t1.subtract {\r\n &:hover {\r\n color: $cOrange;\r\n border-color: $cOrange;\r\n }\r\n }\r\n\r\n .btn_t1.delete {\r\n border: none;\r\n\r\n &:hover {\r\n color: $cRed;\r\n }\r\n }\r\n }\r\n }\r\n\r\n @include respond-below(sm) {\r\n background: transparent;\r\n\r\n thead,\r\n tbody,\r\n th,\r\n td,\r\n tr {\r\n display: block;\r\n }\r\n\r\n tbody {\r\n >tr {\r\n &:first-child {\r\n display: none;\r\n }\r\n }\r\n }\r\n\r\n thead {\r\n display: none;\r\n /* Приховуємо заголовки */\r\n }\r\n\r\n tr {\r\n margin-bottom: 15px;\r\n border: 1px solid #ddd;\r\n padding: 10px;\r\n border-radius: 10px;\r\n background: #fff;\r\n }\r\n\r\n td {\r\n position: relative;\r\n padding-left: 50%;\r\n text-align: right;\r\n border: none;\r\n min-height: 38px;\r\n padding-left: 140px !important;\r\n\r\n &:not(:last-child) {\r\n border-bottom: 1px solid #eee;\r\n }\r\n }\r\n\r\n td::before {\r\n content: attr(data-label);\r\n position: absolute;\r\n left: 10px;\r\n top: 50%;\r\n font-weight: bold;\r\n color: #555;\r\n transform: translateY(-50%);\r\n\r\n @include respond-below(xs) {\r\n font-size: 12px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .box_02 {\r\n .basket_user_data {\r\n .basket_user_data__wrapper {\r\n background: $cWhite;\r\n padding: 30px;\r\n\r\n h2 {\r\n font-size: 1.5rem;\r\n margin-bottom: 20px;\r\n }\r\n\r\n .form-vat-box {\r\n display: none;\r\n }\r\n\r\n .form-group {\r\n .col-form-label {\r\n font-weight: 600;\r\n\r\n .form-vat-option {\r\n opacity: 0;\r\n transition: 400ms ease;\r\n }\r\n }\r\n\r\n .form-check {\r\n a {\r\n color: $cGreen;\r\n text-decoration: none;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .basket_summary {\r\n .basket_summary__wrapper {\r\n text-align: center;\r\n background: $cWhite;\r\n padding: 30px;\r\n height: 100%;\r\n\r\n h2 {\r\n font-size: 1.5rem;\r\n }\r\n\r\n p {\r\n font-size: 1.5rem;\r\n font-weight: 800;\r\n }\r\n\r\n .buy-btn {\r\n display: inline-block;\r\n border: none;\r\n background-color: transparent;\r\n color: $base-font-color;\r\n padding: 10px 30px;\r\n border-radius: 10px;\r\n font-weight: 800;\r\n background-color: lighten($color: $cGreen, $amount: 40%);\r\n text-decoration: none;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n//* Spinner position\r\n.spinner_container {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 150px 0;\r\n}\r\n\r\n//* Spinner\r\n.lds-roller {\r\n display: inline-block;\r\n position: relative;\r\n width: 80px;\r\n height: 80px;\r\n\r\n div {\r\n animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\r\n transform-origin: 40px 40px;\r\n\r\n &:after {\r\n content: ' ';\r\n display: block;\r\n position: absolute;\r\n width: 7px;\r\n height: 7px;\r\n border-radius: 50%;\r\n background: $cGreen;\r\n margin: -4px 0 0 -4px;\r\n }\r\n\r\n &:nth-child(1) {\r\n animation-delay: -0.036s;\r\n\r\n &:after {\r\n top: 63px;\r\n left: 63px;\r\n }\r\n }\r\n\r\n &:nth-child(2) {\r\n animation-delay: -0.072s;\r\n\r\n &:after {\r\n top: 68px;\r\n left: 56px;\r\n }\r\n }\r\n\r\n &:nth-child(3) {\r\n animation-delay: -0.108s;\r\n\r\n &:after {\r\n top: 71px;\r\n left: 48px;\r\n }\r\n }\r\n\r\n &:nth-child(4) {\r\n animation-delay: -0.144s;\r\n\r\n &:after {\r\n top: 72px;\r\n left: 40px;\r\n }\r\n }\r\n\r\n &:nth-child(5) {\r\n animation-delay: -0.18s;\r\n\r\n &:after {\r\n top: 71px;\r\n left: 32px;\r\n }\r\n }\r\n\r\n &:nth-child(6) {\r\n animation-delay: -0.216s;\r\n\r\n &:after {\r\n top: 68px;\r\n left: 24px;\r\n }\r\n }\r\n\r\n &:nth-child(7) {\r\n animation-delay: -0.252s;\r\n\r\n &:after {\r\n top: 63px;\r\n left: 17px;\r\n }\r\n }\r\n\r\n &:nth-child(8) {\r\n animation-delay: -0.288s;\r\n\r\n &:after {\r\n top: 56px;\r\n left: 12px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n@keyframes lds-roller {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n\r\n//* Scanner page\r\n#scanner {\r\n // width: 100vw;\r\n width: 100%;\r\n max-width: 500px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n\r\n @include respond-above(sm) {\r\n margin-top: 50px;\r\n }\r\n}\r\n\r\n//* aPanel\r\n.alogin-page {\r\n .panel-login {\r\n padding-top: 100px;\r\n padding-bottom: 100px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n form {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n }\r\n }\r\n}\r\n\r\n//* Tickets orders\r\n#tickets-orders {\r\n padding-top: 100px;\r\n padding-bottom: 100px;\r\n\r\n h1 {\r\n margin-bottom: 20px;\r\n }\r\n\r\n table {\r\n margin-bottom: 10px;\r\n background: $cWhite;\r\n border-bottom: none;\r\n\r\n thead {\r\n tr {\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\r\n\r\n th {\r\n padding: 15px 10px;\r\n font-size: 16px;\r\n font-weight: 600;\r\n border-bottom: none;\r\n }\r\n }\r\n }\r\n\r\n tbody {\r\n tr {\r\n td {\r\n font-size: 14px;\r\n\r\n &.edit-btn {\r\n a {\r\n margin-left: 20px;\r\n }\r\n\r\n i {\r\n color: $base-font-color;\r\n font-size: 20px;\r\n transition: color 200ms ease;\r\n\r\n &:hover {\r\n color: $cGreen;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n tr {\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\r\n\r\n td {\r\n padding: 15px 10px;\r\n border-bottom: none;\r\n }\r\n }\r\n }\r\n\r\n #myTable_wrapper {\r\n .row {\r\n &:nth-child(1) {\r\n margin-bottom: 10px;\r\n }\r\n\r\n &:nth-child(3) {}\r\n }\r\n\r\n #myTable_length {\r\n label {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 15px;\r\n\r\n select {\r\n min-width: 70px;\r\n background-color: $cWhite;\r\n }\r\n }\r\n }\r\n\r\n #myTable_filter {\r\n label {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 15px;\r\n\r\n input {\r\n margin-left: 0;\r\n background: $cWhite;\r\n }\r\n }\r\n }\r\n\r\n #myTable_paginate {\r\n .pagination {\r\n display: flex;\r\n align-items: center;\r\n column-gap: 5px;\r\n\r\n margin-bottom: 0;\r\n\r\n .paginate_button {\r\n padding: 0;\r\n border: none;\r\n\r\n &.active {\r\n a {\r\n color: $cWhite;\r\n background: $cGreen;\r\n }\r\n }\r\n\r\n &:hover {\r\n border: none;\r\n background: none;\r\n }\r\n\r\n &.disabled>.page-link {\r\n color: $cGray;\r\n }\r\n\r\n .page-link {\r\n color: #000;\r\n }\r\n\r\n a {\r\n border: none;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n//* Order data\r\n#order-data {\r\n padding: 100px 0;\r\n\r\n .order-data {\r\n .mini-nav-menu {\r\n margin-bottom: 30px;\r\n\r\n a {\r\n &:hover {\r\n color: $base-font-color;\r\n }\r\n }\r\n }\r\n\r\n .box_01 {\r\n margin-bottom: 24px;\r\n\r\n table {\r\n width: 100%;\r\n background: $cWhite;\r\n\r\n tr {\r\n text-align: center;\r\n border-top: 1px solid rgba(0, 0, 0, 0.1);\r\n\r\n th {\r\n padding: 8px;\r\n\r\n h3 {\r\n font-size: 1.25rem;\r\n font-weight: 800;\r\n }\r\n }\r\n\r\n td {\r\n padding: 8px;\r\n\r\n .btn_t1 {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 50%;\r\n border: none;\r\n transition: 150ms ease-in-out;\r\n }\r\n\r\n .btn_t1.add {\r\n &:hover {\r\n color: $cGreen;\r\n border-color: $cGreen;\r\n }\r\n }\r\n\r\n .btn_t1.subtract {\r\n &:hover {\r\n color: $cOrange;\r\n border-color: $cOrange;\r\n }\r\n }\r\n\r\n .btn_t1.delete {\r\n border: none;\r\n\r\n &:hover {\r\n color: $cRed;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .btn-save-new-list {\r\n display: block;\r\n margin: 30px auto 0;\r\n }\r\n }\r\n\r\n .box_02 {\r\n .order-detale-info {\r\n .order-detale-info__wrapper {\r\n background: $cWhite;\r\n padding: 30px;\r\n\r\n h2 {\r\n font-size: 1.5rem;\r\n margin-bottom: 20px;\r\n }\r\n\r\n .form-group {\r\n .col-form-label {\r\n font-weight: 600;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .order-summary {\r\n .order-summary__wrapper {\r\n text-align: center;\r\n background: #fff;\r\n padding: 30px;\r\n height: 100%;\r\n\r\n h2 {\r\n font-size: 1.5rem;\r\n margin-bottom: 20px;\r\n }\r\n\r\n p {\r\n font-size: 1.5rem;\r\n font-weight: 800;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n//* Regulamin\r\n#regulamin_box {\r\n margin-top: 80px;\r\n margin-bottom: 50px;\r\n\r\n .regulamin_box__wrapper {\r\n h5 {\r\n font-size: 26px;\r\n margin: 0;\r\n color: #333;\r\n text-align: center;\r\n margin-bottom: 20px;\r\n }\r\n\r\n h6 {\r\n font-size: 22px;\r\n margin-bottom: 10px;\r\n text-transform: uppercase;\r\n font-family: 'Lato', sans-serif;\r\n font-weight: 800;\r\n letter-spacing: 0.8px;\r\n color: #333;\r\n text-align: center;\r\n }\r\n\r\n .regulamin__box {\r\n margin-bottom: 50px;\r\n\r\n h5 {\r\n text-align: center;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.sale-box {\r\n h2 {\r\n text-align: center;\r\n font-size: 48px;\r\n line-height: 43px;\r\n\r\n span {\r\n color: #74aa32;\r\n font-weight: 700;\r\n }\r\n }\r\n}\r\n\r\n#dateForm {\r\n display: flex;\r\n justify-content: center;\r\n gap: 15px;\r\n flex-wrap: wrap;\r\n\r\n ._title {\r\n width: 100%;\r\n font-weight: 600;\r\n font-size: 30px;\r\n text-align: center;\r\n }\r\n}\r\n\r\n.basket_protection {\r\n display: grid;\r\n grid-template-columns: 1fr;\r\n justify-content: flex-end;\r\n margin: 10px auto;\r\n text-align: right;\r\n\r\n p {\r\n margin-bottom: 0;\r\n font-style: italic;\r\n }\r\n}\r\n\r\n@keyframes cartBounce {\r\n\r\n 0%,\r\n 100% {\r\n transform: translateX(0);\r\n }\r\n\r\n 25% {\r\n transform: translateX(-8px) scale(1.1);\r\n }\r\n\r\n 50% {\r\n transform: translateX(4px) scale(1.05);\r\n }\r\n\r\n 75% {\r\n transform: translateX(-2px);\r\n }\r\n}","$breakpoints: (\n\txs: 576px,\n\tsm: 768px,\n\tmd: 992px,\n\tlg: 1200px,\n);\n@mixin respond-above($breakpoint) {\n\t@if map-has-key($breakpoints, $breakpoint) {\n\t\t$breakpoint-value: map-get($breakpoints, $breakpoint);\n\t\t@media (min-width: $breakpoint-value) {\n\t\t\t@content;\n\t\t}\n\t} @else {\n\t\t@warn 'Invalid breakpoint: #{$breakpoint}.';\n\t}\n}\n@mixin respond-below($breakpoint) {\n\t@if map-has-key($breakpoints, $breakpoint) {\n\t\t$breakpoint-value: map-get($breakpoints, $breakpoint);\n\t\t@media (max-width: ($breakpoint-value - 1)) {\n\t\t\t@content;\n\t\t}\n\t} @else {\n\t\t@warn 'Invalid breakpoint: #{$breakpoint}.';\n\t}\n}\n@mixin respond-between($lower, $upper) {\n\t@if map-has-key($breakpoints, $lower) and map-has-key($breakpoints, $upper) {\n\t\t$lower-breakpoint: map-get($breakpoints, $lower);\n\t\t$upper-breakpoint: map-get($breakpoints, $upper);\n\t\t@media (min-width: $lower-breakpoint) and (max-width: ($upper-breakpoint - 1)) {\n\t\t\t@content;\n\t\t}\n\t} @else {\n\t\t@if (map-has-key($breakpoints, $lower) == false) {\n\t\t\t@warn 'Your lower breakpoint was invalid: #{$lower}.';\n\t\t}\n\t\t@if (map-has-key($breakpoints, $upper) == false) {\n\t\t\t@warn 'Your upper breakpoint was invalid: #{$upper}.';\n\t\t}\n\t}\n}\n@mixin border-radius($px: 0) {\n\t-webkit-border-radius: $px;\n\t-moz-border-radius: $px;\n\tborder-radius: $px;\n}\n@mixin box-shadow($value) {\n\t-webkit-box-shadow: $value;\n\t-moz-box-shadow: $value;\n\tbox-shadow: $value;\n}\n@mixin transition($element: all, $time: 0.5s, $option: ease) {\n\t-webkit-transition: $element $time $option !important;\n\ttransition: $element $time $option !important;\n}\n@mixin opacity($value) {\n\t$IEValue: $value * 100;\n\topacity: $value;\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.Alpha(Opacity=\" + $IEValue +\n\t\t\")\";\n\tfilter: alpha(opacity=$IEValue);\n}\n@mixin flexbox() {\n\tdisplay: -webkit-box;\n\tdisplay: -moz-box;\n\tdisplay: -ms-flexbox;\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n@mixin flex($values) {\n\t-webkit-box-flex: $values;\n\t-moz-box-flex: $values;\n\t-webkit-flex: $values;\n\t-ms-flex: $values;\n\tflex: $values;\n}\n@mixin flex-direction($direction) {\n\t-webkit-flex-direction: $direction;\n\t-moz-flex-direction: $direction;\n\t-ms-flex-direction: $direction;\n\tflex-direction: $direction;\n}\n@mixin flex-wrap($wrap) {\n\t-webkit-flex-wrap: $wrap;\n\t-moz-flex-wrap: $wrap;\n\t-ms-flex-wrap: $wrap;\n\tflex-wrap: $wrap;\n}\n@mixin flex-flow($flow) {\n\t-webkit-flex-flow: $flow;\n\t-moz-flex-flow: $flow;\n\t-ms-flex-flow: $flow;\n\tflex-flow: $flow;\n}\n@mixin order($val) {\n\t-webkit-box-ordinal-group: $val;\n\t-moz-box-ordinal-group: $val;\n\t-ms-flex-order: $val;\n\t-webkit-order: $val;\n\torder: $val;\n}\n@mixin flex-grow($grow) {\n\t-webkit-flex-grow: $grow;\n\t-moz-flex-grow: $grow;\n\t-ms-flex-grow: $grow;\n\tflex-grow: $grow;\n}\n@mixin flex-shrink($shrink) {\n\t-webkit-flex-shrink: $shrink;\n\t-moz-flex-shrink: $shrink;\n\t-ms-flex-shrink: $shrink;\n\tflex-shrink: $shrink;\n}\n@mixin flex-basis($width) {\n\t-webkit-flex-basis: $width;\n\t-moz-flex-basis: $width;\n\t-ms-flex-basis: $width;\n\tflex-basis: $width;\n}\n@mixin justify-content($justify) {\n\t-webkit-justify-content: $justify;\n\t-moz-justify-content: $justify;\n\t-ms-justify-content: $justify;\n\tjustify-content: $justify;\n\t-ms-flex-pack: $justify;\n}\n@mixin align-content($align) {\n\t-webkit-align-content: $align;\n\t-moz-align-content: $align;\n\t-ms-align-content: $align;\n\talign-content: $align;\n}\n@mixin align-items($align) {\n\t-webkit-align-items: $align;\n\t-moz-align-items: $align;\n\t-ms-align-items: $align;\n\talign-items: $align;\n}\n@mixin align-self($align) {\n\t-webkit-align-self: $align;\n\t-moz-align-self: $align;\n\t-ms-align-self: $align;\n\talign-self: $align;\n}\n"]}
\ No newline at end of file
diff --git a/layout/style-scss/index.php b/layout/style-scss/index.php
new file mode 100644
index 0000000..e69de29
diff --git a/layout/style-scss/style.scss b/layout/style-scss/style.scss
index 2e5a81b..6a125cd 100644
--- a/layout/style-scss/style.scss
+++ b/layout/style-scss/style.scss
@@ -17,1399 +17,1440 @@ $cFooter: #34327c;
$cGray: #95a5a6;
* {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
}
body {
- color: $base-font-color;
- font-family: 'Lato', sans-serif;
- background-color: $backgroundColor;
+ color: $base-font-color;
+ font-family: 'Lato', sans-serif;
+ background-color: $backgroundColor;
- display: flex;
- flex-direction: column;
- min-height: 100vh;
+ 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;
+ 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;
- }
+ &:disabled {
+ background-color: rgba($cGray, 0.5);
+ cursor: not-allowed;
+ }
}
//* Buttons
.btn-t1 {
- @include btn($base-font-color, '', $cGreen, '');
+ @include btn($base-font-color, '', $cGreen, '');
}
.btn-t2 {
- @include btn($cWhite, '', #000, '');
+ @include btn($cWhite, '', #000, '');
}
.btn {
- padding: 9px 30px;
+ padding: 9px 30px;
}
.flex-buttons-group {
- display: flex;
- justify-content: center;
- align-items: center;
- gap: 5px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 5px;
}
//* text colors
.c_green {
- color: $cGreen;
+ color: $cGreen;
}
.c_red {
- color: $cRed;
+ color: $cRed;
}
.top {
- position: relative;
- background: $cGreen;
- color: #fff;
- height: 70px;
+ position: relative;
+ background: $cGreen;
+ color: #fff;
+ height: 70px;
- .a_menu {
- .logo {
- position: absolute;
- margin: 10px 0 !important;
- }
+ .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;
- }
- }
+ #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;
+ #menu-hamburger {
+ position: relative;
+ height: 70px;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ z-index: 9999;
- i {
- font-size: 28px;
- }
+ i {
+ font-size: 28px;
+ }
- &.active {
- #btn-hamburger {
- position: relative;
- height: 30px;
- width: 30px;
+ &.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%);
+ 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(1) {
+ top: 50%;
+ transform: rotate(45deg) translateY(-50%);
+ }
- &:nth-child(2) {
- transform: translateX(-100%) translateY(-50%);
- }
+ &:nth-child(2) {
+ transform: translateX(-100%) translateY(-50%);
+ }
- &:nth-child(3) {
- top: 50%;
- transform: rotate(-45deg) translateY(-50%);
- }
- }
- }
- }
+ &:nth-child(3) {
+ top: 50%;
+ transform: rotate(-45deg) translateY(-50%);
+ }
+ }
+ }
+ }
- #btn-hamburger {
- position: relative;
- height: 30px;
- width: 30px;
- overflow: hidden;
+ #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;
+ 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(1) {
+ top: 20%;
+ }
- &:nth-child(2) {
- }
+ &:nth-child(2) {}
- &:nth-child(3) {
- top: 80%;
- }
- }
- }
- }
+ &:nth-child(3) {
+ top: 80%;
+ }
+ }
+ }
+ }
- @media (min-width: 768px) {
- #menu-hamburger {
- display: none;
- }
- }
+ @media (min-width: 768px) {
+ #menu-hamburger {
+ display: none;
+ }
+ }
- @media (max-width: 767px) {
- #nav-menu {
- position: fixed;
- 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;
+ ul {
+ width: 100%;
+ max-width: 300px;
+ padding: 0 15px;
+ margin: 0 auto;
+ flex-direction: column;
+ justify-content: center;
- li {
- a {
- color: $base-font-color;
- }
- }
- }
- }
- }
- }
+ 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;
+ .logo {
+ background: $cGreen;
+ display: block;
+ margin: 0 auto 10px;
+ width: 150px;
+ border-radius: 0 0 50% 50%;
+ padding: 10px 25px 25px;
- img {
- width: 100%;
- }
+ img {
+ width: 100%;
+ }
- @media (max-width: 600px) {
- margin: 10px 0;
- }
- }
+ @media (max-width: 600px) {
+ margin: 10px 0;
+ }
+ }
- nav {
- height: 70px;
+ 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;
+ 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;
- }
- }
- }
- }
+ li {
+ a {
+ color: $cWhite;
+ font-size: 18px;
+ font-weight: 600;
+ text-decoration: none;
+ }
+ }
+ }
+ }
}
.main {
- display: flex;
- flex-direction: column;
- flex-grow: 1;
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
- .tickets_calendar {
- margin-top: 100px;
- width: 100%;
- margin-bottom: 50px;
- }
+ .tickets_calendar {
+ margin-top: 100px;
+ width: 100%;
+ margin-bottom: 50px;
+ }
- .tickets {
- // margin-top: 100px;
- // margin-top: 50px;
- margin-bottom: 50px;
- display: flex;
- flex-direction: column;
- width: 100%;
- gap: 80px;
+ .tickets {
+ // margin-top: 100px;
+ // margin-top: 50px;
+ 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;
+ //rodzaj biletow
+ .ticket-container {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ gap: 40px;
+ align-items: center;
- .title-container {
- text-align: center;
- position: relative;
+ .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;
- }
+ &::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;
+ .title {
+ font-weight: 800;
+ font-size: 46px;
- @include respond-below(md) {
- font-size: 36px;
- font-size: 22px;
- }
- }
+ @include respond-below(md) {
+ font-size: 36px;
+ font-size: 22px;
+ }
+ }
- .description {
- font-size: 28px;
- }
- }
- }
+ .description {
+ font-size: 28px;
+ }
+ }
+ }
- //bilet
- .ticket {
- display: flex;
- flex-direction: row;
- align-items: center;
+ //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;
+ .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;
- }
+ &--yellow {
+ background-color: $cYellow;
+ }
- &--red {
- background-color: $cRed;
- }
+ &--red {
+ background-color: $cRed;
+ }
- &--blue {
- background-color: $cBlue;
- }
+ &--blue {
+ background-color: $cBlue;
+ }
- &--orange {
- background-color: $cOrange;
- }
+ &--orange {
+ background-color: $cOrange;
+ }
- &--green {
- background-color: $cGreen;
- }
+ &--green {
+ background-color: $cGreen;
+ }
- &--violet {
- background-color: $cViolet;
- }
+ &--violet {
+ background-color: $cViolet;
+ }
- .ticket__name {
- font-size: 46px;
- font-weight: 800;
+ .ticket__name {
+ font-size: 46px;
+ font-weight: 800;
- @include respond-below(md) {
- font-size: 32px;
- }
- @include respond-below(sm) {
- font-size: 28px;
- }
- }
+ @include respond-below(md) {
+ font-size: 32px;
+ }
- .description {
- font-size: 13px;
- font-style: italic;
- line-height: 0.75;
- margin-bottom: 0;
- }
+ @include respond-below(sm) {
+ font-size: 28px;
+ }
+ }
- .ticket-alert {
- font-size: 20px;
- margin: 20px 0 0 0;
- font-weight: 800;
- text-transform: uppercase;
- text-decoration: underline;
+ .description {
+ font-size: 13px;
+ font-style: italic;
+ line-height: 0.75;
+ margin-bottom: 0;
+ }
- @include respond-below(md) {
- font-size: 16px;
- }
- }
+ .ticket-alert {
+ font-size: 20px;
+ margin: 20px 0 0 0;
+ font-weight: 800;
+ text-transform: uppercase;
+ text-decoration: underline;
- @include respond-below(md) {
- padding-left: 10px;
- padding-right: 10px;
- width: 400px;
- }
+ @include respond-below(md) {
+ font-size: 16px;
+ }
+ }
- @include respond-below(xs) {
- width: 100%;
- }
- }
+ @include respond-below(md) {
+ padding-left: 10px;
+ padding-right: 10px;
+ width: 400px;
+ }
- //price
- .price {
- font-size: 46px;
- margin-left: 40px;
- font-weight: 800;
- min-width: 138px;
+ @include respond-below(xs) {
+ width: 100%;
+ }
+ }
- @include respond-below(md) {
- font-size: 36px;
- min-width: 130px;
- }
- @include respond-below(sm) {
- margin-left: 0;
- min-width: unset;
- margin-bottom: 0;
- }
- }
+ //price
+ .price {
+ font-size: 46px;
+ margin-left: 40px;
+ font-weight: 800;
+ min-width: 138px;
- //przyciski
- .ticket-quantity {
- margin-left: 30px;
+ @include respond-below(md) {
+ font-size: 36px;
+ min-width: 130px;
+ }
- @include respond-below(sm) {
- margin-left: 0;
- }
+ @include respond-below(sm) {
+ margin-left: 0;
+ min-width: unset;
+ margin-bottom: 0;
+ }
+ }
- .button {
- width: 30px;
- height: 30px;
- border-radius: 50%;
- border: 1px solid $base-font-color;
- color: $base-font-color;
- background-color: transparent;
- text-align: center;
- }
+ //przyciski
+ .ticket-quantity {
+ margin-left: auto;
- span {
- padding: 0 5px;
- }
- }
+ @include respond-below(sm) {
+ margin-left: 0;
+ }
- @include respond-below(sm) {
- flex-direction: column;
- row-gap: 15px;
- }
- @include respond-below(xs) {
- width: 100%;
- }
- }
- }
+ .button {
+ padding: 10px 20px;
+ border-radius: 8px;
+ border: none;
+ background-color: $cGreen;
+ color: #fff;
+ font-size: 14px;
+ font-weight: 700;
+ cursor: pointer;
+ transition: all 0.3s ease;
+ white-space: nowrap;
- //bottom
- .bottom-info__description {
- text-align: center;
- font-size: 16px;
- line-height: 29px;
- padding: 20px 0;
- position: relative;
+ &:hover {
+ background-color: darken($cGreen, 8%);
+ }
- &::after,
- &::before {
- position: absolute;
- content: '';
- border-bottom: 2px dotted $base-font-color;
- left: 50%;
- transform: translateX(-50%);
- width: 10%;
- }
+ &.added {
+ background-color: darken($cGreen, 12%);
+ transform: scale(1.05);
+ }
+ }
+ }
- &::after {
- top: 0;
- }
+ @include respond-below(sm) {
+ flex-direction: column;
+ row-gap: 15px;
+ }
- &::before {
- bottom: 0;
- }
+ @include respond-below(xs) {
+ width: 100%;
+ }
+ }
+ }
- p:nth-child(2) {
- margin-bottom: 0;
- }
- }
+ //bottom
+ .bottom-info__description {
+ text-align: center;
+ font-size: 16px;
+ line-height: 29px;
+ padding: 20px 0;
+ position: relative;
- .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;
- }
+ &::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;
+ background-color: $cFooter;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ color: white;
- a {
- text-decoration: none;
- color: $cOrange;
- }
+ 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;
+ .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;
+ .location {
+ padding: 20px 0;
+ text-align: center;
- .title {
- font-size: 22px;
- font-weight: 800;
- }
- }
+ .title {
+ font-size: 22px;
+ font-weight: 800;
+ }
+ }
- .logo {
- height: 100px;
+ .logo {
+ height: 100px;
- img {
- width: 100%;
- height: 100%;
- }
- }
- }
+ img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ }
- .footer__bottom {
- width: 100%;
+ .footer__bottom {
+ width: 100%;
- p {
- text-align: center;
- margin: 0;
- padding: 30px 0;
- }
- }
+ p {
+ text-align: center;
+ margin: 0;
+ padding: 30px 0;
+ }
+ }
- @media (max-width: 767px) {
- .footer__top {
- padding-top: 30px;
- grid-template-columns: 1fr;
+ @media (max-width: 767px) {
+ .footer__top {
+ padding-top: 30px;
+ grid-template-columns: 1fr;
- .opening-hours {
- grid-row-start: 2;
- }
+ .opening-hours {
+ grid-row-start: 2;
+ }
- .logo {
- grid-row-start: 1;
- }
+ .logo {
+ grid-row-start: 1;
+ }
- .location {
- grid-row-start: 3;
- }
- }
- }
+ .location {
+ grid-row-start: 3;
+ }
+ }
+ }
}
.shopping-cart-container {
- &--active {
- .shopping-cart {
- opacity: 1;
- transform: translateX(0);
- }
- }
+ &--active {
+ .shopping-cart {
+ opacity: 1;
+ transform: translateX(0);
+ }
+ }
}
+
//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;
- transform: translateX(100%);
+ 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;
+ transform: translateX(100%);
- // border: 1px solid $base-font-color;
- // &--active {
- // opacity: 1;
- // transform: translateX(0);
- // }
- &.hide {
- display: none;
- }
+ // border: 1px solid $base-font-color;
+ // &--active {
+ // opacity: 1;
+ // transform: translateX(0);
+ // }
+ &.hide {
+ display: none;
+ }
- .basket {
- font-size: 30px;
- }
+ .basket {
+ font-size: 30px;
+ }
- .quantity {
- font-size: 18px;
- font-weight: 800;
- }
+ .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;
- max-height: calc(90svh - 400px);
- overflow: auto;
+ .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;
+ max-height: calc(90svh - 400px);
+ overflow: auto;
- p {
- margin-bottom: 0;
- }
+ 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;
+ .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;
- }
+ &__description {
+ grid-area: name;
+ font-weight: 800;
+ font-size: 13px;
+ }
- &__price {
- grid-area: price;
- font-weight: 800;
- font-size: 13px;
+ &__price {
+ grid-area: price;
+ font-weight: 800;
+ font-size: 13px;
- span {
- font-weight: 400;
- }
- }
+ span {
+ font-weight: 400;
+ }
+ }
- .ticket__button {
- grid-area: btn;
- border: none;
- background-color: transparent;
- color: $base-font-color;
- font-size: 14px;
- font-weight: 800;
- }
- }
- }
+ .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;
+ .sum-section {
+ text-align: center;
- p {
- margin-bottom: 0;
- }
+ p {
+ margin-bottom: 0;
+ }
- font-weight: 800;
- font-size: 18px;
- }
+ 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;
- }
+ .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;
- }
+ .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;
+ }
}
.mobile-cart-btn {
- position: fixed;
- bottom: 50px;
- right: 0;
- opacity: 1;
- z-index: 10;
- border-top-left-radius: 10px;
- border-bottom-left-radius: 10px;
- background-color: #72b81b;
- padding: 20px 15px 15px 15px;
- transition: all 250ms ease-in-out;
- cursor: pointer;
+ &.cart-bounce {
+ animation: cartBounce 0.5s ease;
+ }
- // @media (min-width: 1300px) {
- // display: none;
- // }
+ position: fixed;
+ bottom: 50px;
+ right: 0;
+ opacity: 1;
+ z-index: 10;
+ border-top-left-radius: 10px;
+ border-bottom-left-radius: 10px;
+ background-color: #72b81b;
+ padding: 20px 15px 15px 15px;
+ transition: all 250ms ease-in-out;
+ cursor: pointer;
- &.hide {
- transform: translateX(100%);
- }
+ // @media (min-width: 1300px) {
+ // display: none;
+ // }
- span {
- position: absolute;
- top: 8px;
- right: 5px;
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 5px;
- background: #fff;
- border-radius: 100%;
- width: 20px;
- height: 20px;
- line-height: 1;
- font-size: 12px;
- }
- .mobile-cart-btn--img {
- img {
- width: 100%;
- max-width: 40px;
- }
- }
+ &.hide {
+ transform: translateX(100%);
+ }
+
+ span {
+ position: absolute;
+ top: 8px;
+ right: 5px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 5px;
+ background: #fff;
+ border-radius: 100%;
+ width: 20px;
+ height: 20px;
+ line-height: 1;
+ font-size: 12px;
+ }
+
+ .mobile-cart-btn--img {
+ img {
+ width: 100%;
+ max-width: 40px;
+ }
+ }
}
//* Basket - "page"
#basket_page {
- .basket_content {
- margin-top: 100px;
- margin-bottom: 100px;
- }
+ .basket_content {
+ margin-top: 100px;
+ margin-bottom: 100px;
+ }
- .box_01 {
- margin-bottom: 24px;
+ .box_01 {
+ margin-bottom: 24px;
- table {
- width: 100%;
- background: $cWhite;
- border-collapse: collapse;
+ table {
+ width: 100%;
+ background: $cWhite;
+ border-collapse: collapse;
- tr {
- text-align: center;
- border-top: 1px solid rgba(0, 0, 0, 0.1);
+ tr {
+ text-align: center;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
- th {
- padding: 8px;
+ th {
+ padding: 8px;
- h3 {
- font-size: 1.25rem;
- font-weight: 800;
+ h3 {
+ font-size: 1.25rem;
+ font-weight: 800;
- @include respond-below(md) {
- font-size: 0.85rem;
- }
- }
- }
+ @include respond-below(md) {
+ font-size: 0.85rem;
+ }
+ }
+ }
- td {
- padding: 8px;
+ td {
+ padding: 8px;
- @include respond-below(md) {
- font-size: 14px;
- }
+ @include respond-below(md) {
+ font-size: 14px;
+ }
- .btn_t1 {
- width: 30px;
- height: 30px;
- border-radius: 50%;
- border: none;
- transition: 150ms ease-in-out;
- background: rgb(240, 240, 240);
- display: inline-block;
- color: #000;
+ .ticket-date {
+ color: #888;
+ font-size: 12px;
+ }
- i {
- color: #000;
- }
- }
+ .btn_t1 {
+ width: 30px;
+ height: 30px;
+ border-radius: 50%;
+ border: none;
+ transition: 150ms ease-in-out;
+ background: rgb(240, 240, 240);
+ display: inline-block;
+ color: #000;
- .btn_t1.add {
- &:hover {
- color: $cGreen;
- border-color: $cGreen;
- }
- }
+ i {
+ color: #000;
+ }
+ }
- .btn_t1.subtract {
- &:hover {
- color: $cOrange;
- border-color: $cOrange;
- }
- }
+ .btn_t1.add {
+ &:hover {
+ color: $cGreen;
+ border-color: $cGreen;
+ }
+ }
- .btn_t1.delete {
- border: none;
+ .btn_t1.subtract {
+ &:hover {
+ color: $cOrange;
+ border-color: $cOrange;
+ }
+ }
- &:hover {
- color: $cRed;
- }
- }
- }
- }
+ .btn_t1.delete {
+ border: none;
- @include respond-below(sm) {
- background: transparent;
+ &:hover {
+ color: $cRed;
+ }
+ }
+ }
+ }
- thead,
- tbody,
- th,
- td,
- tr {
- display: block;
- }
+ @include respond-below(sm) {
+ background: transparent;
- tbody {
- > tr {
- &:first-child {
- display: none;
- }
- }
- }
+ thead,
+ tbody,
+ th,
+ td,
+ tr {
+ display: block;
+ }
- thead {
- display: none; /* Приховуємо заголовки */
- }
+ tbody {
+ >tr {
+ &:first-child {
+ display: none;
+ }
+ }
+ }
- tr {
- margin-bottom: 15px;
- border: 1px solid #ddd;
- padding: 10px;
- border-radius: 10px;
- background: #fff;
- }
+ thead {
+ display: none;
+ /* Приховуємо заголовки */
+ }
- td {
- position: relative;
- padding-left: 50%;
- text-align: right;
- border: none;
- min-height: 38px;
- padding-left: 140px !important;
+ tr {
+ margin-bottom: 15px;
+ border: 1px solid #ddd;
+ padding: 10px;
+ border-radius: 10px;
+ background: #fff;
+ }
- &:not(:last-child) {
- border-bottom: 1px solid #eee;
- }
- }
+ td {
+ position: relative;
+ padding-left: 50%;
+ text-align: right;
+ border: none;
+ min-height: 38px;
+ padding-left: 140px !important;
- td::before {
- content: attr(data-label);
- position: absolute;
- left: 10px;
- top: 50%;
- font-weight: bold;
- color: #555;
- transform: translateY(-50%);
+ &:not(:last-child) {
+ border-bottom: 1px solid #eee;
+ }
+ }
- @include respond-below(xs) {
- font-size: 12px;
- }
- }
- }
- }
- }
+ td::before {
+ content: attr(data-label);
+ position: absolute;
+ left: 10px;
+ top: 50%;
+ font-weight: bold;
+ color: #555;
+ transform: translateY(-50%);
- .box_02 {
- .basket_user_data {
- .basket_user_data__wrapper {
- background: $cWhite;
- padding: 30px;
+ @include respond-below(xs) {
+ font-size: 12px;
+ }
+ }
+ }
+ }
+ }
- h2 {
- font-size: 1.5rem;
- margin-bottom: 20px;
- }
+ .box_02 {
+ .basket_user_data {
+ .basket_user_data__wrapper {
+ background: $cWhite;
+ padding: 30px;
- .form-vat-box {
- display: none;
- }
+ h2 {
+ font-size: 1.5rem;
+ margin-bottom: 20px;
+ }
- .form-group {
- .col-form-label {
- font-weight: 600;
+ .form-vat-box {
+ display: none;
+ }
- .form-vat-option {
- opacity: 0;
- transition: 400ms ease;
- }
- }
+ .form-group {
+ .col-form-label {
+ font-weight: 600;
- .form-check {
- a {
- color: $cGreen;
- text-decoration: none;
- }
- }
- }
- }
- }
+ .form-vat-option {
+ opacity: 0;
+ transition: 400ms ease;
+ }
+ }
- .basket_summary {
- .basket_summary__wrapper {
- text-align: center;
- background: $cWhite;
- padding: 30px;
- height: 100%;
+ .form-check {
+ a {
+ color: $cGreen;
+ text-decoration: none;
+ }
+ }
+ }
+ }
+ }
- h2 {
- font-size: 1.5rem;
- }
+ .basket_summary {
+ .basket_summary__wrapper {
+ text-align: center;
+ background: $cWhite;
+ padding: 30px;
+ height: 100%;
- p {
- font-size: 1.5rem;
- font-weight: 800;
- }
+ h2 {
+ font-size: 1.5rem;
+ }
- .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;
- }
- }
- }
- }
+ 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;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 150px 0;
}
//* Spinner
.lds-roller {
- display: inline-block;
- position: relative;
- width: 80px;
- height: 80px;
+ 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;
+ 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;
- }
+ &: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;
+ &:nth-child(1) {
+ animation-delay: -0.036s;
- &:after {
- top: 63px;
- left: 63px;
- }
- }
+ &:after {
+ top: 63px;
+ left: 63px;
+ }
+ }
- &:nth-child(2) {
- animation-delay: -0.072s;
+ &:nth-child(2) {
+ animation-delay: -0.072s;
- &:after {
- top: 68px;
- left: 56px;
- }
- }
+ &:after {
+ top: 68px;
+ left: 56px;
+ }
+ }
- &:nth-child(3) {
- animation-delay: -0.108s;
+ &:nth-child(3) {
+ animation-delay: -0.108s;
- &:after {
- top: 71px;
- left: 48px;
- }
- }
+ &:after {
+ top: 71px;
+ left: 48px;
+ }
+ }
- &:nth-child(4) {
- animation-delay: -0.144s;
+ &:nth-child(4) {
+ animation-delay: -0.144s;
- &:after {
- top: 72px;
- left: 40px;
- }
- }
+ &:after {
+ top: 72px;
+ left: 40px;
+ }
+ }
- &:nth-child(5) {
- animation-delay: -0.18s;
+ &:nth-child(5) {
+ animation-delay: -0.18s;
- &:after {
- top: 71px;
- left: 32px;
- }
- }
+ &:after {
+ top: 71px;
+ left: 32px;
+ }
+ }
- &:nth-child(6) {
- animation-delay: -0.216s;
+ &:nth-child(6) {
+ animation-delay: -0.216s;
- &:after {
- top: 68px;
- left: 24px;
- }
- }
+ &:after {
+ top: 68px;
+ left: 24px;
+ }
+ }
- &:nth-child(7) {
- animation-delay: -0.252s;
+ &:nth-child(7) {
+ animation-delay: -0.252s;
- &:after {
- top: 63px;
- left: 17px;
- }
- }
+ &:after {
+ top: 63px;
+ left: 17px;
+ }
+ }
- &:nth-child(8) {
- animation-delay: -0.288s;
+ &:nth-child(8) {
+ animation-delay: -0.288s;
- &:after {
- top: 56px;
- left: 12px;
- }
- }
- }
+ &:after {
+ top: 56px;
+ left: 12px;
+ }
+ }
+ }
}
@keyframes lds-roller {
- 0% {
- transform: rotate(0deg);
- }
+ 0% {
+ transform: rotate(0deg);
+ }
- 100% {
- transform: rotate(360deg);
- }
+ 100% {
+ transform: rotate(360deg);
+ }
}
//* Scanner page
#scanner {
- // width: 100vw;
- width: 100%;
- max-width: 500px;
- margin-left: auto;
- margin-right: auto;
+ // width: 100vw;
+ width: 100%;
+ max-width: 500px;
+ margin-left: auto;
+ margin-right: auto;
- @include respond-above(sm) {
- margin-top: 50px;
- }
+ @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;
+ .panel-login {
+ padding-top: 100px;
+ padding-bottom: 100px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
- form {
- display: flex;
- flex-direction: column;
- gap: 10px;
- }
- }
+ form {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ }
+ }
}
//* Tickets orders
#tickets-orders {
- padding-top: 100px;
- padding-bottom: 100px;
+ padding-top: 100px;
+ padding-bottom: 100px;
- h1 {
- margin-bottom: 20px;
- }
+ h1 {
+ margin-bottom: 20px;
+ }
- table {
- margin-bottom: 10px;
- background: $cWhite;
- border-bottom: none;
+ table {
+ margin-bottom: 10px;
+ background: $cWhite;
+ border-bottom: none;
- thead {
- tr {
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ thead {
+ tr {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
- th {
- padding: 15px 10px;
- font-size: 16px;
- font-weight: 600;
- border-bottom: none;
- }
- }
- }
+ th {
+ padding: 15px 10px;
+ font-size: 16px;
+ font-weight: 600;
+ border-bottom: none;
+ }
+ }
+ }
- tbody {
- tr {
- td {
- font-size: 14px;
+ tbody {
+ tr {
+ td {
+ font-size: 14px;
- &.edit-btn {
- a {
- margin-left: 20px;
- }
+ &.edit-btn {
+ a {
+ margin-left: 20px;
+ }
- i {
- color: $base-font-color;
- font-size: 20px;
- transition: color 200ms ease;
+ i {
+ color: $base-font-color;
+ font-size: 20px;
+ transition: color 200ms ease;
- &:hover {
- color: $cGreen;
- }
- }
- }
- }
- }
- }
+ &:hover {
+ color: $cGreen;
+ }
+ }
+ }
+ }
+ }
+ }
- tr {
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ tr {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
- td {
- padding: 15px 10px;
- border-bottom: none;
- }
- }
- }
+ td {
+ padding: 15px 10px;
+ border-bottom: none;
+ }
+ }
+ }
- #myTable_wrapper {
- .row {
- &:nth-child(1) {
- margin-bottom: 10px;
- }
+ #myTable_wrapper {
+ .row {
+ &:nth-child(1) {
+ margin-bottom: 10px;
+ }
- &:nth-child(3) {
- }
- }
+ &:nth-child(3) {}
+ }
- #myTable_length {
- label {
- display: flex;
- flex-direction: row;
- align-items: center;
- gap: 15px;
+ #myTable_length {
+ label {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 15px;
- select {
- min-width: 70px;
- background-color: $cWhite;
- }
- }
- }
+ select {
+ min-width: 70px;
+ background-color: $cWhite;
+ }
+ }
+ }
- #myTable_filter {
- label {
- display: flex;
- flex-direction: row;
- align-items: center;
- gap: 15px;
+ #myTable_filter {
+ label {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 15px;
- input {
- margin-left: 0;
- background: $cWhite;
- }
- }
- }
+ input {
+ margin-left: 0;
+ background: $cWhite;
+ }
+ }
+ }
- #myTable_paginate {
- .pagination {
- display: flex;
- align-items: center;
- column-gap: 5px;
+ #myTable_paginate {
+ .pagination {
+ display: flex;
+ align-items: center;
+ column-gap: 5px;
- margin-bottom: 0;
+ margin-bottom: 0;
- .paginate_button {
- padding: 0;
- border: none;
+ .paginate_button {
+ padding: 0;
+ border: none;
- &.active {
- a {
- color: $cWhite;
- background: $cGreen;
- }
- }
+ &.active {
+ a {
+ color: $cWhite;
+ background: $cGreen;
+ }
+ }
- &:hover {
- border: none;
- background: none;
- }
+ &:hover {
+ border: none;
+ background: none;
+ }
- &.disabled > .page-link {
- color: $cGray;
- }
+ &.disabled>.page-link {
+ color: $cGray;
+ }
- .page-link {
- color: #000;
- }
+ .page-link {
+ color: #000;
+ }
- a {
- border: none;
- }
- }
- }
- }
- }
+ a {
+ border: none;
+ }
+ }
+ }
+ }
+ }
}
//* Order data
#order-data {
- padding: 100px 0;
+ padding: 100px 0;
- .order-data {
- .mini-nav-menu {
- margin-bottom: 30px;
+ .order-data {
+ .mini-nav-menu {
+ margin-bottom: 30px;
- a {
- &:hover {
- color: $base-font-color;
- }
- }
- }
+ a {
+ &:hover {
+ color: $base-font-color;
+ }
+ }
+ }
- .box_01 {
- margin-bottom: 24px;
+ .box_01 {
+ margin-bottom: 24px;
- table {
- width: 100%;
- background: $cWhite;
+ table {
+ width: 100%;
+ background: $cWhite;
- tr {
- text-align: center;
- border-top: 1px solid rgba(0, 0, 0, 0.1);
+ tr {
+ text-align: center;
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
- th {
- padding: 8px;
+ th {
+ padding: 8px;
- h3 {
- font-size: 1.25rem;
- font-weight: 800;
- }
- }
+ h3 {
+ font-size: 1.25rem;
+ font-weight: 800;
+ }
+ }
- td {
- padding: 8px;
+ td {
+ padding: 8px;
- .btn_t1 {
- width: 30px;
- height: 30px;
- border-radius: 50%;
- border: none;
- transition: 150ms ease-in-out;
- }
+ .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.add {
+ &:hover {
+ color: $cGreen;
+ border-color: $cGreen;
+ }
+ }
- .btn_t1.subtract {
- &:hover {
- color: $cOrange;
- border-color: $cOrange;
- }
- }
+ .btn_t1.subtract {
+ &:hover {
+ color: $cOrange;
+ border-color: $cOrange;
+ }
+ }
- .btn_t1.delete {
- border: none;
+ .btn_t1.delete {
+ border: none;
- &:hover {
- color: $cRed;
- }
- }
- }
- }
- }
+ &:hover {
+ color: $cRed;
+ }
+ }
+ }
+ }
+ }
- .btn-save-new-list {
- display: block;
- margin: 30px auto 0;
- }
- }
+ .btn-save-new-list {
+ display: block;
+ margin: 30px auto 0;
+ }
+ }
- .box_02 {
- .order-detale-info {
- .order-detale-info__wrapper {
- background: $cWhite;
- padding: 30px;
+ .box_02 {
+ .order-detale-info {
+ .order-detale-info__wrapper {
+ background: $cWhite;
+ padding: 30px;
- h2 {
- font-size: 1.5rem;
- margin-bottom: 20px;
- }
+ h2 {
+ font-size: 1.5rem;
+ margin-bottom: 20px;
+ }
- .form-group {
- .col-form-label {
- font-weight: 600;
- }
- }
- }
- }
+ .form-group {
+ .col-form-label {
+ font-weight: 600;
+ }
+ }
+ }
+ }
- .order-summary {
- .order-summary__wrapper {
- text-align: center;
- background: #fff;
- padding: 30px;
- height: 100%;
+ .order-summary {
+ .order-summary__wrapper {
+ text-align: center;
+ background: #fff;
+ padding: 30px;
+ height: 100%;
- h2 {
- font-size: 1.5rem;
- margin-bottom: 20px;
- }
+ h2 {
+ font-size: 1.5rem;
+ margin-bottom: 20px;
+ }
- p {
- font-size: 1.5rem;
- font-weight: 800;
- }
- }
- }
- }
- }
+ p {
+ font-size: 1.5rem;
+ font-weight: 800;
+ }
+ }
+ }
+ }
+ }
}
//* Regulamin
#regulamin_box {
- margin-top: 80px;
- margin-bottom: 50px;
+ margin-top: 80px;
+ margin-bottom: 50px;
- .regulamin_box__wrapper {
- h5 {
- font-size: 26px;
- margin: 0;
- color: #333;
- text-align: center;
- margin-bottom: 20px;
- }
+ .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;
- }
+ 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;
+ .regulamin__box {
+ margin-bottom: 50px;
- h5 {
- text-align: center;
- }
- }
- }
+ h5 {
+ text-align: center;
+ }
+ }
+ }
}
.sale-box {
- h2 {
- text-align: center;
- font-size: 48px;
- line-height: 43px;
+ h2 {
+ text-align: center;
+ font-size: 48px;
+ line-height: 43px;
- span {
- color: #74aa32;
- font-weight: 700;
- }
- }
+ span {
+ color: #74aa32;
+ font-weight: 700;
+ }
+ }
}
#dateForm {
- display: flex;
- justify-content: center;
- gap: 15px;
- flex-wrap: wrap;
+ display: flex;
+ justify-content: center;
+ gap: 15px;
+ flex-wrap: wrap;
- ._title {
- width: 100%;
- font-weight: 600;
- font-size: 30px;
- text-align: center;
- }
+ ._title {
+ width: 100%;
+ font-weight: 600;
+ font-size: 30px;
+ text-align: center;
+ }
}
.basket_protection {
- display: grid;
- grid-template-columns: 1fr;
- justify-content: flex-end;
- margin: 10px auto;
- text-align: right;
+ display: grid;
+ grid-template-columns: 1fr;
+ justify-content: flex-end;
+ margin: 10px auto;
+ text-align: right;
- p {
- margin-bottom: 0;
- font-style: italic;
- }
+ p {
+ margin-bottom: 0;
+ font-style: italic;
+ }
}
+
+@keyframes cartBounce {
+
+ 0%,
+ 100% {
+ transform: translateX(0);
+ }
+
+ 25% {
+ transform: translateX(-8px) scale(1.1);
+ }
+
+ 50% {
+ transform: translateX(4px) scale(1.05);
+ }
+
+ 75% {
+ transform: translateX(-2px);
+ }
+}
\ No newline at end of file
diff --git a/libraries/license.txt b/libraries/license.txt
deleted file mode 100644
index 16949b5..0000000
--- a/libraries/license.txt
+++ /dev/null
@@ -1,316 +0,0 @@
-
-RedBeanPHP
-Written by Gabor de Mooij
-
-RedBean is DUAL Licensed New BSD and GPLv2. You may choose the license that fits
-best for your project.
-
-New BSD License
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-* Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-* Neither the name of RedBeanPHP nor the
-names of its contributors may be used to endorse or promote products
-derived from this software without specific prior written permission.
-
-
-THIS SOFTWARE IS PROVIDED BY GABOR DE MOOIJ ''AS IS'' AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL GABOR DE MOOIJ BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-RedBeanPHP is Written by Gabor de Mooij (G.J.G.T de Mooij) Copyright (c) 2018.
-
-
-GPLv2 LICENSE
-
-
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
diff --git a/load_prices.php b/load_prices.php
new file mode 100644
index 0000000..bc69ca1
--- /dev/null
+++ b/load_prices.php
@@ -0,0 +1,29 @@
+query('SELECT * FROM ticket_prices');
+$_dbPrices = [];
+if ($_dbStmt) {
+ foreach ($_dbStmt->fetchAll(\PDO::FETCH_ASSOC) as $_row) {
+ $_dbPrices[$_row['ticket_id']] = $_row;
+ }
+}
+
+foreach ($settings['tickets'] as $tid => &$_ticket) {
+ if (isset($_dbPrices[$tid])) {
+ $_r = $_dbPrices[$tid];
+ $_ticket['price'] = (float) ($_r['price'] ?? 0);
+ $_ticket['price_weekend'] = (float) ($_r['price_weekend'] ?? 0);
+ $_ticket['dynamic_prices'] = [
+ 'day0' => (float) ($_r['dynamic_price_day0'] ?? 0),
+ 'day1_2' => (float) ($_r['dynamic_price_day1_2'] ?? 0),
+ 'day3_7' => (float) ($_r['dynamic_price_day3_7'] ?? 0),
+ ];
+ } else {
+ $_ticket['price'] = $_ticket['price'] ?? 0;
+ $_ticket['price_weekend'] = $_ticket['price_weekend'] ?? 0;
+ $_ticket['dynamic_prices'] = $_ticket['dynamic_prices'] ?? ['day0' => 0, 'day1_2' => 0, 'day3_7' => 0];
+ }
+}
+unset($_ticket, $_dbStmt, $_dbPrices, $_r);
diff --git a/templates/admin-panel/settings.php b/templates/admin-panel/settings.php
new file mode 100644
index 0000000..4ccb197
--- /dev/null
+++ b/templates/admin-panel/settings.php
@@ -0,0 +1,54 @@
+enable_sell;
+?>
+
+
+
+
Ustawienia
+
+
+ >
+
+
+
+
+
+
+
+
+
diff --git a/templates/admin-panel/tickets.php b/templates/admin-panel/tickets.php
new file mode 100644
index 0000000..c400d91
--- /dev/null
+++ b/templates/admin-panel/tickets.php
@@ -0,0 +1,132 @@
+tickets;
+ $exclude = ['ticket-protection', 'gift-price'];
+
+ // Sortowanie: pary ulgowy/normalny obok siebie
+ $seen_bases = [];
+ foreach ($tickets as $tid => $t) {
+ if (in_array($tid, $exclude)) continue;
+ $base = preg_replace('/-(ulgowy|normalny)$/', '', $tid);
+ if (!in_array($base, $seen_bases)) {
+ $seen_bases[] = $base;
+ }
+ }
+ $ordered = [];
+ foreach ($seen_bases as $base) {
+ if (isset($tickets[$base . '-ulgowy']))
+ $ordered[$base . '-ulgowy'] = $tickets[$base . '-ulgowy'];
+ if (isset($tickets[$base . '-normalny']))
+ $ordered[$base . '-normalny'] = $tickets[$base . '-normalny'];
+ if (!isset($tickets[$base . '-ulgowy']) && !isset($tickets[$base . '-normalny']) && isset($tickets[$base]))
+ $ordered[$base] = $tickets[$base];
+ }
+ $tickets = $ordered;
+?>
+
+
+
+
Cennik biletow
+
+ tickets['ticket-protection'] ?? null; ?>
+
+
Doplaty
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/templates/site/layout-logged.php b/templates/site/layout-logged.php
index 188075e..8ba2517 100644
--- a/templates/site/layout-logged.php
+++ b/templates/site/layout-logged.php
@@ -69,6 +69,16 @@
Lista zamówień
+
+
+ Cennik
+
+
+
+
+ Ustawienia
+
+