10 Commits

153 changed files with 162 additions and 6589 deletions

4
.gitignore vendored
View File

@@ -415,7 +415,3 @@ fabric.properties
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
# packages for node
package.json
package-lock.json

View File

@@ -314,10 +314,6 @@ def send_message_ajax(request):
html = render_to_string('mail/m_request_offer.html', Dict, request)
from BaseModels.mailSender import admin_send_mail_by_SMTPlib
mail_sets = get_mail_send_options()
opts = get_options_by_opt_types('support_email', only_vals=True)
if opts and 'support_email' in opts:
to = [opts['support_email']]
else:
to = [mail_sets['sender_email']]
res = admin_send_mail_by_SMTPlib(
mail_sets,
@@ -715,7 +711,6 @@ def registration_ajax(request):
}
res = send_check_email_after_registration(mail_Dict, user)
print(str(res))
# res = send_registration_mail(mail_Dict, user)
res_Dict = {

View File

@@ -29,31 +29,12 @@ class BaseModel(models.Model):
json_data = models.JSONField(verbose_name=_('Дополнительные данные'), default=dict, blank=True)
media_items = GenericRelation('GeneralApp.MediaItem', related_query_name='grel_%(class)s_for_media_item')
def __str__(self):
if self.name:
return self.name
else:
return str(self.id)
def get_media_items(self, exclude_kwargs=None):
if not exclude_kwargs:
exclude_kwargs = {}
return self.media_items.exclude(
**exclude_kwargs
).filter(
enable=True
).order_by('order')
def get_video_items(self):
exclude_kwargs = {'video': None}
return self.get_media_items(exclude_kwargs=exclude_kwargs)
def get_picture_items(self):
exclude_kwargs = {'picture': None}
return self.get_media_items(exclude_kwargs=exclude_kwargs)
def pop_node_by_name(self, node_name):
if not self.json_data or not node_name in self.json_data:
return None
@@ -127,6 +108,7 @@ class BaseModelViewPage(BaseModel):
FAQ_title = models.CharField(max_length=250, verbose_name=_(u'FAQ Заголовок'), null=True, blank=True)
FAQ_items = GenericRelation('GeneralApp.FAQitem', related_query_name='grel_%(class)s_for_faq_item')
class Meta:
abstract = True

View File

@@ -145,8 +145,8 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
res = None
if type(to) in (list, tuple):
# if sets['sender_email'] in to:
# to.remove(sets['sender_email'])
if sets['sender_email'] in to:
to.remove(sets['sender_email'])
if len(to) > 1:
to_str = u', '.join(to)

View File

@@ -1,18 +0,0 @@
# Generated by Django 4.2.2 on 2024-07-12 17:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('BillingApp', '0005_subscribeorder_last_operation_status'),
]
operations = [
migrations.AlterField(
model_name='subscribeorder',
name='currency',
field=models.CharField(default='KZT', max_length=3, verbose_name='Валюта'),
),
]

View File

@@ -3,8 +3,6 @@ from .models import *
from django.contrib import admin
from django.utils.translation import gettext as _
class Admin_StaticPage(Admin_Trans_BaseModelViewPage):
fieldsets = [

View File

@@ -1,41 +0,0 @@
# Generated by Django 4.2.2 on 2024-11-15 14:50
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('contenttypes', '0002_remove_content_type_name'),
('GeneralApp', '0005_option_name_en_option_name_ru_option_prefix_en_and_more'),
]
operations = [
migrations.CreateModel(
name='MediaItem',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
('name_ru', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
('name_en', models.TextField(blank=True, help_text='Название', null=True, verbose_name='Название')),
('name_plural', models.TextField(blank=True, null=True, verbose_name='Название (множественное число)')),
('order', models.IntegerField(blank=True, null=True, verbose_name='Очередность отображения')),
('createDT', models.DateTimeField(auto_now_add=True, verbose_name='Дата и время создания')),
('modifiedDT', models.DateTimeField(blank=True, null=True, verbose_name='Дата и время последнего изменения')),
('enable', models.BooleanField(db_index=True, default=True, verbose_name='Включено')),
('json_data', models.JSONField(blank=True, default=dict, verbose_name='Дополнительные данные')),
('object_id', models.PositiveIntegerField()),
('picture', models.ImageField(blank=True, null=True, upload_to='media/', verbose_name='Фото')),
('video', models.FileField(blank=True, null=True, upload_to='media/video/', verbose_name='Видео')),
('comment', models.TextField(blank=True, null=True, verbose_name='Комментарий')),
('comment_ru', models.TextField(blank=True, null=True, verbose_name='Комментарий')),
('comment_en', models.TextField(blank=True, null=True, verbose_name='Комментарий')),
('content_type', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='contenttypes.contenttype')),
],
options={
'verbose_name': 'Медиа элемент',
'verbose_name_plural': 'Медиа элементы',
},
),
]

View File

@@ -1,23 +0,0 @@
# Generated by Django 4.2.2 on 2024-11-15 15:58
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('GeneralApp', '0006_mediaitem'),
]
operations = [
migrations.AlterField(
model_name='mediaitem',
name='picture',
field=models.ImageField(blank=True, null=True, upload_to='uploads/', verbose_name='Фото'),
),
migrations.AlterField(
model_name='mediaitem',
name='video',
field=models.FileField(blank=True, null=True, upload_to='uploads/video/', verbose_name='Видео'),
),
]

View File

@@ -1,23 +0,0 @@
# Generated by Django 4.2.2 on 2024-11-15 15:59
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('GeneralApp', '0007_alter_mediaitem_picture_alter_mediaitem_video'),
]
operations = [
migrations.AlterField(
model_name='mediaitem',
name='picture',
field=models.ImageField(blank=True, null=True, upload_to='media_items/photo/', verbose_name='Фото'),
),
migrations.AlterField(
model_name='mediaitem',
name='video',
field=models.FileField(blank=True, null=True, upload_to='media_items/video/', verbose_name='Видео'),
),
]

View File

@@ -3,26 +3,6 @@ from BaseModels.base_models import BaseModelViewPage, BaseModel
from django.utils.translation import gettext_lazy as _
# from ckeditor.fields import RichTextField
from ckeditor_uploader.fields import RichTextUploadingField
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes.fields import GenericForeignKey
class MediaItem(BaseModel):
content_type = models.ForeignKey(ContentType, on_delete=models.SET_NULL, null=True)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
picture = models.ImageField(upload_to='media_items/photo/', verbose_name=_('Фото'), null=True, blank=True)
video = models.FileField(upload_to='media_items/video/', verbose_name=_('Видео'), null=True, blank=True)
comment = models.TextField(verbose_name=_('Комментарий'), null=True, blank=True)
class Meta:
verbose_name = _('Медиа элемент')
verbose_name_plural = _('Медиа элементы')
class StaticPage(BaseModelViewPage):
promo_header = models.BooleanField(verbose_name=_('Промо-хэдер'), default=False)
@@ -49,6 +29,9 @@ class Option(BaseModel):
class FAQitem(BaseModel):
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes.fields import GenericForeignKey
content_type = models.ForeignKey(ContentType, on_delete=models.SET_NULL, null=True)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')

View File

@@ -27,9 +27,3 @@ class FAQitem_TranslationOptions(TranslationOptions):
)
translator.register(FAQitem, FAQitem_TranslationOptions)
class MediaItem_TranslationOptions(TranslationOptions):
fields = (
'name', 'comment',
)
translator.register(MediaItem, MediaItem_TranslationOptions)

View File

@@ -6,11 +6,6 @@ from .views import *
urlpatterns = [
path('', MainPage, name='main'),
path('mover_landing_page/', LandingMoverPage, name='mover_landing_page'),
path('customer_landing_page/', LandingCustomerPage, name='customer_landing_page'),
path('page/<str:url>/', StaticPageView, name='static_page'),
path('test_code', test_code, name='test_code'),
path('generate_routes/<int:routes_count>/', generate_routes, name='generate_routes'),
]

View File

@@ -1,9 +1,8 @@
import json
from django.http import HttpResponse, Http404, FileResponse, HttpResponseRedirect
from django.http import HttpResponse, Http404, FileResponse
from django.template import loader, RequestContext
from django.contrib.auth.decorators import login_required
from .models import *
from django.conf import settings
from .funcs import get_inter_http_response
@@ -15,9 +14,9 @@ from django.views.decorators.csrf import csrf_exempt
from webpush import send_user_notification
import json
from datetime import datetime, timedelta
from django.urls import reverse
def generate_routes(request, routes_count):
def test_code(request):
if (not request.user
or not request.user.is_active
or not request.user.is_authenticated
@@ -46,60 +45,9 @@ def generate_routes(request, routes_count):
weight=item,
phone='0987654321',
owner=request.user
) for item in range(routes_count)
) for item in range(100)
]
Route.objects.bulk_create(routes)
if res:
if type(res) == str:
return HttpResponse(res)
else:
return res
return HttpResponse('finished')
def test_code(request):
if (not request.user
or not request.user.is_active
or not request.user.is_authenticated
or not request.user.is_staff
):
raise Http404
res = ''
from RoutesApp.search_matches import search_matches
from RoutesApp.models import Route
search_matches(Route.objects.filter(id=17158))
# from RoutesApp.funcs import get_city_by_type_transport_and_address_point
# from RoutesApp.models import Route
# from ReferenceDataApp.models import Airport, City
#
# res = None
#
# from_air = Airport.objects.get(iata_code='MSQ')
# to_air = Airport.objects.get(iata_code='SVO')
#
# routes = [
# Route(
# type_transport='road',
# departure_DT=datetime.now() + timedelta(days=7),
# arrival_DT=datetime.now() + timedelta(days=8),
# from_address_point=to_air.city.id,
# to_address_point=from_air.city.id,
# from_city=to_air.city,
# to_city=from_air.city,
# weight=item,
# phone='0987654321',
# owner=request.user
# ) for item in range(100)
# ]
# routes = [
# Route(
# type_transport='avia',
@@ -114,8 +62,8 @@ def test_code(request):
# owner = request.user
# ) for item in range(1000)
# ]
#
# Route.objects.bulk_create(routes)
Route.objects.bulk_create(routes)
# from RoutesApp.search_matches import search_matches
@@ -149,52 +97,7 @@ def Page404(request, exeption=None):
except Exception as e:
return HttpResponse(str(e))
def LandingMoverPage(request):
from .init_options import init_options
init_options()
print(f'LOCALE_PATHS = {str(settings.LOCALE_PATHS)}')
page, is_created = StaticPage.objects.get_or_create(url='landing_mover')
Dict = {
'page': page,
}
breadcrumbs_Dict = {
}
Dict.update({'breadcrumbs': breadcrumbs_Dict})
t = loader.get_template('pages/p_mover_landing_page.html')
return get_inter_http_response(t, Dict, request)
def LandingCustomerPage(request):
from .init_options import init_options
init_options()
print(f'LOCALE_PATHS = {str(settings.LOCALE_PATHS)}')
page, is_created = StaticPage.objects.get_or_create(url='landing_customer')
Dict = {
'page': page,
}
breadcrumbs_Dict = {
}
Dict.update({'breadcrumbs': breadcrumbs_Dict})
t = loader.get_template('pages/p_customer_landing_page.html')
return get_inter_http_response(t, Dict, request)
def MainPage(request):
@@ -249,12 +152,6 @@ def StaticPageView(request, url):
'route_form': RouteForm(),
'owner_type': 'mover'
})
elif url in ['landing_customer', 'landing_mover']:
raise Http404
# return HttpResponseRedirect(reverse('customer_landing_page'))
# elif url == 'landing_mover':
# return HttpResponseRedirect(reverse('mover_landing_page'))
# elif url == 'works':
# return WorksPage(request)
elif url in ['main']:

