This commit is contained in:
GP_DEV
2025-06-01 12:33:52 +03:00
commit 3ab7ac5a79
108 changed files with 12507 additions and 0 deletions

9
.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
# subtree
template-parts/la-components
# Стандартные игноры
node_modules/
.DS_Store
Thumbs.db
*.log
*.tmp

24
404.php Normal file
View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html <?php language_attributes(); ?> class="no-js">
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width">
<link rel="profile" href="http://gmpg.org/xfn/11">
<?php wp_head(); ?>
</head>
<body class="antialiased">
<div class="md:flex min-h-screen">
<div class="w-full md:w-1/2 flex items-center justify-center">
<div class="max-w-sm m-8">
<div class="text-5xl md:text-15xl text-gray-800 border-primary border-b">404</div>
<div class="w-16 h-1 bg-purple-light my-3 md:my-6"></div>
<p class="text-gray-800 text-2xl md:text-3xl font-light mb-8"><?php _e( 'Sorry, the page you are looking for could not be found.', 'tailpress' ); ?></p>
<a href="<?php echo get_bloginfo( 'url' ); ?>" class="bg-primary px-4 py-2 rounded-xs text-white">
<?php _e( 'Go Home', 'tailpress' ); ?>
</a>
</div>
</div>
</div>
</body>
</html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

74
comments.php Normal file
View File

@@ -0,0 +1,74 @@
<?php
/**
* If the current post is protected by a password and
* the visitor has not yet entered the password we will
* return early without loading the comments.
*/
if ( post_password_required() ) {
return;
}
?>
<div id="comments" class="comments-area my-8">
<?php if ( have_comments() ) : ?>
<h2 class="comments-title">
<?php
printf(
_nx( 'One comment', '%1$s comments', get_comments_number(), 'comments title', 'tailpress' ),
number_format_i18n( get_comments_number() ),
get_the_title()
);
?>
</h2>
<ol class="comment-list">
<?php
wp_list_comments(
array(
'style' => 'ol',
'short_ping' => true,
'avatar_size' => 56,
)
);
?>
</ol>
<?php endif; ?>
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : ?>
<nav class="comment-navigation" id="comment-nav-above">
<h1 class="screen-reader-text"><?php esc_html_e( 'Comment navigation', 'tailpress' ); ?></h1>
<?php if ( get_previous_comments_link() ) { ?>
<div class="nav-previous">
<?php previous_comments_link( __( '&larr; Older Comments', 'tailpress' ) ); ?>
</div>
<?php } ?>
<?php if ( get_next_comments_link() ) { ?>
<div class="nav-next">
<?php next_comments_link( __( 'Newer Comments &rarr;', 'tailpress' ) ); ?>
</div>
<?php } ?>
</nav><!-- #comment-nav-above -->
<?php endif; ?>
<?php if ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>
<p class="no-comments"><?php esc_html_e( 'Comments are closed.', 'tailpress' ); ?></p>
<?php endif; ?>
<?php
comment_form(
array(
'class_submit' => 'bg-primary text-white cursor-pointer rounded-xs font-bold py-2 px-4',
'comment_field' => '<textarea id="comment" name="comment" class="bg-gray-200 w-full py-2 px-3" aria-required="true"></textarea>',
)
);
?>
</div>

1
css/app.css Normal file

File diff suppressed because one or more lines are too long

1
css/editor-style.css Normal file

File diff suppressed because one or more lines are too long

BIN
fonts/Gilroy-Bold.eot Normal file

Binary file not shown.

BIN
fonts/Gilroy-Bold.ttf Normal file

Binary file not shown.

BIN
fonts/Gilroy-Bold.woff Normal file

Binary file not shown.

BIN
fonts/Gilroy-Light.eot Normal file

Binary file not shown.

BIN
fonts/Gilroy-Light.ttf Normal file

Binary file not shown.

BIN
fonts/Gilroy-Light.woff Normal file

Binary file not shown.

BIN
fonts/Gilroy-Medium.eot Normal file

Binary file not shown.

BIN
fonts/Gilroy-Medium.ttf Normal file

Binary file not shown.

BIN
fonts/Gilroy-Medium.woff Normal file

