/* Navbar */
.navbar-none {
  background-color: rgba(255, 255, 255, 0) !important;
}
.navbar-red {
  background-image: radial-gradient(at top left, #ff7c3c, Tomato);
}
.navbar-nav .nav-item {
  transition: background-color 0.3s;
}
.navbar-nav .nav-item:hover,
.navbar-nav .nav-item:focus {
  background-color: #cc3f3b;
}
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 1);
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  color: rgba(255, 255, 255, 1);
}
.navbar-dark .navbar-toggler {
  border-color: rgba(255, 255, 255, 1);
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Colors */
.background-red {
  background-image: radial-gradient(at top left, #ff7c3c, Tomato);
}
.no-border-background {
  background-color: #ff7d66;
  border: 2px solid #ffffff;
}

/* Buttons */
.btn-white-outline {
  border: 2px solid #ffffff;
}
.btn-danger {
  box-shadow: 0 0.35rem 0.8rem rgba(220, 53, 69, 0.2);
}
.btn:focus,
.form-control:focus,
.custom-select:focus,
a:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 104, 69, 0.25);
  outline: 0;
}

/* Search */
#jb-vacancy-search-form .form-group {
  margin-bottom: 0.75rem;
}
#jb-vacancy-search-form .form-control,
#jb-vacancy-search-form .btn {
  min-height: 44px;
}

/* Fonts */
.font-075 {
  font-size: 0.75rem;
}
.font-085 {
  font-size: 0.85rem;
}
.font-didact {
  font-family: 'Didact Gothic', sans-serif;
}

/* Vacancies */
.jb-vacancy-list,
.jb-category-card,
.jb-category-link {
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 0.4rem;
  box-shadow: 0 0.3rem 1rem rgba(17, 17, 17, 0.06);
  color: #222222;
}
.jb-vacancy-list {
  margin-bottom: 1rem;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.jb-vacancy-list:hover,
.jb-vacancy-list:focus-within,
.jb-category-card:hover,
.jb-category-card:focus,
.jb-category-link:hover,
.jb-category-link:focus {
  border-color: #ff7d66;
  box-shadow: 0 0.45rem 1.25rem rgba(17, 17, 17, 0.1);
  transform: translateY(-1px);
}
.jb-category-card:hover,
.jb-category-card:focus,
.jb-category-link:hover,
.jb-category-link:focus {
  color: #dc3545;
  text-decoration: none;
}
.jb-vacancy-list-last {
  border-bottom: 1px solid #e5e5e5;
}
.jb-vacancy-list-hot {
  background-color: #fff4cf;
  border-color: #ffd35b;
}
.jb-vacancy-title {
  line-height: 1.25;
  margin-bottom: 0.35rem;
}
.jb-vacancy-title a {
  color: #222222;
}
.jb-vacancy-title a:hover,
.jb-vacancy-title a:focus {
  color: #dc3545;
  text-decoration: none;
}
.jb-vacancy-company {
  margin-bottom: 0.65rem;
}
.jb-vacancy-description {
  color: #444444;
  line-height: 1.55;
  margin: 0.8rem 0 1rem;
}
.jb-vacancy-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.65rem;
}
.jb-badge {
  background-color: #f2f2f2;
  border-radius: 999px;
  color: #555555;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.2;
  padding: 0.3rem 0.55rem;
}
.jb-badge-accent {
  background-color: #ffe191;
  color: #5f4200;
}
.jb-salary {
  background-color: #eff8f0;
  border-radius: 0.35rem;
  color: #1f6f36;
  display: inline-block;
  font-weight: 700;
  margin-top: 0.15rem;
  padding: 0.35rem 0.55rem;
}
.jb-vacancy-phones {
  color: #dc3545;
  font-weight: 700;
}
.jb-vacancy-phones a {
  color: inherit;
}
.jb-vacancy-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: space-between;
  margin-top: 1rem;
}
.jb-primary-action {
  min-width: 9rem;
}
.jb-results-header {
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 0.4rem;
  margin-bottom: 1rem;
  padding: 0.85rem 1rem;
}
.jb-show-filter {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}
.jb-show-filter a {
  border: 1px solid #dddddd;
  border-radius: 999px;
  color: #444444;
  padding: 0.25rem 0.6rem;
}
.jb-show-filter a:hover,
.jb-show-filter a:focus,
.jb-show-filter a.active {
  background-color: #dc3545;
  border-color: #dc3545;
  color: #ffffff;
  text-decoration: none;
}
.jb-categories-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}
.jb-category-card {
  align-items: center;
  display: grid;
  gap: 0.35rem 0.75rem;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 5rem;
  padding: 1rem;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.jb-category-card .jb-category-icon-wrap {
  grid-row: 1 / 3;
}
.jb-category-name {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.25;
}
.jb-category-count {
  color: #666666;
  font-size: 0.85rem;
}
.jb-category-icon-wrap {
  align-items: center;
  background-color: #f8f9fa;
  border: 1px solid #eeeeee;
  border-radius: 0.35rem;
  color: #dc3545;
  display: inline-flex;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}
.jb-category-icon {
  fill: none;
  height: 1.35rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 1.35rem;
}
.jb-category-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.jb-category-link {
  align-items: center;
  display: grid;
  gap: 0.25rem 0.5rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.65rem 0.75rem;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.jb-category-link .jb-category-icon-wrap {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  height: 2.1rem;
  width: 2.1rem;
}
.jb-category-link .jb-category-icon {
  height: 1.15rem;
  width: 1.15rem;
}
.jb-category-label {
  grid-column: 2 / 3;
}
.jb-category-link .jb-category-count {
  grid-column: 2 / 3;
}
.jb-category-arrow {
  grid-column: 3 / 4;
  grid-row: 1 / 3;
}
.js-phones {
  display: none;
  margin-left: 0.2rem;
}
.js-phones-show {
  margin-left: 0.2rem;
}

/* Icons */
.icon-adjust {
  margin-top: -5px;
}
.margin-top-fix {
  margin-top: -4px;
}
.jb-btn-socnet-vack {
  background-color: #ff6845;
  margin: 0 0.5rem;
}
.jb-btn-socnet-vack:first-of-type {
  margin-left: 0;
}
.jb-btn-socnet-vack:last-of-type {
  margin-right: 0;
}
.jb-bots-vack {
  display: none;
  background-color: #ff6845;
}
.jb-main-page-ico {
  width: 75px;
  height: auto;
}

@media (max-width: 767.98px) {
  .jb-results-header {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 0.75rem;
  }
  .jb-show-filter {
    justify-content: flex-start;
  }
  .jb-vacancy-actions,
  .jb-vacancy-actions .btn {
    width: 100%;
  }
  .jb-vacancy-actions {
    align-items: stretch;
  }
}

/* Map */
#map_canvas {
  height: 800px;
  width: 100%;
}
.jb-map-vacancy-highlight {
  font-weight: bold;
}