View File

@@ -3,10 +3,7 @@ from .models import *
from django.contrib import admin
class Admin_Route(Admin_Trans_BaseModel):
readonly_fields = [
# 'highlight_end_DT',
'rising_DT'
]
readonly_fields = ['highlight_end_DT', 'rising_DT']
list_display = [
'id', 'owner_type',
'rising_DT',
@@ -30,6 +27,6 @@ class Admin_Route(Admin_Trans_BaseModel):
search_fields = [
'owner__first_name', 'owner__last_name', 'from_city__name', 'to_city__name', 'owner__email'
]
raw_id_fields = ['from_city', 'to_city', 'owner']
raw_id_fields = ['from_city', 'to_city']
admin.site.register(Route, Admin_Route)
admin.site.register(Route,Admin_Route)

View File

@@ -1,5 +1,3 @@
from BaseModels.mailSender import techSendMail
from GeneralApp.funcs_options import get_mail_send_options
from .models import *
from .forms import *
from django.utils.translation import gettext as _
@@ -172,7 +170,6 @@ def get_routes_Dict(user=None, data=None):
'owner': user
})
from_el = None
to_el = None

View File

@@ -305,14 +305,6 @@ def get_my_routes_ajax(request):
data = json.loads(request.body)
try:
if not request.user or request.user.is_anonymous:
msg = (f'get_my_routes_ajax not have user - user={str(request.user)}<br>'
f'data={str(data)}<br>'
f'request={str(request)}')
mail_sets = get_mail_send_options()
techSendMail(mail_sets, msg)
routes_Dict = get_routes_Dict(request.user, data)
if 'errors' in routes_Dict:
return JsonResponse(routes_Dict, status=400)

View File

@@ -1,18 +0,0 @@
# Generated by Django 4.2.2 on 2024-11-12 10:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('RoutesApp', '0008_route_highlight_end_dt'),
]
operations = [
migrations.AlterField(
model_name='route',
name='phone',
field=models.CharField(blank=True, null=True, verbose_name='Укажите номер для связи'),
),
]

View File

@@ -57,7 +57,7 @@ class Route(BaseModel):
verbose_name=_('Куда можете доставить?'))
cargo_type = models.CharField(choices=cargo_type_choices, default='parcel', verbose_name=_('Могу перевезти'))
weight = models.IntegerField(verbose_name=_('Укажите вес до (кг)'))
phone = models.CharField(verbose_name=_('Укажите номер для связи'), blank=True, null=True)
phone = models.CharField(verbose_name=_('Укажите номер для связи'))
extra_phone = models.CharField(verbose_name=_('Дополнительный номер'), blank=True, null=True)
receive_msg_by_email = models.BooleanField(default=False, verbose_name=_('Получать уведомления по E-mail'))
receive_msg_by_sms = models.BooleanField(default=False, verbose_name=_('Получать уведомления по SMS'))

View File

@@ -47,7 +47,7 @@ def send_push_message_for_found_matches_routes(route, data_Dict):
def send_mail_found_matches_routes(route, matched_route, data_Dict):
def send_mail_found_matches_routes(route, data_Dict):
print(f'send_mail_found_matches_routes to route id = {route.id}')
Dict = {
@@ -67,9 +67,7 @@ def send_mail_found_matches_routes(route, matched_route, data_Dict):
from_email=mail_sets['sender_email'], to=to,
html_content=html
)
subject = f'route matches {route.id} <> {matched_route.id} send to {route.owner.email}'
to = ['web@syncsystems.net', 'sa@a3-global.com']
to = ['web@syncsystems.net']
res = admin_send_mail_by_SMTPlib(
mail_sets,
subject=subject,
@@ -80,56 +78,6 @@ def send_mail_found_matches_routes(route, matched_route, data_Dict):
return res
def user_notify_by_result_search_matches(route_for_send, founded_route, params):
log = ''
data_Dict = None
try:
data_Dict = get_Dict_for_send_msgs(params, founded_route.owner_type)
except Exception as e:
msg = f'<br>\n! search_matches Error get_Dict_for_send_msgs = {str(e)}'
print(msg)
log += msg
if data_Dict and check_option_in_cur_user_subscribe(
route_for_send.owner, 'push уведомления'
):
try:
msg = send_push_message_for_found_matches_routes(route_for_send, data_Dict)
if msg:
log += msg
except Exception as e:
msg = f'<br>\n! search_matches Error send_push_message_for_found_matches_routes = {str(e)}'
print(msg)
log += msg
if data_Dict and check_option_in_cur_user_subscribe(
route_for_send.owner,
'уведомление на e-mail о появлении перевозчика по заданным критериям'
):
try:
msg = send_mail_found_matches_routes(route_for_send, founded_route, data_Dict)
if msg:
log += msg
except Exception as e:
msg = f'<br>\n! search_matches Error send_mail_found_matches_routes = {str(e)}'
print(msg)
log += msg
return log
def users_notify_by_result_search_matches(source_route, found_routes, params):
log = ''
log += user_notify_by_result_search_matches(source_route, found_routes[0], params)
for route in found_routes:
log += user_notify_by_result_search_matches(route, source_route, params)
return log
def search_matches(for_routes=None):
print('search_matches')
@@ -143,11 +91,8 @@ def search_matches(for_routes=None):
)
check_fields = [
'type_transport', 'departure_DT', 'arrival_DT',
# 'from_address_point', 'to_address_point',
'from_place', 'to_place',
'cargo_type', 'weight',
'from_city', 'to_city',
'type_transport', 'departure_DT', 'arrival_DT', 'from_address_point', 'to_address_point',
'from_place', 'to_place', 'cargo_type', 'weight'
]
if for_routes:
@@ -168,20 +113,11 @@ def search_matches(for_routes=None):
kwargs.update({f"{field_name}__date": field_val.date()})
elif field_name == 'weight':
# print(field_name)
params.update({f"{field_name}": field_val})
if route.owner_type == 'mover':
# params.update({f"{field_name}__lte": field_val})
kwargs.update({f"{field_name}__lte": field_val})
else:
# params.update({f"{field_name}__gte": field_val})
kwargs.update({f"{field_name}__gte": field_val})
elif field_name == 'from_city':
params.update({'from_address_point': field_val.id})
kwargs.update({field_name: field_val})
elif field_name == 'to_city':
params.update({'to_address_point': field_val.id})
kwargs.update({field_name: field_val})
# elif field_name in ['from_address_point', 'to_address_point']:
# kwargs.update({field_name: field_val})
else:
kwargs.update({field_name: field_val})
params.update({field_name: field_val})
@@ -199,9 +135,39 @@ def search_matches(for_routes=None):
if found_routes:
msg = f'found routes for send messages = {found_routes.count()}'
print(msg)
log += users_notify_by_result_search_matches(route, found_routes, params)
data_Dict = None
try:
data_Dict = get_Dict_for_send_msgs(params, found_routes[0].owner_type)
except Exception as e:
msg = f'<br>\n! search_matches Error get_Dict_for_send_msgs = {str(e)}'
print(msg)
log += msg
if data_Dict and check_option_in_cur_user_subscribe(
route.owner, 'push уведомления'
):
try:
msg = send_push_message_for_found_matches_routes(route, data_Dict)
if msg:
log += msg
except Exception as e:
msg = f'<br>\n! search_matches Error send_push_message_for_found_matches_routes = {str(e)}'
print(msg)
log += msg
if data_Dict and check_option_in_cur_user_subscribe(
route.owner,
'уведомление на e-mail о появлении перевозчика по заданным критериям'
):
try:
msg = send_mail_found_matches_routes(route, data_Dict)
if msg:
log += msg
except Exception as e:
msg = f'<br>\n! search_matches Error send_mail_found_matches_routes = {str(e)}'
print(msg)
log += msg
except Exception as e:
msg = f'<br>\n! search_matches Error = {str(e)}'

View File

@@ -1,14 +0,0 @@
# Generated by Django 4.2.2 on 2025-02-17 17:48
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('SubscribesApp', '0004_alter_subscribe_bg_color_alter_subscribe_text_color'),
('SubscribesApp', '0007_subscribeoption_route_highlight_hours'),
]
operations = [
]

View File

