diff --git a/apps/administration/templates/admin_panel.html b/apps/administration/templates/admin_panel.html index fef58da..4944164 100644 --- a/apps/administration/templates/admin_panel.html +++ b/apps/administration/templates/admin_panel.html @@ -10,14 +10,14 @@
-
Gestión de Usuarios
+
User Management
@@ -25,13 +25,13 @@
Gestión de Usuarios
-
Gestión de Formación
+
Training Management
@@ -39,13 +39,13 @@
Gestión de Formación
-
Gestión de Sitios Web
+
Website Management
diff --git a/apps/administration/views.py b/apps/administration/views.py index e57a3df..ecaa9e8 100644 --- a/apps/administration/views.py +++ b/apps/administration/views.py @@ -19,7 +19,7 @@ @require_staff_or_mentor def view_admin_panel(request): return render(request, 'admin_panel.html', { - 'page_title': 'Panel de Administrador', + 'page_title': 'Admin Panel', 'controllers': User.objects.all().order_by('first_name'), 'notifications': { 'visit': Visit.objects.count(), diff --git a/apps/api/templates/statistics.html b/apps/api/templates/statistics.html index 864550a..473f67f 100644 --- a/apps/api/templates/statistics.html +++ b/apps/api/templates/statistics.html @@ -6,7 +6,7 @@
-

{% now 'F' %} Horas

+

{% now 'F' %} Hours

{{ main_stats.month|duration|default:'N/A'|safe }}

@@ -14,7 +14,7 @@

{{ main_stats.month|duration|de
-

{% now 'Y' %} Horas

+

{% now 'Y' %} Hours

{{ main_stats.year|duration|default:'N/A'|safe }}

@@ -22,7 +22,7 @@

{{ main_stats.year|duration|def
-

Horas Totales

+

Total Hours

{{ main_stats.total|duration|default:'N/A'|safe }}

@@ -32,14 +32,14 @@

{{ main_stats.total|duration|de
-

Requisitos de Actividad

+

Activity Requirements

    -
  • Cualquier persona que ocupe un puesto de personal deberá completar al menos 5 horas de control o tiempo de instrucción cada mes calendario.
  • -
  • Cualquier controlador con al menos un endoso dentro de ARTCC deberá completar al menos 2 horas de tiempo de control cada mes calendario.
  • -
  • Cualquier controlador que no tenga un S2 o más, o un S1 sin ningún endoso para controlar dentro del ARTCC deberá completar al menos 1 hora de tiempo de capacitación cada mes calendario.
  • -
  • Cualquier controlador de un ARTCC que participe en el acuerdo de Privilegios de Visita Automática Mutua (MAVP) está exento del requisito de actividad no MAVP.
  • +
  • Any person holding a staff position shall complete at least 5 hours of controlling or instruction time each calendar month.
  • +
  • Any controller with at least one endorsement within the ARTCC shall complete at least 2 hours of controlling time each calendar month.
  • +
  • Any controller who does not hold a S2 or greater, or an S1 without any endorsements to control within the ARTCC shall complete at least 1 hour of training time each calendar month.
  • +
  • Any controller from an ARTCC participating in the Mutual Automatic Visiting Privileges (MAVP) agreement is exempt from the non-MAVP activity requirement.
-

Nota: Un estado de exención no lo exime de los requisitos de actividad mensual, sino que evita que se lo ponga automáticamente para ser eliminado de la lista.

+

Note: An exempt status does not exempt you from monthly activity requirements, rather it prevents you from being automatically put up for removal from the roster.

@@ -55,19 +55,19 @@

Requisitos de Actividad

- + {% for month in months %} - + {% endfor %} - + {% for user in main_users %} - + {% endif %} - - + + {% for resource in resources|get_value_from_dict:category.0 %} @@ -36,7 +36,7 @@
{{ category.0 }}
{% empty %} - + {% endfor %}
NombreName CID Rating{{ month }} Horas{{ month }} HoursExentoExempt
{{ user.user_obj.full_name }} {% if user.user_obj.main_role == 'VC' %}Visitante de {{ user.user_obj.home_facility }}{% endif %}{{ user.user_obj.full_name }} {% if user.user_obj.main_role == 'VC' %}Visitor from {{ user.user_obj.home_facility }}{% endif %} {{ user.user_obj.cid }} {{ user.user_obj.rating }} @@ -84,9 +84,9 @@

Requisitos de Actividad

{{ user.hours.current|duration|default:'N/A'|safe }} {% if user.user_obj.is_staff %} -   Personal +   Staff {% elif user.user_obj.activity_exempt %} -   Exento +   Exempt {% elif user.user_obj.status == 1 or user.user_obj.loa_last_month %}   LOA {% endif %} diff --git a/apps/api/views.py b/apps/api/views.py index f0941ee..c257229 100644 --- a/apps/api/views.py +++ b/apps/api/views.py @@ -30,7 +30,7 @@ def view_statistics(request): ] return render(request, 'statistics.html', { - 'page_title': 'Estadísticas', + 'page_title': 'Statistics', 'main_stats': main_stats, 'main_users': main_users, 'months': months, diff --git a/apps/event/templates/events.html b/apps/event/templates/events.html index 6550f66..52c8e64 100644 --- a/apps/event/templates/events.html +++ b/apps/event/templates/events.html @@ -5,7 +5,7 @@ {% block body %} {% if request.user_obj.is_staff %} {% endif %}
diff --git a/apps/event/views.py b/apps/event/views.py index f484776..0c86b28 100644 --- a/apps/event/views.py +++ b/apps/event/views.py @@ -41,7 +41,7 @@ def view_all_events(request): for event in events }) return render(request, 'events.html', { - 'page_title': 'Eventos', + 'page_title': 'Events', 'events': events, 'events_json': json_events, }) @@ -57,7 +57,7 @@ def view_archived_events(request): for event in events }) return render(request, 'archived_events.html', { - 'page_title': 'Eventos Archivados', + 'page_title': 'Archived Events', 'events': events, 'events_json': json_events, }) @@ -241,7 +241,22 @@ def unrequest_position(request, request_id): def assign_position(request, request_id): position_request = get_object_or_404(EventPositionRequest, id=request_id) if position_request.position.user != position_request.user: + if position_request.position.user is not None: + send_mail( + 'Event Position Unassigned', + render_to_string('emails/position_unassigned.html', {'position': position_request.position}), + os.getenv('NO_REPLY'), + [position_request.position.user.email], + ) position_request.assign() + + send_mail( + 'Event Position Assigned!', + render_to_string('emails/position_assigned.html', {'position': position_request.position}), + os.getenv('NO_REPLY'), + [position_request.user.email], + ) + position_request.user.event_requests.filter(position__event=position_request.position.event).delete() return HttpResponse(status=200) @@ -313,14 +328,6 @@ def embed_positions(request, event_id): name=position.name, value=position.user.full_name if position.user is not None else 'Unassigned', ) - if position.user is not None: - send_mail( - 'Event Position Assigned!', - render_to_string('emails/position_assigned.html', {'position': position}), - os.getenv('NO_REPLY'), - [position.user.email], - ) - embed.set_image(url=request.build_absolute_uri(event.banner)) webhook.add_embed(embed) webhook.execute() diff --git a/apps/pilots/templates/scenery.html b/apps/pilots/templates/scenery.html index 76c6e32..cccdbb2 100644 --- a/apps/pilots/templates/scenery.html +++ b/apps/pilots/templates/scenery.html @@ -3,7 +3,7 @@ {% block body %} {% if request.user_obj.is_staff %}
- +
{% endif %}
diff --git a/apps/pilots/views.py b/apps/pilots/views.py index 1c64792..59254ed 100644 --- a/apps/pilots/views.py +++ b/apps/pilots/views.py @@ -19,7 +19,7 @@ def view_scenery(request): scenery_sorted = {k: list(g) for k, g in groupby(sceneries, key=lambda scenery: scenery.get_simulator_display())} simulators = Scenery._meta.get_field('simulator').choices return render(request, 'scenery.html', { - 'page_title': 'Paisaje', + 'page_title': 'Scenery', 'sceneries': scenery_sorted, 'simulators': simulators }) diff --git a/apps/resource/templates/resources.html b/apps/resource/templates/resources.html index 4289478..11ac88d 100644 --- a/apps/resource/templates/resources.html +++ b/apps/resource/templates/resources.html @@ -4,7 +4,7 @@ {% block body %} {% if request.user_obj.is_staff %}
- +
{% endif %}
@@ -14,7 +14,7 @@
{{ category.0 }}
-

{{ resources|get_value_from_dict:category.0|length }} Recurso{{ resources|get_value_from_dict:category.0|length|pluralize }}

+

{{ resources|get_value_from_dict:category.0|length }} Resource{{ resources|get_value_from_dict:category.0|length|pluralize }}

@@ -23,8 +23,8 @@
{{ category.0 }}
{% if request.user_obj.is_staff %}
ActualizadoArchivoUpdatedFile
{{ resource.name }}
¡No se encontraron recursos!No resources found!
diff --git a/apps/resource/views.py b/apps/resource/views.py index cc10249..b84485f 100644 --- a/apps/resource/views.py +++ b/apps/resource/views.py @@ -15,7 +15,7 @@ def view_resources(request): resources_sorted = {k: list(g) for k, g in groupby(resources, key=lambda resource: resource.category)} categories = Resource._meta.get_field('category').choices return render(request, 'resources.html', { - 'page_title': 'Recursos', + 'page_title': 'Resources', 'resources': resources_sorted, 'categories': categories }) diff --git a/apps/training/templates/training_center.html b/apps/training/templates/training_center.html index 1e3f3c7..90d03bb 100644 --- a/apps/training/templates/training_center.html +++ b/apps/training/templates/training_center.html @@ -5,7 +5,7 @@
-
Endosos
+
Endorsements
@@ -66,14 +66,14 @@
-
Estadísticas
+
Statistics
-

Sesiones

+

Sessions

{{ user.student_sessions.all|length|default:'N/A' }}

-

Tiempo Total

+

Total Training Time

{{ training_time|duration|default:'N/A' }}

@@ -83,7 +83,7 @@

{{ training_time|duration|default:'
-
Solicitudes de Formación
+
Training Requests

@@ -94,10 +94,10 @@

{{ training_time|duration|default:'Disponibilidad -

- - + + + + @@ -109,17 +109,17 @@

{{ training_time|duration|default:' {% empty %} -

+ {% endfor %}
NivelTipoCancelarAvailabilityLevelTypeCancel
No tienes ninguna solicitud de formación pendiente.You do not have any pending training requests.
- +
-
Historial de Sesiones
+
Session History
@@ -131,11 +131,11 @@

{{ training_time|duration|default:'Fecha / hora -

- + + + - + @@ -158,7 +158,7 @@

{{ training_time|duration|default:'{{ session.get_status_display }} {% empty %} -

+ {% endfor %}
NivelTipoDate / TimeLevelType InstructorEstadoStatus
Aún no ha tenido una sesión, ¿por qué no programar una?You have not had a session yet, why not schedule one?
diff --git a/apps/training/views.py b/apps/training/views.py index 7e5136f..f2d1afc 100644 --- a/apps/training/views.py +++ b/apps/training/views.py @@ -24,7 +24,7 @@ def view_training_center(request): sessions = request.user_obj.student_sessions.all() return render(request, 'training_center.html', { - 'page_title': 'Centro de Entrenamiento', + 'page_title': 'Training Center', 'user': request.user_obj, 'training_time': sum([session.duration for session in sessions.filter(status=1)], timedelta()), 'sessions_json': json.dumps({session.id: session.start.isoformat() for session in sessions}), diff --git a/apps/user/templates/profile.html b/apps/user/templates/profile.html index 48281b3..22418b7 100644 --- a/apps/user/templates/profile.html +++ b/apps/user/templates/profile.html @@ -9,18 +9,18 @@ {% if user == request.user_obj %} -
Cambiar Avatar
+
Change Avatar
{% endif %}

{{ user.full_name }}

{% if user.main_role == 'HC' %} - Controlador Doméstico + Home Controller {% elif user.main_role == 'MC' %} - Controlador MVAP de {{ user.home_facility }} + MVAP Controller from {{ user.home_facility }} {% else %} - Controlador Visitante de {{ user.home_facility }} + Visiting Controller from {{ user.home_facility }} {% endif %}

@@ -31,21 +31,21 @@

{% if request.user_obj.is_staff %} {% if user.staff_comment %}
-
Eliminar
-

Comentario del Personal

+
Remove
+

Staff Comment

{{ user.staff_comment }}

{% endif %}
- +
{% endif %}
- Biografía + Biography {% if user == request.user_obj %} @@ -59,14 +59,14 @@

Comentario del Personal

-
Detalles de Usuario
+
User Details

CID

{{ user.cid }}

-

Iniciales

+

Initials

{{ user.oper_init }}

@@ -78,7 +78,7 @@

{{ user.rating }}

-
Endosos
+
Endorsements
@@ -141,18 +141,18 @@

{{ user.rating }}

-
Estadísticas
+
Statistics
-

{% now 'F' %} Horas

+

{% now 'F' %} Hours

{{ stats.month|duration|default:'N/A'|safe }}

-

{% now 'Y' %} Horas

+

{% now 'Y' %} Hours

{{ stats.year|duration|default:'N/A'|safe }}

-

Horas Totales

+

Total Hours

{{ stats.total|duration|default:'N/A'|safe }}

@@ -160,14 +160,14 @@

{{ stats.total|duration|default:'
-
Conexiones del Controlador
+
Controller Connections

- - - + + + @@ -179,7 +179,7 @@

{{ stats.total|duration|default:'No se encontraron conexiones... +

{% endfor %} @@ -190,15 +190,15 @@

{{ stats.total|duration|default:'
-
Comentarios del Controlador
+
Controller Feedback

Fecha / horaIndicativoDuraciónDate / TimeCallsignDuration
No connections found...
- - - - + + + + @@ -211,7 +211,7 @@

{{ stats.total|duration|default:'No se encontraron comentarios... +

{% endfor %} diff --git a/apps/user/templates/roster.html b/apps/user/templates/roster.html index ac7753a..40d4b98 100644 --- a/apps/user/templates/roster.html +++ b/apps/user/templates/roster.html @@ -2,8 +2,8 @@ {% load static %} {% block tabs %} - Doméstico - Visitando + Home + VisitingMAVP {% endblock %} @@ -114,7 +114,7 @@

{{ level }}

{{ user.full_name }} ({{ user.oper_init }}) {% if user.status == 1 %}LOA{% endif %}
-

de {{ user.home_facility }}

+

from {{ user.home_facility }}

{% if request.user_obj.is_staff %}     {% endif %} @@ -208,7 +208,7 @@

{{ level }}

{{ user.full_name }} ({{ user.oper_init }}) {% if user.status == 1 %}LOA{% endif %}
-

de {{ user.home_facility }}

+

from {{ user.home_facility }}

{% if request.user_obj.is_staff or request.user_obj.is_mentor %}     {% endif %} diff --git a/apps/user/templates/staff.html b/apps/user/templates/staff.html index 9b75d06..7b149a6 100644 --- a/apps/user/templates/staff.html +++ b/apps/user/templates/staff.html @@ -6,27 +6,27 @@
-
Gerente de Tráfico Aéreo
+
Air Traffic Manager
{% for ATM in staff.ATM %}

  {{ ATM.full_name }}

{% empty %}

  Vacant

{% endfor %} -

El ATM es responsable de la macrogestión del ARTCC. Supervisan las operaciones diarias y se aseguran de que ARTCC funcione sin problemas.

+

The ATM is responsible for the macro-management of the ARTCC. They oversee day-to-day operations and ensure the ARTCC runs smoothly.

-
Subgerente de Tráfico Aéreo
+
Deputy Air Traffic Manager
{% for DATM in staff.DATM %}

  {{ DATM.full_name }}

{% empty %}

  Vacant

{% endfor %} -

El DATM asiste al cajero automático con la gestión del ARTCC. El DATM actúa como cajero automático cuando es necesario.

+

The DATM assists the ATM with the management of the ARTCC. The DATM acts as the ATM when necessary.

@@ -36,17 +36,17 @@

-
Administrador de Entrenamiento
+
Training Administrator
{% for TA in staff.TA %}

  {{ TA.full_name }}

{% empty %}

  Vacant

{% endfor %} -

El TA trabaja con ATM y DATM para crear programas de capacitación, establecer procedimientos de capacitación y recomendar instructores y mentores.

+

The TA works with the ATM and DATM to build training programs, establish training procedures, and recommend instructors and mentors.

{% if staff.ATA %} -
Asistente de Administrador de Entrenamiento
+
Assistant Training Administrator
{% for ATA in staff.ATA %}

  {{ ATA.full_name }}

@@ -57,17 +57,17 @@

-
Coordinador de Eventos
+
Events Coordinator
{% for EC in staff.EC %}

  {{ EC.full_name }}

{% empty %}

  Vacant

{% endfor %} -

La CE es responsable de la creación, planificación, publicidad y coordinación de eventos con instalaciones vecinas, aerolíneas virtuales, VATUSA e VATSIM.

+

The EC is responsible for the creation, planning, advertising, and coordination of events with neighboring facilities, virtual airlines, VATUSA, and VATSIM.

{% if staff.AEC %} -
Asistente de Coordinador de Eventos
+
Assistant Events Coordinator
{% for AEC in staff.AEC %}

  {{ AEC.full_name }}

@@ -78,17 +78,17 @@

-
Ingeniero de Instalaciones
+
Facility Engineer
{% for FE in staff.FE %}

  {{ FE.full_name }}

{% empty %}

  Vacant

{% endfor %} -

La FE es responsable de la creación de archivos de sector, archivos de clientes de radar, escenarios de capacitación, documentos escritos y otros recursos ARTCC según lo indique el ATM.

+

The FE is responsible for the creation of sector files, radar client files, training scenarios, written documents, and other ARTCC resources as directed by the ATM.

{% if staff.AFE %} -
Asistente de Ingeniero de Instalaciones
+
Assistant Facility Engineer
{% for AFE in staff.AFE %}

  {{ AFE.full_name }}

@@ -99,17 +99,17 @@

-
Administrador de Página Web
+
Webmaster
{% for WM in staff.WM %}

  {{ WM.full_name }}

{% empty %}

  Vacant

{% endfor %} -

El WM es responsable del funcionamiento y mantenimiento de los servicios de TI de ARTCC, como el sitio web, el servidor Teamspeak y otras tareas según sea necesario.

+

The WM is responsible for the operation and maintenance of ARTCC IT services such as the website, Teamspeak server, and other tasks as required.

{% if staff.AWM %} -
Asistente de Administrador de Página Web
+
Assistant Webmaster
{% for AWM in staff.AWM %}

  {{ AWM.full_name }}

@@ -123,7 +123,7 @@

-
Instructores
+
Instructors
{% for instructor in staff.INS %}

  {{ instructor.full_name }}

@@ -135,7 +135,7 @@

No Instructors

-
Mentores
+
Mentors
{% for mentor in staff.MTR %}

  {{ mentor.full_name }} {{ mentor.mentor_level }}

diff --git a/apps/user/views.py b/apps/user/views.py index 9b5a323..0455fce 100644 --- a/apps/user/views.py +++ b/apps/user/views.py @@ -39,7 +39,7 @@ def view_staff(request): 'MTR': User.objects.filter(training_role='MTR'), } - return render(request, 'staff.html', {'page_title': 'Personal', 'staff': staff}) + return render(request, 'staff.html', {'page_title': 'Staff', 'staff': staff}) # Gets all controllers by membership status from local database and serves 'roster.html' file @@ -50,7 +50,7 @@ def view_roster(request): mavp_controllers = active_controllers.filter(main_role='MC').order_by('first_name') return render(request, 'roster.html', { - 'page_title': 'Lista', + 'page_title': 'Roster', 'home': sort_controllers(home_controllers), 'visiting': sort_controllers(visiting_controllers), 'mavp': sort_controllers(mavp_controllers), diff --git a/static/css/index.css b/static/css/index.css index 0ecc479..c0b756b 100644 --- a/static/css/index.css +++ b/static/css/index.css @@ -1133,7 +1133,8 @@ dP dP `88888P' dP dP dP `88888P' 88Y888P' `88888P8 `8888P88 `88888P' height: 100vh; } .home-title, .home-subtitle, .scroll-arrow { - color: #000000; + color: #dbdbdb; + mix-blend-mode: screen; } .home-title, .home-subtitle { padding-left: 10%; diff --git a/static/css/index.min.css b/static/css/index.min.css index 62af108..4ad2144 100644 --- a/static/css/index.min.css +++ b/static/css/index.min.css @@ -1 +1 @@ -@font-face{font-family:Gilroy-ExtraBold;src:url(../fonts/Gilroy-ExtraBold.woff) format('woff');font-weight:400;font-style:normal}@font-face{font-family:Gilroy-Bold;src:url(../fonts/Gilroy-Bold.woff) format('woff');font-weight:400;font-style:normal}@font-face{font-family:Gilroy-Medium;src:url(../fonts/Gilroy-Medium.woff) format('woff');font-weight:400;font-style:normal}@font-face{font-family:Gilroy-Regular;src:url(../fonts/Gilroy-Regular.woff) format('woff');font-weight:400;font-style:normal}@font-face{font-family:Gilroy-Light;src:url(../fonts/Gilroy-Light.woff) format('woff');font-weight:400;font-style:normal}.bg-primary{background-color:#2d45a2!important;color:#fff!important}.bg-primary a{color:#fff;transition:.4s;cursor:pointer}.bg-secondary{background-color:#efefef!important;color:#181818}.bg-secondary a,.link-secondary{color:#181818;transition:.4s;cursor:pointer}.bg-secondary a:hover{color:#181818}.bg-primary a:hover,.bg-secondary a:hover,.link-secondary:hover{opacity:60%;transition:.4s}.bg-gold{background:linear-gradient(45deg,#d0852a,#e9c43e);color:#fff}.bg-silver{background:linear-gradient(45deg,#acabab,#d9d9e2);color:#fff}.bg-bronze{background:linear-gradient(45deg,#a44200,#e99237);color:#fff}.card-footer{border:none;margin:0 -1.25rem -1.25rem;padding:1.25rem;background-color:rgba(0,0,0,.1)}.text-primary{color:#2d45a2!important}.text-secondary{color:#d7d7d7!important}.text-dark{color:#181818!important}.text-muted{color:#c4c4c4!important}.text-success{color:#57db51!important}.text-info{color:#56c8ef!important}.text-warning{color:#f6d93e!important}body{font:16px/26px Gilroy-Regular,Helvetica,sans-serif;overflow:overlay}h1{font:100px Gilroy-Bold,Helvetica,sans-serif}h2{font:30px Gilroy-Light,Helvetica,sans-serif}h3{font:30px Gilroy-ExtraBold,Helvetica,sans-serif}h4{font:26px Gilroy-ExtraBold,Helvetica,sans-serif}h5{font:21px Gilroy-Bold,Helvetica,sans-serif}li{line-height:23px;margin-bottom:5px}hr{border-width:3px;margin:30px 0}a,a div{transition:.4s;cursor:pointer}a{color:#329ed6;position:relative}a:hover,a:hover div{opacity:75%;transition:.4s;text-decoration:none}a:hover{color:#5ec2fa}.blockquote-footer{color:inherit;font-size:15px}.subtitle,.title{color:#fff}.title{line-height:80px}.heading-row{font:40px Gilroy-Bold,Helvetica,sans-serif}.heading-row::after,.heading-row::before{display:inline-block;content:'';border:2px solid #2d45a2;border-radius:10px;width:10%;margin:0 1rem;transform:translateY(-12px)}.stat{color:#2d45a2}.badge{font:17px Gilroy-Bold,Helvetica,sans-serif}.badge-sm{font-size:12px;border-radius:5px;padding:2px 4px}.badge-md{font-size:28px;border-radius:8px}.badge-lg{font-size:45px;border-radius:10px}.badge-primary{background-color:#2d45a2!important}.badge-success{background-color:#57db51!important}.badge-info{background-color:#56c8ef!important}.badge-warning{background-color:#f6d93e!important;color:#333!important}.badge-muted{background-color:#c4c4c4!important;color:#fff!important}.badge-light{background-color:#fff!important;color:#2d45a2!important}.popover{font:15px Gilroy-Regular,Helvetica,sans-serif;padding:10px;max-width:350px;border-radius:0;border:none;box-shadow:0 0 17px #cfcfcf}.bs-popover-top>.arrow::before{border:none}.tui-full-calendar-popup-detail .tui-full-calendar-popup-container{min-width:350px!important}.notification{font:12px Gilroy-ExtraBold,Helvetica,sans-serif;color:#fff;text-align:right;background-color:#dc3545;position:absolute;top:-13px;right:5px;padding:4px 8px;border-radius:50px}.tui-full-calendar-weekday-grid-date-decorator{background-color:#091a6d!important}.icon-success::after{content:url(https://img.icons8.com/cute-clipart/90/000000/checkmark.png)}.icon-error::after{content:url(https://img.icons8.com/cute-clipart/90/000000/delete-sign.png)}.icon-info::after{content:url(https://img.icons8.com/cute-clipart/90/000000/info.png)}.icon-news::after{content:url(https://img.icons8.com/cute-clipart/90/000000/news.png)}.label-group{margin:17px 0;flex:0 0 100%;max-width:100%;position:relative;width:100%;padding:0}.file-upload,input[type=datetime-local],input[type=number],input[type=text],select,textarea{font:15px/24px Gilroy-Bold,Helvetica,sans-serif;color:#333;width:100%;box-sizing:border-box;border:0;padding:4px 0;border-bottom:2px solid #aeaeae;background-color:transparent;position:relative}input[type=file]{opacity:0;width:100%}input[type=datetime-local]:focus,input[type=number]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:0}.input-hint{font:13px/25px Gilroy-Medium,Helvetica,sans-serif;color:#aeaeae;position:absolute}.focus-border{position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#2d45a2;transition:.5s}textarea{resize:none}textarea~.focus-border{bottom:8px}input[type=datetime-local].has-content~.focus-border,input[type=datetime-local]:focus~.focus-border,input[type=file].has-content~.focus-border,input[type=number].has-content~.focus-border,input[type=number]:focus~.focus-border,input[type=text].has-content~.focus-border,input[type=text]:focus~.focus-border,select.has-content~.focus-border,textarea.has-content~.focus-border,textarea:focus~.focus-border{width:100%;transition:.5s}label{font:15px Gilroy-Bold,Helvetica,sans-serif;position:absolute;left:0;width:100%;text-align:left;top:7px;color:#aeaeae;transition:.4s;pointer-events:none}.standalone{position:relative;top:0!important;font:15px Gilroy-Bold,Helvetica,sans-serif!important}input[type=checkbox]~label{pointer-events:all}:required~label::after,input[type=checkbox]:required~label::after{content:' ✱';color:#c15b5b}:required.has-content~label::after,input[type=checkbox]:required:checked~label::after{content:''}.modal label{z-index:2000}input:read-only,input:read-only~label{cursor:not-allowed;color:#aeaeae!important}input:read-only~.focus-border{background-color:#aeaeae}input[type=datetime-local].has-content~label,input[type=datetime-local]:focus~label,input[type=file].has-content~label,input[type=number].has-content~label,input[type=number]:focus~label,input[type=text].has-content~label,input[type=text]:focus~label,select.has-content~label,textarea.has-content~label,textarea:focus~label{text-align:left;top:-16px;color:#2d45a2;transition:.4s}input[type=file].has-content~label{top:-11px}.file-name{pointer-events:none;position:absolute;text-align:left;width:100%;left:0;top:9px}.file-upload .focus-border{bottom:-2px}input.has-content~.upload-btn{background-color:#2d45a2;color:#fff;transition:.5s}.upload-btn{font:15px/38px Gilroy-Bold,Helvetica,sans-serif;background-color:#aeaeae;color:#181818;padding:0 5%;height:100%;position:absolute;right:0;bottom:0;transition:.5s;pointer-events:none}.radio-group{display:block;padding:8px 0}.radio-group .label-group{width:12%;margin:0;display:inline-block}.radio-group .label-group input,.radio-group .label-group label{font:13px/20px Gilroy-Bold,Helvetica,sans-serif!important;padding:0}.radio-group .label-group label{top:3px}.radio-group .label-group input[type=text].has-content~label,.radio-group .label-group input[type=text]:focus~label{top:-12px}.radio-group-label{position:inherit;display:block;padding-bottom:2px;font-size:15px;color:#2d45a2}.radio-label{position:inherit;display:inline;transition:.4s;padding-left:5px}input:checked~.radio-label{color:#333}.toggle{margin-top:10px;margin-bottom:25px}.toggle label{position:initial;display:initial;padding-left:10px;color:#aeaeae}.toggle input[type=checkbox]{margin:0}optgroup{font:15px Gilroy-Bold,Helvetica,sans-serif}optgroup option{font:14px Gilroy-Regular,Helvetica,sans-serif}input[type=checkbox]{margin-bottom:10px}input[type=checkbox]~label{display:inline;position:relative;top:unset}input[type=checkbox]:checked~label{color:#333}.toggle input{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;top:3px;width:40px;height:15px;background-color:#efefef;border-radius:15px;outline:0;-webkit-transition:background 450ms ease;transition:background 450ms ease;box-shadow:0 0 0 4px #efefef}.toggle input:after,.toggle input:before{position:absolute;display:block;content:'';border-radius:100%;transition:background 450ms ease,transform 450ms ease}.toggle input:before{width:15px;height:15px;background-color:#aeaeae}.toggle input:checked:before{background-color:#2d45a2;transform:translateX(25px)}.datepicker{display:inline-block;margin:0 auto}.datepicker-days table{width:100%}.avatar,.avatar~.change-avatar,.avatar~.upload-avatar{text-align:center;height:100px;width:100px;border-radius:50px}.avatar-lg,.avatar-lg~.change-avatar,.avatar-lg~.upload-avatar{height:130px;width:130px;border-radius:100px}.change-avatar,.upload-avatar{position:absolute;top:0;left:0;right:0;margin:auto;opacity:0}.change-avatar{color:#fff;font:16px Gilroy-Bold,Helvetica,sans-serif;background-color:rgba(0,0,0,.4);display:flex;align-items:center;transition:.2s;pointer-events:none}.upload-avatar:hover~.change-avatar{text-align:center;opacity:1;cursor:pointer;transition:.2s}input[type=datetime-local]{color:transparent}input[type=datetime-local].has-content,input[type=datetime-local]:focus{color:initial}.bootstrap-select li{font:14px Gilroy-Bold,Helvetica,sans-serif}.ui-widget.ui-widget-content{border:none!important;background-color:#e7e7e7;height:8px;border-radius:4px}.ui-state-default{border:none!important;background-color:#2d45a2!important;height:17px!important;width:17px!important;border-radius:9px!important;transition:box-shadow .3s}.ui-state-default:focus{outline:0;background-color:#2d45a2!important;box-shadow:0 0 0 .2rem rgba(45,69,162,.5)!important;transition:box-shadow .3s}.ui-slider-range{background-color:rgba(45,78,162,.5)!important}.btn{font:14px Gilroy-Bold,Helvetica,sans-serif;padding:7px 30px;margin:5px 10px 5px 0;border:none;border-radius:3px}.btn-lg{font:18px Gilroy-Bold,Helvetica,sans-serif;padding:10px 45px}.btn-primary{background-color:#2d45a2;color:#fff;transition:.4s}.btn-outline-primary{background-color:#fff;color:#2d45a2;border:2px #2d45a2 solid;transition:.4s}.btn-outline-primary:active,.btn-outline-primary:focus,.btn-outline-primary:hover{background-color:rgba(45,69,162,.8)!important;color:#fff;border:2px #2d45a2 solid!important;transition:.4s}.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(45,69,162,.5)!important}.btn-outline-secondary{border:2px #5f5f5f solid;transition:.4s}.btn-outline-danger{border:2px #dc3545 solid;transition:.4s}.btn-outline-success{border:2px #57db51 solid;transition:.4s}.btn-outline-info{border:2px #56c8ef solid;transition:.4s}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:rgba(45,69,162,.8)!important;transition:.4s}.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(45,69,162,.5)!important}.btn-secondary{background-color:#e5e5e5;color:#181818;transition:.4s}.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover{background-color:#f1f1f1!important;color:#181818!important;transition:.4s}.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(241,241,241,.5)!important}.btn-light{background-color:#eaeaea}.btn-link{padding:0;font:15px Gilroy-Bold,Helvetica,sans-serif;color:inherit;text-decoration:inherit;transition:.4s}.btn-link:hover{opacity:75%;transition:.4s}.btn-link:active,.btn-link:focus,.btn-link:hover{color:inherit;text-decoration:inherit}.btn-group .btn{margin:1px;box-shadow:none!important}.page-wrapper{height:100vh}.page-header{height:300px}.secondary-page-header{padding:11% 10% 2% 10%}.page-container,footer{padding:2% 10%}.title-block{padding-left:10%;position:absolute;bottom:15px}img{max-width:100%}.modal-dialog{max-width:600px}.modal-lg{max-width:900px}.modal-content{border:none;border-radius:0;padding:7%}.modal-title{font:35px Gilroy-Bold,Helvetica,sans-serif;padding:.6em 0}.modal.fade .modal-dialog{-webkit-transform:translate(0);-moz-transform:translate(0);transform:translate(0)}.card{box-shadow:0 0 17px #e9e9e9;margin-bottom:30px}.card,.card-body,.card-header{border:none!important;border-radius:0!important}.card-header{padding:20px 20px;font:18px Gilroy-Medium,Helvetica,sans-serif}.table-responsive{overflow:visible}th{border-top:none!important;border-bottom:2px #d6d6d6 solid!important;padding:1.25%!important;font:17px Gilroy-ExtraBold,Helvetica,sans-serif}td{border:none!important;padding:1.25%!important;font:15px Gilroy-Medium,Helvetica,sans-serif;vertical-align:middle!important}.border-left{border-left:2px #d6d6d6 solid!important}.border-right{border-right:2px #d6d6d6 solid!important}.table-hover tr[data-type=href]:hover{cursor:pointer}.dataTables_filter label{text-align:right!important;position:relative;pointer-events:initial}.form-control:focus{border-color:#2d45a2!important;box-shadow:0 0 0 .2rem rgba(45,69,162,.25)!important}.sorting:before,.sorting_asc:before,.sorting_desc:before{right:1.3em!important}table.dataTable.no-footer{border:none}.dataTables_filter label,.dataTables_info,.dataTables_paginate{text-align:left;font:14px Gilroy-Bold,Helvetica,sans-serif;color:#333}.paginate_button a{margin-top:5px;border:#e5e5e5!important;background-color:#e5e5e5;color:#181818;transition:.4s}.paginate_button a:active,.paginate_button a:focus,.paginate_button a:hover{border:#e5e5e5!important;background-color:#f5f5f5!important;color:#181818!important;transition:.4s;box-shadow:none}.page-item.active .page-link,.paginate_button a:focus{background-color:#2d45a2!important;color:#fff!important;transition:.4s}.navbar{padding:1.75% 9%;transition:.4s;margin-right:-8px}.navbar-brand{text-align:center}.navbar-brand-text{font:20px Gilroy-Bold,Helvetica,sans-serif!important;display:block;margin-top:-12px;margin-bottom:10px}.nav-link,.navbar-brand-text{position:relative;color:#fff;font:19px Gilroy-Medium,Helvetica,sans-serif;transition:.5s}.navbar-dark .navbar-brand-text,.navbar-dark .navbar-nav .nav-link{color:#181818}.nav-link:active,.nav-link:focus,.nav-link:hover{color:#fff;opacity:75%;transition:.4s}.navbar-dark .navbar-nav .nav-link:active,.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#181818}.nav-link::after{position:absolute;bottom:0;left:0;width:100%;height:2px;background:rgba(255,255,255,.75);content:'';opacity:0;transition:.4s;transform:translateY(10px)}.navbar-dark .navbar-nav .nav-link::after{background:rgba(24,24,24,.75)}.nav-link:active::after,.nav-link:focus::after,.nav-link:hover::after{opacity:1;transform:translateY(0)}.navbar-brand img{height:75px;transition:.4s}.nav-item .dropdown-menu{border:none;border-radius:0;background:rgba(255,255,255,.75);right:auto;left:50%;transform:translate(-50%,0)}.shrink{padding:.7% 9%;background-color:#f5f5f5;transition:.6s ease}.shrink .nav-link,.shrink .navbar-brand-text{color:#181818}.shrink .nav-link::after{background-color:rgba(12,12,12,.75)}.tab-container{display:flex}.tab{background-color:#ededed;text-align:center;flex:1;font:20px Gilroy-Bold,Helvetica,sans-serif;padding:25px 0;cursor:pointer}.tab.active{background-color:#dedede}.tab.active:hover{opacity:1}.sticky-scrollspy{position:sticky;top:150px}.list-group-item{font:18px Gilroy-Bold,Helvetica,sans-serif;transition:.3s ease;border:none}.list-group-item.active{background-color:#2d45a2;transition:.2s;border:none}.list-group-item.active *{color:#fff!important}.nav-hamburger{height:30px;width:30px;position:fixed;z-index:2;right:30px;top:40px;cursor:pointer}.nav-hamburger span{height:2px;width:30px;display:block;background-color:#fff;margin-bottom:4px;transition:transform .2s ease,background-color .5s ease}.shrink .nav-hamburger span{background-color:#333}.nav-hamburger span:nth-child(1){width:15px}.nav-hamburger span:nth-child(3){width:15px;float:right}.nav{position:fixed;z-index:1}.nav:after,.nav:before{content:'';position:fixed;width:100vw;height:100vh;background:rgba(234,234,234,.2);z-index:-1;transition:transform cubic-bezier(.77,0,.175,1) .8s;transform:translateX(0) translateY(-100%)}.nav:after{background:#fff}.nav:before{transition-delay:.1s}.mobile-nav-content{position:fixed;top:50%;transform:translate(0,-50%);width:90%;text-align:center;font-size:calc(2vw + 10px);font-weight:200;cursor:pointer}.mobile-nav-list{display:flex;flex-direction:column}.mobile-nav-list-item{position:relative;display:inline-block;transition-delay:.8s;opacity:0;transform:translate(0,100%);transition:opacity .2s ease,transform .3s ease;margin-bottom:25px}.mobile-nav-list-item:before{content:'';position:absolute;background:#000;width:20px;height:1px;top:100%;transform:translate(0,0);transition:all .3s ease;z-index:-1}.mobile-nav-list-item:hover:before{width:20%}body.nav-active{position:fixed;overflow:hidden}body.nav-active .navbar-brand{opacity:0;transition:.4s}body.nav-active .nav-hamburger span{background-color:#000;transform:translateX(0) rotate(-45deg)}body.nav-active .nav-hamburger span:nth-child(1){transform:translateX(1px) rotate(45deg)}body.nav-active .nav-hamburger span:nth-child(3){transform:translateX(-2px) rotate(45deg)}body.nav-active .nav{visibility:visible}body.nav-active .nav:after,body.nav-active .nav:before{transform:translateX(0) translateY(0)}body.nav-active .nav:after{transition-delay:.1s}body.nav-active .nav:before{transition-delay:0s}body.nav-active .mobile-nav-list-item{opacity:1;transition:opacity .3s ease,transform .3s ease,color .3s ease}body.nav-active .mobile-nav-list-item:nth-child(0){transition-delay:.5s}body.nav-active .mobile-nav-list-item:nth-child(1){transition-delay:.6s}body.nav-active .mobile-nav-list-item:nth-child(2){transition-delay:.7s}body.nav-active .mobile-nav-list-item:nth-child(3){transition-delay:.8s}body.nav-active .mobile-nav-list-item:nth-child(4){transition-delay:.9s}.home-wrapper{height:100vh;background:url(../img/homepage-bg.jpg) 50% 50%/cover}.home-title-block{height:100vh}.home-subtitle,.home-title,.scroll-arrow{color:#000}.home-subtitle,.home-title{padding-left:10%}.home-title{font:120px Gilroy-ExtraBold,Helvetica,sans-serif;padding-top:calc(100vh / 3.25)}.home-subtitle{font-size:36px}.scroll-arrow{position:absolute;left:9%;bottom:15%;font:20px Gilroy-Light,Helvetica,sans-serif;transform:rotate(-90deg)}.mapboxgl-popup{max-width:400px!important}.mapboxgl-popup-content{padding:0!important;border-radius:0!important}.mapboxgl-popup-header{padding:15px!important;background-color:#2d45a2!important;font:15px Gilroy-Bold,Helvetica,sans-serif;color:#fff}.mapboxgl-popup-body{padding:15px!important;font:13px Gilroy-Medium,Helvetica,sans-serif}.mapboxgl-popup-close-button{color:#fff}.quill.broadcast h1,.quill.broadcast h2,.quill.broadcast h3,.quill.broadcast h4,.quill.broadcast h5,.quill.broadcast p{all:unset}.ql-container{height:250px!important}@media only screen and (max-width:992px){.home-title-block{text-align:center}.home-title{font-size:80px;padding:0;top:calc(100vh / 1.7)}.home-subtitle{font-size:22px;padding:0}.scroll-arrow{display:none}.event-banner{max-width:100%!important}.btn{margin:5px}.title-block{text-align:center;left:0;right:0;margin:0 auto;padding:0}.title{font-size:15vw}.navbar-brand img{height:60px}.navbar{padding:3% 5%}.shrink{padding:1% 5%}}@media only screen and (max-width:600px){.home-title{font-size:55px;padding-top:calc(100vh / 1.6)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d6d6d6}::-webkit-scrollbar-thumb:hover{background:#bebebe} \ No newline at end of file +@font-face{font-family:Gilroy-ExtraBold;src:url(../fonts/Gilroy-ExtraBold.woff) format('woff');font-weight:400;font-style:normal}@font-face{font-family:Gilroy-Bold;src:url(../fonts/Gilroy-Bold.woff) format('woff');font-weight:400;font-style:normal}@font-face{font-family:Gilroy-Medium;src:url(../fonts/Gilroy-Medium.woff) format('woff');font-weight:400;font-style:normal}@font-face{font-family:Gilroy-Regular;src:url(../fonts/Gilroy-Regular.woff) format('woff');font-weight:400;font-style:normal}@font-face{font-family:Gilroy-Light;src:url(../fonts/Gilroy-Light.woff) format('woff');font-weight:400;font-style:normal}.bg-primary{background-color:#2d45a2!important;color:#fff!important}.bg-primary a{color:#fff;transition:.4s;cursor:pointer}.bg-secondary{background-color:#efefef!important;color:#181818}.bg-secondary a,.link-secondary{color:#181818;transition:.4s;cursor:pointer}.bg-secondary a:hover{color:#181818}.bg-primary a:hover,.bg-secondary a:hover,.link-secondary:hover{opacity:60%;transition:.4s}.bg-gold{background:linear-gradient(45deg,#d0852a,#e9c43e);color:#fff}.bg-silver{background:linear-gradient(45deg,#acabab,#d9d9e2);color:#fff}.bg-bronze{background:linear-gradient(45deg,#a44200,#e99237);color:#fff}.card-footer{border:none;margin:0 -1.25rem -1.25rem;padding:1.25rem;background-color:rgba(0,0,0,.1)}.text-primary{color:#2d45a2!important}.text-secondary{color:#d7d7d7!important}.text-dark{color:#181818!important}.text-muted{color:#c4c4c4!important}.text-success{color:#57db51!important}.text-info{color:#56c8ef!important}.text-warning{color:#f6d93e!important}body{font:16px/26px Gilroy-Regular,Helvetica,sans-serif;overflow:overlay}h1{font:100px Gilroy-Bold,Helvetica,sans-serif}h2{font:30px Gilroy-Light,Helvetica,sans-serif}h3{font:30px Gilroy-ExtraBold,Helvetica,sans-serif}h4{font:26px Gilroy-ExtraBold,Helvetica,sans-serif}h5{font:21px Gilroy-Bold,Helvetica,sans-serif}li{line-height:23px;margin-bottom:5px}hr{border-width:3px;margin:30px 0}a,a div{transition:.4s;cursor:pointer}a{color:#329ed6;position:relative}a:hover,a:hover div{opacity:75%;transition:.4s;text-decoration:none}a:hover{color:#5ec2fa}.blockquote-footer{color:inherit;font-size:15px}.subtitle,.title{color:#fff}.title{line-height:80px}.heading-row{font:40px Gilroy-Bold,Helvetica,sans-serif}.heading-row::after,.heading-row::before{display:inline-block;content:'';border:2px solid #2d45a2;border-radius:10px;width:10%;margin:0 1rem;transform:translateY(-12px)}.stat{color:#2d45a2}.badge{font:17px Gilroy-Bold,Helvetica,sans-serif}.badge-sm{font-size:12px;border-radius:5px;padding:2px 4px}.badge-md{font-size:28px;border-radius:8px}.badge-lg{font-size:45px;border-radius:10px}.badge-primary{background-color:#2d45a2!important}.badge-success{background-color:#57db51!important}.badge-info{background-color:#56c8ef!important}.badge-warning{background-color:#f6d93e!important;color:#333!important}.badge-muted{background-color:#c4c4c4!important;color:#fff!important}.badge-light{background-color:#fff!important;color:#2d45a2!important}.popover{font:15px Gilroy-Regular,Helvetica,sans-serif;padding:10px;max-width:350px;border-radius:0;border:none;box-shadow:0 0 17px #cfcfcf}.bs-popover-top>.arrow::before{border:none}.tui-full-calendar-popup-detail .tui-full-calendar-popup-container{min-width:350px!important}.notification{font:12px Gilroy-ExtraBold,Helvetica,sans-serif;color:#fff;text-align:right;background-color:#dc3545;position:absolute;top:-13px;right:5px;padding:4px 8px;border-radius:50px}.tui-full-calendar-weekday-grid-date-decorator{background-color:#091a6d!important}.icon-success::after{content:url(https://img.icons8.com/cute-clipart/90/000000/checkmark.png)}.icon-error::after{content:url(https://img.icons8.com/cute-clipart/90/000000/delete-sign.png)}.icon-info::after{content:url(https://img.icons8.com/cute-clipart/90/000000/info.png)}.icon-news::after{content:url(https://img.icons8.com/cute-clipart/90/000000/news.png)}.label-group{margin:17px 0;flex:0 0 100%;max-width:100%;position:relative;width:100%;padding:0}.file-upload,input[type=datetime-local],input[type=number],input[type=text],select,textarea{font:15px/24px Gilroy-Bold,Helvetica,sans-serif;color:#333;width:100%;box-sizing:border-box;border:0;padding:4px 0;border-bottom:2px solid #aeaeae;background-color:transparent;position:relative}input[type=file]{opacity:0;width:100%}input[type=datetime-local]:focus,input[type=number]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:0}.input-hint{font:13px/25px Gilroy-Medium,Helvetica,sans-serif;color:#aeaeae;position:absolute}.focus-border{position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#2d45a2;transition:.5s}textarea{resize:none}textarea~.focus-border{bottom:8px}input[type=datetime-local].has-content~.focus-border,input[type=datetime-local]:focus~.focus-border,input[type=file].has-content~.focus-border,input[type=number].has-content~.focus-border,input[type=number]:focus~.focus-border,input[type=text].has-content~.focus-border,input[type=text]:focus~.focus-border,select.has-content~.focus-border,textarea.has-content~.focus-border,textarea:focus~.focus-border{width:100%;transition:.5s}label{font:15px Gilroy-Bold,Helvetica,sans-serif;position:absolute;left:0;width:100%;text-align:left;top:7px;color:#aeaeae;transition:.4s;pointer-events:none}.standalone{position:relative;top:0!important;font:15px Gilroy-Bold,Helvetica,sans-serif!important}input[type=checkbox]~label{pointer-events:all}:required~label::after,input[type=checkbox]:required~label::after{content:' ✱';color:#c15b5b}:required.has-content~label::after,input[type=checkbox]:required:checked~label::after{content:''}.modal label{z-index:2000}input:read-only,input:read-only~label{cursor:not-allowed;color:#aeaeae!important}input:read-only~.focus-border{background-color:#aeaeae}input[type=datetime-local].has-content~label,input[type=datetime-local]:focus~label,input[type=file].has-content~label,input[type=number].has-content~label,input[type=number]:focus~label,input[type=text].has-content~label,input[type=text]:focus~label,select.has-content~label,textarea.has-content~label,textarea:focus~label{text-align:left;top:-16px;color:#2d45a2;transition:.4s}input[type=file].has-content~label{top:-11px}.file-name{pointer-events:none;position:absolute;text-align:left;width:100%;left:0;top:9px}.file-upload .focus-border{bottom:-2px}input.has-content~.upload-btn{background-color:#2d45a2;color:#fff;transition:.5s}.upload-btn{font:15px/38px Gilroy-Bold,Helvetica,sans-serif;background-color:#aeaeae;color:#181818;padding:0 5%;height:100%;position:absolute;right:0;bottom:0;transition:.5s;pointer-events:none}.radio-group{display:block;padding:8px 0}.radio-group .label-group{width:12%;margin:0;display:inline-block}.radio-group .label-group input,.radio-group .label-group label{font:13px/20px Gilroy-Bold,Helvetica,sans-serif!important;padding:0}.radio-group .label-group label{top:3px}.radio-group .label-group input[type=text].has-content~label,.radio-group .label-group input[type=text]:focus~label{top:-12px}.radio-group-label{position:inherit;display:block;padding-bottom:2px;font-size:15px;color:#2d45a2}.radio-label{position:inherit;display:inline;transition:.4s;padding-left:5px}input:checked~.radio-label{color:#333}.toggle{margin-top:10px;margin-bottom:25px}.toggle label{position:initial;display:initial;padding-left:10px;color:#aeaeae}.toggle input[type=checkbox]{margin:0}optgroup{font:15px Gilroy-Bold,Helvetica,sans-serif}optgroup option{font:14px Gilroy-Regular,Helvetica,sans-serif}input[type=checkbox]{margin-bottom:10px}input[type=checkbox]~label{display:inline;position:relative;top:unset}input[type=checkbox]:checked~label{color:#333}.toggle input{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;top:3px;width:40px;height:15px;background-color:#efefef;border-radius:15px;outline:0;-webkit-transition:background 450ms ease;transition:background 450ms ease;box-shadow:0 0 0 4px #efefef}.toggle input:after,.toggle input:before{position:absolute;display:block;content:'';border-radius:100%;transition:background 450ms ease,transform 450ms ease}.toggle input:before{width:15px;height:15px;background-color:#aeaeae}.toggle input:checked:before{background-color:#2d45a2;transform:translateX(25px)}.datepicker{display:inline-block;margin:0 auto}.datepicker-days table{width:100%}.avatar,.avatar~.change-avatar,.avatar~.upload-avatar{text-align:center;height:100px;width:100px;border-radius:50px}.avatar-lg,.avatar-lg~.change-avatar,.avatar-lg~.upload-avatar{height:130px;width:130px;border-radius:100px}.change-avatar,.upload-avatar{position:absolute;top:0;left:0;right:0;margin:auto;opacity:0}.change-avatar{color:#fff;font:16px Gilroy-Bold,Helvetica,sans-serif;background-color:rgba(0,0,0,.4);display:flex;align-items:center;transition:.2s;pointer-events:none}.upload-avatar:hover~.change-avatar{text-align:center;opacity:1;cursor:pointer;transition:.2s}input[type=datetime-local]{color:transparent}input[type=datetime-local].has-content,input[type=datetime-local]:focus{color:initial}.bootstrap-select li{font:14px Gilroy-Bold,Helvetica,sans-serif}.ui-widget.ui-widget-content{border:none!important;background-color:#e7e7e7;height:8px;border-radius:4px}.ui-state-default{border:none!important;background-color:#2d45a2!important;height:17px!important;width:17px!important;border-radius:9px!important;transition:box-shadow .3s}.ui-state-default:focus{outline:0;background-color:#2d45a2!important;box-shadow:0 0 0 .2rem rgba(45,69,162,.5)!important;transition:box-shadow .3s}.ui-slider-range{background-color:rgba(45,78,162,.5)!important}.btn{font:14px Gilroy-Bold,Helvetica,sans-serif;padding:7px 30px;margin:5px 10px 5px 0;border:none;border-radius:3px}.btn-lg{font:18px Gilroy-Bold,Helvetica,sans-serif;padding:10px 45px}.btn-primary{background-color:#2d45a2;color:#fff;transition:.4s}.btn-outline-primary{background-color:#fff;color:#2d45a2;border:2px #2d45a2 solid;transition:.4s}.btn-outline-primary:active,.btn-outline-primary:focus,.btn-outline-primary:hover{background-color:rgba(45,69,162,.8)!important;color:#fff;border:2px #2d45a2 solid!important;transition:.4s}.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(45,69,162,.5)!important}.btn-outline-secondary{border:2px #5f5f5f solid;transition:.4s}.btn-outline-danger{border:2px #dc3545 solid;transition:.4s}.btn-outline-success{border:2px #57db51 solid;transition:.4s}.btn-outline-info{border:2px #56c8ef solid;transition:.4s}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:rgba(45,69,162,.8)!important;transition:.4s}.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(45,69,162,.5)!important}.btn-secondary{background-color:#e5e5e5;color:#181818;transition:.4s}.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover{background-color:#f1f1f1!important;color:#181818!important;transition:.4s}.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(241,241,241,.5)!important}.btn-light{background-color:#eaeaea}.btn-link{padding:0;font:15px Gilroy-Bold,Helvetica,sans-serif;color:inherit;text-decoration:inherit;transition:.4s}.btn-link:hover{opacity:75%;transition:.4s}.btn-link:active,.btn-link:focus,.btn-link:hover{color:inherit;text-decoration:inherit}.btn-group .btn{margin:1px;box-shadow:none!important}.page-wrapper{height:100vh}.page-header{height:300px}.secondary-page-header{padding:11% 10% 2% 10%}.page-container,footer{padding:2% 10%}.title-block{padding-left:10%;position:absolute;bottom:15px}img{max-width:100%}.modal-dialog{max-width:600px}.modal-lg{max-width:900px}.modal-content{border:none;border-radius:0;padding:7%}.modal-title{font:35px Gilroy-Bold,Helvetica,sans-serif;padding:.6em 0}.modal.fade .modal-dialog{-webkit-transform:translate(0);-moz-transform:translate(0);transform:translate(0)}.card{box-shadow:0 0 17px #e9e9e9;margin-bottom:30px}.card,.card-body,.card-header{border:none!important;border-radius:0!important}.card-header{padding:20px 20px;font:18px Gilroy-Medium,Helvetica,sans-serif}.table-responsive{overflow:visible}th{border-top:none!important;border-bottom:2px #d6d6d6 solid!important;padding:1.25%!important;font:17px Gilroy-ExtraBold,Helvetica,sans-serif}td{border:none!important;padding:1.25%!important;font:15px Gilroy-Medium,Helvetica,sans-serif;vertical-align:middle!important}.border-left{border-left:2px #d6d6d6 solid!important}.border-right{border-right:2px #d6d6d6 solid!important}.table-hover tr[data-type=href]:hover{cursor:pointer}.dataTables_filter label{text-align:right!important;position:relative;pointer-events:initial}.form-control:focus{border-color:#2d45a2!important;box-shadow:0 0 0 .2rem rgba(45,69,162,.25)!important}.sorting:before,.sorting_asc:before,.sorting_desc:before{right:1.3em!important}table.dataTable.no-footer{border:none}.dataTables_filter label,.dataTables_info,.dataTables_paginate{text-align:left;font:14px Gilroy-Bold,Helvetica,sans-serif;color:#333}.paginate_button a{margin-top:5px;border:#e5e5e5!important;background-color:#e5e5e5;color:#181818;transition:.4s}.paginate_button a:active,.paginate_button a:focus,.paginate_button a:hover{border:#e5e5e5!important;background-color:#f5f5f5!important;color:#181818!important;transition:.4s;box-shadow:none}.page-item.active .page-link,.paginate_button a:focus{background-color:#2d45a2!important;color:#fff!important;transition:.4s}.navbar{padding:1.75% 9%;transition:.4s;margin-right:-8px}.navbar-brand{text-align:center}.navbar-brand-text{font:20px Gilroy-Bold,Helvetica,sans-serif!important;display:block;margin-top:-12px;margin-bottom:10px}.nav-link,.navbar-brand-text{position:relative;color:#fff;font:19px Gilroy-Medium,Helvetica,sans-serif;transition:.5s}.navbar-dark .navbar-brand-text,.navbar-dark .navbar-nav .nav-link{color:#181818}.nav-link:active,.nav-link:focus,.nav-link:hover{color:#fff;opacity:75%;transition:.4s}.navbar-dark .navbar-nav .nav-link:active,.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#181818}.nav-link::after{position:absolute;bottom:0;left:0;width:100%;height:2px;background:rgba(255,255,255,.75);content:'';opacity:0;transition:.4s;transform:translateY(10px)}.navbar-dark .navbar-nav .nav-link::after{background:rgba(24,24,24,.75)}.nav-link:active::after,.nav-link:focus::after,.nav-link:hover::after{opacity:1;transform:translateY(0)}.navbar-brand img{height:75px;transition:.4s}.nav-item .dropdown-menu{border:none;border-radius:0;background:rgba(255,255,255,.75);right:auto;left:50%;transform:translate(-50%,0)}.shrink{padding:.7% 9%;background-color:#f5f5f5;transition:.6s ease}.shrink .nav-link,.shrink .navbar-brand-text{color:#181818}.shrink .nav-link::after{background-color:rgba(12,12,12,.75)}.tab-container{display:flex}.tab{background-color:#ededed;text-align:center;flex:1;font:20px Gilroy-Bold,Helvetica,sans-serif;padding:25px 0;cursor:pointer}.tab.active{background-color:#dedede}.tab.active:hover{opacity:1}.sticky-scrollspy{position:sticky;top:150px}.list-group-item{font:18px Gilroy-Bold,Helvetica,sans-serif;transition:.3s ease;border:none}.list-group-item.active{background-color:#2d45a2;transition:.2s;border:none}.list-group-item.active *{color:#fff!important}.nav-hamburger{height:30px;width:30px;position:fixed;z-index:2;right:30px;top:40px;cursor:pointer}.nav-hamburger span{height:2px;width:30px;display:block;background-color:#fff;margin-bottom:4px;transition:transform .2s ease,background-color .5s ease}.shrink .nav-hamburger span{background-color:#333}.nav-hamburger span:nth-child(1){width:15px}.nav-hamburger span:nth-child(3){width:15px;float:right}.nav{position:fixed;z-index:1}.nav:after,.nav:before{content:'';position:fixed;width:100vw;height:100vh;background:rgba(234,234,234,.2);z-index:-1;transition:transform cubic-bezier(.77,0,.175,1) .8s;transform:translateX(0) translateY(-100%)}.nav:after{background:#fff}.nav:before{transition-delay:.1s}.mobile-nav-content{position:fixed;top:50%;transform:translate(0,-50%);width:90%;text-align:center;font-size:calc(2vw + 10px);font-weight:200;cursor:pointer}.mobile-nav-list{display:flex;flex-direction:column}.mobile-nav-list-item{position:relative;display:inline-block;transition-delay:.8s;opacity:0;transform:translate(0,100%);transition:opacity .2s ease,transform .3s ease;margin-bottom:25px}.mobile-nav-list-item:before{content:'';position:absolute;background:#000;width:20px;height:1px;top:100%;transform:translate(0,0);transition:all .3s ease;z-index:-1}.mobile-nav-list-item:hover:before{width:20%}body.nav-active{position:fixed;overflow:hidden}body.nav-active .navbar-brand{opacity:0;transition:.4s}body.nav-active .nav-hamburger span{background-color:#000;transform:translateX(0) rotate(-45deg)}body.nav-active .nav-hamburger span:nth-child(1){transform:translateX(1px) rotate(45deg)}body.nav-active .nav-hamburger span:nth-child(3){transform:translateX(-2px) rotate(45deg)}body.nav-active .nav{visibility:visible}body.nav-active .nav:after,body.nav-active .nav:before{transform:translateX(0) translateY(0)}body.nav-active .nav:after{transition-delay:.1s}body.nav-active .nav:before{transition-delay:0s}body.nav-active .mobile-nav-list-item{opacity:1;transition:opacity .3s ease,transform .3s ease,color .3s ease}body.nav-active .mobile-nav-list-item:nth-child(0){transition-delay:.5s}body.nav-active .mobile-nav-list-item:nth-child(1){transition-delay:.6s}body.nav-active .mobile-nav-list-item:nth-child(2){transition-delay:.7s}body.nav-active .mobile-nav-list-item:nth-child(3){transition-delay:.8s}body.nav-active .mobile-nav-list-item:nth-child(4){transition-delay:.9s}.home-wrapper{height:100vh;background:url(../img/homepage-bg.jpg) 50% 50%/cover}.home-title-block{height:100vh}.home-subtitle,.home-title,.scroll-arrow{color:#dbdbdb;mix-blend-mode:screen}.home-subtitle,.home-title{padding-left:10%}.home-title{font:120px Gilroy-ExtraBold,Helvetica,sans-serif;padding-top:calc(100vh / 3.25)}.home-subtitle{font-size:36px}.scroll-arrow{position:absolute;left:9%;bottom:15%;font:20px Gilroy-Light,Helvetica,sans-serif;transform:rotate(-90deg)}.mapboxgl-popup{max-width:400px!important}.mapboxgl-popup-content{padding:0!important;border-radius:0!important}.mapboxgl-popup-header{padding:15px!important;background-color:#2d45a2!important;font:15px Gilroy-Bold,Helvetica,sans-serif;color:#fff}.mapboxgl-popup-body{padding:15px!important;font:13px Gilroy-Medium,Helvetica,sans-serif}.mapboxgl-popup-close-button{color:#fff}.quill.broadcast h1,.quill.broadcast h2,.quill.broadcast h3,.quill.broadcast h4,.quill.broadcast h5,.quill.broadcast p{all:unset}.ql-container{height:250px!important}@media only screen and (max-width:992px){.home-title-block{text-align:center}.home-title{font-size:80px;padding:0;top:calc(100vh / 1.7)}.home-subtitle{font-size:22px;padding:0}.scroll-arrow{display:none}.event-banner{max-width:100%!important}.btn{margin:5px}.title-block{text-align:center;left:0;right:0;margin:0 auto;padding:0}.title{font-size:15vw}.navbar-brand img{height:60px}.navbar{padding:3% 5%}.shrink{padding:1% 5%}}@media only screen and (max-width:600px){.home-title{font-size:55px;padding-top:calc(100vh / 1.6)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d6d6d6}::-webkit-scrollbar-thumb:hover{background:#bebebe} \ No newline at end of file diff --git a/static/img/homepage-bg.jpg b/static/img/homepage-bg.jpg index 8a03d91..7acbaf8 100644 Binary files a/static/img/homepage-bg.jpg and b/static/img/homepage-bg.jpg differ diff --git a/static/img/zhulogo-dark.png b/static/img/zhulogo-dark.png new file mode 100644 index 0000000..916b2b8 Binary files /dev/null and b/static/img/zhulogo-dark.png differ diff --git a/static/img/zhulogo-light.png b/static/img/zhulogo-light.png new file mode 100644 index 0000000..59c2eca Binary files /dev/null and b/static/img/zhulogo-light.png differ diff --git a/static/img/zhulogo.png b/static/img/zhulogo.png index aeaf27b..246c2c7 100644 Binary files a/static/img/zhulogo.png and b/static/img/zhulogo.png differ diff --git a/templates/homepage.html b/templates/homepage.html index 66532e5..2fdbe36 100644 --- a/templates/homepage.html +++ b/templates/homepage.html @@ -2,45 +2,30 @@ {% load filters %} - + Welcome to Houston ARTCC! {% include 'partials/head.html' %}
- {% include 'partials/navbar.html' with dark=True %} + {% include 'partials/navbar.html' with dark=False %}
-

Bienvenido a
Houston

-

Desde cuernos largos hasta naves espaciales, ¡lo tenemos todo!

-

 Desplazas

+

Welcome to
Houston

+

From longhorns to space ships, we've got it all!

+

  Scroll

-
-

Primer Lugar

+

First Place

Fecha / horaIndicativoValuaciónInformaciónDate / TimeCallsignRatingInfo
No feedback found...
- - - + + + @@ -129,7 +114,7 @@

Teamspeak

{% empty %} - + {% endfor %} @@ -137,7 +122,7 @@

Teamspeak

-
Pilotos Dentro de Houston
+
Pilots within Houston
@@ -145,9 +130,9 @@

Teamspeak

IndicativoControladorDuraciónCallsignControllerDuration
Sin controladores en línea.No controllers online.
- - - + + + @@ -156,7 +141,7 @@

Teamspeak

-
Tiempo
+
Weather
@@ -164,8 +149,8 @@

Teamspeak

IndicativoSalidaLlegadaCallsignDepartureArrival
- - + + diff --git a/templates/partials/footer.html b/templates/partials/footer.html index 4b9e06c..e8e235c 100644 --- a/templates/partials/footer.html +++ b/templates/partials/footer.html @@ -1,12 +1,12 @@
EstaciónCondiciónStationCondition