Binary file not shown.

BIN
fonts/Gilroy-Regular.eot Normal file

Binary file not shown.

BIN
fonts/Gilroy-Regular.ttf Normal file

Binary file not shown.

BIN
fonts/Gilroy-Regular.woff Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fonts/Gilroy-SemiBold.eot Normal file

Binary file not shown.

BIN
fonts/Gilroy-SemiBold.ttf Normal file

Binary file not shown.

BIN
fonts/Gilroy-SemiBold.woff Normal file

Binary file not shown.

21
footer.php Normal file
View File

@@ -0,0 +1,21 @@
</main>
<?php do_action( 'tailpress_content_end' ); ?>
</div>
<?php do_action( 'tailpress_content_after' ); ?>
<footer id="colophon" class="site-footer" role="contentinfo">
<?php do_action( 'tailpress_footer' ); ?>
<?php get_template_part('template-parts/la-components/footer'); ?>
</footer>
</div>
<?php wp_footer(); ?>
</body>
</html>

162
functions.php Normal file
View File

@@ -0,0 +1,162 @@
<?php
/**
* Theme setup.
*/
function tailpress_setup() {
add_theme_support( 'title-tag' );
register_nav_menus(
array(
'primary' => __( 'Primary Menu', 'tailpress' ),
)
);
add_theme_support(
'html5',
array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
)
);
add_theme_support( 'custom-logo' );
add_theme_support( 'post-thumbnails' );
add_theme_support( 'align-wide' );
add_theme_support( 'wp-block-styles' );
add_theme_support( 'responsive-embeds' );
add_theme_support( 'editor-styles' );
add_editor_style( 'css/editor-style.css' );
}
add_action( 'after_setup_theme', 'tailpress_setup' );
/**
* Enqueue theme assets.
*/
function tailpress_enqueue_scripts() {
$theme = wp_get_theme();
wp_enqueue_style( 'tailpress', tailpress_asset( 'css/app.css' ), array(), $theme->get( 'Version' ) );
wp_enqueue_script( 'tailpress', tailpress_asset( 'js/app.js' ), array(), $theme->get( 'Version' ) );
}
add_action( 'wp_enqueue_scripts', 'tailpress_enqueue_scripts' );
/**
* Get asset path.
*
* @param string $path Path to asset.
*
* @return string
*/
function tailpress_asset( $path ) {
if ( wp_get_environment_type() === 'production' ) {
return get_stylesheet_directory_uri() . '/' . $path;
}
return add_query_arg( 'time', time(), get_stylesheet_directory_uri() . '/' . $path );
}
/**
* Adds option 'li_class' to 'wp_nav_menu'.
*
* @param string $classes String of classes.
* @param mixed $item The current item.
* @param WP_Term $args Holds the nav menu arguments.
*
* @return array
*/
function tailpress_nav_menu_add_li_class( $classes, $item, $args, $depth ) {
if ( isset( $args->li_class ) ) {
$classes[] = $args->li_class;
}
if ( isset( $args->{"li_class_$depth"} ) ) {
$classes[] = $args->{"li_class_$depth"};
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'tailpress_nav_menu_add_li_class', 10, 4 );
/**
* Adds option 'submenu_class' to 'wp_nav_menu'.
*
* @param string $classes String of classes.
* @param mixed $item The current item.
* @param WP_Term $args Holds the nav menu arguments.
*
* @return array
*/
function tailpress_nav_menu_add_submenu_class( $classes, $args, $depth ) {
if ( isset( $args->submenu_class ) ) {
$classes[] = $args->submenu_class;
}
if ( isset( $args->{"submenu_class_$depth"} ) ) {
$classes[] = $args->{"submenu_class_$depth"};
}
return $classes;
}
add_filter( 'nav_menu_submenu_css_class', 'tailpress_nav_menu_add_submenu_class', 10, 3 );
function get_current_room() {
return pll_current_language() === 'gym' ? 'gym' : 'fitness';
}
$modal_file = get_template_directory() . '/template-parts/la-components/functions/modals.php';
$block_file = get_template_directory() . '/template-parts/la-components/functions/blocks.php';
if (file_exists($block_file)) {
require_once $block_file;
}
if (file_exists($modal_file)) {
require_once $modal_file;
}
function enqueue_swiper_assets() {
wp_enqueue_style(
'swiper-css',
'https://cdnjs.cloudflare.com/ajax/libs/Swiper/8.4.7/swiper-bundle.min.css',
array(),
'8.4.7'
);
wp_enqueue_script(
'swiper-js',
'https://cdnjs.cloudflare.com/ajax/libs/Swiper/8.4.7/swiper-bundle.min.js',
array(),
'8.4.7',
true
);
}
// Frontend
add_action('wp_enqueue_scripts', 'enqueue_swiper_assets');
// Admin area
add_action('admin_enqueue_scripts', 'enqueue_swiper_assets');
// Block Editor
add_action('enqueue_block_editor_assets', 'enqueue_swiper_assets');
function display_icon($field_name)
{
$icon = get_field($field_name, 'option');
$icon_id = isset($icon['icon_url']) ? $icon['icon_url'] : 0;
if ($icon_id) {
echo wp_get_attachment_image($icon_id, 'full');
}
}

198
header.php Normal file
View File

@@ -0,0 +1,198 @@
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class('bg-[#f9f9f9] text-[#222]'); ?>>
<?php do_action('tailpress_site_before'); ?>
<div id="page" class="min-h-screen flex flex-col">
<?php do_action('tailpress_header'); ?>
<header>
<div class="mx-auto container mt-[24px]">
<div>
<div class="flex justify-between items-center">
<div>
<?php if (has_custom_logo()) { ?>
<?php the_custom_logo(); ?>
<?php } else { ?>
<a href="<?php echo get_bloginfo('url'); ?>" class="font-extrabold text-lg uppercase">
<?php echo get_bloginfo('name'); ?>
</a>
<?php } ?>
</div>
<?php get_template_part('template-parts/la-components/language-switcher'); ?>
<div class="flex items-center gap-[12px]">
<div class="w-[8px] h-[8px] rounded-full bg-[#e21e24]"></div>
<div class="leading-[125%] text-[14px] font-[600]">
<p>г. Томск, </p>
<p>ул. Красноармейская, 120</p>
</div>
</div>
<div class="flex items-center gap-[12px]">
<div class="w-[8px] h-[8px] rounded-full bg-[#e21e24]"></div>
<div class="leading-[125%] text-[14px] font-[600]">
<p>Пн–Пт: 7:00 23:00</p>
<p>СбВс: 9:00 22:00</p>
</div>
</div>
<div class="flex gap-[4px]">
<a class="hover:[&>img]:brightness-150 transition" href="#">
<?php
display_icon('tg');
?>
</a>
<a class="hover:[&>img]:brightness-150 transition" href="#">
<?php
display_icon('whatsapp');
?>
</a>
</div>
<a class="font-[700] text-[24px] !decoration-transparent hover:!decoration-inherit transition-colors" href="tel:+783822990019">
+7 (3822) 99-00-19
</a>
<div>
<button class="red-gradient-hover cursor-pointer flex text-[#f8f8f8] text-[16px] font-[600] justify-center h-[45px] w-[136px] rounded-[90px] flex items-center">Записаться</button>
</div>
</div>
<?php
/* wp_nav_menu(
array(
'container_id' => 'primary-menu',
'container_class' => 'hidden bg-gray-100 mt-4 p-4 lg:mt-0 lg:p-0 lg:bg-transparent lg:block',
'menu_class' => 'lg:flex lg:-mx-4',
'theme_location' => 'primary',
'li_class' => 'lg:mx-4',
'fallback_cb' => false,
)
);
*/ ?>
</div>
</div>
</header>
<div class="container mx-auto my-[24px]">
<div class="flex items-center justify-between gap-[32px]">
<div class="group bg-white text-[16px] text-[#222] font-[600] rounded-[90px] h-[44px] px-[28px] flex items-center">
<?php get_template_part('template-parts/la-components/navigation-menu'); ?>
</div>
<div class="flex gap-[12px]">
<button data-modal="time" class="font-[600] flex gap-[8px] h-[44px] px-[20px] items-center cursor-pointer border border-[#e0e0e0] rounded-[90px]"
>
<span class="w-[8px] h-[8px] rounded-full bg-[#e21e24]"></span>
Расписание
</button>
<button
class="font-[600] text-[#f8f8f8] dark-gradient-hover flex gap-[8px] h-[44px] px-[20px] items-center cursor-pointer rounded-[90px]"
>
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8 0.5C9.06087 0.5 10.0783 0.921427 10.8284 1.67157C11.5786 2.42172 12 3.43913 12 4.5C12 5.56087 11.5786 6.57828 10.8284 7.32843C10.0783 8.07857 9.06087 8.5 8 8.5C6.93913 8.5 5.92172 8.07857 5.17157 7.32843C4.42143 6.57828 4 5.56087 4 4.5C4 3.43913 4.42143 2.42172 5.17157 1.67157C5.92172 0.921427 6.93913 0.5 8 0.5ZM8 10.5C12.42 10.5 16 12.29 16 14.5V16.5H0V14.5C0 12.29 3.58 10.5 8 10.5Z" fill="#F8F8F8" />
</svg>
Личный кабинет
</button>
</div>
</div>
</div>
<div id="content" class="site-content grow">
<?php do_action('tailpress_content_start'); ?>
<main>
<div class="container mx-auto">
<button class="cursor-pointer p-[10px] rounded border" data-modal="example">Пример модалки</button>
<button class="cursor-pointer p-[10px] rounded border" data-modal="room">Выбор зала</button>
<button class="cursor-pointer p-[10px] rounded border" data-modal="form">Форма</button>
</div>
<?php
$galleryData = [
'reception' => [
'title' => 'Зона ресепшен',
'images' => [
[
'src' => 'https://placehold.co/800x600/4a5568/ffffff?text=Ресепшен+1',
'thumb' => 'https://placehold.co/150x100/4a5568/ffffff?text=Р1',
'alt' => 'Ресепшен 1'
],
[
'src' => 'https://placehold.co/800x600/2d3748/ffffff?text=Ресепшен+2',
'thumb' => 'https://placehold.co/150x100/2d3748/ffffff?text=Р2',
'alt' => 'Ресепшен 2'
],
[
'src' => 'https://placehold.co/800x600/1a202c/ffffff?text=Ресепшен+3',
'thumb' => 'https://placehold.co/150x100/1a202c/ffffff?text=Р3',
'alt' => 'Ресепшен 3'
],
[
'src' => 'https://placehold.co/800x600/718096/ffffff?text=Ресепшен+4',
'thumb' => 'https://placehold.co/150x100/718096/ffffff?text=Р4',
'alt' => 'Ресепшен 4'
]
]
],
'gym' => [
'title' => 'Зона тренажерного зала',
'images' => [
[
'src' => 'https://placehold.co/800x600/dc2626/ffffff?text=Тренажёрный+1',
'thumb' => 'https://placehold.co/150x100/dc2626/ffffff?text=Т1',
'alt' => 'Тренажерный зал 1'
],
[
'src' => 'https://placehold.co/800x600/b91c1c/ffffff?text=Тренажёрный+2',
'thumb' => 'https://placehold.co/150x100/b91c1c/ffffff?text=Т2',
'alt' => 'Тренажерный зал 2'
],
[
'src' => 'https://placehold.co/800x600/991b1b/ffffff?text=Тренажёрный+3',
'thumb' => 'https://placehold.co/150x100/991b1b/ffffff?text=Т3',
'alt' => 'Тренажерный зал 3'
],
[
'src' => 'https://placehold.co/800x600/7f1d1d/ffffff?text=Тренажёрный+4',
'thumb' => 'https://placehold.co/150x100/7f1d1d/ffffff?text=Т4',
'alt' => 'Тренажерный зал 4'
],
[
'src' => 'https://placehold.co/800x600/ef4444/ffffff?text=Тренажёрный+5',
'thumb' => 'https://placehold.co/150x100/ef4444/ffffff?text=Т5',
'alt' => 'Тренажерный зал 5'
]
]
],
'group' => [
'title' => 'Залы для групповых тренировок',
'images' => [
[
'src' => 'https://placehold.co/800x600/059669/ffffff?text=Групповые+1',
'thumb' => 'https://placehold.co/150x100/059669/ffffff?text=Г1',
'alt' => 'Групповые тренировки 1'
],
[
'src' => 'https://placehold.co/800x600/047857/ffffff?text=Групповые+2',
'thumb' => 'https://placehold.co/150x100/047857/ffffff?text=Г2',
'alt' => 'Групповые тренировки 2'
],
[
'src' => 'https://placehold.co/800x600/065f46/ffffff?text=Групповые+3',
'thumb' => 'https://placehold.co/150x100/065f46/ffffff?text=Г3',
'alt' => 'Групповые тренировки 3'
]
]
]
];
?>

20
index.php Normal file
View File

@@ -0,0 +1,20 @@
<?php get_header(); ?>
<div>
<?php if ( have_posts() ) : ?>
<?php
while ( have_posts() ) :
the_post();
?>
<?php get_template_part( 'template-parts/content', get_post_format() ); ?>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php
get_footer();

1
js/app.js Normal file
View File

@@ -0,0 +1 @@
(()=>{var e,r={547:()=>{},566:()=>{},988:()=>{window.addEventListener("load",(function(){var e=document.querySelector("#primary-menu");document.querySelector("#primary-menu-toggle").addEventListener("click",(function(r){r.preventDefault(),e.classList.toggle("hidden")}))}))}},t={};function n(e){var o=t[e];if(void 0!==o)return o.exports;var i=t[e]={exports:{}};return r[e](i,i.exports,n),i.exports}n.m=r,e=[],n.O=(r,t,o,i)=>{if(!t){var a=1/0;for(u=0;u<e.length;u++){for(var[t,o,i]=e[u],l=!0,s=0;s<t.length;s++)(!1&i||a>=i)&&Object.keys(n.O).every((e=>n.O[e](t[s])))?t.splice(s--,1):(l=!1,i<a&&(a=i));if(l){e.splice(u--,1);var v=o();void 0!==v&&(r=v)}}return r}i=i||0;for(var u=e.length;u>0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[t,o,i]},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e={847:0,992:0,252:0};n.O.j=r=>0===e[r];var r=(r,t)=>{var o,i,[a,l,s]=t,v=0;if(a.some((r=>0!==e[r]))){for(o in l)n.o(l,o)&&(n.m[o]=l[o]);if(s)var u=s(n)}for(r&&r(t);v<a.length;v++)i=a[v],n.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return n.O(u)},t=self.webpackChunktailpress=self.webpackChunktailpress||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.O(void 0,[992,252],(()=>n(988))),n.O(void 0,[992,252],(()=>n(547)));var o=n.O(void 0,[992,252],(()=>n(566)));o=n.O(o)})();

5
mix-manifest.json Normal file
View File

@@ -0,0 +1,5 @@
{
"/js/app.js": "/js/app.js?id=37f0a4a3aee430ac7ba337b53d7bdc4b",
"/css/editor-style.css": "/css/editor-style.css?id=516c8e57ec0a4cf555760c6db2cbf719",
"/css/app.css": "/css/app.css?id=7fe830b2a1b256d9bf28f7962a82ca5a"
}

11444
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

29
package.json Normal file
View File

@@ -0,0 +1,29 @@
{
"name": "tailpress",
"version": "0.1.0",
"description": "Boilerplate WordPress theme with Tailwind CSS.",
"author": "Jeffrey van Rossum",
"repository": {
"type": "git",
"url": "https://github.com/jeffreyvr/tailpress"
},
"theme_uri": "https://github.com/jeffreyvr/tailpress",
"author_uri": "https://vanrossum.dev",
"text_domain": "tailpress",
"license": "MIT",
"scripts": {
"dev": "mix",
"watch": "mix watch",
"watch-poll": "mix watch -- --watch-options-poll=1000",
"production": "mix --production"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.0.0",
"browser-sync": "^2.29.1",
"browser-sync-webpack-plugin": "^2.3.0",
"laravel-mix": "^6.0.29",
"postcss": "^8.5.1",
"postcss-nested": "^7.0.2",
"tailwindcss": "^4.0.0"
}
}

7
postcss.config.js Normal file
View File

@@ -0,0 +1,7 @@
module.exports = {
plugins: {
'postcss-nested': {},
'@tailwindcss/postcss': {},
autoprefixer: {},
}
}

23
resources/css/app.css Normal file
View File

@@ -0,0 +1,23 @@
@import 'tailwindcss';
@import './theme.css';
@import './fonts.css';
@import './utilities.css';
@import './custom.css' layer(utilities);
/*
The default border color has changed to `currentColor` in Tailwind CSS v4,
so we've added these compatibility styles to make sure everything still
looks the same as it did with Tailwind CSS v3.
If we ever want to remove these styles, we need to add an explicit border
color utility to any element that depends on these defaults.
*/
@layer base {
*,
::after,
::before,
::backdrop,
::file-selector-button {
border-color: var(--color-gray-200, currentColor);
}
}

42
resources/css/custom.css Normal file
View File

@@ -0,0 +1,42 @@
article > *:not(.entry-content),
.entry-content > * {
@apply mx-auto;
}
.entry-content, .block-editor-block-list__layout {
/* h1 {
@apply text-2xl;
}
h2 {
@apply text-xl;
}
h3 {
@apply text-lg;
}
p, ul, ol {
a {
@apply text-blue-500 underline;
&:hover {
@apply no-underline;
}
}
@apply mb-8;
}*/
ul:not(.block-editor-block-variation-picker__variations) {
li {
@apply list-disc list-inside;
}
}
ol {
li {
@apply list-decimal list-inside;
}
}
}

View File

@@ -0,0 +1,20 @@
@import 'tailwindcss';
@import './theme.css';
/*
The default border color has changed to `currentColor` in Tailwind CSS v4,
so we've added these compatibility styles to make sure everything still
looks the same as it did with Tailwind CSS v3.
If we ever want to remove these styles, we need to add an explicit border
color utility to any element that depends on these defaults.
*/
@layer base {
*,
::after,
::before,
::backdrop,
::file-selector-button {
border-color: var(--color-gray-200, currentColor);
}
}

65
resources/css/fonts.css Normal file
View File

@@ -0,0 +1,65 @@
@font-face {
font-family: 'Gilroy';
src: local('Gilroy Light'),
url('../../assets/fonts/Gilroy-Light.eot?#iefix') format('embedded-opentype'),
url('../../assets/fonts/Gilroy-Light.woff') format('woff'),
url('../../assets/fonts/Gilroy-Light.ttf') format('truetype');
font-weight: 300;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Gilroy';
src: local('Gilroy Regular'),
url('../../assets/fonts/Gilroy-Regular.eot?#iefix') format('embedded-opentype'),
url('../../assets/fonts/Gilroy-Regular.woff') format('woff'),
url('../../assets/fonts/Gilroy-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Gilroy';
src: local('Gilroy Medium'),
url('../../assets/fonts/Gilroy-Medium.eot?#iefix') format('embedded-opentype'),
url('../../assets/fonts/Gilroy-Medium.woff') format('woff'),
url('../../assets/fonts/Gilroy-Medium.ttf') format('truetype');
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Gilroy';
src: local('Gilroy SemiBold'),
url('../../assets/fonts/Gilroy-SemiBold.eot?#iefix') format('embedded-opentype'),
url('../../assets/fonts/Gilroy-SemiBold.woff') format('woff'),
url('../../assets/fonts/Gilroy-SemiBold.ttf') format('truetype');
font-weight: 600;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Gilroy';
src: local('Gilroy Bold'),
url('../../assets/fonts/Gilroy-Bold.eot?#iefix') format('embedded-opentype'),
url('../../assets/fonts/Gilroy-Bold.woff') format('woff'),
url('../../assets/fonts/Gilroy-Bold.ttf') format('truetype');
font-weight: 700;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Gilroy';
src: local('Gilroy Regular Italic'),
url('../../assets/fonts/Gilroy-RegularItalic.eot?#iefix') format('embedded-opentype'),
url('../../assets/fonts/Gilroy-RegularItalic.woff') format('woff'),
url('../../assets/fonts/Gilroy-RegularItalic.ttf') format('truetype');
font-weight: 400;
font-style: italic;
font-display: swap;
}

83
resources/css/theme.css Normal file
View File

@@ -0,0 +1,83 @@
@theme {
--breakpoint-xs: 480px;
--breakpoint-sm: 600px;
--breakpoint-md: 782px;
--breakpoint-lg: 960px;
--breakpoint-xl: 1280px;
--breakpoint-2xl: 1440px;
--color-primary: var(--wp--preset--color--primary);
--color-secondary: var(--wp--preset--color--secondary);
--color-dark: var(--wp--preset--color--dark);
--color-light: var(--wp--preset--color--light);
--text-xs: var(--wp--preset--font-size--xs, 0.75rem);
--text-sm: var(--wp--preset--font-size--sm, 0.875rem);
--text-base: var(--wp--preset--font-size--base, 1rem);
--text-lg: var(--wp--preset--font-size--lg, 1.125rem);
--text-xl: var(--wp--preset--font-size--xl, 1.25rem);
--text-2xl: var(--wp--preset--font-size--2xl, 1.5rem);
--text-3xl: var(--wp--preset--font-size--3xl, 1.875rem);
--text-4xl: var(--wp--preset--font-size--4xl, 2.25rem);
--text-5xl: var(--wp--preset--font-size--5xl, 3rem);
--text-6xl: var(--wp--preset--font-size--6xl, 3.75rem);
--text-7xl: var(--wp--preset--font-size--7xl, 4.5rem);
--text-8xl: var(--wp--preset--font-size--8xl, 6rem);
--text-9xl: var(--wp--preset--font-size--9xl, 8rem);
--font-family-sans: 'Gilroy', ui-sans-serif, system-ui, sans-serif;
}
html, body {
font-family: var(--font-family-sans);
color: #222;
}
.red-gradient {
background: linear-gradient(90deg, #e21e24 39.42%, #ff2f35 92.9%);
}
.dark-gradient {
background: linear-gradient(90deg, #2b2c35 39.42%, #6e7996 92.9%);
}
.grey-gradient {
background: linear-gradient(90deg, #9d9994 39.42%, #c5c5b9 92.9%);
}
.grey-gradient-hover {
background: linear-gradient(90deg, #9d9994 39.42%, #c5c5b9 92.9%);
background-size: 177% 100%;
background-position: 0% 0;
transition: background-position 180ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
.grey-gradient-hover:hover {
background-position: 39.42% 0;
transition: background-position 180ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
.red-gradient-hover {
background: linear-gradient(90deg, #e21e24 39.42%, #ff2f35 92.9%);
background-size: 177% 100%;
background-position: 0% 0;
transition: background-position 180ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
.red-gradient-hover:hover {
background-position: 39.42% 0;
transition: background-position 180ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
.dark-gradient-hover {
background: linear-gradient(90deg, #2b2c35 0%, #6e7996 53.48%);
background-size: 177% 100%;
background-position: 0% 0;
transition: background-position 180ms cubic-bezier(0.4, 0.0, 0.2, 1);
}
.dark-gradient-hover:hover {
background-position: 39.42% 0;
transition: background-position 180ms cubic-bezier(0.4, 0.0, 0.2, 1);
}

View File

@@ -0,0 +1,31 @@
@utility container {
max-width: 1330px;
padding-left: 5px;
padding-right: 5px;
}
@utility alignfull {
width: 100vw;
margin: 0 calc(50% - 50vw) !important;
}
@utility alignwide {
width: calc(200px + var(--wp--style--global--wide-size));
img {
width: 100%;
margin: 0 -100px 0 -100px !important;
}
}
@utility alignnone {
height: auto;
max-width: 100%;
margin-left: 0;
margin-right: 0;
}
@utility aligncenter {
margin: 0.5rem auto !important;
}

8
resources/js/app.js Normal file
View File

@@ -0,0 +1,8 @@
// Navigation toggle
window.addEventListener('load', function () {
let main_navigation = document.querySelector('#primary-menu');
document.querySelector('#primary-menu-toggle').addEventListener('click', function (e) {
e.preventDefault();
main_navigation.classList.toggle('hidden');
});
});

Some files were not shown because too many files have changed in this diff Show More