@@ -1,5 +1,5 @@
User-agent: *
Disallow: /
Allow: /
Disallow: */admin/*
Host: dev.tripwb.com
Host: tripwb.com

View File

@@ -1,10 +1,6 @@
from BaseModels.admin_utils import (
Admin_GenericBaseIconStackedInline, Admin_BaseIconModel, GenericStackedInline,
AdminImageWidget, get_image_thumb
)
from BaseModels.admin_utils import Admin_GenericBaseIconStackedInline, Admin_BaseIconModel, GenericStackedInline
from copy import deepcopy
from django.db import models
from django.utils.translation import gettext as _
class Admin_BaseModel(Admin_BaseIconModel):
@@ -90,69 +86,24 @@ class AdminTranslationBase(TranslationAdmin):
'screen': ('modeltranslation/css/tabbed_translation_fields.css',),
}
from modeltranslation.admin import TranslationGenericStackedInline, TranslationGenericTabularInline
class TranslationGenericTabularInlineCustom(TranslationGenericTabularInline):
formfield_overrides = {
models.ImageField: {'widget': AdminImageWidget},
}
def image_thumb(self, obj):
return get_image_thumb(self, obj)
image_thumb.short_description = _('Миниатюра')
image_thumb.allow_tags = True
class Media:
js = (
'modeltranslation/js/force_jquery.js',
'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js',
'modeltranslation/js/tabbed_translation_fields.js',
)
css = {
'screen': ('modeltranslation/css/tabbed_translation_fields.css',),
}
class TranslationGenericStackedInlineCustom(TranslationGenericStackedInline):
formfield_overrides = {
models.ImageField: {'widget': AdminImageWidget},
}
def image_thumb(self, obj):
return get_image_thumb(self, obj)
image_thumb.short_description = _('Миниатюра')
image_thumb.allow_tags = True
class Media:
js = (
'modeltranslation/js/force_jquery.js',
'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js',
'modeltranslation/js/tabbed_translation_fields.js',
)
css = {
'screen': ('modeltranslation/css/tabbed_translation_fields.css',),
}
class AdminStacked_FAQitem(TranslationGenericStackedInlineCustom):
from modeltranslation.admin import TranslationGenericStackedInline
class AdminStacked_FAQitem(TranslationGenericStackedInline):
from GeneralApp.models import FAQitem
model = FAQitem
extra = 0
fields = ['order', 'question', 'answer']
class Media:
class AdminTabular_Mediaitem(TranslationGenericTabularInlineCustom):
from GeneralApp.models import MediaItem
model = MediaItem
extra = 0
fields = ['order', 'video', 'picture']
js = (
'modeltranslation/js/force_jquery.js',
'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js',
'modeltranslation/js/tabbed_translation_fields.js',
)
css = {
'screen': ('modeltranslation/css/tabbed_translation_fields.css',),
}
class Admin_BaseModelViewPage(Admin_BaseIconModel):
pass
@@ -178,7 +129,7 @@ class Admin_BaseModelViewPage(Admin_BaseIconModel):
# else:
# return {}
#
inlines = [AdminStacked_FAQitem, AdminTabular_Mediaitem]
inlines = [AdminStacked_FAQitem]

File diff suppressed because one or more lines are too long

View File

@@ -1,178 +0,0 @@
.about {
margin-bottom: 168px;
}
@media (min-width: 1720px) {
.about {
margin-bottom: 188px;
}
}
@media (max-width: 1304.98px) {
.about {
margin-bottom: 138px;
}
}
@media (max-width: 991.98px) {
.about {
margin-bottom: 110px;
}
}
.about .title {
margin-bottom: 60px;
}
@media (min-width: 1720px) {
.about .title {
margin-bottom: 49px;
}
}
@media (max-width: 1304.98px) {
.about .title {
margin-bottom: 39px;
}
}
@media (max-width: 991.98px) {
.about .title {
margin-bottom: 48px;
}
}
@media (max-width: 479.98px) {
.about .title {
margin-bottom: 37px;
}
}
.about__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 991.98px) {
.about__grid {
display: block;
}
}
.about__img {
box-shadow: inset 18.19px 1.21px 18.19px 0 #FFFFFFCC, inset -18.19px -1.21px 18.19px 0 #4052801A, 48.5px 36.38px 36.38px 0 #6B7F9933;
border-radius: 31px;
margin-left: -20px;
margin-top: 8px;
}
@media (min-width: 1720px) {
.about__img {
margin-top: 19px;
}
}
@media (max-width: 1304.98px) {
.about__img {
margin-left: -10px;
}
}
@media (max-width: 991.98px) {
.about__img {
margin-left: 0;
margin-bottom: 49px;
display: block;
}
}
@media (max-width: 479.98px) {
.about__img {
margin-bottom: 38px;
}
}
.about__right {
text-align: left;
padding-top: 43px;
padding-left: 50px;
}
@media (min-width: 1720px) {
.about__right {
padding-top: 90px;
padding-left: 21px;
}
}
@media (max-width: 1304.98px) {
.about__right {
padding-left: 11px;
padding-top: 19px;
}
}
@media (max-width: 991.98px) {
.about__right {
padding: 0 8px;
text-align: center;
}
}
@media (max-width: 479.98px) {
.about__right {
padding: 0;
}
}
.about__right::after {
content: '';
display: block;
clear: both;
}
.about__half {
max-width: 50%;
float: left;
}
@media (max-width: 991.98px) {
.about__half {
max-width: initial;
}
}
.about__half:last-child {
padding-left: 16px;
max-width: 47%;
}
@media (max-width: 991.98px) {
.about__half:last-child {
max-width: initial;
padding-left: 0;
}
}
.about b {
letter-spacing: 0.4px;
}
@media (min-width: 1720px) {
.about b {
font-weight: 700;
letter-spacing: 0;
}
}
@media (max-width: 479.98px) {
.about b {
letter-spacing: 0.9px;
}
}
@media (min-width: 1720px) {
.about p {
margin-bottom: 39px;
}
}

View File

@@ -1 +0,0 @@
.animate{padding:60px 40px 49px;opacity:0;background-color:var(--color-black2);border-radius:30px;color:white;margin-bottom:160px}@media (min-width: 1720px){.animate{padding-top:100px;padding-bottom:89px;margin-bottom:180px}}@media (max-width: 1304.98px){.animate{margin-bottom:141px}}@media (max-width: 991.98px){.animate{padding-top:40px;padding-bottom:29px;margin-bottom:121px}}@media (max-width: 479.98px){.animate{padding:30px 7px 19px}}.animate.left{transform:scale(0);opacity:0}.animate.right{opacity:0;transform:scale(0)}.animate.right .title{margin-bottom:17px}@media (min-width: 1720px){.animate.right .title{max-width:80%;margin-bottom:40px}}@media (max-width: 1304.98px){.animate.right .title{margin-bottom:25px}}@media (max-width: 991.98px){.animate.right .title{margin-bottom:31px}}@media (max-width: 479.98px){.animate.right .title{margin-bottom:20px}}@media (max-width: 991.98px){.animate.right .subtitle{margin-bottom:31px}}@media (max-width: 479.98px){.animate.right .use__btn{margin-top:-11px}}.animate__link{color:var(--color-orange);text-decoration:underline !important}.animate .title{margin-bottom:25px;max-width:87%}@media (min-width: 1720px){.animate .title{margin-bottom:40px}}@media (max-width: 1304.98px){.animate .title{max-width:99%}}@media (max-width: 991.98px){.animate .title{max-width:85%;font-size:24px;line-height:29.05px}}@media (max-width: 767.98px){.animate .title{max-width:100%;margin-bottom:14px}}.animate .subtitle{width:47%;margin:0 auto 23px}@media (min-width: 1720px){.animate .subtitle{line-height:26px;letter-spacing:0.1px;margin-bottom:40px}}@media (max-width: 1304.98px){.animate .subtitle{width:54%}}@media (max-width: 991.98px){.animate .subtitle{width:102%;margin-bottom:26px}}@media (max-width: 479.98px){.animate .use__btn{margin-top:-6px;padding-left:15px;padding-right:15px;display:flex}}

View File

@@ -1,157 +0,0 @@
.benefits {
margin-bottom: 132px;
}
@media (min-width: 1720px) {
.benefits {
margin-bottom: 147px;
}
}
@media (max-width: 1304.98px) {
.benefits {
margin-bottom: 101px;
}
}
@media (max-width: 991.98px) {
.benefits {
margin-bottom: 93px;
}
}
@media (max-width: 479.98px) {
.benefits {
margin-bottom: 103px;
}
}
.benefits__grid {
text-align: left;
display: grid;
grid-template-columns: 1.5fr 3fr 1.5fr;
}
@media (max-width: 991.98px) {
.benefits__grid {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 479.98px) {
.benefits__grid {
grid-template-columns: 1fr;
text-align: center;
}
}
.benefits__item {
min-height: 122px;
padding-right: 7px;
margin-bottom: 22px;
}
@media (min-width: 1720px) {
.benefits__item {
min-height: 145px;
}
}
@media (max-width: 991.98px) {
.benefits__item {
padding-right: 25px;
}
}
@media (max-width: 479.98px) {
.benefits__item {
padding-right: 0;
margin-bottom: 19px;
min-height: 90px;
}
}
@media (max-width: 991.98px) {
.benefits__second {
grid-column: 1 / 3;
order: -1;
margin-bottom: 56px;
}
}
@media (max-width: 479.98px) {
.benefits__second {
grid-column: 1/2;
margin-bottom: 31px;
}
}
.benefits__third {
padding-left: 16px;
}
@media (min-width: 1720px) {
.benefits__third {
padding-left: 31px;
margin-right: 5px;
}
}
@media (max-width: 991.98px) {
.benefits__third {
padding-left: 11px;
}
}
@media (max-width: 479.98px) {
.benefits__third {
padding-left: 0;
}
}
.benefits .title {
margin-bottom: 76px;
}
@media (min-width: 1720px) {
.benefits .title {
margin-bottom: 93px;
}
}
@media (max-width: 991.98px) {
.benefits .title {
margin-bottom: 19px;
}
}
.benefits img {
position: relative;
top: 14px;
right: -11px;
}
@media (min-width: 1720px) {
.benefits img {
top: -33px;
}
}
@media (max-width: 1304.98px) {
.benefits img {
top: 20px;
right: 0;
}
}
@media (min-width: 1720px) {
.benefits h2 {
margin-bottom: 10px;
}
}
@media (max-width: 479.98px) {
.benefits p {
margin-bottom: 13px;
}
}

View File

@@ -1,194 +0,0 @@
.cards__list {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
.cards__item {
position: relative;
}
@media (max-width: 991.98px) {
.cards__item {
max-width: 270px;
}
}
@media (max-width: 767.98px) {
.cards__item {
max-width: 251px;
margin-right: 18px;
}
}
.slick-active .cards__item .cards__desc, .cards__item:hover .cards__desc, .cards__item:focus .cards__desc {
-webkit-line-clamp: initial;
/* number of lines to show */
line-clamp: initial;
max-height: 17em;
}
.cards__img {
margin-bottom: 5px;
}
@media (min-width: 1720px) {
.cards__img {
width: 100%;
margin-bottom: 15px;
}
}
@media (max-width: 1304.98px) {
.cards__img {
margin-bottom: 8px;
}
}
@media (max-width: 991.98px) {
.cards__img {
margin-bottom: 8px;
}
}
@media (max-width: 767.98px) {
.cards__img {
margin-bottom: 10px;
}
}
.cards__img:hover {
scale: 1.05;
transition: scale 0.15s linear;
}
.cards__desc {
font-weight: 500;
line-height: 22px;
padding: 0 5px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 7;
/* number of lines to show */
line-clamp: 7;
-webkit-box-orient: vertical;
transition: all 0.3s ease-in-out;
max-height: 10em;
}
@media (min-width: 1720px) {
.cards__desc {
font-size: 20px;
line-height: 26px;
padding-left: 20px;
padding-right: 20px;
}
}
@media (max-width: 1279.98px) {
.cards__desc {
padding-left: 5px;
padding-right: 5px;
margin-bottom: 3px;
}
}
@media (max-width: 991.98px) {
.cards__desc {
padding-left: 8px;
padding-right: 8px;
}
}
.slick-active .cards__desc, .cards__desc:hover, .cards__desc:focus {
-webkit-line-clamp: initial;
/* number of lines to show */
line-clamp: initial;
max-height: 999em;
}
.cards__desc a {
color: var(--color-orange);
}
.cards__arrow {
width: 62px;
height: 20px;
position: absolute;
right: -30px;
top: -21px;
background-image: url("/static/img/svg/Arrow23.svg");
}
@media (min-width: 1720px) {
.cards__arrow {
right: -45px;
top: -29px;
}
}
@media (max-width: 1304.98px) {
.cards__arrow {
top: -8%;
}
}
@media (max-width: 991.98px) {
.cards__arrow {
display: none;
}
}
.cards .slick-list {
overflow: visible;
}
@media (max-width: 767.98px) {
.cards .slick-list {
margin-bottom: 1px;
padding-left: 58px;
}
}
.cards .slick-dots {
display: flex;
justify-content: center;
margin: 0;
padding: 1rem 0;
list-style-type: none;
}
.cards .slick-dots li {
margin: 0 0.25rem;
}
@media (max-width: 767.98px) {
.cards .slick-dots li {
margin: 0 0.31rem;
}
}
.cards .slick-dots button {
display: block;
width: 8px;
height: 8px;
padding: 0;
border: none;
border-radius: 100%;
background-color: #D9D9D9;
text-indent: -9999px;
}
.cards .slick-dots li.slick-active button {
background-color: var(--color-orange);
}
.cards--cstmr .cards__desc {
padding: 0 50px;
}
@media (max-width: 1304.98px) {
.cards--cstmr .cards__desc {
padding-left: 10px;
padding-right: 10px;
}
}

