/', views.order_create, name='order_create'),
+]
\ No newline at end of file
diff --git a/products/views.py b/products/views.py
new file mode 100644
index 0000000..1778c85
--- /dev/null
+++ b/products/views.py
@@ -0,0 +1,170 @@
+from django.views.generic import ListView, DetailView
+from programmer.mixins import MenuContextMixin, BreadcrumbMixin
+from .models import Product, ProductCategory, Configuration
+from django.shortcuts import get_object_or_404
+from django.http import Http404
+from programmer.forms import CallbackForm
+from .forms import OrderForm
+from django.contrib import messages
+from django.shortcuts import redirect
+from programmer.utils.email_notifications import send_order_notification, send_order_notification_async
+
+
+class ProductListView(MenuContextMixin, BreadcrumbMixin, ListView):
+ model = Product
+ template_name = 'products/product_list.html'
+ context_object_name = 'products'
+ paginate_by = 12
+
+ def get_breadcrumbs(self):
+ return [{'title': 'Продукты', 'url_name': None}]
+
+ def get_queryset(self):
+ qs = (
+ Product.objects
+ .filter(is_published=True)
+ .select_related('category')
+ .prefetch_related('configurations')
+ )
+
+ # Фильтр по категории
+ category_slug = self.request.GET.get('category')
+ if category_slug:
+ self.current_category = get_object_or_404(ProductCategory, slug=category_slug)
+ qs = qs.filter(category=self.current_category)
+ else:
+ self.current_category = None
+
+ # Фильтр по конфигурации
+ config_slug = self.request.GET.get('configuration')
+ if config_slug:
+ self.current_configuration = get_object_or_404(Configuration, slug=config_slug)
+ qs = qs.filter(configurations=self.current_configuration)
+ else:
+ self.current_configuration = None
+
+ # ordering уже задан в Meta, явный вызов order_by не нужен,
+ # но оставляем для явности и возможного расширения сортировки
+ return qs.order_by('-time_create')
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+ context['categories'] = ProductCategory.objects.all()
+ context['configurations'] = Configuration.objects.all()
+ context['current_category'] = self.current_category
+ context['current_configuration'] = self.current_configuration
+ context['title'] = "Продукты 1С | Модули и расширения | С.Н.А. Технологии"
+ context['meta_description'] = (
+ "Готовые модули, расширения и программные продукты для 1С: Предприятие. "
+ "Фильтрация по конфигурациям и категориям."
+ )
+ context['meta_keywords'] = "1С модули, расширения 1С, программы 1С, купить 1С, продукты 1С"
+ form = CallbackForm()
+
+ if self.request.user.is_authenticated:
+ if 'captcha' in form.fields:
+ del form.fields['captcha']
+
+ context.update({
+ 'form': form,
+ })
+
+
+ return context
+
+
+class ProductDetailView(MenuContextMixin, BreadcrumbMixin, DetailView):
+ model = Product
+ template_name = 'products/product_detail.html'
+ context_object_name = 'product'
+
+ def get_object(self, queryset=None):
+ product = super().get_object(queryset=queryset)
+ if not product.is_published:
+ raise Http404("Продукт не найден")
+ return product
+
+ def get_breadcrumbs(self):
+ product = self.object
+ return [
+ {'title': 'Продукты', 'url_name': 'products:product_list'},
+ {
+ 'title': product.category.name,
+ 'url_name': 'products:product_list',
+ 'extra_params': f'?category={product.category.slug}',
+ },
+ {'title': product.title, 'url_name': None},
+ ]
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+ product = self.object
+ context['title'] = product.get_seo_title()
+ context['meta_description'] = product.get_seo_description()
+ context['meta_keywords'] = (
+ f"1С, {product.category.name}, "
+ f"{', '.join(c.name for c in product.configurations.all())}"
+ )
+
+ # Форма заказа с предзаполнением для авторизованных
+ initial = {}
+ if self.request.user.is_authenticated:
+ user = self.request.user
+ initial['name'] = user.get_full_name() or user.username
+ initial['email'] = user.email
+ # Если есть профиль и телефон
+ if hasattr(user, 'profile') and user.profile.phone:
+ initial['phone'] = user.profile.phone
+
+ order_form = OrderForm(initial=initial)
+ order_form.fields['configuration'].queryset = product.configurations.all()
+ context['order_form'] = order_form
+ form = CallbackForm()
+
+ if self.request.user.is_authenticated:
+ if 'captcha' in form.fields:
+ del form.fields['captcha']
+
+ context.update({
+ 'form': form,
+ })
+
+ return context
+
+
+
+def order_create(request, slug):
+ product = get_object_or_404(Product, slug=slug, is_published=True)
+
+ if request.method == 'POST':
+ form = OrderForm(request.POST)
+ # Переопределяем queryset для поля configuration – только те, что связаны с продуктом
+ form.fields['configuration'].queryset = product.configurations.all()
+
+ if form.is_valid():
+ order = form.save(commit=False)
+ order.product = product
+ # Если пользователь авторизован, связываем заказ с ним
+ if request.user.is_authenticated:
+ order.user = request.user
+ # Можно предзаполнить имя и email из профиля, если они пустые в форме
+ if not order.name:
+ order.name = request.user.get_full_name() or request.user.username
+ if not order.email:
+ order.email = request.user.email
+ order.save()
+
+ # Сохраняем выбранную конфигурацию (уже сохранена в форме)
+ # success = send_order_notification(order)
+ # if success:
+ # order.notification_sent = True
+ # order.save(update_fields=['notification_sent'])
+ send_order_notification_async(order)
+
+ messages.success(request, '✅ Ваш заказ принят! Мы свяжемся с вами в ближайшее время.')
+ return redirect('products:product_detail', slug=slug)
+ else:
+ for field, errors in form.errors.items():
+ for error in errors:
+ messages.error(request, f'❌ Ошибка в поле "{field}": {error}')
+ return redirect('products:product_detail', slug=slug)
diff --git a/programmer/context_processors.py b/programmer/context_processors.py
index c1a2c92..d51563d 100644
--- a/programmer/context_processors.py
+++ b/programmer/context_processors.py
@@ -1,8 +1,31 @@
from django.conf import settings
+from .forms import CallbackForm
def contact_info(request):
return {
'CONTACT_EMAIL': getattr(settings, 'CONTACT_EMAIL', 'it@nserdyuk.ru'),
'CONTACT_PHONE': getattr(settings, 'CONTACT_PHONE', '+7 (960) 469-40-88'),
- }
\ No newline at end of file
+ }
+
+
+def callback_form(request):
+ initial = {}
+ if request.user.is_authenticated:
+ user = request.user
+ # Имя: полное имя или логин
+ initial['name'] = user.get_full_name() or user.username
+ # Email
+ initial['email'] = user.email
+ # Телефон из профиля (если есть)
+ if hasattr(user, 'profile') and user.profile.phone:
+ initial['phone'] = user.profile.phone
+
+ # Создаём экземпляр формы с initial
+ form = CallbackForm(initial=initial)
+
+ # Для авторизованных пользователей убираем captcha (как у вас в представлениях)
+ if request.user.is_authenticated and 'captcha' in form.fields:
+ del form.fields['captcha']
+
+ return {'callback_form': form}
diff --git a/programmer/mixins.py b/programmer/mixins.py
index bbc10bc..cd256d1 100644
--- a/programmer/mixins.py
+++ b/programmer/mixins.py
@@ -30,7 +30,8 @@ class MenuContextMixin(ContextMixin):
'url_name': None,
'children': [
{'title': "Кейсы", 'url_name': 'solution'},
- {'title': "Статьи", 'url_name': 'blog'},
+ {'title': "Статьи", 'url_name': 'blog:article_list'},
+ {'title': "Продукты", 'url_name': 'products:product_list'},
]
},
{'title': "Отзывы", 'url_name': 'recall'},
diff --git a/programmer/models.py b/programmer/models.py
index 22990e8..ed02373 100644
--- a/programmer/models.py
+++ b/programmer/models.py
@@ -196,6 +196,8 @@ class Profile(models.Model):
specialization = models.CharField(max_length=100, blank=True, verbose_name='Специализация')
avatar = models.ImageField(upload_to='avatars/%Y/%m/%d/', blank=True, verbose_name='Аватар')
email_notifications = models.BooleanField(default=True, verbose_name='Получать уведомления')
+ notify_new_articles = models.BooleanField(default=True, verbose_name="О новых статьях")
+ notify_new_products = models.BooleanField(default=True, verbose_name="О новых продуктах")
def __str__(self):
return f'Профиль {self.user.username}'
diff --git a/programmer/static/admin/css/autocomplete.css b/programmer/static/admin/css/autocomplete.css
index 6d68a5a..69c94e7 100644
--- a/programmer/static/admin/css/autocomplete.css
+++ b/programmer/static/admin/css/autocomplete.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
select.admin-autocomplete {
width: 20em;
}
@@ -274,280 +273,3 @@ select.admin-autocomplete {
display: block;
padding: 6px;
}
-=======
-select.admin-autocomplete {
- width: 20em;
-}
-
-.select2-container--admin-autocomplete.select2-container {
- min-height: 30px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single,
-.select2-container--admin-autocomplete .select2-selection--multiple {
- min-height: 30px;
- padding: 0;
-}
-
-.select2-container--admin-autocomplete.select2-container--focus .select2-selection,
-.select2-container--admin-autocomplete.select2-container--open .select2-selection {
- border-color: var(--body-quiet-color);
- min-height: 30px;
-}
-
-.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--single,
-.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--single {
- padding: 0;
-}
-
-.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--multiple,
-.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--multiple {
- padding: 0;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single {
- background-color: var(--body-bg);
- border: 1px solid var(--border-color);
- border-radius: 4px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered {
- color: var(--body-fg);
- line-height: 30px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__clear {
- cursor: pointer;
- float: right;
- font-weight: bold;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder {
- color: var(--body-quiet-color);
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow {
- height: 26px;
- position: absolute;
- top: 1px;
- right: 1px;
- width: 20px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow b {
- border-color: #888 transparent transparent transparent;
- border-style: solid;
- border-width: 5px 4px 0 4px;
- height: 0;
- left: 50%;
- margin-left: -4px;
- margin-top: -2px;
- position: absolute;
- top: 50%;
- width: 0;
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__clear {
- float: left;
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__arrow {
- left: 1px;
- right: auto;
-}
-
-.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single {
- background-color: var(--darkened-bg);
- cursor: default;
-}
-
-.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single .select2-selection__clear {
- display: none;
-}
-
-.select2-container--admin-autocomplete.select2-container--open .select2-selection--single .select2-selection__arrow b {
- border-color: transparent transparent #888 transparent;
- border-width: 0 4px 5px 4px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple {
- background-color: var(--body-bg);
- border: 1px solid var(--border-color);
- border-radius: 4px;
- cursor: text;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered {
- box-sizing: border-box;
- list-style: none;
- margin: 0;
- padding: 0 10px 5px 5px;
- width: 100%;
- display: flex;
- flex-wrap: wrap;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li {
- list-style: none;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder {
- color: var(--body-quiet-color);
- margin-top: 5px;
- float: left;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear {
- cursor: pointer;
- float: right;
- font-weight: bold;
- margin: 5px;
- position: absolute;
- right: 0;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice {
- background-color: var(--darkened-bg);
- border: 1px solid var(--border-color);
- border-radius: 4px;
- cursor: default;
- float: left;
- margin-right: 5px;
- margin-top: 5px;
- padding: 0 5px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove {
- color: var(--body-quiet-color);
- cursor: pointer;
- display: inline-block;
- font-weight: bold;
- margin-right: 2px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover {
- color: var(--body-fg);
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline {
- float: right;
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
- margin-left: 5px;
- margin-right: auto;
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
- margin-left: 2px;
- margin-right: auto;
-}
-
-.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple {
- border: solid var(--body-quiet-color) 1px;
- outline: 0;
-}
-
-.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple {
- background-color: var(--darkened-bg);
- cursor: default;
-}
-
-.select2-container--admin-autocomplete.select2-container--disabled .select2-selection__choice__remove {
- display: none;
-}
-
-.select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--multiple {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
-}
-
-.select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--multiple {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.select2-container--admin-autocomplete .select2-search--dropdown {
- background: var(--darkened-bg);
-}
-
-.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field {
- background: var(--body-bg);
- color: var(--body-fg);
- border: 1px solid var(--border-color);
- border-radius: 4px;
-}
-
-.select2-container--admin-autocomplete .select2-search--inline .select2-search__field {
- background: transparent;
- color: var(--body-fg);
- border: none;
- outline: 0;
- box-shadow: none;
- -webkit-appearance: textfield;
-}
-
-.select2-container--admin-autocomplete .select2-results > .select2-results__options {
- max-height: 200px;
- overflow-y: auto;
- color: var(--body-fg);
- background: var(--body-bg);
-}
-
-.select2-container--admin-autocomplete .select2-results__option[role=group] {
- padding: 0;
-}
-
-.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] {
- color: var(--body-quiet-color);
-}
-
-.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] {
- background-color: var(--selected-bg);
- color: var(--body-fg);
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option {
- padding-left: 1em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group {
- padding-left: 0;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -1em;
- padding-left: 2em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -2em;
- padding-left: 3em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -3em;
- padding-left: 4em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -4em;
- padding-left: 5em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -5em;
- padding-left: 6em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] {
- background-color: var(--primary);
- color: var(--primary-fg);
-}
-
-.select2-container--admin-autocomplete .select2-results__group {
- cursor: default;
- display: block;
- padding: 6px;
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/base.css b/programmer/static/admin/css/base.css
index 28858ae..72f4ae1 100644
--- a/programmer/static/admin/css/base.css
+++ b/programmer/static/admin/css/base.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
/*
DJANGO Admin styles
*/
@@ -1137,1143 +1136,3 @@ a.deletelink:focus, a.deletelink:hover {
.base-svgs {
display: none;
}
-=======
-/*
- DJANGO Admin styles
-*/
-
-/* VARIABLE DEFINITIONS */
-html[data-theme="light"],
-:root {
- --primary: #79aec8;
- --secondary: #417690;
- --accent: #f5dd5d;
- --primary-fg: #fff;
-
- --body-fg: #333;
- --body-bg: #fff;
- --body-quiet-color: #666;
- --body-loud-color: #000;
-
- --header-color: #ffc;
- --header-branding-color: var(--accent);
- --header-bg: var(--secondary);
- --header-link-color: var(--primary-fg);
-
- --breadcrumbs-fg: #c4dce8;
- --breadcrumbs-link-fg: var(--body-bg);
- --breadcrumbs-bg: var(--primary);
-
- --link-fg: #417893;
- --link-hover-color: #036;
- --link-selected-fg: #5b80b2;
-
- --hairline-color: #e8e8e8;
- --border-color: #ccc;
-
- --error-fg: #ba2121;
-
- --message-success-bg: #dfd;
- --message-warning-bg: #ffc;
- --message-error-bg: #ffefef;
-
- --darkened-bg: #f8f8f8; /* A bit darker than --body-bg */
- --selected-bg: #e4e4e4; /* E.g. selected table cells */
- --selected-row: #ffc;
-
- --button-fg: #fff;
- --button-bg: var(--primary);
- --button-hover-bg: #609ab6;
- --default-button-bg: var(--secondary);
- --default-button-hover-bg: #205067;
- --close-button-bg: #747474;
- --close-button-hover-bg: #333;
- --delete-button-bg: #ba2121;
- --delete-button-hover-bg: #a41515;
-
- --object-tools-fg: var(--button-fg);
- --object-tools-bg: var(--close-button-bg);
- --object-tools-hover-bg: var(--close-button-hover-bg);
-
- --font-family-primary:
- -apple-system,
- BlinkMacSystemFont,
- "Segoe UI",
- system-ui,
- Roboto,
- "Helvetica Neue",
- Arial,
- sans-serif,
- "Apple Color Emoji",
- "Segoe UI Emoji",
- "Segoe UI Symbol",
- "Noto Color Emoji";
- --font-family-monospace:
- ui-monospace,
- Menlo,
- Monaco,
- "Cascadia Mono",
- "Segoe UI Mono",
- "Roboto Mono",
- "Oxygen Mono",
- "Ubuntu Monospace",
- "Source Code Pro",
- "Fira Mono",
- "Droid Sans Mono",
- "Courier New",
- monospace,
- "Apple Color Emoji",
- "Segoe UI Emoji",
- "Segoe UI Symbol",
- "Noto Color Emoji";
-}
-
-html, body {
- height: 100%;
-}
-
-body {
- margin: 0;
- padding: 0;
- font-size: 0.875rem;
- font-family: var(--font-family-primary);
- color: var(--body-fg);
- background: var(--body-bg);
-}
-
-/* LINKS */
-
-a:link, a:visited {
- color: var(--link-fg);
- text-decoration: none;
- transition: color 0.15s, background 0.15s;
-}
-
-a:focus, a:hover {
- color: var(--link-hover-color);
-}
-
-a:focus {
- text-decoration: underline;
-}
-
-a img {
- border: none;
-}
-
-a.section:link, a.section:visited {
- color: var(--header-link-color);
- text-decoration: none;
-}
-
-a.section:focus, a.section:hover {
- text-decoration: underline;
-}
-
-/* GLOBAL DEFAULTS */
-
-p, ol, ul, dl {
- margin: .2em 0 .8em 0;
-}
-
-p {
- padding: 0;
- line-height: 140%;
-}
-
-h1,h2,h3,h4,h5 {
- font-weight: bold;
-}
-
-h1 {
- margin: 0 0 20px;
- font-weight: 300;
- font-size: 1.25rem;
- color: var(--body-quiet-color);
-}
-
-h2 {
- font-size: 1rem;
- margin: 1em 0 .5em 0;
-}
-
-h2.subhead {
- font-weight: normal;
- margin-top: 0;
-}
-
-h3 {
- font-size: 0.875rem;
- margin: .8em 0 .3em 0;
- color: var(--body-quiet-color);
- font-weight: bold;
-}
-
-h4 {
- font-size: 0.75rem;
- margin: 1em 0 .8em 0;
- padding-bottom: 3px;
-}
-
-h5 {
- font-size: 0.625rem;
- margin: 1.5em 0 .5em 0;
- color: var(--body-quiet-color);
- text-transform: uppercase;
- letter-spacing: 1px;
-}
-
-ul > li {
- list-style-type: square;
- padding: 1px 0;
-}
-
-li ul {
- margin-bottom: 0;
-}
-
-li, dt, dd {
- font-size: 0.8125rem;
- line-height: 1.25rem;
-}
-
-dt {
- font-weight: bold;
- margin-top: 4px;
-}
-
-dd {
- margin-left: 0;
-}
-
-form {
- margin: 0;
- padding: 0;
-}
-
-fieldset {
- margin: 0;
- min-width: 0;
- padding: 0;
- border: none;
- border-top: 1px solid var(--hairline-color);
-}
-
-blockquote {
- font-size: 0.6875rem;
- color: #777;
- margin-left: 2px;
- padding-left: 10px;
- border-left: 5px solid #ddd;
-}
-
-code, pre {
- font-family: var(--font-family-monospace);
- color: var(--body-quiet-color);
- font-size: 0.75rem;
- overflow-x: auto;
-}
-
-pre.literal-block {
- margin: 10px;
- background: var(--darkened-bg);
- padding: 6px 8px;
-}
-
-code strong {
- color: #930;
-}
-
-hr {
- clear: both;
- color: var(--hairline-color);
- background-color: var(--hairline-color);
- height: 1px;
- border: none;
- margin: 0;
- padding: 0;
- line-height: 1px;
-}
-
-/* TEXT STYLES & MODIFIERS */
-
-.small {
- font-size: 0.6875rem;
-}
-
-.mini {
- font-size: 0.625rem;
-}
-
-.help, p.help, form p.help, div.help, form div.help, div.help li {
- font-size: 0.6875rem;
- color: var(--body-quiet-color);
-}
-
-div.help ul {
- margin-bottom: 0;
-}
-
-.help-tooltip {
- cursor: help;
-}
-
-p img, h1 img, h2 img, h3 img, h4 img, td img {
- vertical-align: middle;
-}
-
-.quiet, a.quiet:link, a.quiet:visited {
- color: var(--body-quiet-color);
- font-weight: normal;
-}
-
-.clear {
- clear: both;
-}
-
-.nowrap {
- white-space: nowrap;
-}
-
-.hidden {
- display: none !important;
-}
-
-/* TABLES */
-
-table {
- border-collapse: collapse;
- border-color: var(--border-color);
-}
-
-td, th {
- font-size: 0.8125rem;
- line-height: 1rem;
- border-bottom: 1px solid var(--hairline-color);
- vertical-align: top;
- padding: 8px;
-}
-
-th {
- font-weight: 600;
- text-align: left;
-}
-
-thead th,
-tfoot td {
- color: var(--body-quiet-color);
- padding: 5px 10px;
- font-size: 0.6875rem;
- background: var(--body-bg);
- border: none;
- border-top: 1px solid var(--hairline-color);
- border-bottom: 1px solid var(--hairline-color);
-}
-
-tfoot td {
- border-bottom: none;
- border-top: 1px solid var(--hairline-color);
-}
-
-thead th.required {
- color: var(--body-loud-color);
-}
-
-tr.alt {
- background: var(--darkened-bg);
-}
-
-tr:nth-child(odd), .row-form-errors {
- background: var(--body-bg);
-}
-
-tr:nth-child(even),
-tr:nth-child(even) .errorlist,
-tr:nth-child(odd) + .row-form-errors,
-tr:nth-child(odd) + .row-form-errors .errorlist {
- background: var(--darkened-bg);
-}
-
-/* SORTABLE TABLES */
-
-thead th {
- padding: 5px 10px;
- line-height: normal;
- text-transform: uppercase;
- background: var(--darkened-bg);
-}
-
-thead th a:link, thead th a:visited {
- color: var(--body-quiet-color);
-}
-
-thead th.sorted {
- background: var(--selected-bg);
-}
-
-thead th.sorted .text {
- padding-right: 42px;
-}
-
-table thead th .text span {
- padding: 8px 10px;
- display: block;
-}
-
-table thead th .text a {
- display: block;
- cursor: pointer;
- padding: 8px 10px;
-}
-
-table thead th .text a:focus, table thead th .text a:hover {
- background: var(--selected-bg);
-}
-
-thead th.sorted a.sortremove {
- visibility: hidden;
-}
-
-table thead th.sorted:hover a.sortremove {
- visibility: visible;
-}
-
-table thead th.sorted .sortoptions {
- display: block;
- padding: 9px 5px 0 5px;
- float: right;
- text-align: right;
-}
-
-table thead th.sorted .sortpriority {
- font-size: .8em;
- min-width: 12px;
- text-align: center;
- vertical-align: 3px;
- margin-left: 2px;
- margin-right: 2px;
-}
-
-table thead th.sorted .sortoptions a {
- position: relative;
- width: 14px;
- height: 14px;
- display: inline-block;
- background: url(../img/sorting-icons.svg) 0 0 no-repeat;
- background-size: 14px auto;
-}
-
-table thead th.sorted .sortoptions a.sortremove {
- background-position: 0 0;
-}
-
-table thead th.sorted .sortoptions a.sortremove:after {
- content: '\\';
- position: absolute;
- top: -6px;
- left: 3px;
- font-weight: 200;
- font-size: 1.125rem;
- color: var(--body-quiet-color);
-}
-
-table thead th.sorted .sortoptions a.sortremove:focus:after,
-table thead th.sorted .sortoptions a.sortremove:hover:after {
- color: var(--link-fg);
-}
-
-table thead th.sorted .sortoptions a.sortremove:focus,
-table thead th.sorted .sortoptions a.sortremove:hover {
- background-position: 0 -14px;
-}
-
-table thead th.sorted .sortoptions a.ascending {
- background-position: 0 -28px;
-}
-
-table thead th.sorted .sortoptions a.ascending:focus,
-table thead th.sorted .sortoptions a.ascending:hover {
- background-position: 0 -42px;
-}
-
-table thead th.sorted .sortoptions a.descending {
- top: 1px;
- background-position: 0 -56px;
-}
-
-table thead th.sorted .sortoptions a.descending:focus,
-table thead th.sorted .sortoptions a.descending:hover {
- background-position: 0 -70px;
-}
-
-/* FORM DEFAULTS */
-
-input, textarea, select, .form-row p, form .button {
- margin: 2px 0;
- padding: 2px 3px;
- vertical-align: middle;
- font-family: var(--font-family-primary);
- font-weight: normal;
- font-size: 0.8125rem;
-}
-.form-row div.help {
- padding: 2px 3px;
-}
-
-textarea {
- vertical-align: top;
-}
-
-input[type=text], input[type=password], input[type=email], input[type=url],
-input[type=number], input[type=tel], textarea, select, .vTextField {
- border: 1px solid var(--border-color);
- border-radius: 4px;
- padding: 5px 6px;
- margin-top: 0;
- color: var(--body-fg);
- background-color: var(--body-bg);
-}
-
-input[type=text]:focus, input[type=password]:focus, input[type=email]:focus,
-input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus,
-textarea:focus, select:focus, .vTextField:focus {
- border-color: var(--body-quiet-color);
-}
-
-select {
- height: 1.875rem;
-}
-
-select[multiple] {
- /* Allow HTML size attribute to override the height in the rule above. */
- height: auto;
- min-height: 150px;
-}
-
-/* FORM BUTTONS */
-
-.button, input[type=submit], input[type=button], .submit-row input, a.button {
- background: var(--button-bg);
- padding: 10px 15px;
- border: none;
- border-radius: 4px;
- color: var(--button-fg);
- cursor: pointer;
- transition: background 0.15s;
-}
-
-a.button {
- padding: 4px 5px;
-}
-
-.button:active, input[type=submit]:active, input[type=button]:active,
-.button:focus, input[type=submit]:focus, input[type=button]:focus,
-.button:hover, input[type=submit]:hover, input[type=button]:hover {
- background: var(--button-hover-bg);
-}
-
-.button[disabled], input[type=submit][disabled], input[type=button][disabled] {
- opacity: 0.4;
-}
-
-.button.default, input[type=submit].default, .submit-row input.default {
- border: none;
- font-weight: 400;
- background: var(--default-button-bg);
-}
-
-.button.default:active, input[type=submit].default:active,
-.button.default:focus, input[type=submit].default:focus,
-.button.default:hover, input[type=submit].default:hover {
- background: var(--default-button-hover-bg);
-}
-
-.button[disabled].default,
-input[type=submit][disabled].default,
-input[type=button][disabled].default {
- opacity: 0.4;
-}
-
-
-/* MODULES */
-
-.module {
- border: none;
- margin-bottom: 30px;
- background: var(--body-bg);
-}
-
-.module p, .module ul, .module h3, .module h4, .module dl, .module pre {
- padding-left: 10px;
- padding-right: 10px;
-}
-
-.module blockquote {
- margin-left: 12px;
-}
-
-.module ul, .module ol {
- margin-left: 1.5em;
-}
-
-.module h3 {
- margin-top: .6em;
-}
-
-.module h2, .module caption, .inline-group h2 {
- margin: 0;
- padding: 8px;
- font-weight: 400;
- font-size: 0.8125rem;
- text-align: left;
- background: var(--primary);
- color: var(--header-link-color);
-}
-
-.module caption,
-.inline-group h2 {
- font-size: 0.75rem;
- letter-spacing: 0.5px;
- text-transform: uppercase;
-}
-
-.module table {
- border-collapse: collapse;
-}
-
-/* MESSAGES & ERRORS */
-
-ul.messagelist {
- padding: 0;
- margin: 0;
-}
-
-ul.messagelist li {
- display: block;
- font-weight: 400;
- font-size: 0.8125rem;
- padding: 10px 10px 10px 65px;
- margin: 0 0 10px 0;
- background: var(--message-success-bg) url(../img/icon-yes.svg) 40px 12px no-repeat;
- background-size: 16px auto;
- color: var(--body-fg);
- word-break: break-word;
-}
-
-ul.messagelist li.warning {
- background: var(--message-warning-bg) url(../img/icon-alert.svg) 40px 14px no-repeat;
- background-size: 14px auto;
-}
-
-ul.messagelist li.error {
- background: var(--message-error-bg) url(../img/icon-no.svg) 40px 12px no-repeat;
- background-size: 16px auto;
-}
-
-.errornote {
- font-size: 0.875rem;
- font-weight: 700;
- display: block;
- padding: 10px 12px;
- margin: 0 0 10px 0;
- color: var(--error-fg);
- border: 1px solid var(--error-fg);
- border-radius: 4px;
- background-color: var(--body-bg);
- background-position: 5px 12px;
- overflow-wrap: break-word;
-}
-
-ul.errorlist {
- margin: 0 0 4px;
- padding: 0;
- color: var(--error-fg);
- background: var(--body-bg);
-}
-
-ul.errorlist li {
- font-size: 0.8125rem;
- display: block;
- margin-bottom: 4px;
- overflow-wrap: break-word;
-}
-
-ul.errorlist li:first-child {
- margin-top: 0;
-}
-
-ul.errorlist li a {
- color: inherit;
- text-decoration: underline;
-}
-
-td ul.errorlist {
- margin: 0;
- padding: 0;
-}
-
-td ul.errorlist li {
- margin: 0;
-}
-
-.form-row.errors {
- margin: 0;
- border: none;
- border-bottom: 1px solid var(--hairline-color);
- background: none;
-}
-
-.form-row.errors ul.errorlist li {
- padding-left: 0;
-}
-
-.errors input, .errors select, .errors textarea,
-td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea {
- border: 1px solid var(--error-fg);
-}
-
-.description {
- font-size: 0.75rem;
- padding: 5px 0 0 12px;
-}
-
-/* BREADCRUMBS */
-
-div.breadcrumbs {
- background: var(--breadcrumbs-bg);
- padding: 10px 40px;
- border: none;
- color: var(--breadcrumbs-fg);
- text-align: left;
-}
-
-div.breadcrumbs a {
- color: var(--breadcrumbs-link-fg);
-}
-
-div.breadcrumbs a:focus, div.breadcrumbs a:hover {
- color: var(--breadcrumbs-fg);
-}
-
-/* ACTION ICONS */
-
-.viewlink, .inlineviewlink {
- padding-left: 16px;
- background: url(../img/icon-viewlink.svg) 0 1px no-repeat;
-}
-
-.addlink {
- padding-left: 16px;
- background: url(../img/icon-addlink.svg) 0 1px no-repeat;
-}
-
-.changelink, .inlinechangelink {
- padding-left: 16px;
- background: url(../img/icon-changelink.svg) 0 1px no-repeat;
-}
-
-.deletelink {
- padding-left: 16px;
- background: url(../img/icon-deletelink.svg) 0 1px no-repeat;
-}
-
-a.deletelink:link, a.deletelink:visited {
- color: #CC3434; /* XXX Probably unused? */
-}
-
-a.deletelink:focus, a.deletelink:hover {
- color: #993333; /* XXX Probably unused? */
- text-decoration: none;
-}
-
-/* OBJECT TOOLS */
-
-.object-tools {
- font-size: 0.625rem;
- font-weight: bold;
- padding-left: 0;
- float: right;
- position: relative;
- margin-top: -48px;
-}
-
-.object-tools li {
- display: block;
- float: left;
- margin-left: 5px;
- height: 1rem;
-}
-
-.object-tools a {
- border-radius: 15px;
-}
-
-.object-tools a:link, .object-tools a:visited {
- display: block;
- float: left;
- padding: 3px 12px;
- background: var(--object-tools-bg);
- color: var(--object-tools-fg);
- font-weight: 400;
- font-size: 0.6875rem;
- text-transform: uppercase;
- letter-spacing: 0.5px;
-}
-
-.object-tools a:focus, .object-tools a:hover {
- background-color: var(--object-tools-hover-bg);
-}
-
-.object-tools a:focus{
- text-decoration: none;
-}
-
-.object-tools a.viewsitelink, .object-tools a.addlink {
- background-repeat: no-repeat;
- background-position: right 7px center;
- padding-right: 26px;
-}
-
-.object-tools a.viewsitelink {
- background-image: url(../img/tooltag-arrowright.svg);
-}
-
-.object-tools a.addlink {
- background-image: url(../img/tooltag-add.svg);
-}
-
-/* OBJECT HISTORY */
-
-#change-history table {
- width: 100%;
-}
-
-#change-history table tbody th {
- width: 16em;
-}
-
-#change-history .paginator {
- color: var(--body-quiet-color);
- border-bottom: 1px solid var(--hairline-color);
- background: var(--body-bg);
- overflow: hidden;
-}
-
-/* PAGE STRUCTURE */
-
-#container {
- position: relative;
- width: 100%;
- min-width: 980px;
- padding: 0;
- display: flex;
- flex-direction: column;
- height: 100%;
-}
-
-#container > div {
- flex-shrink: 0;
-}
-
-#container > .main {
- display: flex;
- flex: 1 0 auto;
-}
-
-.main > .content {
- flex: 1 0;
- max-width: 100%;
-}
-
-.skip-to-content-link {
- position: absolute;
- top: -999px;
- margin: 5px;
- padding: 5px;
- background: var(--body-bg);
- z-index: 1;
-}
-
-.skip-to-content-link:focus {
- left: 0px;
- top: 0px;
-}
-
-#content {
- padding: 20px 40px;
-}
-
-.dashboard #content {
- width: 600px;
-}
-
-#content-main {
- float: left;
- width: 100%;
-}
-
-#content-related {
- float: right;
- width: 260px;
- position: relative;
- margin-right: -300px;
-}
-
-#footer {
- clear: both;
- padding: 10px;
-}
-
-/* COLUMN TYPES */
-
-.colMS {
- margin-right: 300px;
-}
-
-.colSM {
- margin-left: 300px;
-}
-
-.colSM #content-related {
- float: left;
- margin-right: 0;
- margin-left: -300px;
-}
-
-.colSM #content-main {
- float: right;
-}
-
-.popup .colM {
- width: auto;
-}
-
-/* HEADER */
-
-#header {
- width: auto;
- height: auto;
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 10px 40px;
- background: var(--header-bg);
- color: var(--header-color);
- overflow: hidden;
-}
-
-#header a:link, #header a:visited, #logout-form button {
- color: var(--header-link-color);
-}
-
-#header a:focus , #header a:hover {
- text-decoration: underline;
-}
-
-#branding {
- display: flex;
-}
-
-#branding h1 {
- padding: 0;
- margin: 0;
- margin-inline-end: 20px;
- font-weight: 300;
- font-size: 1.5rem;
- color: var(--header-branding-color);
-}
-
-#branding h1 a:link, #branding h1 a:visited {
- color: var(--accent);
-}
-
-#branding h2 {
- padding: 0 10px;
- font-size: 0.875rem;
- margin: -8px 0 8px 0;
- font-weight: normal;
- color: var(--header-color);
-}
-
-#branding a:hover {
- text-decoration: none;
-}
-
-#logout-form {
- display: inline;
-}
-
-#logout-form button {
- background: none;
- border: 0;
- cursor: pointer;
- font-family: var(--font-family-primary);
-}
-
-#user-tools {
- float: right;
- margin: 0 0 0 20px;
- text-align: right;
-}
-
-#user-tools, #logout-form button{
- padding: 0;
- font-weight: 300;
- font-size: 0.6875rem;
- letter-spacing: 0.5px;
- text-transform: uppercase;
-}
-
-#user-tools a, #logout-form button {
- border-bottom: 1px solid rgba(255, 255, 255, 0.25);
-}
-
-#user-tools a:focus, #user-tools a:hover,
-#logout-form button:active, #logout-form button:hover {
- text-decoration: none;
- border-bottom: 0;
-}
-
-#logout-form button:active, #logout-form button:hover {
- margin-bottom: 1px;
-}
-
-/* SIDEBAR */
-
-#content-related {
- background: var(--darkened-bg);
-}
-
-#content-related .module {
- background: none;
-}
-
-#content-related h3 {
- color: var(--body-quiet-color);
- padding: 0 16px;
- margin: 0 0 16px;
-}
-
-#content-related h4 {
- font-size: 0.8125rem;
-}
-
-#content-related p {
- padding-left: 16px;
- padding-right: 16px;
-}
-
-#content-related .actionlist {
- padding: 0;
- margin: 16px;
-}
-
-#content-related .actionlist li {
- line-height: 1.2;
- margin-bottom: 10px;
- padding-left: 18px;
-}
-
-#content-related .module h2 {
- background: none;
- padding: 16px;
- margin-bottom: 16px;
- border-bottom: 1px solid var(--hairline-color);
- font-size: 1.125rem;
- color: var(--body-fg);
-}
-
-.delete-confirmation form input[type="submit"] {
- background: var(--delete-button-bg);
- border-radius: 4px;
- padding: 10px 15px;
- color: var(--button-fg);
-}
-
-.delete-confirmation form input[type="submit"]:active,
-.delete-confirmation form input[type="submit"]:focus,
-.delete-confirmation form input[type="submit"]:hover {
- background: var(--delete-button-hover-bg);
-}
-
-.delete-confirmation form .cancel-link {
- display: inline-block;
- vertical-align: middle;
- height: 0.9375rem;
- line-height: 0.9375rem;
- border-radius: 4px;
- padding: 10px 15px;
- color: var(--button-fg);
- background: var(--close-button-bg);
- margin: 0 0 0 10px;
-}
-
-.delete-confirmation form .cancel-link:active,
-.delete-confirmation form .cancel-link:focus,
-.delete-confirmation form .cancel-link:hover {
- background: var(--close-button-hover-bg);
-}
-
-/* POPUP */
-.popup #content {
- padding: 20px;
-}
-
-.popup #container {
- min-width: 0;
-}
-
-.popup #header {
- padding: 10px 20px;
-}
-
-/* PAGINATOR */
-
-.paginator {
- font-size: 0.8125rem;
- padding-top: 10px;
- padding-bottom: 10px;
- line-height: 22px;
- margin: 0;
- border-top: 1px solid var(--hairline-color);
- width: 100%;
-}
-
-.paginator a:link, .paginator a:visited {
- padding: 2px 6px;
- background: var(--button-bg);
- text-decoration: none;
- color: var(--button-fg);
-}
-
-.paginator a.showall {
- border: none;
- background: none;
- color: var(--link-fg);
-}
-
-.paginator a.showall:focus, .paginator a.showall:hover {
- background: none;
- color: var(--link-hover-color);
-}
-
-.paginator .end {
- margin-right: 6px;
-}
-
-.paginator .this-page {
- padding: 2px 6px;
- font-weight: bold;
- font-size: 0.8125rem;
- vertical-align: top;
-}
-
-.paginator a:focus, .paginator a:hover {
- color: white;
- background: var(--link-hover-color);
-}
-
-.base-svgs {
- display: none;
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/changelists.css b/programmer/static/admin/css/changelists.css
index 3c94b10..a754513 100644
--- a/programmer/static/admin/css/changelists.css
+++ b/programmer/static/admin/css/changelists.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
/* CHANGELISTS */
#changelist {
@@ -327,333 +326,3 @@
#changelist .actions .button:focus, #changelist .actions .button:hover {
border-color: var(--body-quiet-color);
}
-=======
-/* CHANGELISTS */
-
-#changelist {
- display: flex;
- align-items: flex-start;
- justify-content: space-between;
-}
-
-#changelist .changelist-form-container {
- flex: 1 1 auto;
- min-width: 0;
-}
-
-#changelist table {
- width: 100%;
-}
-
-.change-list .hiddenfields { display:none; }
-
-.change-list .filtered table {
- border-right: none;
-}
-
-.change-list .filtered {
- min-height: 400px;
-}
-
-.change-list .filtered .results, .change-list .filtered .paginator,
-.filtered #toolbar, .filtered div.xfull {
- width: auto;
-}
-
-.change-list .filtered table tbody th {
- padding-right: 1em;
-}
-
-#changelist-form .results {
- overflow-x: auto;
- width: 100%;
-}
-
-#changelist .toplinks {
- border-bottom: 1px solid var(--hairline-color);
-}
-
-#changelist .paginator {
- color: var(--body-quiet-color);
- border-bottom: 1px solid var(--hairline-color);
- background: var(--body-bg);
- overflow: hidden;
-}
-
-/* CHANGELIST TABLES */
-
-#changelist table thead th {
- padding: 0;
- white-space: nowrap;
- vertical-align: middle;
-}
-
-#changelist table thead th.action-checkbox-column {
- width: 1.5em;
- text-align: center;
-}
-
-#changelist table tbody td.action-checkbox {
- text-align: center;
-}
-
-#changelist table tfoot {
- color: var(--body-quiet-color);
-}
-
-/* TOOLBAR */
-
-#toolbar {
- padding: 8px 10px;
- margin-bottom: 15px;
- border-top: 1px solid var(--hairline-color);
- border-bottom: 1px solid var(--hairline-color);
- background: var(--darkened-bg);
- color: var(--body-quiet-color);
-}
-
-#toolbar form input {
- border-radius: 4px;
- font-size: 0.875rem;
- padding: 5px;
- color: var(--body-fg);
-}
-
-#toolbar #searchbar {
- height: 1.1875rem;
- border: 1px solid var(--border-color);
- padding: 2px 5px;
- margin: 0;
- vertical-align: top;
- font-size: 0.8125rem;
- max-width: 100%;
-}
-
-#toolbar #searchbar:focus {
- border-color: var(--body-quiet-color);
-}
-
-#toolbar form input[type="submit"] {
- border: 1px solid var(--border-color);
- font-size: 0.8125rem;
- padding: 4px 8px;
- margin: 0;
- vertical-align: middle;
- background: var(--body-bg);
- box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
- cursor: pointer;
- color: var(--body-fg);
-}
-
-#toolbar form input[type="submit"]:focus,
-#toolbar form input[type="submit"]:hover {
- border-color: var(--body-quiet-color);
-}
-
-#changelist-search img {
- vertical-align: middle;
- margin-right: 4px;
-}
-
-#changelist-search .help {
- word-break: break-word;
-}
-
-/* FILTER COLUMN */
-
-#changelist-filter {
- flex: 0 0 240px;
- order: 1;
- background: var(--darkened-bg);
- border-left: none;
- margin: 0 0 0 30px;
-}
-
-#changelist-filter h2 {
- font-size: 0.875rem;
- text-transform: uppercase;
- letter-spacing: 0.5px;
- padding: 5px 15px;
- margin-bottom: 12px;
- border-bottom: none;
-}
-
-#changelist-filter h3,
-#changelist-filter details summary {
- font-weight: 400;
- padding: 0 15px;
- margin-bottom: 10px;
-}
-
-#changelist-filter details summary > * {
- display: inline;
-}
-
-#changelist-filter details > summary {
- list-style-type: none;
-}
-
-#changelist-filter details > summary::-webkit-details-marker {
- display: none;
-}
-
-#changelist-filter details > summary::before {
- content: '→';
- font-weight: bold;
- color: var(--link-hover-color);
-}
-
-#changelist-filter details[open] > summary::before {
- content: '↓';
-}
-
-#changelist-filter ul {
- margin: 5px 0;
- padding: 0 15px 15px;
- border-bottom: 1px solid var(--hairline-color);
-}
-
-#changelist-filter ul:last-child {
- border-bottom: none;
-}
-
-#changelist-filter li {
- list-style-type: none;
- margin-left: 0;
- padding-left: 0;
-}
-
-#changelist-filter a {
- display: block;
- color: var(--body-quiet-color);
- word-break: break-word;
-}
-
-#changelist-filter li.selected {
- border-left: 5px solid var(--hairline-color);
- padding-left: 10px;
- margin-left: -15px;
-}
-
-#changelist-filter li.selected a {
- color: var(--link-selected-fg);
-}
-
-#changelist-filter a:focus, #changelist-filter a:hover,
-#changelist-filter li.selected a:focus,
-#changelist-filter li.selected a:hover {
- color: var(--link-hover-color);
-}
-
-#changelist-filter #changelist-filter-clear a {
- font-size: 0.8125rem;
- padding-bottom: 10px;
- border-bottom: 1px solid var(--hairline-color);
-}
-
-/* DATE DRILLDOWN */
-
-.change-list .toplinks {
- display: flex;
- padding-bottom: 5px;
- flex-wrap: wrap;
- gap: 3px 17px;
- font-weight: bold;
-}
-
-.change-list .toplinks a {
- font-size: 0.8125rem;
-}
-
-.change-list .toplinks .date-back {
- color: var(--body-quiet-color);
-}
-
-.change-list .toplinks .date-back:focus,
-.change-list .toplinks .date-back:hover {
- color: var(--link-hover-color);
-}
-
-/* ACTIONS */
-
-.filtered .actions {
- border-right: none;
-}
-
-#changelist table input {
- margin: 0;
- vertical-align: baseline;
-}
-
-/* Once the :has() pseudo-class is supported by all browsers, the tr.selected
- selector and the JS adding the class can be removed. */
-#changelist tbody tr.selected {
- background-color: var(--selected-row);
-}
-
-#changelist tbody tr:has(.action-select:checked) {
- background-color: var(--selected-row);
-}
-
-#changelist .actions {
- padding: 10px;
- background: var(--body-bg);
- border-top: none;
- border-bottom: none;
- line-height: 1.5rem;
- color: var(--body-quiet-color);
- width: 100%;
-}
-
-#changelist .actions span.all,
-#changelist .actions span.action-counter,
-#changelist .actions span.clear,
-#changelist .actions span.question {
- font-size: 0.8125rem;
- margin: 0 0.5em;
-}
-
-#changelist .actions:last-child {
- border-bottom: none;
-}
-
-#changelist .actions select {
- vertical-align: top;
- height: 1.5rem;
- color: var(--body-fg);
- border: 1px solid var(--border-color);
- border-radius: 4px;
- font-size: 0.875rem;
- padding: 0 0 0 4px;
- margin: 0;
- margin-left: 10px;
-}
-
-#changelist .actions select:focus {
- border-color: var(--body-quiet-color);
-}
-
-#changelist .actions label {
- display: inline-block;
- vertical-align: middle;
- font-size: 0.8125rem;
-}
-
-#changelist .actions .button {
- font-size: 0.8125rem;
- border: 1px solid var(--border-color);
- border-radius: 4px;
- background: var(--body-bg);
- box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
- cursor: pointer;
- height: 1.5rem;
- line-height: 1;
- padding: 4px 8px;
- margin: 0;
- color: var(--body-fg);
-}
-
-#changelist .actions .button:focus, #changelist .actions .button:hover {
- border-color: var(--body-quiet-color);
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/dark_mode.css b/programmer/static/admin/css/dark_mode.css
index 0712809..6d08233 100644
--- a/programmer/static/admin/css/dark_mode.css
+++ b/programmer/static/admin/css/dark_mode.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
@media (prefers-color-scheme: dark) {
:root {
--primary: #264b5d;
@@ -136,142 +135,3 @@ html[data-theme="light"] .theme-toggle svg.theme-icon-when-light {
color: var(--body-fg);
background-color: var(--body-bg);
}
-=======
-@media (prefers-color-scheme: dark) {
- :root {
- --primary: #264b5d;
- --primary-fg: #f7f7f7;
-
- --body-fg: #eeeeee;
- --body-bg: #121212;
- --body-quiet-color: #e0e0e0;
- --body-loud-color: #ffffff;
-
- --breadcrumbs-link-fg: #e0e0e0;
- --breadcrumbs-bg: var(--primary);
-
- --link-fg: #81d4fa;
- --link-hover-color: #4ac1f7;
- --link-selected-fg: #6f94c6;
-
- --hairline-color: #272727;
- --border-color: #353535;
-
- --error-fg: #e35f5f;
- --message-success-bg: #006b1b;
- --message-warning-bg: #583305;
- --message-error-bg: #570808;
-
- --darkened-bg: #212121;
- --selected-bg: #1b1b1b;
- --selected-row: #00363a;
-
- --close-button-bg: #333333;
- --close-button-hover-bg: #666666;
- }
- }
-
-
-html[data-theme="dark"] {
- --primary: #264b5d;
- --primary-fg: #f7f7f7;
-
- --body-fg: #eeeeee;
- --body-bg: #121212;
- --body-quiet-color: #e0e0e0;
- --body-loud-color: #ffffff;
-
- --breadcrumbs-link-fg: #e0e0e0;
- --breadcrumbs-bg: var(--primary);
-
- --link-fg: #81d4fa;
- --link-hover-color: #4ac1f7;
- --link-selected-fg: #6f94c6;
-
- --hairline-color: #272727;
- --border-color: #353535;
-
- --error-fg: #e35f5f;
- --message-success-bg: #006b1b;
- --message-warning-bg: #583305;
- --message-error-bg: #570808;
-
- --darkened-bg: #212121;
- --selected-bg: #1b1b1b;
- --selected-row: #00363a;
-
- --close-button-bg: #333333;
- --close-button-hover-bg: #666666;
-}
-
-/* THEME SWITCH */
-.theme-toggle {
- cursor: pointer;
- border: none;
- padding: 0;
- background: transparent;
- vertical-align: middle;
- margin-inline-start: 5px;
- margin-top: -1px;
-}
-
-.theme-toggle svg {
- vertical-align: middle;
- height: 1rem;
- width: 1rem;
- display: none;
-}
-
-/*
-Fully hide screen reader text so we only show the one matching the current
-theme.
-*/
-.theme-toggle .visually-hidden {
- display: none;
-}
-
-html[data-theme="auto"] .theme-toggle .theme-label-when-auto {
- display: block;
-}
-
-html[data-theme="dark"] .theme-toggle .theme-label-when-dark {
- display: block;
-}
-
-html[data-theme="light"] .theme-toggle .theme-label-when-light {
- display: block;
-}
-
-/* ICONS */
-.theme-toggle svg.theme-icon-when-auto,
-.theme-toggle svg.theme-icon-when-dark,
-.theme-toggle svg.theme-icon-when-light {
- fill: var(--header-link-color);
- color: var(--header-bg);
-}
-
-html[data-theme="auto"] .theme-toggle svg.theme-icon-when-auto {
- display: block;
-}
-
-html[data-theme="dark"] .theme-toggle svg.theme-icon-when-dark {
- display: block;
-}
-
-html[data-theme="light"] .theme-toggle svg.theme-icon-when-light {
- display: block;
-}
-
-.visually-hidden {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- overflow: hidden;
- clip: rect(0,0,0,0);
- white-space: nowrap;
- border: 0;
- color: var(--body-fg);
- background-color: var(--body-bg);
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/dashboard.css b/programmer/static/admin/css/dashboard.css
index 7bf2d1b..242b81a 100644
--- a/programmer/static/admin/css/dashboard.css
+++ b/programmer/static/admin/css/dashboard.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
/* DASHBOARD */
.dashboard td, .dashboard th {
word-break: break-word;
@@ -28,34 +27,3 @@ ul.actionlist li {
overflow: hidden;
text-overflow: ellipsis;
}
-=======
-/* DASHBOARD */
-.dashboard td, .dashboard th {
- word-break: break-word;
-}
-
-.dashboard .module table th {
- width: 100%;
-}
-
-.dashboard .module table td {
- white-space: nowrap;
-}
-
-.dashboard .module table td a {
- display: block;
- padding-right: .6em;
-}
-
-/* RECENT ACTIONS MODULE */
-
-.module ul.actionlist {
- margin-left: 0;
-}
-
-ul.actionlist li {
- list-style-type: none;
- overflow: hidden;
- text-overflow: ellipsis;
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/forms.css b/programmer/static/admin/css/forms.css
index 30e896b..e45abe1 100644
--- a/programmer/static/admin/css/forms.css
+++ b/programmer/static/admin/css/forms.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
@import url('widgets.css');
/* FORM ROWS */
@@ -529,535 +528,3 @@ form .related-widget-wrapper ul {
.clearable-file-input input {
margin-top: 0;
}
-=======
-@import url('widgets.css');
-
-/* FORM ROWS */
-
-.form-row {
- overflow: hidden;
- padding: 10px;
- font-size: 0.8125rem;
- border-bottom: 1px solid var(--hairline-color);
-}
-
-.form-row img, .form-row input {
- vertical-align: middle;
-}
-
-.form-row label input[type="checkbox"] {
- margin-top: 0;
- vertical-align: 0;
-}
-
-form .form-row p {
- padding-left: 0;
-}
-
-.flex-container {
- display: flex;
- flex-wrap: wrap;
-}
-
-.form-multiline > div {
- padding-bottom: 10px;
-}
-
-/* FORM LABELS */
-
-label {
- font-weight: normal;
- color: var(--body-quiet-color);
- font-size: 0.8125rem;
-}
-
-.required label, label.required {
- font-weight: bold;
- color: var(--body-fg);
-}
-
-/* RADIO BUTTONS */
-
-form div.radiolist div {
- padding-right: 7px;
-}
-
-form div.radiolist.inline div {
- display: inline-block;
-}
-
-form div.radiolist label {
- width: auto;
-}
-
-form div.radiolist input[type="radio"] {
- margin: -2px 4px 0 0;
- padding: 0;
-}
-
-form ul.inline {
- margin-left: 0;
- padding: 0;
-}
-
-form ul.inline li {
- float: left;
- padding-right: 7px;
-}
-
-/* ALIGNED FIELDSETS */
-
-.aligned label {
- display: block;
- padding: 4px 10px 0 0;
- width: 160px;
- word-wrap: break-word;
- line-height: 1;
-}
-
-.aligned label:not(.vCheckboxLabel):after {
- content: '';
- display: inline-block;
- vertical-align: middle;
- height: 1.625rem;
-}
-
-.aligned label + p, .aligned .checkbox-row + div.help, .aligned label + div.readonly {
- padding: 6px 0;
- margin-top: 0;
- margin-bottom: 0;
- margin-left: 0;
- overflow-wrap: break-word;
-}
-
-.aligned ul label {
- display: inline;
- float: none;
- width: auto;
-}
-
-.aligned .form-row input {
- margin-bottom: 0;
-}
-
-.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField {
- width: 350px;
-}
-
-form .aligned ul {
- margin-left: 160px;
- padding-left: 10px;
-}
-
-form .aligned div.radiolist {
- display: inline-block;
- margin: 0;
- padding: 0;
-}
-
-form .aligned p.help,
-form .aligned div.help {
- margin-top: 0;
- margin-left: 160px;
- padding-left: 10px;
-}
-
-form .aligned p.date div.help.timezonewarning,
-form .aligned p.datetime div.help.timezonewarning,
-form .aligned p.time div.help.timezonewarning {
- margin-left: 0;
- padding-left: 0;
- font-weight: normal;
-}
-
-form .aligned p.help:last-child,
-form .aligned div.help:last-child {
- margin-bottom: 0;
- padding-bottom: 0;
-}
-
-form .aligned input + p.help,
-form .aligned textarea + p.help,
-form .aligned select + p.help,
-form .aligned input + div.help,
-form .aligned textarea + div.help,
-form .aligned select + div.help {
- margin-left: 160px;
- padding-left: 10px;
-}
-
-form .aligned ul li {
- list-style: none;
-}
-
-form .aligned table p {
- margin-left: 0;
- padding-left: 0;
-}
-
-.aligned .vCheckboxLabel {
- float: none;
- width: auto;
- display: inline-block;
- vertical-align: -3px;
- padding: 0 0 5px 5px;
-}
-
-.aligned .vCheckboxLabel + p.help,
-.aligned .vCheckboxLabel + div.help {
- margin-top: -4px;
-}
-
-.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField {
- width: 610px;
-}
-
-fieldset .fieldBox {
- margin-right: 20px;
-}
-
-/* WIDE FIELDSETS */
-
-.wide label {
- width: 200px;
-}
-
-form .wide p,
-form .wide ul.errorlist,
-form .wide input + p.help,
-form .wide input + div.help {
- margin-left: 200px;
-}
-
-form .wide p.help,
-form .wide div.help {
- padding-left: 50px;
-}
-
-form div.help ul {
- padding-left: 0;
- margin-left: 0;
-}
-
-.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField {
- width: 450px;
-}
-
-/* COLLAPSED FIELDSETS */
-
-fieldset.collapsed * {
- display: none;
-}
-
-fieldset.collapsed h2, fieldset.collapsed {
- display: block;
-}
-
-fieldset.collapsed {
- border: 1px solid var(--hairline-color);
- border-radius: 4px;
- overflow: hidden;
-}
-
-fieldset.collapsed h2 {
- background: var(--darkened-bg);
- color: var(--body-quiet-color);
-}
-
-fieldset .collapse-toggle {
- color: var(--header-link-color);
-}
-
-fieldset.collapsed .collapse-toggle {
- background: transparent;
- display: inline;
- color: var(--link-fg);
-}
-
-/* MONOSPACE TEXTAREAS */
-
-fieldset.monospace textarea {
- font-family: var(--font-family-monospace);
-}
-
-/* SUBMIT ROW */
-
-.submit-row {
- padding: 12px 14px 12px;
- margin: 0 0 20px;
- background: var(--darkened-bg);
- border: 1px solid var(--hairline-color);
- border-radius: 4px;
- overflow: hidden;
- display: flex;
- gap: 10px;
- flex-wrap: wrap;
-}
-
-body.popup .submit-row {
- overflow: auto;
-}
-
-.submit-row input {
- height: 2.1875rem;
- line-height: 0.9375rem;
-}
-
-.submit-row input, .submit-row a {
- margin: 0;
-}
-
-.submit-row input.default {
- text-transform: uppercase;
-}
-
-.submit-row a.deletelink {
- margin-left: auto;
-}
-
-.submit-row a.deletelink {
- display: block;
- background: var(--delete-button-bg);
- border-radius: 4px;
- padding: 0.625rem 0.9375rem;
- height: 0.9375rem;
- line-height: 0.9375rem;
- color: var(--button-fg);
-}
-
-.submit-row a.closelink {
- display: inline-block;
- background: var(--close-button-bg);
- border-radius: 4px;
- padding: 10px 15px;
- height: 0.9375rem;
- line-height: 0.9375rem;
- color: var(--button-fg);
-}
-
-.submit-row a.deletelink:focus,
-.submit-row a.deletelink:hover,
-.submit-row a.deletelink:active {
- background: var(--delete-button-hover-bg);
- text-decoration: none;
-}
-
-.submit-row a.closelink:focus,
-.submit-row a.closelink:hover,
-.submit-row a.closelink:active {
- background: var(--close-button-hover-bg);
- text-decoration: none;
-}
-
-/* CUSTOM FORM FIELDS */
-
-.vSelectMultipleField {
- vertical-align: top;
-}
-
-.vCheckboxField {
- border: none;
-}
-
-.vDateField, .vTimeField {
- margin-right: 2px;
- margin-bottom: 4px;
-}
-
-.vDateField {
- min-width: 6.85em;
-}
-
-.vTimeField {
- min-width: 4.7em;
-}
-
-.vURLField {
- width: 30em;
-}
-
-.vLargeTextField, .vXMLLargeTextField {
- width: 48em;
-}
-
-.flatpages-flatpage #id_content {
- height: 40.2em;
-}
-
-.module table .vPositiveSmallIntegerField {
- width: 2.2em;
-}
-
-.vIntegerField {
- width: 5em;
-}
-
-.vBigIntegerField {
- width: 10em;
-}
-
-.vForeignKeyRawIdAdminField {
- width: 5em;
-}
-
-.vTextField, .vUUIDField {
- width: 20em;
-}
-
-/* INLINES */
-
-.inline-group {
- padding: 0;
- margin: 0 0 30px;
-}
-
-.inline-group thead th {
- padding: 8px 10px;
-}
-
-.inline-group .aligned label {
- width: 160px;
-}
-
-.inline-related {
- position: relative;
-}
-
-.inline-related h3 {
- margin: 0;
- color: var(--body-quiet-color);
- padding: 5px;
- font-size: 0.8125rem;
- background: var(--darkened-bg);
- border-top: 1px solid var(--hairline-color);
- border-bottom: 1px solid var(--hairline-color);
-}
-
-.inline-related h3 span.delete {
- float: right;
-}
-
-.inline-related h3 span.delete label {
- margin-left: 2px;
- font-size: 0.6875rem;
-}
-
-.inline-related fieldset {
- margin: 0;
- background: var(--body-bg);
- border: none;
- width: 100%;
-}
-
-.inline-related fieldset.module h3 {
- margin: 0;
- padding: 2px 5px 3px 5px;
- font-size: 0.6875rem;
- text-align: left;
- font-weight: bold;
- background: #bcd;
- color: var(--body-bg);
-}
-
-.inline-group .tabular fieldset.module {
- border: none;
-}
-
-.inline-related.tabular fieldset.module table {
- width: 100%;
- overflow-x: scroll;
-}
-
-.last-related fieldset {
- border: none;
-}
-
-.inline-group .tabular tr.has_original td {
- padding-top: 2em;
-}
-
-.inline-group .tabular tr td.original {
- padding: 2px 0 0 0;
- width: 0;
- _position: relative;
-}
-
-.inline-group .tabular th.original {
- width: 0px;
- padding: 0;
-}
-
-.inline-group .tabular td.original p {
- position: absolute;
- left: 0;
- height: 1.1em;
- padding: 2px 9px;
- overflow: hidden;
- font-size: 0.5625rem;
- font-weight: bold;
- color: var(--body-quiet-color);
- _width: 700px;
-}
-
-.inline-group ul.tools {
- padding: 0;
- margin: 0;
- list-style: none;
-}
-
-.inline-group ul.tools li {
- display: inline;
- padding: 0 5px;
-}
-
-.inline-group div.add-row,
-.inline-group .tabular tr.add-row td {
- color: var(--body-quiet-color);
- background: var(--darkened-bg);
- padding: 8px 10px;
- border-bottom: 1px solid var(--hairline-color);
-}
-
-.inline-group .tabular tr.add-row td {
- padding: 8px 10px;
- border-bottom: 1px solid var(--hairline-color);
-}
-
-.inline-group ul.tools a.add,
-.inline-group div.add-row a,
-.inline-group .tabular tr.add-row td a {
- background: url(../img/icon-addlink.svg) 0 1px no-repeat;
- padding-left: 16px;
- font-size: 0.75rem;
-}
-
-.empty-form {
- display: none;
-}
-
-/* RELATED FIELD ADD ONE / LOOKUP */
-
-.related-lookup {
- margin-left: 5px;
- display: inline-block;
- vertical-align: middle;
- background-repeat: no-repeat;
- background-size: 14px;
-}
-
-.related-lookup {
- width: 1rem;
- height: 1rem;
- background-image: url(../img/search.svg);
-}
-
-form .related-widget-wrapper ul {
- display: inline-block;
- margin-left: 0;
- padding-left: 0;
-}
-
-.clearable-file-input input {
- margin-top: 0;
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/login.css b/programmer/static/admin/css/login.css
index 704df5d..389772f 100644
--- a/programmer/static/admin/css/login.css
+++ b/programmer/static/admin/css/login.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
/* LOGIN FORM */
.login {
@@ -60,66 +59,3 @@
.login .password-reset-link {
text-align: center;
}
-=======
-/* LOGIN FORM */
-
-.login {
- background: var(--darkened-bg);
- height: auto;
-}
-
-.login #header {
- height: auto;
- padding: 15px 16px;
- justify-content: center;
-}
-
-.login #header h1 {
- font-size: 1.125rem;
- margin: 0;
-}
-
-.login #header h1 a {
- color: var(--header-link-color);
-}
-
-.login #content {
- padding: 20px 20px 0;
-}
-
-.login #container {
- background: var(--body-bg);
- border: 1px solid var(--hairline-color);
- border-radius: 4px;
- overflow: hidden;
- width: 28em;
- min-width: 300px;
- margin: 100px auto;
- height: auto;
-}
-
-.login .form-row {
- padding: 4px 0;
-}
-
-.login .form-row label {
- display: block;
- line-height: 2em;
-}
-
-.login .form-row #id_username, .login .form-row #id_password {
- padding: 8px;
- width: 100%;
- box-sizing: border-box;
-}
-
-.login .submit-row {
- padding: 1em 0 0 0;
- margin: 0;
- text-align: center;
-}
-
-.login .password-reset-link {
- text-align: center;
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/nav_sidebar.css b/programmer/static/admin/css/nav_sidebar.css
index efa9675..f76e6ce 100644
--- a/programmer/static/admin/css/nav_sidebar.css
+++ b/programmer/static/admin/css/nav_sidebar.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
.sticky {
position: sticky;
top: 0;
@@ -143,149 +142,3 @@
#nav-sidebar table {
width: 100%;
}
-=======
-.sticky {
- position: sticky;
- top: 0;
- max-height: 100vh;
-}
-
-.toggle-nav-sidebar {
- z-index: 20;
- left: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- flex: 0 0 23px;
- width: 23px;
- border: 0;
- border-right: 1px solid var(--hairline-color);
- background-color: var(--body-bg);
- cursor: pointer;
- font-size: 1.25rem;
- color: var(--link-fg);
- padding: 0;
-}
-
-[dir="rtl"] .toggle-nav-sidebar {
- border-left: 1px solid var(--hairline-color);
- border-right: 0;
-}
-
-.toggle-nav-sidebar:hover,
-.toggle-nav-sidebar:focus {
- background-color: var(--darkened-bg);
-}
-
-#nav-sidebar {
- z-index: 15;
- flex: 0 0 275px;
- left: -276px;
- margin-left: -276px;
- border-top: 1px solid transparent;
- border-right: 1px solid var(--hairline-color);
- background-color: var(--body-bg);
- overflow: auto;
-}
-
-[dir="rtl"] #nav-sidebar {
- border-left: 1px solid var(--hairline-color);
- border-right: 0;
- left: 0;
- margin-left: 0;
- right: -276px;
- margin-right: -276px;
-}
-
-.toggle-nav-sidebar::before {
- content: '\00BB';
-}
-
-.main.shifted .toggle-nav-sidebar::before {
- content: '\00AB';
-}
-
-.main > #nav-sidebar {
- visibility: hidden;
-}
-
-.main.shifted > #nav-sidebar {
- margin-left: 0;
- visibility: visible;
-}
-
-[dir="rtl"] .main.shifted > #nav-sidebar {
- margin-right: 0;
-}
-
-#nav-sidebar .module th {
- width: 100%;
- overflow-wrap: anywhere;
-}
-
-#nav-sidebar .module th,
-#nav-sidebar .module caption {
- padding-left: 16px;
-}
-
-#nav-sidebar .module td {
- white-space: nowrap;
-}
-
-[dir="rtl"] #nav-sidebar .module th,
-[dir="rtl"] #nav-sidebar .module caption {
- padding-left: 8px;
- padding-right: 16px;
-}
-
-#nav-sidebar .current-app .section:link,
-#nav-sidebar .current-app .section:visited {
- color: var(--header-color);
- font-weight: bold;
-}
-
-#nav-sidebar .current-model {
- background: var(--selected-row);
-}
-
-.main > #nav-sidebar + .content {
- max-width: calc(100% - 23px);
-}
-
-.main.shifted > #nav-sidebar + .content {
- max-width: calc(100% - 299px);
-}
-
-@media (max-width: 767px) {
- #nav-sidebar, #toggle-nav-sidebar {
- display: none;
- }
-
- .main > #nav-sidebar + .content,
- .main.shifted > #nav-sidebar + .content {
- max-width: 100%;
- }
-}
-
-#nav-filter {
- width: 100%;
- box-sizing: border-box;
- padding: 2px 5px;
- margin: 5px 0;
- border: 1px solid var(--border-color);
- background-color: var(--darkened-bg);
- color: var(--body-fg);
-}
-
-#nav-filter:focus {
- border-color: var(--body-quiet-color);
-}
-
-#nav-filter.no-results {
- background: var(--message-error-bg);
-}
-
-#nav-sidebar table {
- width: 100%;
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/responsive.css b/programmer/static/admin/css/responsive.css
index 3a691f5..9ce4f67 100644
--- a/programmer/static/admin/css/responsive.css
+++ b/programmer/static/admin/css/responsive.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
/* Tablets */
input[type="submit"], button {
@@ -997,1003 +996,3 @@ input[type="submit"], button {
word-break: break-word;
}
}
-=======
-/* Tablets */
-
-input[type="submit"], button {
- -webkit-appearance: none;
- appearance: none;
-}
-
-@media (max-width: 1024px) {
- /* Basic */
-
- html {
- -webkit-text-size-adjust: 100%;
- }
-
- td, th {
- padding: 10px;
- font-size: 0.875rem;
- }
-
- .small {
- font-size: 0.75rem;
- }
-
- /* Layout */
-
- #container {
- min-width: 0;
- }
-
- #content {
- padding: 15px 20px 20px;
- }
-
- div.breadcrumbs {
- padding: 10px 30px;
- }
-
- /* Header */
-
- #header {
- flex-direction: column;
- padding: 15px 30px;
- justify-content: flex-start;
- }
-
- #branding h1 {
- margin: 0 0 8px;
- line-height: 1.2;
- }
-
- #user-tools {
- margin: 0;
- font-weight: 400;
- line-height: 1.85;
- text-align: left;
- }
-
- #user-tools a {
- display: inline-block;
- line-height: 1.4;
- }
-
- /* Dashboard */
-
- .dashboard #content {
- width: auto;
- }
-
- #content-related {
- margin-right: -290px;
- }
-
- .colSM #content-related {
- margin-left: -290px;
- }
-
- .colMS {
- margin-right: 290px;
- }
-
- .colSM {
- margin-left: 290px;
- }
-
- .dashboard .module table td a {
- padding-right: 0;
- }
-
- td .changelink, td .addlink {
- font-size: 0.8125rem;
- }
-
- /* Changelist */
-
- #toolbar {
- border: none;
- padding: 15px;
- }
-
- #changelist-search > div {
- display: flex;
- flex-wrap: nowrap;
- max-width: 480px;
- }
-
- #changelist-search label {
- line-height: 1.375rem;
- }
-
- #toolbar form #searchbar {
- flex: 1 0 auto;
- width: 0;
- height: 1.375rem;
- margin: 0 10px 0 6px;
- }
-
- #toolbar form input[type=submit] {
- flex: 0 1 auto;
- }
-
- #changelist-search .quiet {
- width: 0;
- flex: 1 0 auto;
- margin: 5px 0 0 25px;
- }
-
- #changelist .actions {
- display: flex;
- flex-wrap: wrap;
- padding: 15px 0;
- }
-
- #changelist .actions label {
- display: flex;
- }
-
- #changelist .actions select {
- background: var(--body-bg);
- }
-
- #changelist .actions .button {
- min-width: 48px;
- margin: 0 10px;
- }
-
- #changelist .actions span.all,
- #changelist .actions span.clear,
- #changelist .actions span.question,
- #changelist .actions span.action-counter {
- font-size: 0.6875rem;
- margin: 0 10px 0 0;
- }
-
- #changelist-filter {
- flex-basis: 200px;
- }
-
- .change-list .filtered .results,
- .change-list .filtered .paginator,
- .filtered #toolbar,
- .filtered .actions,
-
- #changelist .paginator {
- border-top-color: var(--hairline-color); /* XXX Is this used at all? */
- }
-
- #changelist .results + .paginator {
- border-top: none;
- }
-
- /* Forms */
-
- label {
- font-size: 0.875rem;
- }
-
- .form-row input[type=text],
- .form-row input[type=password],
- .form-row input[type=email],
- .form-row input[type=url],
- .form-row input[type=tel],
- .form-row input[type=number],
- .form-row textarea,
- .form-row select,
- .form-row .vTextField {
- box-sizing: border-box;
- margin: 0;
- padding: 6px 8px;
- min-height: 2.25rem;
- font-size: 0.875rem;
- }
-
- .form-row select {
- height: 2.25rem;
- }
-
- .form-row select[multiple] {
- height: auto;
- min-height: 0;
- }
-
- fieldset .fieldBox + .fieldBox {
- margin-top: 10px;
- padding-top: 10px;
- border-top: 1px solid var(--hairline-color);
- }
-
- textarea {
- max-width: 100%;
- max-height: 120px;
- }
-
- .aligned label {
- padding-top: 6px;
- }
-
- .aligned .related-lookup,
- .aligned .datetimeshortcuts,
- .aligned .related-lookup + strong {
- align-self: center;
- margin-left: 15px;
- }
-
- form .aligned div.radiolist {
- margin-left: 2px;
- }
-
- .submit-row {
- padding: 8px;
- }
-
- .submit-row a.deletelink {
- padding: 10px 7px;
- }
-
- .button, input[type=submit], input[type=button], .submit-row input, a.button {
- padding: 7px;
- }
-
- /* Related widget */
-
- .related-widget-wrapper {
- float: none;
- }
-
- .related-widget-wrapper-link + .selector {
- max-width: calc(100% - 30px);
- margin-right: 15px;
- }
-
- select + .related-widget-wrapper-link,
- .related-widget-wrapper-link + .related-widget-wrapper-link {
- margin-left: 10px;
- }
-
- /* Selector */
-
- .selector {
- display: flex;
- width: 100%;
- }
-
- .selector .selector-filter {
- display: flex;
- align-items: center;
- }
-
- .selector .selector-filter label {
- margin: 0 8px 0 0;
- }
-
- .selector .selector-filter input {
- width: auto;
- min-height: 0;
- flex: 1 1;
- }
-
- .selector-available, .selector-chosen {
- width: auto;
- flex: 1 1;
- display: flex;
- flex-direction: column;
- }
-
- .selector select {
- width: 100%;
- flex: 1 0 auto;
- margin-bottom: 5px;
- }
-
- .selector ul.selector-chooser {
- width: 26px;
- height: 52px;
- padding: 2px 0;
- margin: auto 15px;
- border-radius: 20px;
- transform: translateY(-10px);
- }
-
- .selector-add, .selector-remove {
- width: 20px;
- height: 20px;
- background-size: 20px auto;
- }
-
- .selector-add {
- background-position: 0 -120px;
- }
-
- .selector-remove {
- background-position: 0 -80px;
- }
-
- a.selector-chooseall, a.selector-clearall {
- align-self: center;
- }
-
- .stacked {
- flex-direction: column;
- max-width: 480px;
- }
-
- .stacked > * {
- flex: 0 1 auto;
- }
-
- .stacked select {
- margin-bottom: 0;
- }
-
- .stacked .selector-available, .stacked .selector-chosen {
- width: auto;
- }
-
- .stacked ul.selector-chooser {
- width: 52px;
- height: 26px;
- padding: 0 2px;
- margin: 15px auto;
- transform: none;
- }
-
- .stacked .selector-chooser li {
- padding: 3px;
- }
-
- .stacked .selector-add, .stacked .selector-remove {
- background-size: 20px auto;
- }
-
- .stacked .selector-add {
- background-position: 0 -40px;
- }
-
- .stacked .active.selector-add {
- background-position: 0 -40px;
- }
-
- .active.selector-add:focus, .active.selector-add:hover {
- background-position: 0 -140px;
- }
-
- .stacked .active.selector-add:focus, .stacked .active.selector-add:hover {
- background-position: 0 -60px;
- }
-
- .stacked .selector-remove {
- background-position: 0 0;
- }
-
- .stacked .active.selector-remove {
- background-position: 0 0;
- }
-
- .active.selector-remove:focus, .active.selector-remove:hover {
- background-position: 0 -100px;
- }
-
- .stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover {
- background-position: 0 -20px;
- }
-
- .help-tooltip, .selector .help-icon {
- display: none;
- }
-
- .datetime input {
- width: 50%;
- max-width: 120px;
- }
-
- .datetime span {
- font-size: 0.8125rem;
- }
-
- .datetime .timezonewarning {
- display: block;
- font-size: 0.6875rem;
- color: var(--body-quiet-color);
- }
-
- .datetimeshortcuts {
- color: var(--border-color); /* XXX Redundant, .datetime span also sets #ccc */
- }
-
- .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
- width: 75%;
- }
-
- .inline-group {
- overflow: auto;
- }
-
- /* Messages */
-
- ul.messagelist li {
- padding-left: 55px;
- background-position: 30px 12px;
- }
-
- ul.messagelist li.error {
- background-position: 30px 12px;
- }
-
- ul.messagelist li.warning {
- background-position: 30px 14px;
- }
-
- /* Login */
-
- .login #header {
- padding: 15px 20px;
- }
-
- .login #branding h1 {
- margin: 0;
- }
-
- /* GIS */
-
- div.olMap {
- max-width: calc(100vw - 30px);
- max-height: 300px;
- }
-
- .olMap + .clear_features {
- display: block;
- margin-top: 10px;
- }
-
- /* Docs */
-
- .module table.xfull {
- width: 100%;
- }
-
- pre.literal-block {
- overflow: auto;
- }
-}
-
-/* Mobile */
-
-@media (max-width: 767px) {
- /* Layout */
-
- #header, #content, #footer {
- padding: 15px;
- }
-
- #footer:empty {
- padding: 0;
- }
-
- div.breadcrumbs {
- padding: 10px 15px;
- }
-
- /* Dashboard */
-
- .colMS, .colSM {
- margin: 0;
- }
-
- #content-related, .colSM #content-related {
- width: 100%;
- margin: 0;
- }
-
- #content-related .module {
- margin-bottom: 0;
- }
-
- #content-related .module h2 {
- padding: 10px 15px;
- font-size: 1rem;
- }
-
- /* Changelist */
-
- #changelist {
- align-items: stretch;
- flex-direction: column;
- }
-
- #toolbar {
- padding: 10px;
- }
-
- #changelist-filter {
- margin-left: 0;
- }
-
- #changelist .actions label {
- flex: 1 1;
- }
-
- #changelist .actions select {
- flex: 1 0;
- width: 100%;
- }
-
- #changelist .actions span {
- flex: 1 0 100%;
- }
-
- #changelist-filter {
- position: static;
- width: auto;
- margin-top: 30px;
- }
-
- .object-tools {
- float: none;
- margin: 0 0 15px;
- padding: 0;
- overflow: hidden;
- }
-
- .object-tools li {
- height: auto;
- margin-left: 0;
- }
-
- .object-tools li + li {
- margin-left: 15px;
- }
-
- /* Forms */
-
- .form-row {
- padding: 15px 0;
- }
-
- .aligned .form-row,
- .aligned .form-row > div {
- max-width: 100vw;
- }
-
- .aligned .form-row > div {
- width: calc(100vw - 30px);
- }
-
- .flex-container {
- flex-flow: column;
- }
-
- textarea {
- max-width: none;
- }
-
- .vURLField {
- width: auto;
- }
-
- fieldset .fieldBox + .fieldBox {
- margin-top: 15px;
- padding-top: 15px;
- }
-
- fieldset.collapsed .form-row {
- display: none;
- }
-
- .aligned label {
- width: 100%;
- padding: 0 0 10px;
- }
-
- .aligned label:after {
- max-height: 0;
- }
-
- .aligned .form-row input,
- .aligned .form-row select,
- .aligned .form-row textarea {
- flex: 1 1 auto;
- max-width: 100%;
- }
-
- .aligned .checkbox-row {
- align-items: center;
- }
-
- .aligned .checkbox-row input {
- flex: 0 1 auto;
- margin: 0;
- }
-
- .aligned .vCheckboxLabel {
- flex: 1 0;
- padding: 1px 0 0 5px;
- }
-
- .aligned label + p,
- .aligned label + div.help,
- .aligned label + div.readonly {
- padding: 0;
- margin-left: 0;
- }
-
- .aligned p.file-upload {
- font-size: 0.8125rem;
- }
-
- span.clearable-file-input {
- margin-left: 15px;
- }
-
- span.clearable-file-input label {
- font-size: 0.8125rem;
- padding-bottom: 0;
- }
-
- .aligned .timezonewarning {
- flex: 1 0 100%;
- margin-top: 5px;
- }
-
- form .aligned .form-row div.help {
- width: 100%;
- margin: 5px 0 0;
- padding: 0;
- }
-
- form .aligned ul,
- form .aligned ul.errorlist {
- margin-left: 0;
- padding-left: 0;
- }
-
- form .aligned div.radiolist {
- margin-top: 5px;
- margin-right: 15px;
- margin-bottom: -3px;
- }
-
- form .aligned div.radiolist:not(.inline) div + div {
- margin-top: 5px;
- }
-
- /* Related widget */
-
- .related-widget-wrapper {
- width: 100%;
- display: flex;
- align-items: flex-start;
- }
-
- .related-widget-wrapper .selector {
- order: 1;
- }
-
- .related-widget-wrapper > a {
- order: 2;
- }
-
- .related-widget-wrapper .radiolist ~ a {
- align-self: flex-end;
- }
-
- .related-widget-wrapper > select ~ a {
- align-self: center;
- }
-
- select + .related-widget-wrapper-link,
- .related-widget-wrapper-link + .related-widget-wrapper-link {
- margin-left: 15px;
- }
-
- /* Selector */
-
- .selector {
- flex-direction: column;
- }
-
- .selector > * {
- float: none;
- }
-
- .selector-available, .selector-chosen {
- margin-bottom: 0;
- flex: 1 1 auto;
- }
-
- .selector select {
- max-height: 96px;
- }
-
- .selector ul.selector-chooser {
- display: block;
- float: none;
- width: 52px;
- height: 26px;
- padding: 0 2px;
- margin: 15px auto 20px;
- transform: none;
- }
-
- .selector ul.selector-chooser li {
- float: left;
- }
-
- .selector-remove {
- background-position: 0 0;
- }
-
- .active.selector-remove:focus, .active.selector-remove:hover {
- background-position: 0 -20px;
- }
-
- .selector-add {
- background-position: 0 -40px;
- }
-
- .active.selector-add:focus, .active.selector-add:hover {
- background-position: 0 -60px;
- }
-
- /* Inlines */
-
- .inline-group[data-inline-type="stacked"] .inline-related {
- border: 1px solid var(--hairline-color);
- border-radius: 4px;
- margin-top: 15px;
- overflow: auto;
- }
-
- .inline-group[data-inline-type="stacked"] .inline-related > * {
- box-sizing: border-box;
- }
-
- .inline-group[data-inline-type="stacked"] .inline-related .module {
- padding: 0 10px;
- }
-
- .inline-group[data-inline-type="stacked"] .inline-related .module .form-row {
- border-top: 1px solid var(--hairline-color);
- border-bottom: none;
- }
-
- .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:first-child {
- border-top: none;
- }
-
- .inline-group[data-inline-type="stacked"] .inline-related h3 {
- padding: 10px;
- border-top-width: 0;
- border-bottom-width: 2px;
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- }
-
- .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label {
- margin-right: auto;
- }
-
- .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete {
- float: none;
- flex: 1 1 100%;
- margin-top: 5px;
- }
-
- .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) {
- width: 100%;
- }
-
- .inline-group[data-inline-type="stacked"] .aligned label {
- width: 100%;
- }
-
- .inline-group[data-inline-type="stacked"] div.add-row {
- margin-top: 15px;
- border: 1px solid var(--hairline-color);
- border-radius: 4px;
- }
-
- .inline-group div.add-row,
- .inline-group .tabular tr.add-row td {
- padding: 0;
- }
-
- .inline-group div.add-row a,
- .inline-group .tabular tr.add-row td a {
- display: block;
- padding: 8px 10px 8px 26px;
- background-position: 8px 9px;
- }
-
- /* Submit row */
-
- .submit-row {
- padding: 10px;
- margin: 0 0 15px;
- flex-direction: column;
- gap: 8px;
- }
-
- .submit-row input, .submit-row input.default, .submit-row a {
- text-align: center;
- }
-
- .submit-row a.closelink {
- padding: 10px 0;
- text-align: center;
- }
-
- .submit-row a.deletelink {
- margin: 0;
- }
-
- /* Messages */
-
- ul.messagelist li {
- padding-left: 40px;
- background-position: 15px 12px;
- }
-
- ul.messagelist li.error {
- background-position: 15px 12px;
- }
-
- ul.messagelist li.warning {
- background-position: 15px 14px;
- }
-
- /* Paginator */
-
- .paginator .this-page, .paginator a:link, .paginator a:visited {
- padding: 4px 10px;
- }
-
- /* Login */
-
- body.login {
- padding: 0 15px;
- }
-
- .login #container {
- width: auto;
- max-width: 480px;
- margin: 50px auto;
- }
-
- .login #header,
- .login #content {
- padding: 15px;
- }
-
- .login #content-main {
- float: none;
- }
-
- .login .form-row {
- padding: 0;
- }
-
- .login .form-row + .form-row {
- margin-top: 15px;
- }
-
- .login .form-row label {
- margin: 0 0 5px;
- line-height: 1.2;
- }
-
- .login .submit-row {
- padding: 15px 0 0;
- }
-
- .login br {
- display: none;
- }
-
- .login .submit-row input {
- margin: 0;
- text-transform: uppercase;
- }
-
- .errornote {
- margin: 0 0 20px;
- padding: 8px 12px;
- font-size: 0.8125rem;
- }
-
- /* Calendar and clock */
-
- .calendarbox, .clockbox {
- position: fixed !important;
- top: 50% !important;
- left: 50% !important;
- transform: translate(-50%, -50%);
- margin: 0;
- border: none;
- overflow: visible;
- }
-
- .calendarbox:before, .clockbox:before {
- content: '';
- position: fixed;
- top: 50%;
- left: 50%;
- width: 100vw;
- height: 100vh;
- background: rgba(0, 0, 0, 0.75);
- transform: translate(-50%, -50%);
- }
-
- .calendarbox > *, .clockbox > * {
- position: relative;
- z-index: 1;
- }
-
- .calendarbox > div:first-child {
- z-index: 2;
- }
-
- .calendarbox .calendar, .clockbox h2 {
- border-radius: 4px 4px 0 0;
- overflow: hidden;
- }
-
- .calendarbox .calendar-cancel, .clockbox .calendar-cancel {
- border-radius: 0 0 4px 4px;
- overflow: hidden;
- }
-
- .calendar-shortcuts {
- padding: 10px 0;
- font-size: 0.75rem;
- line-height: 0.75rem;
- }
-
- .calendar-shortcuts a {
- margin: 0 4px;
- }
-
- .timelist a {
- background: var(--body-bg);
- padding: 4px;
- }
-
- .calendar-cancel {
- padding: 8px 10px;
- }
-
- .clockbox h2 {
- padding: 8px 15px;
- }
-
- .calendar caption {
- padding: 10px;
- }
-
- .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
- z-index: 1;
- top: 10px;
- }
-
- /* History */
-
- table#change-history tbody th, table#change-history tbody td {
- font-size: 0.8125rem;
- word-break: break-word;
- }
-
- table#change-history tbody th {
- width: auto;
- }
-
- /* Docs */
-
- table.model tbody th, table.model tbody td {
- font-size: 0.8125rem;
- word-break: break-word;
- }
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/responsive_rtl.css b/programmer/static/admin/css/responsive_rtl.css
index e6362b6..639e20b 100644
--- a/programmer/static/admin/css/responsive_rtl.css
+++ b/programmer/static/admin/css/responsive_rtl.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
/* TABLETS */
@media (max-width: 1024px) {
@@ -80,86 +79,3 @@
margin-right: 0;
}
}
-=======
-/* TABLETS */
-
-@media (max-width: 1024px) {
- [dir="rtl"] .colMS {
- margin-right: 0;
- }
-
- [dir="rtl"] #user-tools {
- text-align: right;
- }
-
- [dir="rtl"] #changelist .actions label {
- padding-left: 10px;
- padding-right: 0;
- }
-
- [dir="rtl"] #changelist .actions select {
- margin-left: 0;
- margin-right: 15px;
- }
-
- [dir="rtl"] .change-list .filtered .results,
- [dir="rtl"] .change-list .filtered .paginator,
- [dir="rtl"] .filtered #toolbar,
- [dir="rtl"] .filtered div.xfull,
- [dir="rtl"] .filtered .actions,
- [dir="rtl"] #changelist-filter {
- margin-left: 0;
- }
-
- [dir="rtl"] .inline-group ul.tools a.add,
- [dir="rtl"] .inline-group div.add-row a,
- [dir="rtl"] .inline-group .tabular tr.add-row td a {
- padding: 8px 26px 8px 10px;
- background-position: calc(100% - 8px) 9px;
- }
-
- [dir="rtl"] .related-widget-wrapper-link + .selector {
- margin-right: 0;
- margin-left: 15px;
- }
-
- [dir="rtl"] .selector .selector-filter label {
- margin-right: 0;
- margin-left: 8px;
- }
-
- [dir="rtl"] .object-tools li {
- float: right;
- }
-
- [dir="rtl"] .object-tools li + li {
- margin-left: 0;
- margin-right: 15px;
- }
-
- [dir="rtl"] .dashboard .module table td a {
- padding-left: 0;
- padding-right: 16px;
- }
-}
-
-/* MOBILE */
-
-@media (max-width: 767px) {
- [dir="rtl"] .aligned .related-lookup,
- [dir="rtl"] .aligned .datetimeshortcuts {
- margin-left: 0;
- margin-right: 15px;
- }
-
- [dir="rtl"] .aligned ul,
- [dir="rtl"] form .aligned ul.errorlist {
- margin-right: 0;
- }
-
- [dir="rtl"] #changelist-filter {
- margin-left: 0;
- margin-right: 0;
- }
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/rtl.css b/programmer/static/admin/css/rtl.css
index 7ebe4a1..53a6dd6 100644
--- a/programmer/static/admin/css/rtl.css
+++ b/programmer/static/admin/css/rtl.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
/* GLOBAL */
th {
@@ -287,293 +286,3 @@ form .form-row p.datetime {
margin-left: inherit;
margin-right: 2px;
}
-=======
-/* GLOBAL */
-
-th {
- text-align: right;
-}
-
-.module h2, .module caption {
- text-align: right;
-}
-
-.module ul, .module ol {
- margin-left: 0;
- margin-right: 1.5em;
-}
-
-.viewlink, .addlink, .changelink {
- padding-left: 0;
- padding-right: 16px;
- background-position: 100% 1px;
-}
-
-.deletelink {
- padding-left: 0;
- padding-right: 16px;
- background-position: 100% 1px;
-}
-
-.object-tools {
- float: left;
-}
-
-thead th:first-child,
-tfoot td:first-child {
- border-left: none;
-}
-
-/* LAYOUT */
-
-#user-tools {
- right: auto;
- left: 0;
- text-align: left;
-}
-
-div.breadcrumbs {
- text-align: right;
-}
-
-#content-main {
- float: right;
-}
-
-#content-related {
- float: left;
- margin-left: -300px;
- margin-right: auto;
-}
-
-.colMS {
- margin-left: 300px;
- margin-right: 0;
-}
-
-/* SORTABLE TABLES */
-
-table thead th.sorted .sortoptions {
- float: left;
-}
-
-thead th.sorted .text {
- padding-right: 0;
- padding-left: 42px;
-}
-
-/* dashboard styles */
-
-.dashboard .module table td a {
- padding-left: .6em;
- padding-right: 16px;
-}
-
-/* changelists styles */
-
-.change-list .filtered table {
- border-left: none;
- border-right: 0px none;
-}
-
-#changelist-filter {
- border-left: none;
- border-right: none;
- margin-left: 0;
- margin-right: 30px;
-}
-
-#changelist-filter li.selected {
- border-left: none;
- padding-left: 10px;
- margin-left: 0;
- border-right: 5px solid var(--hairline-color);
- padding-right: 10px;
- margin-right: -15px;
-}
-
-#changelist table tbody td:first-child, #changelist table tbody th:first-child {
- border-right: none;
- border-left: none;
-}
-
-/* FORMS */
-
-.aligned label {
- padding: 0 0 3px 1em;
-}
-
-.submit-row a.deletelink {
- margin-left: 0;
- margin-right: auto;
-}
-
-.vDateField, .vTimeField {
- margin-left: 2px;
-}
-
-.aligned .form-row input {
- margin-left: 5px;
-}
-
-form .aligned ul {
- margin-right: 163px;
- padding-right: 10px;
- margin-left: 0;
- padding-left: 0;
-}
-
-form ul.inline li {
- float: right;
- padding-right: 0;
- padding-left: 7px;
-}
-
-form .aligned p.help,
-form .aligned div.help {
- margin-right: 160px;
- padding-right: 10px;
-}
-
-form div.help ul,
-form .aligned .checkbox-row + .help,
-form .aligned p.date div.help.timezonewarning,
-form .aligned p.datetime div.help.timezonewarning,
-form .aligned p.time div.help.timezonewarning {
- margin-right: 0;
- padding-right: 0;
-}
-
-form .wide p.help, form .wide div.help {
- padding-left: 0;
- padding-right: 50px;
-}
-
-form .wide p,
-form .wide ul.errorlist,
-form .wide input + p.help,
-form .wide input + div.help {
- margin-right: 200px;
- margin-left: 0px;
-}
-
-.submit-row {
- text-align: right;
-}
-
-fieldset .fieldBox {
- margin-left: 20px;
- margin-right: 0;
-}
-
-.errorlist li {
- background-position: 100% 12px;
- padding: 0;
-}
-
-.errornote {
- background-position: 100% 12px;
- padding: 10px 12px;
-}
-
-/* WIDGETS */
-
-.calendarnav-previous {
- top: 0;
- left: auto;
- right: 10px;
- background: url(../img/calendar-icons.svg) 0 -30px no-repeat;
-}
-
-.calendarbox .calendarnav-previous:focus,
-.calendarbox .calendarnav-previous:hover {
- background-position: 0 -45px;
-}
-
-.calendarnav-next {
- top: 0;
- right: auto;
- left: 10px;
- background: url(../img/calendar-icons.svg) 0 0 no-repeat;
-}
-
-.calendarbox .calendarnav-next:focus,
-.calendarbox .calendarnav-next:hover {
- background-position: 0 -15px;
-}
-
-.calendar caption, .calendarbox h2 {
- text-align: center;
-}
-
-.selector {
- float: right;
-}
-
-.selector .selector-filter {
- text-align: right;
-}
-
-.selector-add {
- background: url(../img/selector-icons.svg) 0 -64px no-repeat;
-}
-
-.active.selector-add:focus, .active.selector-add:hover {
- background-position: 0 -80px;
-}
-
-.selector-remove {
- background: url(../img/selector-icons.svg) 0 -96px no-repeat;
-}
-
-.active.selector-remove:focus, .active.selector-remove:hover {
- background-position: 0 -112px;
-}
-
-a.selector-chooseall {
- background: url(../img/selector-icons.svg) right -128px no-repeat;
-}
-
-a.active.selector-chooseall:focus, a.active.selector-chooseall:hover {
- background-position: 100% -144px;
-}
-
-a.selector-clearall {
- background: url(../img/selector-icons.svg) 0 -160px no-repeat;
-}
-
-a.active.selector-clearall:focus, a.active.selector-clearall:hover {
- background-position: 0 -176px;
-}
-
-.inline-deletelink {
- float: left;
-}
-
-form .form-row p.datetime {
- overflow: hidden;
-}
-
-.related-widget-wrapper {
- float: right;
-}
-
-/* MISC */
-
-.inline-related h2, .inline-group h2 {
- text-align: right
-}
-
-.inline-related h3 span.delete {
- padding-right: 20px;
- padding-left: inherit;
- left: 10px;
- right: inherit;
- float:left;
-}
-
-.inline-related h3 span.delete label {
- margin-left: inherit;
- margin-right: 2px;
-}
->>>>>>> master
diff --git a/programmer/static/admin/css/vendor/select2/LICENSE-SELECT2.md b/programmer/static/admin/css/vendor/select2/LICENSE-SELECT2.md
index 857732d..8cb8a2b 100644
--- a/programmer/static/admin/css/vendor/select2/LICENSE-SELECT2.md
+++ b/programmer/static/admin/css/vendor/select2/LICENSE-SELECT2.md
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
The MIT License (MIT)
Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors
@@ -20,26 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-=======
-The MIT License (MIT)
-
-Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
->>>>>>> master
diff --git a/programmer/static/admin/css/vendor/select2/select2.css b/programmer/static/admin/css/vendor/select2/select2.css
index 49b5002..b8c6338 100644
--- a/programmer/static/admin/css/vendor/select2/select2.css
+++ b/programmer/static/admin/css/vendor/select2/select2.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
.select2-container {
box-sizing: border-box;
display: inline-block;
@@ -479,487 +478,4 @@
padding: 6px; }
.select2-container--classic.select2-container--open .select2-dropdown {
- border-color: #5897fb; }
-=======
-.select2-container {
- box-sizing: border-box;
- display: inline-block;
- margin: 0;
- position: relative;
- vertical-align: middle; }
- .select2-container .select2-selection--single {
- box-sizing: border-box;
- cursor: pointer;
- display: block;
- height: 28px;
- user-select: none;
- -webkit-user-select: none; }
- .select2-container .select2-selection--single .select2-selection__rendered {
- display: block;
- padding-left: 8px;
- padding-right: 20px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap; }
- .select2-container .select2-selection--single .select2-selection__clear {
- position: relative; }
- .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
- padding-right: 8px;
- padding-left: 20px; }
- .select2-container .select2-selection--multiple {
- box-sizing: border-box;
- cursor: pointer;
- display: block;
- min-height: 32px;
- user-select: none;
- -webkit-user-select: none; }
- .select2-container .select2-selection--multiple .select2-selection__rendered {
- display: inline-block;
- overflow: hidden;
- padding-left: 8px;
- text-overflow: ellipsis;
- white-space: nowrap; }
- .select2-container .select2-search--inline {
- float: left; }
- .select2-container .select2-search--inline .select2-search__field {
- box-sizing: border-box;
- border: none;
- font-size: 100%;
- margin-top: 5px;
- padding: 0; }
- .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
- -webkit-appearance: none; }
-
-.select2-dropdown {
- background-color: white;
- border: 1px solid #aaa;
- border-radius: 4px;
- box-sizing: border-box;
- display: block;
- position: absolute;
- left: -100000px;
- width: 100%;
- z-index: 1051; }
-
-.select2-results {
- display: block; }
-
-.select2-results__options {
- list-style: none;
- margin: 0;
- padding: 0; }
-
-.select2-results__option {
- padding: 6px;
- user-select: none;
- -webkit-user-select: none; }
- .select2-results__option[aria-selected] {
- cursor: pointer; }
-
-.select2-container--open .select2-dropdown {
- left: 0; }
-
-.select2-container--open .select2-dropdown--above {
- border-bottom: none;
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0; }
-
-.select2-container--open .select2-dropdown--below {
- border-top: none;
- border-top-left-radius: 0;
- border-top-right-radius: 0; }
-
-.select2-search--dropdown {
- display: block;
- padding: 4px; }
- .select2-search--dropdown .select2-search__field {
- padding: 4px;
- width: 100%;
- box-sizing: border-box; }
- .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
- -webkit-appearance: none; }
- .select2-search--dropdown.select2-search--hide {
- display: none; }
-
-.select2-close-mask {
- border: 0;
- margin: 0;
- padding: 0;
- display: block;
- position: fixed;
- left: 0;
- top: 0;
- min-height: 100%;
- min-width: 100%;
- height: auto;
- width: auto;
- opacity: 0;
- z-index: 99;
- background-color: #fff;
- filter: alpha(opacity=0); }
-
-.select2-hidden-accessible {
- border: 0 !important;
- clip: rect(0 0 0 0) !important;
- -webkit-clip-path: inset(50%) !important;
- clip-path: inset(50%) !important;
- height: 1px !important;
- overflow: hidden !important;
- padding: 0 !important;
- position: absolute !important;
- width: 1px !important;
- white-space: nowrap !important; }
-
-.select2-container--default .select2-selection--single {
- background-color: #fff;
- border: 1px solid #aaa;
- border-radius: 4px; }
- .select2-container--default .select2-selection--single .select2-selection__rendered {
- color: #444;
- line-height: 28px; }
- .select2-container--default .select2-selection--single .select2-selection__clear {
- cursor: pointer;
- float: right;
- font-weight: bold; }
- .select2-container--default .select2-selection--single .select2-selection__placeholder {
- color: #999; }
- .select2-container--default .select2-selection--single .select2-selection__arrow {
- height: 26px;
- position: absolute;
- top: 1px;
- right: 1px;
- width: 20px; }
- .select2-container--default .select2-selection--single .select2-selection__arrow b {
- border-color: #888 transparent transparent transparent;
- border-style: solid;
- border-width: 5px 4px 0 4px;
- height: 0;
- left: 50%;
- margin-left: -4px;
- margin-top: -2px;
- position: absolute;
- top: 50%;
- width: 0; }
-
-.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
- float: left; }
-
-.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
- left: 1px;
- right: auto; }
-
-.select2-container--default.select2-container--disabled .select2-selection--single {
- background-color: #eee;
- cursor: default; }
- .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
- display: none; }
-
-.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
- border-color: transparent transparent #888 transparent;
- border-width: 0 4px 5px 4px; }
-
-.select2-container--default .select2-selection--multiple {
- background-color: white;
- border: 1px solid #aaa;
- border-radius: 4px;
- cursor: text; }
- .select2-container--default .select2-selection--multiple .select2-selection__rendered {
- box-sizing: border-box;
- list-style: none;
- margin: 0;
- padding: 0 5px;
- width: 100%; }
- .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
- list-style: none; }
- .select2-container--default .select2-selection--multiple .select2-selection__clear {
- cursor: pointer;
- float: right;
- font-weight: bold;
- margin-top: 5px;
- margin-right: 10px;
- padding: 1px; }
- .select2-container--default .select2-selection--multiple .select2-selection__choice {
- background-color: #e4e4e4;
- border: 1px solid #aaa;
- border-radius: 4px;
- cursor: default;
- float: left;
- margin-right: 5px;
- margin-top: 5px;
- padding: 0 5px; }
- .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
- color: #999;
- cursor: pointer;
- display: inline-block;
- font-weight: bold;
- margin-right: 2px; }
- .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
- color: #333; }
-
-.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
- float: right; }
-
-.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
- margin-left: 5px;
- margin-right: auto; }
-
-.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
- margin-left: 2px;
- margin-right: auto; }
-
-.select2-container--default.select2-container--focus .select2-selection--multiple {
- border: solid black 1px;
- outline: 0; }
-
-.select2-container--default.select2-container--disabled .select2-selection--multiple {
- background-color: #eee;
- cursor: default; }
-
-.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
- display: none; }
-
-.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
- border-top-left-radius: 0;
- border-top-right-radius: 0; }
-
-.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0; }
-
-.select2-container--default .select2-search--dropdown .select2-search__field {
- border: 1px solid #aaa; }
-
-.select2-container--default .select2-search--inline .select2-search__field {
- background: transparent;
- border: none;
- outline: 0;
- box-shadow: none;
- -webkit-appearance: textfield; }
-
-.select2-container--default .select2-results > .select2-results__options {
- max-height: 200px;
- overflow-y: auto; }
-
-.select2-container--default .select2-results__option[role=group] {
- padding: 0; }
-
-.select2-container--default .select2-results__option[aria-disabled=true] {
- color: #999; }
-
-.select2-container--default .select2-results__option[aria-selected=true] {
- background-color: #ddd; }
-
-.select2-container--default .select2-results__option .select2-results__option {
- padding-left: 1em; }
- .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
- padding-left: 0; }
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -1em;
- padding-left: 2em; }
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -2em;
- padding-left: 3em; }
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -3em;
- padding-left: 4em; }
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -4em;
- padding-left: 5em; }
- .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
- margin-left: -5em;
- padding-left: 6em; }
-
-.select2-container--default .select2-results__option--highlighted[aria-selected] {
- background-color: #5897fb;
- color: white; }
-
-.select2-container--default .select2-results__group {
- cursor: default;
- display: block;
- padding: 6px; }
-
-.select2-container--classic .select2-selection--single {
- background-color: #f7f7f7;
- border: 1px solid #aaa;
- border-radius: 4px;
- outline: 0;
- background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
- background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
- background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
- .select2-container--classic .select2-selection--single:focus {
- border: 1px solid #5897fb; }
- .select2-container--classic .select2-selection--single .select2-selection__rendered {
- color: #444;
- line-height: 28px; }
- .select2-container--classic .select2-selection--single .select2-selection__clear {
- cursor: pointer;
- float: right;
- font-weight: bold;
- margin-right: 10px; }
- .select2-container--classic .select2-selection--single .select2-selection__placeholder {
- color: #999; }
- .select2-container--classic .select2-selection--single .select2-selection__arrow {
- background-color: #ddd;
- border: none;
- border-left: 1px solid #aaa;
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
- height: 26px;
- position: absolute;
- top: 1px;
- right: 1px;
- width: 20px;
- background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
- background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
- background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
- .select2-container--classic .select2-selection--single .select2-selection__arrow b {
- border-color: #888 transparent transparent transparent;
- border-style: solid;
- border-width: 5px 4px 0 4px;
- height: 0;
- left: 50%;
- margin-left: -4px;
- margin-top: -2px;
- position: absolute;
- top: 50%;
- width: 0; }
-
-.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
- float: left; }
-
-.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
- border: none;
- border-right: 1px solid #aaa;
- border-radius: 0;
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
- left: 1px;
- right: auto; }
-
-.select2-container--classic.select2-container--open .select2-selection--single {
- border: 1px solid #5897fb; }
- .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
- background: transparent;
- border: none; }
- .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
- border-color: transparent transparent #888 transparent;
- border-width: 0 4px 5px 4px; }
-
-.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
- border-top: none;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
- background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
- background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
-
-.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
- border-bottom: none;
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
- background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
- background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
- background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
-
-.select2-container--classic .select2-selection--multiple {
- background-color: white;
- border: 1px solid #aaa;
- border-radius: 4px;
- cursor: text;
- outline: 0; }
- .select2-container--classic .select2-selection--multiple:focus {
- border: 1px solid #5897fb; }
- .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
- list-style: none;
- margin: 0;
- padding: 0 5px; }
- .select2-container--classic .select2-selection--multiple .select2-selection__clear {
- display: none; }
- .select2-container--classic .select2-selection--multiple .select2-selection__choice {
- background-color: #e4e4e4;
- border: 1px solid #aaa;
- border-radius: 4px;
- cursor: default;
- float: left;
- margin-right: 5px;
- margin-top: 5px;
- padding: 0 5px; }
- .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
- color: #888;
- cursor: pointer;
- display: inline-block;
- font-weight: bold;
- margin-right: 2px; }
- .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
- color: #555; }
-
-.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
- float: right;
- margin-left: 5px;
- margin-right: auto; }
-
-.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
- margin-left: 2px;
- margin-right: auto; }
-
-.select2-container--classic.select2-container--open .select2-selection--multiple {
- border: 1px solid #5897fb; }
-
-.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
- border-top: none;
- border-top-left-radius: 0;
- border-top-right-radius: 0; }
-
-.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
- border-bottom: none;
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0; }
-
-.select2-container--classic .select2-search--dropdown .select2-search__field {
- border: 1px solid #aaa;
- outline: 0; }
-
-.select2-container--classic .select2-search--inline .select2-search__field {
- outline: 0;
- box-shadow: none; }
-
-.select2-container--classic .select2-dropdown {
- background-color: white;
- border: 1px solid transparent; }
-
-.select2-container--classic .select2-dropdown--above {
- border-bottom: none; }
-
-.select2-container--classic .select2-dropdown--below {
- border-top: none; }
-
-.select2-container--classic .select2-results > .select2-results__options {
- max-height: 200px;
- overflow-y: auto; }
-
-.select2-container--classic .select2-results__option[role=group] {
- padding: 0; }
-
-.select2-container--classic .select2-results__option[aria-disabled=true] {
- color: grey; }
-
-.select2-container--classic .select2-results__option--highlighted[aria-selected] {
- background-color: #3875d7;
- color: white; }
-
-.select2-container--classic .select2-results__group {
- cursor: default;
- display: block;
- padding: 6px; }
-
-.select2-container--classic.select2-container--open .select2-dropdown {
- border-color: #5897fb; }
->>>>>>> master
+ border-color: #5897fb; }
\ No newline at end of file
diff --git a/programmer/static/admin/css/vendor/select2/select2.min.css b/programmer/static/admin/css/vendor/select2/select2.min.css
index e3c4f3b..a15f127 100644
--- a/programmer/static/admin/css/vendor/select2/select2.min.css
+++ b/programmer/static/admin/css/vendor/select2/select2.min.css
@@ -1,5 +1 @@
-<<<<<<< HEAD
-.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
-=======
-.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
->>>>>>> master
+.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
\ No newline at end of file
diff --git a/programmer/static/admin/css/widgets.css b/programmer/static/admin/css/widgets.css
index 10193e1..5f7adcb 100644
--- a/programmer/static/admin/css/widgets.css
+++ b/programmer/static/admin/css/widgets.css
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
/* SELECTOR (FILTER INTERFACE) */
.selector {
@@ -602,608 +601,3 @@ select + .related-widget-wrapper-link,
width: 600px;
height: 400px;
}
-=======
-/* SELECTOR (FILTER INTERFACE) */
-
-.selector {
- width: 800px;
- float: left;
- display: flex;
-}
-
-.selector select {
- width: 380px;
- height: 17.2em;
- flex: 1 0 auto;
-}
-
-.selector-available, .selector-chosen {
- width: 380px;
- text-align: center;
- margin-bottom: 5px;
- display: flex;
- flex-direction: column;
-}
-
-.selector-available h2, .selector-chosen h2 {
- border: 1px solid var(--border-color);
- border-radius: 4px 4px 0 0;
-}
-
-.selector-chosen .list-footer-display {
- border: 1px solid var(--border-color);
- border-top: none;
- border-radius: 0 0 4px 4px;
- margin: 0 0 10px;
- padding: 8px;
- text-align: center;
- background: var(--primary);
- color: var(--header-link-color);
- cursor: pointer;
-}
-.selector-chosen .list-footer-display__clear {
- color: var(--breadcrumbs-fg);
-}
-
-.selector-chosen h2 {
- background: var(--primary);
- color: var(--header-link-color);
-}
-
-.selector .selector-available h2 {
- background: var(--darkened-bg);
- color: var(--body-quiet-color);
-}
-
-.selector .selector-filter {
- border: 1px solid var(--border-color);
- border-width: 0 1px;
- padding: 8px;
- color: var(--body-quiet-color);
- font-size: 0.625rem;
- margin: 0;
- text-align: left;
-}
-
-.selector .selector-filter label,
-.inline-group .aligned .selector .selector-filter label {
- float: left;
- margin: 7px 0 0;
- width: 18px;
- height: 18px;
- padding: 0;
- overflow: hidden;
- line-height: 1;
-}
-
-.selector .selector-available input,
-.selector .selector-chosen input {
- width: 320px;
- margin-left: 8px;
-}
-
-.selector ul.selector-chooser {
- align-self: center;
- width: 22px;
- background-color: var(--selected-bg);
- border-radius: 10px;
- margin: 0 5px;
- padding: 0;
- transform: translateY(-17px);
-}
-
-.selector-chooser li {
- margin: 0;
- padding: 3px;
- list-style-type: none;
-}
-
-.selector select {
- padding: 0 10px;
- margin: 0 0 10px;
- border-radius: 0 0 4px 4px;
-}
-.selector .selector-chosen--with-filtered select {
- margin: 0;
- border-radius: 0;
- height: 14em;
-}
-
-.selector .selector-chosen:not(.selector-chosen--with-filtered) .list-footer-display {
- display: none;
-}
-
-.selector-add, .selector-remove {
- width: 16px;
- height: 16px;
- display: block;
- text-indent: -3000px;
- overflow: hidden;
- cursor: default;
- opacity: 0.55;
-}
-
-.active.selector-add, .active.selector-remove {
- opacity: 1;
-}
-
-.active.selector-add:hover, .active.selector-remove:hover {
- cursor: pointer;
-}
-
-.selector-add {
- background: url(../img/selector-icons.svg) 0 -96px no-repeat;
-}
-
-.active.selector-add:focus, .active.selector-add:hover {
- background-position: 0 -112px;
-}
-
-.selector-remove {
- background: url(../img/selector-icons.svg) 0 -64px no-repeat;
-}
-
-.active.selector-remove:focus, .active.selector-remove:hover {
- background-position: 0 -80px;
-}
-
-a.selector-chooseall, a.selector-clearall {
- display: inline-block;
- height: 16px;
- text-align: left;
- margin: 1px auto 3px;
- overflow: hidden;
- font-weight: bold;
- line-height: 16px;
- color: var(--body-quiet-color);
- text-decoration: none;
- opacity: 0.55;
-}
-
-a.active.selector-chooseall:focus, a.active.selector-clearall:focus,
-a.active.selector-chooseall:hover, a.active.selector-clearall:hover {
- color: var(--link-fg);
-}
-
-a.active.selector-chooseall, a.active.selector-clearall {
- opacity: 1;
-}
-
-a.active.selector-chooseall:hover, a.active.selector-clearall:hover {
- cursor: pointer;
-}
-
-a.selector-chooseall {
- padding: 0 18px 0 0;
- background: url(../img/selector-icons.svg) right -160px no-repeat;
- cursor: default;
-}
-
-a.active.selector-chooseall:focus, a.active.selector-chooseall:hover {
- background-position: 100% -176px;
-}
-
-a.selector-clearall {
- padding: 0 0 0 18px;
- background: url(../img/selector-icons.svg) 0 -128px no-repeat;
- cursor: default;
-}
-
-a.active.selector-clearall:focus, a.active.selector-clearall:hover {
- background-position: 0 -144px;
-}
-
-/* STACKED SELECTORS */
-
-.stacked {
- float: left;
- width: 490px;
- display: block;
-}
-
-.stacked select {
- width: 480px;
- height: 10.1em;
-}
-
-.stacked .selector-available, .stacked .selector-chosen {
- width: 480px;
-}
-
-.stacked .selector-available {
- margin-bottom: 0;
-}
-
-.stacked .selector-available input {
- width: 422px;
-}
-
-.stacked ul.selector-chooser {
- height: 22px;
- width: 50px;
- margin: 0 0 10px 40%;
- background-color: #eee;
- border-radius: 10px;
- transform: none;
-}
-
-.stacked .selector-chooser li {
- float: left;
- padding: 3px 3px 3px 5px;
-}
-
-.stacked .selector-chooseall, .stacked .selector-clearall {
- display: none;
-}
-
-.stacked .selector-add {
- background: url(../img/selector-icons.svg) 0 -32px no-repeat;
- cursor: default;
-}
-
-.stacked .active.selector-add {
- background-position: 0 -32px;
- cursor: pointer;
-}
-
-.stacked .active.selector-add:focus, .stacked .active.selector-add:hover {
- background-position: 0 -48px;
- cursor: pointer;
-}
-
-.stacked .selector-remove {
- background: url(../img/selector-icons.svg) 0 0 no-repeat;
- cursor: default;
-}
-
-.stacked .active.selector-remove {
- background-position: 0 0px;
- cursor: pointer;
-}
-
-.stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover {
- background-position: 0 -16px;
- cursor: pointer;
-}
-
-.selector .help-icon {
- background: url(../img/icon-unknown.svg) 0 0 no-repeat;
- display: inline-block;
- vertical-align: middle;
- margin: -2px 0 0 2px;
- width: 13px;
- height: 13px;
-}
-
-.selector .selector-chosen .help-icon {
- background: url(../img/icon-unknown-alt.svg) 0 0 no-repeat;
-}
-
-.selector .search-label-icon {
- background: url(../img/search.svg) 0 0 no-repeat;
- display: inline-block;
- height: 1.125rem;
- width: 1.125rem;
-}
-
-/* DATE AND TIME */
-
-p.datetime {
- line-height: 20px;
- margin: 0;
- padding: 0;
- color: var(--body-quiet-color);
- font-weight: bold;
-}
-
-.datetime span {
- white-space: nowrap;
- font-weight: normal;
- font-size: 0.6875rem;
- color: var(--body-quiet-color);
-}
-
-.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
- margin-left: 5px;
- margin-bottom: 4px;
-}
-
-table p.datetime {
- font-size: 0.6875rem;
- margin-left: 0;
- padding-left: 0;
-}
-
-.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- height: 16px;
- width: 16px;
- overflow: hidden;
-}
-
-.datetimeshortcuts .clock-icon {
- background: url(../img/icon-clock.svg) 0 0 no-repeat;
-}
-
-.datetimeshortcuts a:focus .clock-icon,
-.datetimeshortcuts a:hover .clock-icon {
- background-position: 0 -16px;
-}
-
-.datetimeshortcuts .date-icon {
- background: url(../img/icon-calendar.svg) 0 0 no-repeat;
- top: -1px;
-}
-
-.datetimeshortcuts a:focus .date-icon,
-.datetimeshortcuts a:hover .date-icon {
- background-position: 0 -16px;
-}
-
-.timezonewarning {
- font-size: 0.6875rem;
- color: var(--body-quiet-color);
-}
-
-/* URL */
-
-p.url {
- line-height: 20px;
- margin: 0;
- padding: 0;
- color: var(--body-quiet-color);
- font-size: 0.6875rem;
- font-weight: bold;
-}
-
-.url a {
- font-weight: normal;
-}
-
-/* FILE UPLOADS */
-
-p.file-upload {
- line-height: 20px;
- margin: 0;
- padding: 0;
- color: var(--body-quiet-color);
- font-size: 0.6875rem;
- font-weight: bold;
-}
-
-.file-upload a {
- font-weight: normal;
-}
-
-.file-upload .deletelink {
- margin-left: 5px;
-}
-
-span.clearable-file-input label {
- color: var(--body-fg);
- font-size: 0.6875rem;
- display: inline;
- float: none;
-}
-
-/* CALENDARS & CLOCKS */
-
-.calendarbox, .clockbox {
- margin: 5px auto;
- font-size: 0.75rem;
- width: 19em;
- text-align: center;
- background: var(--body-bg);
- color: var(--body-fg);
- border: 1px solid var(--hairline-color);
- border-radius: 4px;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
- overflow: hidden;
- position: relative;
-}
-
-.clockbox {
- width: auto;
-}
-
-.calendar {
- margin: 0;
- padding: 0;
-}
-
-.calendar table {
- margin: 0;
- padding: 0;
- border-collapse: collapse;
- background: white;
- width: 100%;
-}
-
-.calendar caption, .calendarbox h2 {
- margin: 0;
- text-align: center;
- border-top: none;
- font-weight: 700;
- font-size: 0.75rem;
- color: #333;
- background: var(--accent);
-}
-
-.calendar th {
- padding: 8px 5px;
- background: var(--darkened-bg);
- border-bottom: 1px solid var(--border-color);
- font-weight: 400;
- font-size: 0.75rem;
- text-align: center;
- color: var(--body-quiet-color);
-}
-
-.calendar td {
- font-weight: 400;
- font-size: 0.75rem;
- text-align: center;
- padding: 0;
- border-top: 1px solid var(--hairline-color);
- border-bottom: none;
-}
-
-.calendar td.selected a {
- background: var(--primary);
- color: var(--button-fg);
-}
-
-.calendar td.nonday {
- background: var(--darkened-bg);
-}
-
-.calendar td.today a {
- font-weight: 700;
-}
-
-.calendar td a, .timelist a {
- display: block;
- font-weight: 400;
- padding: 6px;
- text-decoration: none;
- color: var(--body-quiet-color);
-}
-
-.calendar td a:focus, .timelist a:focus,
-.calendar td a:hover, .timelist a:hover {
- background: var(--primary);
- color: white;
-}
-
-.calendar td a:active, .timelist a:active {
- background: var(--header-bg);
- color: white;
-}
-
-.calendarnav {
- font-size: 0.625rem;
- text-align: center;
- color: #ccc;
- margin: 0;
- padding: 1px 3px;
-}
-
-.calendarnav a:link, #calendarnav a:visited,
-#calendarnav a:focus, #calendarnav a:hover {
- color: var(--body-quiet-color);
-}
-
-.calendar-shortcuts {
- background: var(--body-bg);
- color: var(--body-quiet-color);
- font-size: 0.6875rem;
- line-height: 0.6875rem;
- border-top: 1px solid var(--hairline-color);
- padding: 8px 0;
-}
-
-.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
- display: block;
- position: absolute;
- top: 8px;
- width: 15px;
- height: 15px;
- text-indent: -9999px;
- padding: 0;
-}
-
-.calendarnav-previous {
- left: 10px;
- background: url(../img/calendar-icons.svg) 0 0 no-repeat;
-}
-
-.calendarbox .calendarnav-previous:focus,
-.calendarbox .calendarnav-previous:hover {
- background-position: 0 -15px;
-}
-
-.calendarnav-next {
- right: 10px;
- background: url(../img/calendar-icons.svg) 0 -30px no-repeat;
-}
-
-.calendarbox .calendarnav-next:focus,
-.calendarbox .calendarnav-next:hover {
- background-position: 0 -45px;
-}
-
-.calendar-cancel {
- margin: 0;
- padding: 4px 0;
- font-size: 0.75rem;
- background: #eee;
- border-top: 1px solid var(--border-color);
- color: var(--body-fg);
-}
-
-.calendar-cancel:focus, .calendar-cancel:hover {
- background: #ddd;
-}
-
-.calendar-cancel a {
- color: black;
- display: block;
-}
-
-ul.timelist, .timelist li {
- list-style-type: none;
- margin: 0;
- padding: 0;
-}
-
-.timelist a {
- padding: 2px;
-}
-
-/* EDIT INLINE */
-
-.inline-deletelink {
- float: right;
- text-indent: -9999px;
- background: url(../img/inline-delete.svg) 0 0 no-repeat;
- width: 16px;
- height: 16px;
- border: 0px none;
-}
-
-.inline-deletelink:focus, .inline-deletelink:hover {
- cursor: pointer;
-}
-
-/* RELATED WIDGET WRAPPER */
-.related-widget-wrapper {
- float: left; /* display properly in form rows with multiple fields */
- overflow: hidden; /* clear floated contents */
-}
-
-.related-widget-wrapper-link {
- opacity: 0.3;
-}
-
-.related-widget-wrapper-link:link {
- opacity: .8;
-}
-
-.related-widget-wrapper-link:link:focus,
-.related-widget-wrapper-link:link:hover {
- opacity: 1;
-}
-
-select + .related-widget-wrapper-link,
-.related-widget-wrapper-link + .related-widget-wrapper-link {
- margin-left: 7px;
-}
-
-/* GIS MAPS */
-.dj_map {
- width: 600px;
- height: 400px;
-}
->>>>>>> master
diff --git a/programmer/static/blog/css/article.css b/programmer/static/blog/css/article.css
deleted file mode 100644
index 4bd321f..0000000
--- a/programmer/static/blog/css/article.css
+++ /dev/null
@@ -1,462 +0,0 @@
-/*
- * article.css
- * Styles for CKEditor 5 rendered content inside .content-card
- * and for the article detail page layout.
- *
- * Scope: all rules are under .content-card .card-content
- * so they never leak into the rest of the site.
- */
-
-/* ===== ARTICLE PAGE LAYOUT ===== */
-
-.article-meta {
- display: flex;
- align-items: center;
- gap: 1.5rem;
- flex-wrap: wrap;
- font-size: 0.9rem;
- color: var(--text-light);
- margin-bottom: 2rem;
- padding-bottom: 1.5rem;
- border-bottom: 1px solid var(--border-light);
-}
-
-.article-meta span {
- display: flex;
- align-items: center;
- gap: 0.4rem;
-}
-
-.article-tags {
- display: flex;
- flex-wrap: wrap;
- gap: 0.5rem;
- margin: 1.5rem 0;
-}
-
-.article-tag {
- display: inline-block;
- padding: 0.25rem 0.75rem;
- background: var(--bg-tertiary);
- border: 1px solid var(--border-light);
- border-radius: var(--radius-sm);
- font-size: 0.8rem;
- color: var(--text-secondary);
- text-decoration: none;
- transition: var(--transition);
-}
-
-.article-tag:hover {
- background: var(--primary);
- color: white;
- border-color: var(--primary);
-}
-
-/* ===== CKEDITOR 5 CONTENT ===== */
-
-.content-card .card-content {
- font-size: 1.05rem;
- line-height: 1.8;
- color: var(--text-primary);
- word-break: break-word;
-}
-
-/* --- Headings --- */
-
-.content-card .card-content h2,
-.content-card .card-content h3,
-.content-card .card-content h4,
-.content-card .card-content h5,
-.content-card .card-content h6 {
- font-weight: 700;
- line-height: 1.3;
- margin-top: 2rem;
- margin-bottom: 0.75rem;
- color: var(--text-primary);
-}
-
-.content-card .card-content h2 {
- font-size: 1.75rem;
- padding-bottom: 0.5rem;
- border-bottom: 2px solid var(--border-light);
-}
-
-.content-card .card-content h3 {
- font-size: 1.375rem;
- padding-left: 0.75rem;
- border-left: 4px solid var(--primary);
-}
-
-.content-card .card-content h4 {
- font-size: 1.125rem;
- color: var(--text-secondary);
-}
-
-/* --- Paragraphs --- */
-
-.content-card .card-content p {
- margin-bottom: 1.25rem;
-}
-
-.content-card .card-content p:last-child {
- margin-bottom: 0;
-}
-
-/* --- Links --- */
-
-.content-card .card-content a {
- color: var(--primary);
- text-decoration: underline;
- text-decoration-color: rgba(255, 107, 0, 0.4);
- text-underline-offset: 3px;
- transition: var(--transition);
-}
-
-.content-card .card-content a:hover {
- color: var(--primary-dark);
- text-decoration-color: var(--primary-dark);
-}
-
-/* --- Lists --- */
-
-.content-card .card-content ul,
-.content-card .card-content ol {
- margin: 0 0 1.25rem 0;
- padding-left: 1.75rem;
-}
-
-.content-card .card-content ul {
- list-style: none;
- padding-left: 0;
-}
-
-.content-card .card-content ul li {
- position: relative;
- padding-left: 1.5rem;
- margin-bottom: 0.5rem;
-}
-
-.content-card .card-content ul li::before {
- content: '▸';
- position: absolute;
- left: 0;
- color: var(--primary);
- font-weight: bold;
-}
-
-.content-card .card-content ol li {
- margin-bottom: 0.5rem;
-}
-
-.content-card .card-content ul ul,
-.content-card .card-content ol ol,
-.content-card .card-content ul ol,
-.content-card .card-content ol ul {
- margin-top: 0.5rem;
- margin-bottom: 0;
-}
-
-/* --- Blockquote --- */
-
-.content-card .card-content blockquote {
- margin: 1.5rem 0;
- padding: 1.25rem 1.5rem;
- border-left: 4px solid var(--primary);
- background: var(--bg-secondary);
- border-radius: 0 var(--radius-md) var(--radius-md) 0;
- color: var(--text-secondary);
- font-style: italic;
- font-size: 1.05rem;
-}
-
-.content-card .card-content blockquote p:last-child {
- margin-bottom: 0;
-}
-
-/* --- Inline code (not inside pre) --- */
-/*
- * High specificity is fine here because this selector explicitly
- * excludes pre > code, so it never touches hljs blocks.
- */
-
-.content-card .card-content :not(pre) > code {
- font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
- font-size: 0.875em;
- background: var(--bg-tertiary);
- color: var(--primary-dark);
- padding: 0.15em 0.4em;
- border-radius: 4px;
- border: 1px solid var(--border-light);
- word-break: break-all;
-}
-
-/* --- Code blocks (CKEditor generates ) --- */
-/*
- * ALL pre and pre code rules use :where() — zero specificity.
- * This guarantees hljs always wins on colors, background, and padding.
- *
- * Responsibility split:
- * article.css → layout only: margin, border-radius, overflow, shadow
- * hljs CSS → everything visual: background, color, padding, font-size
- *
- * font-size:0 on pre prevents inherited line-height:1.8 from inflating
- * the spacing between lines (line-height is computed from font-size,
- * so zeroing it on the wrapper element neutralises the inheritance).
- * font-size is restored on pre code.
- */
-
-:where(.content-card .card-content) pre {
- margin: 1.5rem 0;
- padding: 0; /* hljs sets padding:1em on code.hljs — don't double it */
- border-radius: var(--radius-md);
- overflow-x: auto;
- box-shadow: var(--shadow-md);
- font-size: 0; /* neutralise inherited line-height */
- line-height: 1;
- background: none; /* hljs controls background (#fff or #282c34) */
-}
-
-:where(.content-card .card-content) pre code {
- font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
- font-size: 0.9rem; /* restore font-size for hljs to work from */
- line-height: 1.5;
- word-break: normal;
- white-space: pre;
- /* NO color, NO background, NO padding — hljs owns these */
-}
-
-/* --- Tables --- */
-
-.content-card .card-content .table-wrapper,
-.content-card .card-content figure.table {
- overflow-x: auto;
- margin: 1.5rem 0;
- border-radius: var(--radius-md);
- box-shadow: var(--shadow-sm);
-}
-
-.content-card .card-content table {
- width: 100%;
- border-collapse: collapse;
- font-size: 0.95rem;
-}
-
-.content-card .card-content th {
- background: var(--bg-secondary);
- font-weight: 700;
- text-align: left;
- padding: 0.875rem 1rem;
- border-bottom: 2px solid var(--border-medium);
- color: var(--text-primary);
- white-space: nowrap;
-}
-
-.content-card .card-content td {
- padding: 0.75rem 1rem;
- border-bottom: 1px solid var(--border-light);
- color: var(--text-secondary);
- vertical-align: top;
-}
-
-.content-card .card-content tr:last-child td {
- border-bottom: none;
-}
-
-.content-card .card-content tbody tr:hover td {
- background: var(--bg-secondary);
-}
-
-/* CKEditor 5 table with header row class */
-.content-card .card-content table.ck-table-resized th,
-.content-card .card-content table.ck-table-resized td {
- border: 1px solid var(--border-light);
-}
-
-/* --- Images (CKEditor wraps in ) --- */
-
-.content-card .card-content figure.image {
- margin: 1.5rem auto;
- text-align: center;
- max-width: 100%;
-}
-
-.content-card .card-content figure.image img,
-.content-card .card-content img {
- max-width: 100%;
- height: auto;
- display: block;
- margin: 0 auto;
- border-radius: var(--radius-md);
- box-shadow: var(--shadow-md);
- cursor: pointer; /* triggers the click-to-enlarge modal */
-}
-
-.content-card .card-content figure.image figcaption {
- margin-top: 0.5rem;
- font-size: 0.875rem;
- color: var(--text-light);
- font-style: italic;
- text-align: center;
-}
-
-/* CKEditor alignment classes */
-.content-card .card-content figure.image.image-style-align-left {
- float: left;
- margin: 0.5rem 1.5rem 1rem 0;
- max-width: 45%;
-}
-
-.content-card .card-content figure.image.image-style-align-right {
- float: right;
- margin: 0.5rem 0 1rem 1.5rem;
- max-width: 45%;
-}
-
-/* Clearfix after floated images */
-.content-card .card-content::after {
- content: '';
- display: table;
- clear: both;
-}
-
-/* --- Horizontal rule --- */
-
-.content-card .card-content hr {
- border: none;
- height: 2px;
- background: linear-gradient(90deg, transparent, var(--border-medium), transparent);
- margin: 2rem 0;
-}
-
-/* --- Alert/info boxes (CKEditor custom classes if used) --- */
-
-.content-card .card-content .info-box {
- padding: 1rem 1.25rem;
- border-radius: var(--radius-md);
- margin: 1.5rem 0;
- border-left: 4px solid var(--accent);
- background: rgba(0, 168, 255, 0.08);
- color: var(--text-secondary);
- font-size: 0.95rem;
-}
-
-/* ===== COMMENTS SECTION ===== */
-
-.comments-section {
- margin-top: 3rem;
-}
-
-.comments-section h3 {
- font-size: 1.5rem;
- font-weight: 700;
- margin-bottom: 1.5rem;
- color: var(--text-primary);
- display: flex;
- align-items: center;
- gap: 0.75rem;
-}
-
-.comment-card {
- background: var(--bg-secondary);
- border-radius: var(--radius-lg);
- padding: 1.25rem 1.5rem;
- margin-bottom: 1rem;
- border: 1px solid var(--border-light);
- border-left: 3px solid var(--secondary);
-}
-
-.comment-author {
- font-weight: 600;
- color: var(--text-primary);
- font-size: 0.95rem;
-}
-
-.comment-date {
- font-size: 0.8rem;
- color: var(--text-light);
- margin-left: 0.75rem;
-}
-
-.comment-body {
- margin-top: 0.75rem;
- color: var(--text-secondary);
- line-height: 1.6;
-}
-
-.comment-form-card {
- background: var(--bg-card);
- border-radius: var(--radius-xl);
- padding: 2rem;
- box-shadow: var(--shadow-md);
- border: 1px solid var(--border-light);
- margin-top: 2rem;
- position: relative;
-}
-
-.comment-form-card::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 4px;
- background: var(--gradient-secondary);
- border-radius: var(--radius-xl) var(--radius-xl) 0 0;
-}
-
-.comment-form-card h4 {
- font-size: 1.25rem;
- font-weight: 700;
- margin-bottom: 1.5rem;
- color: var(--text-primary);
-}
-
-/* ===== RESPONSIVE ===== */
-
-@media (max-width: 768px) {
- .content-card .card-content h2 {
- font-size: 1.5rem;
- }
-
- .content-card .card-content h3 {
- font-size: 1.25rem;
- }
-
- .content-card .card-content figure.image.image-style-align-left,
- .content-card .card-content figure.image.image-style-align-right {
- float: none;
- max-width: 100%;
- margin: 1rem auto;
- }
-
- /* :where() keeps specificity at zero so hljs still wins on mobile */
- :where(.content-card .card-content) pre {
- box-shadow: none;
- margin: 1rem 0;
- }
-
- .content-card .card-content th,
- .content-card .card-content td {
- padding: 0.6rem 0.75rem;
- font-size: 0.875rem;
- }
-
- .article-meta {
- gap: 1rem;
- font-size: 0.8rem;
- }
-}
-
-@media (max-width: 480px) {
- .content-card .card-content {
- font-size: 1rem;
- }
-
- .content-card .card-content h2 {
- font-size: 1.375rem;
- }
-
- .content-card .card-content h3 {
- font-size: 1.125rem;
- }
-}
\ No newline at end of file
diff --git a/programmer/static/blog/css/article_content.css b/programmer/static/blog/css/article_content.css
deleted file mode 100644
index 7ddd9bf..0000000
--- a/programmer/static/blog/css/article_content.css
+++ /dev/null
@@ -1,139 +0,0 @@
-/* Основная типографика */
-.article-content {
- font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
- line-height: 1.6;
- color: #333;
- max-width: 800px; /* при необходимости */
- margin: 0 auto;
-}
-
-.article-content h1,
-.article-content h2,
-.article-content h3,
-.article-content h4,
-.article-content h5,
-.article-content h6 {
- margin-top: 1.5em;
- margin-bottom: 0.5em;
- font-weight: 600;
- line-height: 1.25;
-}
-
-.article-content p {
- margin-bottom: 1.2em;
-}
-
-.article-content blockquote {
- border-left: 4px solid #ddd;
- padding-left: 1em;
- margin-left: 0;
- margin-right: 0;
- font-style: italic;
- color: #666;
-}
-
-.article-content pre {
- background: #f5f5f5;
- padding: 1em;
- border-radius: 4px;
- overflow-x: auto;
-}
-
-.article-content code {
- background: #f0f0f0;
- padding: 0.2em 0.4em;
- border-radius: 3px;
- font-size: 0.9em;
-}
-
-/* Таблицы */
-.article-content table {
- border-collapse: collapse;
- width: 100%;
- margin: 1em 0;
-}
-
-.article-content th,
-.article-content td {
- border: 1px solid #ddd;
- padding: 8px;
- text-align: left;
-}
-
-.article-content th {
- background-color: #f8f8f8;
-}
-
-/* Изображения */
-.article-content figure.image {
- display: inline-block;
- margin: 1em 0;
- max-width: 100%;
-}
-
-.article-content figure.image img {
- max-width: 100%;
- height: auto;
-}
-
-/* Выравнивание изображений (классы, используемые CKEditor 5) */
-.article-content .image-style-align-left {
- float: left;
- margin-right: 1.5em;
- margin-bottom: 1em;
- max-width: 50%;
-}
-
-.article-content .image-style-align-right {
- float: right;
- margin-left: 1.5em;
- margin-bottom: 1em;
- max-width: 50%;
-}
-
-.article-content .image-style-align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
- max-width: 100%;
-}
-
-/* Подписи к изображениям (если используются) */
-.article-content figure.image figcaption {
- text-align: center;
- font-size: 0.9em;
- color: #666;
- margin-top: 0.3em;
-}
-
-/* Встроенные медиа (видео) */
-.article-content .media {
- position: relative;
- width: 100%;
- padding-bottom: 56.25%; /* 16:9 */
- height: 0;
- margin: 1.5em 0;
-}
-
-.article-content .media iframe {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- border: 0;
-}
-
-/* Списки */
-.article-content ul,
-.article-content ol {
- padding-left: 2em;
- margin-bottom: 1em;
-}
-
-/* Горизонтальная линия */
-.article-content hr {
- border: none;
- border-top: 2px solid #eee;
- margin: 2em 0;
-}
\ No newline at end of file
diff --git a/programmer/static/programmer/css/styles.css b/programmer/static/programmer/css/styles.css
index 91a41ef..dd6d653 100644
--- a/programmer/static/programmer/css/styles.css
+++ b/programmer/static/programmer/css/styles.css
@@ -914,6 +914,14 @@ body {
margin: 0 auto;
}
+.product-configs {
+ color: var(--text-secondary);
+ font-size: 1.25rem;
+ font-weight: 500;
+ max-width: 600px;
+ margin: 0 auto;
+}
+
/* ===== FOOTER ===== */
.footer {
background: var(--footer-bg);
@@ -1665,6 +1673,11 @@ body {
padding: 0 1rem;
}
+ .product-configs {
+ font-size: 1.125rem;
+ padding: 0 1rem;
+ }
+
.grid-2 {
grid-template-columns: 1fr;
gap: 1.5rem;
diff --git a/programmer/static/programmer/js/floating-button.js b/programmer/static/programmer/js/floating-button.js
index 16d5613..b2b3268 100644
--- a/programmer/static/programmer/js/floating-button.js
+++ b/programmer/static/programmer/js/floating-button.js
@@ -16,9 +16,17 @@ const CallbackModal = {
}, 5000);
},
- open() {
+ open(productTitle) {
const modal = document.getElementById(this.modalId);
if (modal) {
+
+ if (productTitle) {
+ const questionField = modal.querySelector('#id_question');
+ if (questionField) {
+ questionField.value = `Запрос цены по ПП "${productTitle}"`;
+ }
+ }
+
modal.style.display = 'block';
const floatingBtn = document.getElementById(this.floatingBtnId);
if (floatingBtn && this.shown) {
diff --git a/programmer/static/programmer/js/profile.js b/programmer/static/programmer/js/profile.js
new file mode 100644
index 0000000..e1594ba
--- /dev/null
+++ b/programmer/static/programmer/js/profile.js
@@ -0,0 +1,30 @@
+// programmer/static/programmer/js/profile.js
+function openModalContent(el) {
+ const url = el.dataset.url;
+ const title = el.querySelector('h4').innerText;
+ const modal = document.getElementById('contentModal');
+ const body = document.getElementById('contentModalBody');
+ const titleEl = document.getElementById('contentModalTitle');
+ titleEl.textContent = title;
+ body.innerHTML = 'Загрузка...
';
+ modal.style.display = 'block';
+ fetch(url)
+ .then(response => response.text())
+ .then(html => {
+ body.innerHTML = html;
+ })
+ .catch(() => {
+ body.innerHTML = 'Ошибка загрузки. Попробуйте позже.
';
+ });
+}
+
+function closeContentModal() {
+ document.getElementById('contentModal').style.display = 'none';
+}
+// Закрытие по клику на фон и ESC
+document.addEventListener('click', function(e) {
+ if (e.target === document.getElementById('contentModal')) closeContentModal();
+});
+document.addEventListener('keydown', function(e) {
+ if (e.key === 'Escape') closeContentModal();
+});
\ No newline at end of file
diff --git a/programmer/templates/programmer/base.html b/programmer/templates/programmer/base.html
index 91f4ae1..c057df4 100644
--- a/programmer/templates/programmer/base.html
+++ b/programmer/templates/programmer/base.html
@@ -393,30 +393,32 @@