﻿/* Minimal compatibility layer.
   P2 will reuse legacy styles from /public/static/css/*.css and port page markup accordingly. */

main {
  min-height: 60vh;
}

.table-responsive {
  overflow-x: auto;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.utility-widget .icon-bar {
  background-color: #da291c;
  display: block;
  margin: 0;
  width: 25px;
  height: 3px;
  position: relative;
  border-radius: 1px;
}

.utility-widget .icon-bar::before,
.utility-widget .icon-bar::after {
  display: block;
  width: 25px;
  height: 3px;
  background-color: #da291c;
  position: absolute;
  left: 0;
  content: "";
  transition:
    top 0.2s 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955),
    transform 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.utility-widget .icon-bar::before {
  top: -7px;
}

.utility-widget .icon-bar::after {
  top: 7px;
}

.utility-widget .button-collapse.open .icon-bar {
  background-color: transparent;
}

.utility-widget .button-collapse.open .icon-bar::before,
.utility-widget .button-collapse.open .icon-bar::after {
  transition:
    top 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955),
    transform 0.2s 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.utility-widget .button-collapse.open .icon-bar::before {
  top: 0;
  transform: rotate3d(0, 0, 1, 45deg);
}

.utility-widget .button-collapse.open .icon-bar::after {
  top: 0;
  transform: rotate3d(0, 0, 1, -45deg);
}

.utility-widget.widget-sidemenu {
  padding-top: 15px;
}

#tools-menu {
  padding-top: 7px;
  display: inline-block;
  height: 25px;
}

/* Transitional compatibility for pages not yet converted from Bootstrap classes */
.py-4 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.mb-3 {
  margin-bottom: 1rem;
}

.mb-0 {
  margin-bottom: 0;
}

.h4 {
  font-size: 2rem;
  line-height: 1.2;
  margin: 0 0 1rem;
}

.h6 {
  font-size: 1.1rem;
  line-height: 1.3;
  margin: 0 0 0.5rem;
}

.row.g-2,
.row.g-3 {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.row.g-2 > [class*="col-"],
.row.g-3 > [class*="col-"] {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  margin-bottom: 0.75rem;
}

.col-12,
.col-6,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-6,
.col-md-8 {
  box-sizing: border-box;
  width: 100%;
}

@media (min-width: 768px) {
  .row.g-2,
  .row.g-3 {
    display: flex;
    flex-wrap: wrap;
  }

  .col-md-2 { width: 16.6667%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.3333%; }
  .col-md-6 { width: 50%; }
  .col-md-8 { width: 66.6667%; }
  .col-6 { width: 50%; }
}

.form-control,
.form-select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #c9c9c9;
  background: #fff;
  color: #222;
  height: 44px;
  padding: 0 12px;
  border-radius: 2px;
}

textarea.form-control {
  height: auto;
  padding: 10px 12px;
}

.form-label {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 0.35rem;
  color: #2d383f;
}

.form-check {
  margin: 0.35rem 0;
}

.form-check-input {
  margin-right: 0.4rem;
}

.btn {
  display: inline-block;
  border: 0;
  background: #da291c;
  color: #fff;
  padding: 0 18px;
  height: 42px;
  line-height: 42px;
  border-radius: 2px;
  cursor: pointer;
  text-decoration: none;
}

.btn-primary {
  background: #da291c;
}

.w-100 {
  width: 100%;
}

.alert {
  padding: 12px 14px;
  border-radius: 2px;
  margin-bottom: 1rem;
}

.alert-success {
  background: #e8f5e9;
  color: #1b5e20;
}

.alert-info {
  background: #e3f2fd;
  color: #0d47a1;
}

.text-danger {
  color: #b00020;
  font-size: 0.85rem;
}

.card {
  border: 1px solid #e1e1e1;
  background: #fff;
}

.card-body {
  padding: 12px;
}

.card-img-top {
  display: block;
  width: 100%;
  height: auto;
}

#layout-jump {
  z-index: 4;
  left: 0;
  right: 0;
}

#layout-jump header.site-header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
}

.header-padding {
  width: 100%;
}

@media (min-width: 1280px) {
  header.site-header .menu-main-menu > li:hover > a,
  header.site-header .menu-main-menu > li:focus-within > a {
    color: #da291c;
    text-decoration: underline;
    text-decoration-thickness: 3px;
  }
}