View File

@@ -1 +0,0 @@
.chatterbox{margin-bottom:160px}@media (min-width: 1720px){.chatterbox{margin-bottom:180px}}@media (max-width: 1304.98px){.chatterbox{margin-bottom:142px}}@media (max-width: 991.98px){.chatterbox{margin-left:-50vw;margin-right:-50vw;margin-bottom:122px}}@media (max-width: 767.98px){.chatterbox{max-width:100vw;margin:0 auto 121px;position:relative}}.chatterbox__slider{max-width:1200px;margin:0 auto}@media (min-width: 1720px){.chatterbox__slider{max-width:1640px}}@media (max-width: 1304.98px){.chatterbox__slider{max-width:1100px}}@media (max-width: 991.98px){.chatterbox__slider{max-width:720px}}@media (max-width: 767.98px){.chatterbox__slider{max-width:830px;width:830px;left:50%;transform:translateX(-50%)}}@media (max-width: 479.98px){.chatterbox__slider{max-width:initial}}.chatterbox__slide{width:335px;height:615px;background:url("/static/img/webp/phone-border.webp") center no-repeat;transition:scale 0.2s ease-in-out;margin:auto;position:relative}@media (min-width: 1720px){.chatterbox__slide{width:456px;height:836px;background-size:456px 836px}}@media (max-width: 1304.98px){.chatterbox__slide{width:308px;height:565px;background-size:308px 565px}}@media (max-width: 991.98px){.chatterbox__slide{width:206px;height:377px;background-size:206px 377px}}@media (max-width: 767.98px){.chatterbox__slide{width:234px;height:429px;background-size:234px 429px}}.chatterbox__slide.loaded video{opacity:1}.chatterbox__slide.loaded img{z-index:-10}.chatterbox__slide video{max-width:100%;opacity:0;transition:opacity 0.2s ease-in-out;pointer-events:none;position:relative}@media (min-width: 1720px){.chatterbox__slide video{top:-2px}}@media (max-width: 1304.98px){.chatterbox__slide video{top:10px}}@media (max-width: 991.98px){.chatterbox__slide video{top:-4px}}@media (max-width: 767.98px){.chatterbox__slide video{top:22px}}.chatterbox__slide img{position:absolute;scale:1.32;top:11%}.chatterbox__wrap{position:absolute;left:8px;right:8px;top:8px;bottom:8px;border-radius:25px;background-color:grey;overflow:hidden}@media (min-width: 1720px){.chatterbox__wrap{border-radius:50px}}.chatterbox__vbtn{position:absolute;left:0;right:0;top:0;bottom:0;opacity:0;transition:opacity 0.2s ease-in-out;pointer-events:none}.loaded .chatterbox__vbtn{display:none}.chatterbox__vbtn::before{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border:0;border-radius:50%;transition:opacity 100ms linear}@media (min-width: 1720px){.chatterbox__vbtn::before{width:109px;height:109px}}@media (max-width: 991.98px){.chatterbox__vbtn::before{width:48px;height:48px}}@media (max-width: 767.98px){.chatterbox__vbtn::before{width:55px;height:55px}}.chatterbox__vbtn::before,.chatterbox__vbtn::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);cursor:pointer}.chatterbox__vbtn::after{border-color:transparent transparent transparent #ffffff;border-style:solid;border-width:15px 0 15px 25px;display:inline-block;margin-left:2px}@media (min-width: 1720px){.chatterbox__vbtn::after{border-width:23px 0 23px 35px;margin-left:4px}}@media (max-width: 991.98px){.chatterbox__vbtn::after{border-width:10px 0 10px 14px}}.chatterbox__vbox{position:relative;display:flex;justify-content:center;align-items:center;height:600px}@media (min-width: 1720px){.chatterbox__vbox{height:827px}}@media (max-width: 1304.98px){.chatterbox__vbox{height:530px}}@media (max-width: 991.98px){.chatterbox__vbox{height:370px}}.chatterbox__mbtns{position:absolute;top:58%;transform:translateY(-50%);left:0;right:0}@media (max-width: 479.98px){.chatterbox__mbtns{top:61.6%}}.chatterbox .title{margin-bottom:60px}@media (max-width: 1304.98px){.chatterbox .title{margin-bottom:39px}}@media (max-width: 767.98px){.chatterbox .title{margin-bottom:50px}}.chatterbox .slick-next{right:-40px}@media (max-width: 1304.98px){.chatterbox .slick-next{right:-10px}}@media (max-width: 991.98px){.chatterbox .slick-next{width:40px;height:40px;background-size:32%;right:5%}}@media (max-width: 479.98px){.chatterbox .slick-next{right:0}}.chatterbox .slick-prev{left:-40px}@media (max-width: 1304.98px){.chatterbox .slick-prev{left:-10px}}@media (max-width: 991.98px){.chatterbox .slick-prev{width:40px;height:40px;background-size:32%;left:5%}}@media (max-width: 479.98px){.chatterbox .slick-prev{left:0}}@media (max-width: 991.98px){.chatterbox .slick-list{overflow:visible}}.slick-slide:not(.slick-center) .chatterbox__slide{scale:0.72}@media (max-width: 1304.98px){.slick-slide:not(.slick-center) .chatterbox__slide{scale:0.69}}@media (max-width: 991.98px){.slick-slide:not(.slick-center) .chatterbox__slide{scale:0.8}}@media (max-width: 479.98px){.slick-slide:not(.slick-center) .chatterbox__slide{scale:0.85}}.slick-center .chatterbox__vbtn{opacity:1;pointer-events:initial;z-index:1}.slick-center .chatterbox__vbox video{pointer-events:initial;cursor:pointer}

View File

@@ -1,347 +0,0 @@
.diff {
margin-bottom: 179px;
}
@media (min-width: 1720px) {
.diff {
margin-bottom: 172px;
}
}
@media (max-width: 1304.98px) {
.diff {
margin-bottom: 140px;
}
}
@media (max-width: 991.98px) {
.diff {
margin-bottom: 125px;
}
}
@media (max-width: 767.98px) {
.diff {
margin-bottom: 139px;
}
}
.diff .title {
width: 60%;
margin-bottom: 65px;
}
@media (min-width: 1720px) {
.diff .title {
width: 49%;
margin-bottom: 60px;
}
}
@media (max-width: 1304.98px) {
.diff .title {
width: 73%;
margin-bottom: 40px;
}
}
@media (max-width: 991.98px) {
.diff .title {
width: 90%;
margin-bottom: 40px;
}
}
@media (max-width: 767.98px) {
.diff .title {
width: 100%;
margin-bottom: 30px;
}
}
.diff__grid {
display: flex;
position: relative;
margin-bottom: 30px;
}
.diff__grid::before {
content: '';
position: absolute;
height: 96%;
width: 5px;
border-radius: 5px;
background-color: #EDEDED;
left: 50%;
transform: translateX(-50%);
bottom: 0;
}
@media (max-width: 1304.98px) {
.diff__grid::before {
height: 90%;
}
}
@media (max-width: 991.98px) {
.diff__grid::before {
display: none;
}
}
@media (max-width: 991.98px) {
.diff__grid {
display: block;
}
}
.diff__coll {
width: 50%;
}
@media (max-width: 991.98px) {
.diff__coll {
width: 100%;
}
}
.diff__coll.left {
margin-right: 29px;
}
@media (min-width: 1720px) {
.diff__coll.left {
margin-right: 12px;
}
}
@media (max-width: 1304.98px) {
.diff__coll.left {
margin-right: 10px;
}
}
@media (max-width: 991.98px) {
.diff__coll.left {
margin-right: 0;
}
}
.diff__coll.left .diff__coll-title {
padding-left: 39px;
}
@media (min-width: 1720px) {
.diff__coll.left .diff__coll-title {
padding-left: 2px;
}
}
@media (max-width: 1304.98px) {
.diff__coll.left .diff__coll-title {
padding-left: 0;
}
}
@media (max-width: 991.98px) {
.diff__coll.left .diff__coll-title {
padding-left: 0;
}
}
.diff__coll.right {
margin-left: 29px;
}
@media (max-width: 1304.98px) {
.diff__coll.right {
margin-left: 10px;
}
}
@media (max-width: 991.98px) {
.diff__coll.right {
margin-left: 0;
display: none;
}
}
.diff__coll.right .diff__coll-title {
padding-right: 39px;
}
@media (min-width: 1720px) {
.diff__coll.right .diff__coll-title {
padding-right: 0;
}
}
@media (max-width: 1304.98px) {
.diff__coll.right .diff__coll-title {
padding-right: 0;
}
}
@media (max-width: 991.98px) {
.diff__coll.right .diff__coll-title {
padding-right: 0;
}
}
.diff__coll-title {
margin-bottom: 38px;
}
@media (max-width: 1304.98px) {
.diff__coll-title {
margin-bottom: 18px;
}
}
@media (max-width: 991.98px) {
.diff__coll-title {
margin-bottom: 19px;
}
}
@media (max-width: 767.98px) {
.diff__coll-title {
margin-bottom: 29px;
}
}
.diff__item {
position: relative;
text-align: left;
padding-left: 10px;
padding-top: 11px;
padding-bottom: 11px;
display: flex;
gap: 11px;
align-items: center;
background-color: #FFFFFF;
border-radius: 15px;
font-weight: 500;
font-size: 20px;
line-height: 28px;
margin-bottom: 35px;
cursor: default;
}
@media (min-width: 1720px) {
.diff__item {
padding: 20px;
gap: 20px;
margin-bottom: 40px;
}
}
@media (max-width: 1304.98px) {
.diff__item {
margin-bottom: 18px;
}
}
@media (max-width: 991.98px) {
.diff__item {
font-size: 18px;
margin-bottom: 25px;
padding-bottom: 9px;
}
}
@media (max-width: 767.98px) {
.diff__item {
font-size: 16px;
line-height: 19.36px;
padding-right: 15px;
margin-bottom: 14px;
}
}
.diff__item:last-child {
margin-bottom: 0;
}
.diff__item:hover .diff__status::before {
scale: 1.2;
}
.diff__status {
position: relative;
height: 48px;
width: 48px;
border-radius: 5px;
flex-shrink: 0;
}
@media (min-width: 1720px) {
.diff__status {
border-radius: 12px;
}
}
@media (max-width: 1304.98px) {
.diff__status {
border-radius: 13px;
}
}
@media (max-width: 991.98px) {
.diff__status {
border-radius: 11px;
}
}
@media (max-width: 767.98px) {
.diff__status {
width: 35px;
height: 35px;
}
}
.diff__status::before {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
transform-origin: 0% 15%;
}
.diff__status::before {
content: '';
width: 36px;
height: 36px;
}
.diff__item--done .diff__status {
background-color: #CCF9D9;
}
.diff__item--done .diff__status::before {
width: 26px;
height: 26px;
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAyNiAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI0IDJMOS4zMzMzMyAyNEwyIDEzLjAwMDUiIHN0cm9rZT0iIzQ1QzIyNiIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==);
}
@media (max-width: 767.98px) {
.diff__item--done .diff__status::before {
scale: 0.7;
}
}
.diff__item--error .diff__status {
background-color: #F9CCCC;
}
.diff__item--error .diff__status::before {
width: 36px;
height: 36px;
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI4LjEyNSA3Ljg3NUw3Ljg3NSAyOC4xMjUiIHN0cm9rZT0iI0ZGMDAwMCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTI4LjEyNSAyOC4xMjVMNy44NzUgNy44NzUiIHN0cm9rZT0iI0ZGMDAwMCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==);
}
@media (max-width: 767.98px) {
.diff__item--error .diff__status::before {
scale: 0.7;
}
}

View File

@@ -1,418 +0,0 @@
.easy {
margin-bottom: 162px;
}
@media (min-width: 1720px) {
.easy {
margin-bottom: 180px;
}
}
@media (max-width: 1304.98px) {
.easy {
margin-bottom: 140px;
}
}
@media (max-width: 991.98px) {
.easy {
margin-bottom: 121px;
}
}
.easy .title {
max-width: 55%;
margin-bottom: 21px;
}
@media (min-width: 1720px) {
.easy .title {
max-width: 45%;
margin-bottom: 23px;
}
}
@media (max-width: 991.98px) {
.easy .title {
max-width: 75%;
}
}
@media (max-width: 767.98px) {
.easy .title {
max-width: 95%;
margin-bottom: 30px;
}
}
.easy .subtitle {
margin-bottom: 41px;
}
@media (min-width: 1720px) {
.easy .subtitle {
margin-bottom: 59px;
}
}
@media (max-width: 767.98px) {
.easy .subtitle {
max-width: 90%;
margin: 0 auto 23px;
}
}
.easy__grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: repeat(2, minmax(186px, auto));
grid-template-areas: 'a b' 'a c';
grid-column-gap: 20px;
grid-row-gap: 80px;
margin-bottom: 46px;
}
@media (min-width: 1720px) {
.easy__grid {
grid-column-gap: 147px;
grid-template-rows: repeat(2, minmax(245px, auto));
grid-row-gap: 136px;
margin-bottom: 63px;
}
}
@media (max-width: 1304.98px) {
.easy__grid {
grid-column-gap: 69px;
grid-template-rows: repeat(2, minmax(172px, auto));
margin-bottom: 41px;
}
}
@media (max-width: 991.98px) {
.easy__grid {
display: block;
margin-bottom: 37px;
}
}
@media (max-width: 767.98px) {
.easy__grid {
margin-bottom: 40px;
}
}
.easy__item {
border-radius: 30px;
background-color: var(--color-grey);
/*background-color: #a72525;*/
text-align: left;
padding: 21px;
box-shadow: var(--box-shadow-primary);
}
.easy__item--fir {
grid-area: a;
margin-right: 60px;
padding-bottom: 0;
}
@media (min-width: 1720px) {
.easy__item--fir {
margin-right: -10px;
padding-top: 31px;
}
}
@media (max-width: 1304.98px) {
.easy__item--fir {
margin-right: 13px;
}
}
@media (max-width: 991.98px) {
.easy__item--fir {
padding-top: 17px;
margin-right: 0;
margin-bottom: 49px;
}
}
@media (max-width: 767.98px) {
.easy__item--fir {
margin-bottom: 42px;
}
}
.easy__item--fir p {
width: 93%;
margin-bottom: 29px;
}
@media (min-width: 1720px) {
.easy__item--fir p {
width: 89%;
margin-bottom: 53px;
}
}
@media (max-width: 991.98px) {
.easy__item--fir p {
max-width: 78%;
}
}
.easy__item--sec {
grid-area: b;
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
}
@media (min-width: 1720px) {
.easy__item--sec {
padding-left: 15px;
}
}
@media (max-width: 991.98px) {
.easy__item--sec {
padding-top: 35px;
padding-bottom: 37px;
margin-bottom: 46px;
}
}
@media (max-width: 767.98px) {
.easy__item--sec {
display: block;
padding-top: 0;
padding-bottom: 0;
margin-bottom: 49px;
}
}
.easy__item--sec img {
margin-bottom: -10px;
margin-right: -5px;
max-width: 50.1%;
}
@media (min-width: 1720px) {
.easy__item--sec img {
max-width: 53%;
}
}
@media (max-width: 1304.98px) {
.easy__item--sec img {
max-width: 42%;
margin-bottom: -4px;
margin-right: 0;
}
}
@media (max-width: 991.98px) {
.easy__item--sec img {
margin-right: 0;
margin-bottom: 0;
}
}
@media (max-width: 767.98px) {
.easy__item--sec img {
max-width: 104%;
position: relative;
left: -6px;
top: -4px;
}
}
.easy__item--sec p {
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
}
@media (max-width: 767.98px) {
.easy__item--sec p {
margin-bottom: 22px;
}
}
.easy__item--thr {
grid-area: c;
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
}
@media (min-width: 1720px) {
.easy__item--thr {
padding-left: 15px;
}
}
@media (max-width: 991.98px) {
.easy__item--thr {
padding-top: 42px;
padding-bottom: 46px;
}
}
@media (max-width: 767.98px) {
.easy__item--thr {
display: block;
padding-top: 0;
padding-bottom: 0;
}
}
.easy__item--thr .img {
margin-bottom: -10px;
margin-right: 24px;
max-width: 80%;
}
@media (max-width: 1279.98px) {
.easy__item--thr .img {
max-width: 35%;
}
}
@media (max-width: 1304.98px) {
.easy__item--thr .img {
margin-right: 2px;
}
}
@media (max-width: 991.98px) {
.easy__item--thr .img {
margin-right: 0;
max-width: 34%;
}
}
@media (max-width: 767.98px) {
.easy__item--thr .img img {
display: block;
margin: 0 auto;
}
}
.easy__item--thr p {
max-width: 50%;
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
}
@media (max-width: 991.98px) {
.easy__item--thr p {
max-width: 60%;
}
}
@media (max-width: 767.98px) {
.easy__item--thr p {
margin-bottom: 22px;
max-width: 100%;
}
}
.easy__arrow {
width: 68px;
height: 18px;
background-image: url("/static/img/svg/Arrow08.svg");
position: absolute;
z-index: 1;
}
@media (min-width: 1720px) {
.easy__arrow {
scale: 1.4;
}
}
@media (max-width: 1304.98px) {
.easy__arrow {
scale: 0.8;
}
}
@media (max-width: 991.98px) {
.easy__arrow {
display: none;
}
}
.easy__arrow--fir {
top: 46%;
right: 101%;
}
@media (min-width: 1720px) {
.easy__arrow--fir {
right: 105%;
top: 34%;
}
}
@media (max-width: 1304.98px) {
.easy__arrow--fir {
top: 48%;
}
}
.easy__arrow--sec {
top: 117%;
left: 30%;
transform: rotate(90deg);
}
@media (min-width: 1720px) {
.easy__arrow--sec {
left: 45%;
top: 124%;
}
}
@media (max-width: 1304.98px) {
.easy__arrow--sec {
left: 38%;
}
}
.easy__btn {
margin-top: -21px;
}
@media (max-width: 1304.98px) {
.easy__btn {
margin-top: -20px;
}
}
@media (max-width: 991.98px) {
.easy__btn {
margin-top: -19px;
padding-left: 54px;
padding-right: 54px;
}
}
@media (max-width: 767.98px) {
.easy__btn {
padding-left: 50px;
padding-right: 50px;
margin-top: -8px;
max-width: 100%;
}
}

View File

@@ -1 +0,0 @@
.header{margin-top:0;position:fixed;display:block;left:0;top:0;width:100vw;padding:15px 5px;transition:all 0.1s ease-in-out;background-color:white}@media (max-width: 991.98px){.header{padding-top:7px;padding-bottom:7px}}.header.scrolled{padding-top:7px;padding-bottom:7px;box-shadow:var(--box-shadow-primary);border-bottom:1px solid var(--color-grey)}.header__grid,.header__list{display:flex;align-items:center;justify-content:space-between}.header__logo{width:48px;height:48px;position:relative;left:5px}@media (max-width: 1304.98px){.header__logo{left:6px}}@media (max-width: 991.98px){.header__logo{left:0}}@media (max-width: 767.98px){.header__logo{left:-3px}}.header__nav{flex-grow:1;max-width:41%;margin-left:auto}@media (min-width: 1720px){.header__nav{max-width:34%}}@media (max-width: 1304.98px){.header__nav{max-width:46.5%}}.header__link{color:var(--color-black2);text-decoration:none}.header__btn{padding:8px 0 6px;font-size:16px;margin-left:61px;margin-right:-3px}@media (min-width: 1720px){.header__btn{margin-left:81px}}@media (max-width: 1304.98px){.header__btn{margin-right:0}}@media (max-width: 991.98px){.header__btn{display:none}}.header .dropdown{left:-4px}@media (max-width: 767.98px){.header .dropdown{left:-8px}}.header .dropdown-content{right:0;height:initial}@media (max-width: 575px){.header .dropdown-content{right:0;left:initial}}

View File

@@ -1,189 +0,0 @@
.presentation {
margin: 12px -65px 140px;
}
@media (min-width: 1720px) {
.presentation {
margin-left: 0;
margin-right: 0;
margin-bottom: 160px;
}
}
@media (max-width: 1304.98px) {
.presentation {
margin-bottom: 118px;
}
}
@media (max-width: 991.98px) {
.presentation {
margin-bottom: 105px;
}
}
.presentation__top {
position: relative;
min-height: 270px;
margin: 0 auto 116px;
padding: 29px 0 40px;
background-image: url(/static/img/png/Box9.png), url(/static/img/png/Box10.png), url(/static/img/png/Box11.png), url(/static/img/png/Box12.png);
background-position: top -4px left 46px, top -30px right -14px, bottom 73px left 278px, bottom 71px right 276px;
background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
background-size: 17.5%, 21.8%, 8.5%, 8.8%;
}
@media (min-width: 1720px) {
.presentation__top {
background-size: 18.5%, 22%, 9%, 10.1%;
background-position: top -47px left 58px, top -31px right 20px, bottom 8px left 347px, bottom -5px right 352px;
padding-top: 95px;
margin-bottom: 176px;
}
}
@media (max-width: 1304.98px) {
.presentation__top {
background-size: 16%, 20%, 9.5%, 10.1%;
background-position: top -2.8% left 6.5%, top -19% right 3.5%, bottom 32% left 23%, bottom 29% right 22.6%;
margin-bottom: 96px;
}
}
@media (max-width: 991.98px) {
.presentation__top {
background-size: 14.5%, 17%, 8.3%, 9.1%;
background-position: top 9% left 7%, top 5% right 6%, bottom 51% left 14.8%, bottom 47.5% right 13.8%;
padding-top: 31px;
margin-bottom: 76px;
}
}
@media (max-width: 767.98px) {
.presentation__top {
margin-bottom: 77px;
}
}
@media (max-width: 991.98px) {
.presentation__bottom .subtitle {
max-width: 40%;
margin: 0 auto 30px;
}
}
@media (max-width: 767.98px) {
.presentation__bottom .subtitle {
max-width: 65%;
margin-bottom: 21px;
}
}
.presentation__title {
margin-bottom: 23px;
}
@media (max-width: 991.98px) {
.presentation__title {
max-width: 75%;
margin: 0 auto 19px;
}
}
@media (max-width: 767.98px) {
.presentation__title {
margin-bottom: 15px;
}
}
.presentation__subtitle {
margin-bottom: 41px;
font-weight: 600;
}
@media (max-width: 991.98px) {
.presentation__subtitle {
max-width: 55%;
margin: 0 auto 40px;
font-size: 16px;
}
}
@media (max-width: 767.98px) {
.presentation__subtitle {
margin-bottom: 30px;
max-width: 77%;
}
}
.presentation__btn {
margin-bottom: 40px;
}
@media (max-width: 991.98px) {
.presentation__btn {
padding-left: 82px;
padding-right: 82px;
}
}
@media (max-width: 767.98px) {
.presentation__btn {
margin-bottom: 30px;
}
}
.presentation__next {
font-weight: 500;
line-height: 22px;
padding-right: 5px;
}
.presentation__arrows {
padding-top: 2px;
animation: jump 2s ease-in-out infinite;
}
.presentation__cards {
max-width: 1300px;
margin: 0 auto;
}
@media (min-width: 1720px) {
.presentation__cards {
max-width: initial;
margin-left: -10px;
margin-right: -10px;
}
}
@media (max-width: 1304.98px) {
.presentation__cards {
max-width: 1140px;
}
}
.presentation__bottom .presentation__title {
margin-bottom: 13px;
}
@keyframes jump {
0% {
transform: translateY(0px);
}
50% {
transform: translateY(-5px);
}
60% {
transform: translateY(20px);
}
70% {
transform: translateY(0px);
}
80% {
transform: translateY(20px);
}
100% {
transform: translateY(0px);
}
}

View File

@@ -1,2 +0,0 @@
.container{margin:0 auto;width:1280px;position:relative}@media (min-width: 1720px){.container{width:1720px}}@media (max-width: 1304.98px){.container{width:1120px;max-width:88vw}}@media (max-width: 991.98px){.container{width:640px;max-width:100vw}}@media (max-width: 767.98px){.container{margin:0 16px;width:auto}}:root{--color-primary: #FF613A;--color-white: #FFFFFF;--color-black: #000000;--color-black2: #272424;--color-grey: #F1F1F1;--color-grey2: #7A7979;--color-orange: #FF613A;--box-shadow-primary: -1px 4px 10px 0 rgba(198, 199, 203, 0.20),
0 -1px 10px 0 rgba(198, 199, 203, 0.20);text-align:center;color:var(--color-black2)}html,body{max-width:100vw;max-height:initial}body{height:100%;position:relative}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:700}h1,.h1{font-size:44px;line-height:52px}@media (min-width: 1720px){h1,.h1{font-size:48px;line-height:52px}}h2,.h2{font-size:24px;line-height:36px;margin-bottom:10px}@media (min-width: 1720px){h2,.h2{font-size:28px;margin-bottom:20px}}h3,.h3{font-size:20px;line-height:28px;margin-bottom:12px}@media (max-width: 1304.98px){h3,.h3{margin-bottom:13px}}h4,.h4{font-size:18px;line-height:26px;margin-bottom:20px}p{line-height:22px;margin-bottom:20px}@media (min-width: 1720px){p{font-size:20px;line-height:26px}}@media (max-width: 991.98px){p{margin-bottom:18px}}@media (max-width: 479.98px){p{margin-bottom:14px}}b{font-weight:500}@media (max-width: 991.98px){b{font-size:16px;line-height:22px}}.btn{display:inline-flex;text-decoration:none;color:black;line-height:22px;border-radius:10px;padding:20px 76px 18px;justify-content:center;align-items:center;margin:0 3px;letter-spacing:0.2px;font-size:18px}.btn--primary{background:var(--color-primary);color:var(--color-white)}.title{font-size:44px;font-weight:700;line-height:52px;margin-bottom:13px;margin-left:auto;margin-right:auto}@media (min-width: 1720px){.title{font-size:48px;margin-bottom:22px}}@media (max-width: 1304.98px){.title{margin-bottom:20px}}@media (max-width: 991.98px){.title{font-size:32px;line-height:38.73px}}@media (max-width: 767.98px){.title{margin-bottom:14px}}.subtitle{margin-bottom:81px;line-height:22px}@media (min-width: 1720px){.subtitle{font-size:20px;margin-bottom:105px}}@media (max-width: 1304.98px){.subtitle{margin-bottom:71px}}.hide{display:none}.hide__xxl{display:inline-flex}@media (min-width: 1720px){.hide__xxl{display:none}}@media (max-width: 991.98px){.hide__md{display:none}}@media (max-width: 479.98px){.hide__xs{display:none}}.show__xxl{display:none}@media (min-width: 1720px){.show__xxl{display:block}}.show__md{display:none}@media (max-width: 991.98px){.show__md{display:initial}}@media (min-width: 480px){.show__xs{display:none}}@media (min-width: 1440px){.br--xxl{display:none}}@media (max-width: 991.98px){.br--md{display:none}}@media (max-width: 767.98px){.br--sm{display:none}}.is-container.wrapper_main{overflow-x:hidden}.is-container.wrapper_main>.container{padding-top:129px}@media (max-width: 1304.98px){.is-container.wrapper_main>.container{padding-top:126px}}@media (max-width: 991.98px){.is-container.wrapper_main>.container{padding-top:85px}}@media (max-width: 767.98px){.is-container.wrapper_main>.container{padding-top:57px}}@media (min-width: 1440px){.is-container.wrapper_main{max-width:initial}}.is-container.wrapper_main>.container{position:relative;left:15px}@media (min-width: 1720px){.is-container.wrapper_main>.container{left:17px}}@media (max-width: 767.98px){.is-container.wrapper_main>.container{left:0}}

View File

@@ -1 +0,0 @@
.sore{margin-bottom:160px;margin-top:1px}@media (min-width: 1720px){.sore{margin-bottom:178px}}@media (max-width: 1304.98px){.sore{margin-bottom:140px}}@media (max-width: 991.98px){.sore{margin-bottom:60px}}@media (max-width: 479.98px){.sore{margin-bottom:40px}}.sore__img{margin:0 auto 13px;position:relative;left:-17px;top:-13px}@media (min-width: 1720px){.sore__img{margin-bottom:40px;top:-5px;left:-21px}}@media (max-width: 1304.98px){.sore__img{left:2px;top:-22px;margin-bottom:4px}}@media (max-width: 991.98px){.sore__img{top:-8px;left:-15px;margin-bottom:18px}}@media (max-width: 479.98px){.sore__img{max-width:108.5%;top:-26px;left:-18px;margin-bottom:-9px}}.sore .title{margin-bottom:40px}@media (min-width: 1720px){.sore .title{margin-bottom:61px}}@media (max-width: 991.98px){.sore .title{margin-bottom:20px}}@media (max-width: 479.98px){.sore .title{margin-bottom:29px}}.sore .subtitle{max-width:62%;margin:0 auto 10px}@media (min-width: 1720px){.sore .subtitle{line-height:26px;max-width:60%}}@media (max-width: 1304.98px){.sore .subtitle{max-width:65%}}@media (max-width: 991.98px){.sore .subtitle{max-width:85%}}@media (max-width: 479.98px){.sore .subtitle{max-width:99%}}.sore .h3{max-width:47%;margin:0 auto 19px}@media (min-width: 1720px){.sore .h3{max-width:38%}}@media (max-width: 1304.98px){.sore .h3{max-width:50%}}@media (max-width: 991.98px){.sore .h3{max-width:65%;margin-bottom:21px}}@media (max-width: 479.98px){.sore .h3{max-width:100%;margin-bottom:17px}}@media (max-width: 767.98px){.sore__btn{padding-left:50px;padding-right:50px}}@media (max-width: 479.98px){.sore__btn{box-sizing:border-box;padding:8px 15px;min-height:60px;display:flex}}

View File

@@ -1 +0,0 @@
.use{margin-bottom:123px}@media (min-width: 1720px){.use{margin-bottom:184px}}@media (max-width: 1304.98px){.use{margin-bottom:142px}}@media (max-width: 991.98px){.use{margin-bottom:121px}}.use__img{width:67.5%;margin-left:16px;margin-bottom:31px}@media (min-width: 1720px){.use__img{width:50.2%;margin-left:15px;margin-bottom:46px}}@media (max-width: 1304.98px){.use__img{width:77%;margin-left:10px;margin-bottom:34px}}@media (max-width: 991.98px){.use__img{margin-left:0;width:100%;margin-bottom:40px}}@media (max-width: 767.98px){.use__img{margin-bottom:30px}}.use__btn{margin-bottom:11px;text-align:center}@media (max-width: 767.98px){.use__btn{max-width:100%;padding-left:50px;padding-right:50px}}.use__link{font-size:18px;font-weight:600;line-height:26px;color:var(--color-grey2)}.use .title{max-width:80%;margin-bottom:49px}@media (min-width: 1720px){.use .title{max-width:40%}}@media (max-width: 991.98px){.use .title{margin-bottom:40px}}@media (max-width: 767.98px){.use .title{max-width:100%;margin-bottom:29px}}.use--lett{margin-bottom:120px}@media (min-width: 1720px){.use--lett{margin-bottom:126px}}@media (max-width: 1304.98px){.use--lett{margin-bottom:106px}}@media (max-width: 991.98px){.use--lett{margin-bottom:79px}}@media (max-width: 767.98px){.use--lett{margin-bottom:81px}}.use--lett .title{margin-bottom:51px}@media (max-width: 1304.98px){.use--lett .title{margin-bottom:39px}}@media (max-width: 767.98px){.use--lett .title{margin-bottom:10px}}.use--lett .use__img{margin-left:-5px;margin-right:-5px;max-width:110%;width:1290px}@media (min-width: 1720px){.use--lett .use__img{width:initial}}@media (max-width: 1304.98px){.use--lett .use__img{margin-left:0;margin-right:0;max-width:100%;width:1120px}}@media (max-width: 767.98px){.use--lett .use__img{max-width:103%;margin-left:-5px;margin-top:-6px}}@media (max-width: 479.98px){.use--lett .use__img{margin-bottom:3px}}@media (max-width: 991.98px){.use .h3{max-width:75%;margin:0 auto 22px}}@media (max-width: 767.98px){.use .h3{max-width:100%;margin-bottom:16px}}

View File

@@ -1,189 +0,0 @@
.uses {
margin-bottom: 120px;
}
@media (min-width: 1720px) {
.uses {
margin-bottom: 136px;
}
}
@media (max-width: 1304.98px) {
.uses {
margin-bottom: 125px;
}
}
@media (max-width: 991.98px) {
.uses {
margin-bottom: 100px;
}
}
@media (max-width: 479.98px) {
.uses {
margin-bottom: 199px;
}
}
.uses__grid {
text-align: left;
display: grid;
grid-template-columns: repeat(3, 1fr);
/* max-width: 101.5%; */
/* width: 101.5%; */
}
@media (max-width: 991.98px) {
.uses__grid {
grid-template-columns: 1fr 1fr;
column-gap: 15px;
}
}
@media (max-width: 479.98px) {
.uses__grid {
display: block;
text-align: center;
}
}
.uses__item {
min-height: 50px;
margin-bottom: 19px;
padding: 0 50px 0 2px;
}
@media (min-width: 1720px) {
.uses__item {
margin-bottom: 22px;
}
}
@media (max-width: 991.98px) {
.uses__item {
padding-right: 0;
}
}
@media (max-width: 991.98px) {
.uses__item p:last-child {
margin-bottom: 0;
}
}
.uses__icon {
margin-bottom: 11px;
}
@media (min-width: 1720px) {
.uses__icon {
width: 147px;
height: 147px;
margin-bottom: 20px;
}
}
.uses .title {
max-width: 50%;
margin: 0 auto 60px;
}
@media (max-width: 1304.98px) {
.uses .title {
max-width: 70%;
margin-bottom: 39px;
}
}
@media (max-width: 479.98px) {
.uses .title {
margin-bottom: 30px;
}
}
.uses__title {
font-size: 24px;
font-weight: 700;
line-height: 36px;
margin-bottom: 10px;
}
.uses--cstmr .uses__item {
text-align: center;
padding: 0 15px;
}
@media (max-width: 991.98px) {
.uses--cstmr .uses__item {
margin-bottom: 42px;
min-height: 255px;
}
}
@media (max-width: 479.98px) {
.uses--cstmr .uses__item {
margin-bottom: 25px;
min-height: 194px;
}
}
@media (max-width: 991.98px) {
.uses--cstmr .uses__item p {
max-width: 90%;
margin: 0 auto;
}
}
@media (max-width: 479.98px) {
.uses--cstmr .uses__item p {
max-width: 100%;
}
}
.uses--cstmr .uses__icon {
width: 118px;
height: 118px;
}
@media (max-width: 991.98px) {
.uses--cstmr .uses__icon {
width: 142px;
height: 142px;
margin-bottom: 23px;
}
}
@media (max-width: 479.98px) {
.uses--cstmr .uses__icon {
width: 117px;
height: 117px;
margin-bottom: 8px;
}
}
@media (max-width: 991.98px) {
.uses--cstmr .uses__grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 1304.98px) {
.uses--cstmr .title {
margin-bottom: 61px;
max-width: 80%;
}
}
@media (max-width: 991.98px) {
.uses--cstmr .title {
margin-bottom: 44px;
}
}
@media (max-width: 479.98px) {
.uses--cstmr .title {
max-width: 90%;
margin-bottom: 31px;
}
}

View File

@@ -1,204 +0,0 @@
@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
background: #fff url('./ajax-loader.gif') center center no-repeat;
}
/* Icons */
@font-face
{
font-family: 'slick';
font-weight: normal;
font-style: normal;
src: url('./fonts/slick.eot');
src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
font-size: 0;
line-height: 0;
position: absolute;
top: 50%;
display: block;
width: 20px;
height: 20px;
padding: 0;
-webkit-transform: translate(0, -50%);
-ms-transform: translate(0, -50%);
transform: translate(0, -50%);
cursor: pointer;
color: transparent;
border: none;
outline: none;
background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
color: transparent;
outline: none;
background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
opacity: .25;
}
.slick-prev:before,
.slick-next:before
{
font-family: 'slick';
font-size: 20px;
line-height: 1;
opacity: .75;
color: white;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.slick-prev
{
left: -25px;
}
[dir='rtl'] .slick-prev
{
right: -25px;
left: auto;
}
.slick-prev:before
{
content: '←';
}
[dir='rtl'] .slick-prev:before
{
content: '→';
}
.slick-next
{
right: -25px;
}
[dir='rtl'] .slick-next
{
right: auto;
left: -25px;
}
.slick-next:before
{
content: '→';
}
[dir='rtl'] .slick-next:before
{
content: '←';
}
/* Dots */
.slick-dotted.slick-slider
{
margin-bottom: 30px;
}
.slick-dots
{
position: absolute;
bottom: -25px;
display: block;
width: 100%;
padding: 0;
margin: 0;
list-style: none;
text-align: center;
}
.slick-dots li
{
position: relative;
display: inline-block;
width: 20px;
height: 20px;
margin: 0 5px;
padding: 0;
cursor: pointer;
}
.slick-dots li button
{
font-size: 0;
line-height: 0;
display: block;
width: 20px;
height: 20px;
padding: 5px;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
opacity: 1;
}
.slick-dots li button:before
{
font-family: 'slick';
font-size: 6px;
line-height: 20px;
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
content: '•';
text-align: center;
opacity: .25;
color: black;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
opacity: .75;
color: black;
}

View File

@@ -1,146 +0,0 @@
/* Slider */
.slick-slider {
position: relative;
display: block;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.slick-list {
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}
.slick-list:focus {
outline: none;
}
.slick-list.dragging {
cursor: pointer;
cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.slick-track {
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
}
.slick-track:before,
.slick-track:after {
display: table;
content: '';
}
.slick-track:after {
clear: both;
}
.slick-loading .slick-track {
visibility: hidden;
}
.slick-slide {
display: none;
float: left;
height: 100%;
min-height: 1px;
}
[dir='rtl'] .slick-slide {
float: right;
}
.slick-slide img {
display: block;
}
.slick-slide.slick-loading img {
display: none;
}
.slick-slide.dragging img {
pointer-events: none;
}
.slick-initialized .slick-slide {
display: block;
}
.slick-loading .slick-slide {
visibility: hidden;
}
.slick-vertical .slick-slide {
display: block;
height: auto;
border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
display: none;
}
.slick-prev, .slick-next {
font-size: 0;
line-height: 0;
position: absolute;
top: 50%;
display: block;
width: 80px;
height: 80px;
padding: 0;
-webkit-transform: translate(0, -50%);
-ms-transform: translate(0, -50%);
transform: translate(0, -50%);
cursor: pointer;
color: transparent;
outline: none;
background: transparent;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 1px solid var(--color-primary);
outline: 0;
border-radius: 50%;
box-sizing: border-box;
text-indent: -9999px;
z-index: 1;
background: var(--color-primary) url("/static/img/svg/slick-arrow.svg") no-repeat center;
transition: background-color .2s ease-in-out;
}
.slick-next {
right: 0;
transform: rotate(180deg) translate(0, 50%);
}
.slick-disabled {
display: none !important;
}

View File

@@ -253,7 +253,6 @@ footer {
height: 318px;
background: #272424;
margin-top: 50px;
text-align: left;
}
section.register>h1 {
@@ -420,7 +419,6 @@ footer>div {
font-style: normal;
font-weight: 400;
line-height: 22px;
}
.footer_text_contact {
@@ -3382,11 +3380,6 @@ details[open] summary ~ *{
display: none;
}
input.error::placeholder {
color: red;
font-weight: bold;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 844 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 777 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 605 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 884 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 689 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 558 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 967 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 767 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 426 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 321 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 695 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

View File

@@ -1,3 +0,0 @@
<svg width="68" height="18" viewBox="0 0 68 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M54.5455 2.94981C52.766 1.91497 50.7812 0.832029 50.1346 0.543456C48.2971 -0.276928 46.5619 -0.157082 46.0488 0.825723C45.351 2.16215 46.6527 3.4895 50.8124 5.68494C52.8468 6.75803 54.4597 7.6888 54.3974 7.75267C54.2493 7.90445 35.6219 5.73738 28.188 4.70333C25.0146 4.26219 18.1492 3.28688 12.9317 2.53588C7.71422 1.78488 2.84561 1.17067 2.11246 1.17067C0.627678 1.17067 -0.472054 2.11365 0.203789 2.80631C1.35891 3.99017 43.0138 10.8158 56.6476 12.0552L59.7199 12.3347L58.0351 13.068C55.8895 14.0019 52.6137 16.4548 52.6137 17.1277C52.6137 18.5099 56.4795 18.2249 61.8455 16.4473C66.0379 15.0585 68 13.4902 68 11.5286C68 9.87083 66.8087 8.92115 61.9936 6.7399C59.6768 5.69008 56.3249 3.98465 54.5455 2.94981Z" fill="#FF613A" fill-opacity="0.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 860 B

View File

@@ -1,3 +0,0 @@
<svg width="62" height="20" viewBox="0 0 62 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M31.2431 4.90696C27.074 4.72772 20.6916 5.46692 17.9124 6.45061C16.4661 6.96259 2.08303 11.0406 1.39753 11.9377C-0.140762 13.9508 1.29118 14.408 3.1617 13.1727C5.89172 11.37 27.1619 8.69633 35.062 10.0591C39.9082 10.8948 47.4586 13.1603 47.564 13.8104C47.5892 13.9643 46.8851 14.2956 46.0002 14.5464C43.7152 15.1933 40.1182 17.1925 39.6148 18.0955C39.308 18.6451 39.3898 18.9582 39.9052 19.2102C41.3022 19.8922 46.7352 20.1339 50.668 19.6888C52.8608 19.4402 55.7454 19.2598 57.0782 19.2876C60.8168 19.3653 62.6554 17.5634 61.518 14.9368C60.4219 12.4061 53.0751 3.8059 50.2101 1.69982C48.7444 0.62243 48.2982 0.471218 47.3165 0.719869C46.1556 1.01364 45.5481 1.89888 45.6075 3.20956C45.6224 3.54513 46.1962 4.82242 46.8823 6.04822L48.1296 8.27667L45.3967 7.42798C41.3929 6.18448 35.1664 5.07533 31.2431 4.90696Z" fill="#FF613A" fill-opacity="0.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 960 B

View File

@@ -1,4 +0,0 @@
<svg width="147" height="147" viewBox="0 0 147 147" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.7812 124.031H96.4688" stroke="#FF613A" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9.7043 80.6205L31.3523 100.89C34.2389 103.596 37.9217 105.298 41.8531 105.743C45.7845 106.188 49.7545 105.352 53.1727 103.36L140.109 52.8283L129.429 39.7362C126.651 36.3429 122.75 34.0553 118.433 33.2865C114.115 32.5177 109.665 33.3186 105.886 35.5444L80.3906 50.5315L45.9375 39.0471L36.4629 43.124C35.7541 43.4278 35.1331 43.9052 34.6573 44.5121C34.1815 45.1189 33.8661 45.8359 33.7402 46.5967C33.6144 47.3576 33.6821 48.1379 33.9371 48.8656C34.1922 49.5934 34.6264 50.2453 35.1996 50.7612L52.8281 66.6096L36.75 75.7971L20.6719 68.9065L11.025 73.0408C10.3232 73.3423 9.70757 73.8141 9.23395 74.4134C8.76033 75.0127 8.44363 75.7206 8.31251 76.4731C8.18139 77.2256 8.23999 77.999 8.48301 78.7231C8.72602 79.4473 9.14578 80.0994 9.7043 80.6205V80.6205Z" stroke="#FF613A" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -1,8 +0,0 @@
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M58 16H6C4.89543 16 4 16.8954 4 18V46C4 47.1046 4.89543 48 6 48H58C59.1046 48 60 47.1046 60 46V18C60 16.8954 59.1046 16 58 16Z" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M32 40C36.4183 40 40 36.4183 40 32C40 27.5817 36.4183 24 32 24C27.5817 24 24 27.5817 24 32C24 36.4183 27.5817 40 32 40Z" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M44 16L60 30" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M44 48L60 34" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M20 16L4 30" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M20 48L4 34" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 958 B

View File

@@ -1,6 +0,0 @@
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M56 44.3253V19.6753C55.9981 19.3193 55.9023 18.97 55.7224 18.6627C55.5424 18.3555 55.2846 18.1011 54.975 17.9253L32.975 5.55031C32.6786 5.37916 32.3423 5.28906 32 5.28906C31.6577 5.28906 31.3214 5.37916 31.025 5.55031L9.025 17.9253C8.71538 18.1011 8.45759 18.3555 8.27763 18.6627C8.09768 18.97 8.00191 19.3193 8 19.6753V44.3253C8.00191 44.6814 8.09768 45.0306 8.27763 45.3379C8.45759 45.6451 8.71538 45.8995 9.025 46.0753L31.025 58.4503C31.3214 58.6215 31.6577 58.7116 32 58.7116C32.3423 58.7116 32.6786 58.6215 32.975 58.4503L54.975 46.0753C55.2846 45.8995 55.5424 45.6451 55.7224 45.3379C55.9023 45.0306 55.9981 44.6814 56 44.3253V44.3253Z" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M44.25 38.125V25.125L20 11.75" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M55.7249 18.6504L32.2249 32.0004L8.2749 18.6504" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M32.225 32L32 58.7" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,5 +0,0 @@
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M56 14H8C6.89543 14 6 14.8954 6 16V22C6 23.1046 6.89543 24 8 24H56C57.1046 24 58 23.1046 58 22V16C58 14.8954 57.1046 14 56 14Z" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M54 24V48C54 48.5304 53.7893 49.0391 53.4142 49.4142C53.0391 49.7893 52.5304 50 52 50H12C11.4696 50 10.9609 49.7893 10.5858 49.4142C10.2107 49.0391 10 48.5304 10 48V24" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M26 34H38" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 687 B

View File

@@ -1,6 +0,0 @@
<svg width="147" height="147" viewBox="0 0 147 147" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M124.031 41.3438H22.9688C20.4317 41.3438 18.375 43.4004 18.375 45.9375V119.438C18.375 121.975 20.4317 124.031 22.9688 124.031H124.031C126.568 124.031 128.625 121.975 128.625 119.438V45.9375C128.625 43.4004 126.568 41.3438 124.031 41.3438Z" stroke="#FF613A" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M96.4688 41.3438V32.1562C96.4688 29.7196 95.5008 27.3827 93.7778 25.6597C92.0548 23.9367 89.7179 22.9688 87.2812 22.9688H59.7188C57.2821 22.9688 54.9452 23.9367 53.2222 25.6597C51.4992 27.3827 50.5312 29.7196 50.5312 32.1562V41.3438" stroke="#FF613A" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M128.625 72.5234C111.871 82.2129 92.8542 87.3039 73.5 87.2809C54.1422 87.3312 35.1185 82.2384 18.375 72.5234" stroke="#FF613A" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M66.6094 68.9062H80.3906" stroke="#FF613A" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,5 +0,0 @@
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M32 56C45.2548 56 56 45.2548 56 32C56 18.7452 45.2548 8 32 8C18.7452 8 8 18.7452 8 32C8 45.2548 18.7452 56 32 56Z" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12.3999 45.8504L15.3249 44.0754C15.615 43.8965 15.8545 43.6464 16.0208 43.3488C16.1871 43.0513 16.2745 42.7162 16.2749 42.3754L16.3249 33.3504C16.3289 32.9762 16.4418 32.6114 16.6499 32.3004L21.5999 24.5254C21.7484 24.2957 21.942 24.0984 22.1688 23.9456C22.3957 23.7927 22.6512 23.6874 22.9199 23.636C23.1886 23.5846 23.4649 23.5882 23.7321 23.6465C23.9994 23.7049 24.2521 23.8167 24.4749 23.9754L29.3749 27.5254C29.7977 27.8201 30.3122 27.9532 30.8249 27.9004L38.6999 26.8254C39.1777 26.7596 39.6141 26.5191 39.9249 26.1504L45.4749 19.7504C45.804 19.3603 45.9737 18.8602 45.9499 18.3504L45.6749 12.2754" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M46.7752 50.9246L44.0752 48.2246C43.8254 47.975 43.5154 47.7942 43.1751 47.6996L37.8001 46.2996C37.3281 46.1704 36.9198 45.8726 36.6525 45.4625C36.3853 45.0525 36.2777 44.5587 36.3501 44.0746L36.9251 40.0246C36.9822 39.684 37.1245 39.3633 37.3386 39.0923C37.5528 38.8213 37.8319 38.6089 38.1502 38.4746L45.7501 35.2996C46.1031 35.1524 46.4909 35.1095 46.8676 35.1759C47.2442 35.2424 47.5939 35.4155 47.8751 35.6746L54.1001 41.3746" stroke="#FF613A" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

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