/* ========================================================================== */
/* 1) BASE & RESET                                                            */
/* ========================================================================== */
/* Global reset */
* {
  margin: 0;
  padding: 0;
  outline: 0;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-width: 1px;
}
html {
  /* Rendering helpers */
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: none;
  /* Document metrics & base font */
  min-height: 100%;
  font: 400 14px/1.5714 "Open Sans", sans-serif;
}
@media (max-width: 1024px) {
  html {
    font-size: 14px;
  }
}
body {
  color: #000;
  min-height: 100vh;
}
a, a:hover, input, textarea, select {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: 0 none;
}
article, aside, details, figcaption, figure, footer, header, nav, section, summary, main {
  display: block;
}
:focus {
  outline: 0;
}
a img, fieldset, hr {
  border: 0;
}
mark {
  background: none;
}
hr {
  clear: both;
  overflow: hidden;
  display: block;
}
footer {
  position: sticky;
  top: 100%;
}
/* Lists */
ol {
  list-style: decimal inside;
  margin-bottom: 20px;
}
ol li {
  padding: 5px 0 5px 15px;
}
ul {
  list-style: none;
}
/* Quotes */
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}
/* Tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
@media (max-width: 768px) {
  table {
    overflow-y: scroll;
    display: block;
  }
  table tbody {
    display: block;
    width: 800px;
  }
}
td {
  vertical-align: top;
}
/* Images */
img {
  max-width: 100%;
  height: auto;
  display: block;
}
/* Remove default space below figures */
figure {
  margin-bottom: 0;
}
/* Alignment helpers for WP content */
.alignleft {
  float: left;
  margin: 0 30px 10px 0;
}
.alignright {
  float: right;
  margin: 0 0 10px 30px;
}
.aligncenter {
  margin: 0 auto 20px;
}
.alignnone {
  margin: 0 0 20px;
}
@media (max-width: 1024px) {
  .alignleft, .aligncenter, .alignright {
    float: none;
    margin: 0 auto 20px;
  }
}
/* ========================================================================== */
/* 2) SCROLLBARS (DESKTOP ONLY)                                               */
/* ========================================================================== */
@media screen and (min-width: 1201px) {
  ::-webkit-scrollbar {
    width: 7px;
    transition: all 0.3s ease;
  }
  ::-webkit-scrollbar-track {
    background-color: #eaeaea;
    transition: all 0.3s ease;
  }
  ::-webkit-scrollbar-thumb {
    background-color: #4a5eff;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: #0a4d97;
  }
  textarea::-webkit-scrollbar {
    width: 7px;
  }
  textarea::-webkit-scrollbar-thumb {
    background: #0a4d97;
    cursor: pointer;
  }
  html {
    scrollbar-color: #0a4d97 #eaeaea;
    scrollbar-width: thin;
  }
}
/* ========================================================================== */
/* 3) TYPOGRAPHY                                                              */
/* ========================================================================== */
p {
  margin-bottom: 20px;
  line-height: 1.5;
}
@media (max-width: 480px) {
  p {
    margin-bottom: 12px;
  }
}
a {
  text-decoration: none;
  transition: 0.3s;
}
a:hover {
  text-decoration: none;
}
h3 {
  font-size: 24px;
}
/* Responsive images CLS helper */
img:is([sizes="auto" i], [sizes^="auto," i]) {
  contain-intrinsic-size: 3000px 1500px;
}
/* ========================================================================== */
/* 4) FORMS & BUTTONS                                                         */
/* ========================================================================== */
/* Textual inputs */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], select, textarea {
  transition: 0.3s;
  border-radius: 0;
  -webkit-appearance: none;
}
/* Clickable controls */
input[type="submit"], input[type="button"], button, .button {
  transition: 0.3s;
  -webkit-appearance: none;
  cursor: pointer;
  border: none;
}
/* Unified form controls */
input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="search"], input[type="password"], textarea, select {
  height: 40px;
  width: 100%;
  border: 1px solid #000;
  background: #fff;
  padding: 0 20px;
  color: #000;
  font-family: "Open Sans";
  font-size: 14px;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="tel"]:focus, input[type="search"]:focus, input[type="password"]:focus, textarea:focus, select:focus {
  border-color: #0C59AF;
}
input[type="text"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder, input[type="url"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder, input[type="search"]::-webkit-input-placeholder, input[type="password"]::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
  color: #000;
  opacity: 1;
}
input[type="text"]:-moz-placeholder, input[type="email"]:-moz-placeholder, input[type="url"]:-moz-placeholder, input[type="tel"]:-moz-placeholder, input[type="search"]:-moz-placeholder, input[type="password"]:-moz-placeholder, textarea:-moz-placeholder, select:-moz-placeholder {
  color: #000;
  opacity: 1;
}
input[type="text"]::-moz-placeholder, input[type="email"]::-moz-placeholder, input[type="url"]::-moz-placeholder, input[type="tel"]::-moz-placeholder, input[type="search"]::-moz-placeholder, input[type="password"]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #000;
  opacity: 1;
}
input[type="text"]:-ms-input-placeholder, input[type="email"]:-ms-input-placeholder, input[type="url"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, input[type="search"]:-ms-input-placeholder, input[type="password"]:-ms-input-placeholder, textarea:-ms-input-placeholder, select:-ms-input-placeholder {
  color: #000;
  opacity: 1;
}
select option {
  color: #000;
  padding: 5px 10px;
}
textarea {
  resize: none;
  height: 100px;
  padding: 12px 20px;
  display: block;
}
/* Buttons */
.btn, .submit {
  display: inline-block;
  min-width: 220px;
  line-height: 1;
  padding: 15px 20px;
  font-size: 14px;
  background: #0C59AF;
  color: #fff;
  font-family: "Open Sans";
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.btn:hover, .submit:hover {
  background: #308bf1;
}
/* ========================================================================== */
/* 5) LAYOUT & WRAPPERS                                                       */
/* ========================================================================== */
.wrap {
  margin: 0 auto;
  width: 1140px;
  max-width: 94%;
  position: relative;
}
.text {
  max-width: 100%;
}
.text ul {
  margin-bottom: 20px;
}
.text ul li {
  position: relative;
  padding-left: 30px;
}
.text ul li:before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 0;
  width: 4px;
  height: 4px;
  background: #0C59AF;
  border-radius: 50%;
}
.text h1 a:not(.btn), .text h2 a:not(.btn), .text h3 a:not(.btn), .text h4 a:not(.btn), .text h5 a:not(.btn), .text h6 a:not(.btn), .text li a:not(.btn), .text p a:not(.btn) {
  color: #000;
  text-decoration: underline;
}
.text h1 a:not(.btn):hover, .text h2 a:not(.btn):hover, .text h3 a:not(.btn):hover, .text h4 a:not(.btn):hover, .text h5 a:not(.btn):hover, .text h6 a:not(.btn):hover, .text li a:not(.btn):hover, .text p a:not(.btn):hover {
  text-decoration: none;
  color: #308bf1;
}
/* Flex helpers */
.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.alc {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
/* Spacing utilities */
.space {
  padding: 100px 0;
}
@media (max-width: 1366px) {
  .space {
    padding: 60px 0;
  }
}
@media (max-width: 1024px) {
  .space {
    padding: 40px 0;
  }
}
@media (max-width: 480px) {
  .space {
    padding: 25px 0;
  }
}
.space-bottom {
  padding-bottom: 100px;
}
@media (max-width: 1366px) {
  .space-bottom {
    padding-bottom: 60px;
  }
}
@media (max-width: 1024px) {
  .space-bottom {
    padding-bottom: 40px;
  }
}
@media (max-width: 480px) {
  .space-bottom {
    padding-bottom: 25px;
  }
}
.outer-space {
  margin: 100px 0;
}
@media (max-width: 1366px) {
  .outer-space {
    margin: 60px 0;
  }
}
@media (max-width: 1024px) {
  .outer-space {
    margin: 40px 0;
  }
}
@media (max-width: 480px) {
  .outer-space {
    margin: 25px 0;
  }
}
.outer-space-bottom {
  margin-bottom: 100px;
}
@media (max-width: 1366px) {
  .outer-space-bottom {
    margin-bottom: 60px;
  }
}
@media (max-width: 1024px) {
  .outer-space-bottom {
    margin-bottom: 40px;
  }
}
@media (max-width: 480px) {
  .outer-space-bottom {
    margin-bottom: 25px;
  }
}
.last-no-spacing > *:last-child:not(.btn) {
  margin-bottom: 0;
  padding-bottom: 0;
}
/* Alignment text helpers */
.tac {
  text-align: center;
}
.tar {
  text-align: right;
}
/* Background image helper */
.cover {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
/* ========================================================================== */
/* 6) COMPONENTS                                                              */
/* ========================================================================== */
/* Contact Form 7 */
div.wpcf7 .wpcf7-form-control-wrap {
  display: block !important;
  margin-bottom: 20px;
  clear: both;
}
div.wpcf7 .wpcf7-not-valid-tip {
  position: absolute;
  inset: 0;
  height: 100%;
  line-height: 40px;
  padding: 0 23px;
  background: #fff;
  border: 1px solid #FF0000;
  text-align: left;
  cursor: pointer;
  font-family: "Open Sans";
}
div.wpcf7 .wpcf7-response-output {
  width: 100%;
  margin: 10px 0 0 0;
  padding: 5px 20px;
  background: #fff;
  color: #000;
  text-align: center;
  font-family: "Open Sans";
  font-size: 12px;
  line-height: 20px;
}
div.wpcf7 .btn-wrapper {
  display: inline-block;
  position: relative;
}
div.wpcf7 .wpcf7-spinner, div.wpcf7 .ajax-loader {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  margin: 0 10px;
}
/* Desktop main menu with hover dropdowns (non-mobile) */
@media (max-width: 1024px) {
  .mob-menu-actin-menu {
    display: none;
  }
}
.mob-menu-actin-menu > ul {
  font-size: 0;
}
.mob-menu-actin-menu > ul > li {
  display: inline-block;
}
.mob-menu-actin-menu > ul > li > a {
  display: inline-block;
  padding: 0 24px;
  line-height: 40px;
  font-weight: 700;
  font-size: 18px;
  color: #0C59AF;
  text-transform: uppercase;
}
.mob-menu-actin-menu > ul > li > a:hover {
  background: #0C59AF;
  color: #fff;
}
.mob-menu-actin-menu > ul > li.menu-item-has-children > .sub-menu {
  left: 0;
  top: 150%;
}
.mob-menu-actin-menu > ul > li.menu-item-has-children:hover > .sub-menu {
  top: 100%;
}
.mob-menu-actin-menu .menu-item-has-children {
  position: relative;
}
.mob-menu-actin-menu .menu-item-has-children .sub-menu {
  position: absolute;
  left: 100%;
  top: 100%;
  min-width: 100%;
  background: #0C59AF;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}
.mob-menu-actin-menu .menu-item-has-children .sub-menu li {
  display: block;
}
.mob-menu-actin-menu .menu-item-has-children .sub-menu li a {
  display: block;
  padding: 9px 10px 5px;
  white-space: nowrap;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
}
.mob-menu-actin-menu .menu-item-has-children .sub-menu li a:hover {
  background: #09417f;
}
.mob-menu-actin-menu .menu-item-has-children .sub-menu li:hover > a, .mob-menu-actin-menu .menu-item-has-children .sub-menu li.current-menu-item > a {
  background: #09417f;
}
.mob-menu-actin-menu .menu-item-has-children:hover > a {
  background: #0C59AF;
  color: #fff;
}
.mob-menu-actin-menu .menu-item-has-children:hover > .sub-menu {
  top: 0%;
  visibility: visible;
  opacity: 1;
  pointer-events: initial;
}
/* Search */
.search-box {
  position: relative;
  display: inline-block;
  font-size: 0;
  z-index: 0;
}
.search-box svg {
  height: 20px;
  color: inherit;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.search-box .search-form {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.search-box .search-form button {
  position: absolute;
  inset: 0 auto 0 0;
  width: 40px;
  background: transparent;
  color: #252525;
  font-size: 20px;
  transition: 0.3s;
}
.search-box .search-form button:hover {
  color: #308bf1;
}
.search-box .search-form.active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.search-box input[type="text"] {
  width: 270px;
  padding: 0 40px;
  font-size: 16px;
}
.search-box .search-btn {
  position: relative;
  z-index: 2;
  display: inline-block;
  width: 40px;
  height: 40px;
  background: transparent;
  font-size: 20px;
  color: #252525;
  cursor: pointer;
}
.search-box .search-btn::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "x";
  font-size: 24px;
  opacity: 0;
  color: #000;
  transition: 0.3s;
}
.search-box .search-btn svg {
  transition: 0.3s;
}
.search-box .search-btn:hover svg {
  color: #308bf1;
}
.search-box .search-btn.close svg {
  opacity: 0;
}
.search-box .search-btn.close::before {
  opacity: 1;
}
.search-box .search-btn.close:hover::before {
  color: #308bf1;
}
/* Social icons */
.share-icons, .social-icons {
  display: inline-block;
  text-align: center;
  font-size: 0;
  cursor: pointer;
}
.share-icons a, .social-icons a {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 5px;
  font-size: 20px;
  background: #0C59AF;
  border-radius: 5px;
  transition: 0.3s;
}
.share-icons a.facebook-icon:hover, .social-icons a.facebook-icon:hover {
  background: #3b5993;
}
.share-icons a.twitter-icon:hover, .social-icons a.twitter-icon:hover {
  background: #55acee;
}
.share-icons a.instagram-icon:hover, .social-icons a.instagram-icon:hover {
  background: #d6249f;
}
.share-icons a.linkedin-icon:hover, .social-icons a.linkedin-icon:hover {
  background: #0177b5;
}
.share-icons a.pinterest-icon:hover, .social-icons a.pinterest-icon:hover {
  background: #bd1e23;
}
.share-icons a.youtube-icon:hover, .social-icons a.youtube-icon:hover {
  background: #f80000;
}
.share-icons a.vimeo-icon:hover, .social-icons a.vimeo-icon:hover {
  background: #1ab7ea;
}
.share-icons a svg, .social-icons a svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  height: 20px;
  color: #fff;
}
/* Selectric */
.selectric {
  border: none;
  border-bottom: 2px solid #0C59AF;
  background: transparent;
  transition: 0.3s;
}
.selectric .label {
  height: 40px;
  line-height: 40px;
  margin: 0 40px 0 12px;
  color: #000;
  font-family: "Open Sans";
  font-size: 16px;
}
.selectric .button {
  height: 40px;
  width: 40px;
  line-height: 40px;
  background: transparent;
}
.selectric .button::after {
  display: none;
}
.selectric .button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 4px 0 4px;
  border-color: #0C59AF transparent transparent transparent;
  transition: 0.3s;
}
.selectric-hover .selectric, .selectric-focus .selectric {
  border-color: #052850;
}
.selectric-hover .selectric .button::before, .selectric-focus .selectric .button::before {
  color: #052850;
}
.selectric-items ul {
  margin: 0;
}
.selectric-items ul li {
  padding: 5px 12px;
  transition: 0.3s;
}
.selectric-items ul li::before {
  display: none;
}
.selectric-items ul li.highlighted {
  background: #0C59AF;
}
/* Pagination */
.pagination {
  margin-top: 40px;
}
@media (max-width: 480px) {
  .pagination {
    margin-top: 20px;
  }
}
.pagination .screen-reader-text {
  display: none;
}
.pagination .nav-links {
  text-align: center;
  font-size: 0;
}
.pagination .page-numbers {
  display: inline-block;
  margin: 0 10px;
  padding: 5px 10px;
  font-size: 14px;
  color: #fff;
  background: #0C59AF;
  border-radius: 4px;
}
.pagination svg {
  height: 12px;
}
.pagination .current {
  background: #308bf1;
}
.pagination a.page-numbers:hover {
  background: #308bf1;
}
.pagination .prev, .pagination .next {
  position: relative;
}
/* ========================================================================== */
/* 7) HEADER / MENU WRAPPER & STATES                                          */
/* ========================================================================== */
/* Overlay and info blocks */
#m_over {
  display: none;
  position: absolute;
  inset: 0;
}
#add_info {
  position: relative;
  background: #fff;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-10px);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}
#add_info .wrap {
  padding: 30px 0;
}
#menu-wrap {
  margin: 0 auto;
  width: 100%;
}
.mob-menu-act #menu-wrap, .menu-inited #menu-wrap {
  min-height: 100%;
}
.menu-inited #m_over {
  display: block;
  background: #1c1c1e;
}
.menu-inited #main-menu {
  background: #1c1c1e;
}
#main-menu > li > a {
  display: inline-block;
  padding: 26px 20px;
}
/* Desktop >= 1025px */
@media only screen and (min-width: 1025px) {
  #main-menu {
    display: flex;
    justify-content: space-between;
    height: 100%;
  }
  #main-menu .menu-item-has-children {
    position: relative;
  }
  #main-menu .menu-item-has-children > a {
    display: block;
    height: 100%;
  }
  #main-menu .menu-item-has-children > ul {
    position: absolute;
    left: 0;
    right: 0;
    top: 105%;
    overflow: hidden;
    min-width: 220px;
    max-height: 0;
    opacity: 0;
    transition: 0.4s;
  }
  #main-menu .menu-item-has-children > ul ul {
    top: 0;
    left: 105%;
    right: auto;
    overflow: hidden;
  }
  #menu-wrap {
    padding-top: 0 !important;
  }
  #menu-wrap #main-menu > .menu-item-has-children:hover > ul {
    opacity: 1;
    max-height: 100vh;
    top: 100%;
    overflow: visible;
  }
  #menu-wrap #main-menu ul .menu-item-has-children:hover > ul {
    left: 100%;
    opacity: 1;
    max-height: 100vh;
    overflow: visible;
  }
  #menu-wrap #main-menu a {
    display: block;
  }
}
/* Mobile / Tablet <= 1024px */
@media only screen and (max-width: 1024px) {
  /* Burger button */
  /* Mobile menu container */
  #main-menu > li {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  }
  #main-menu > li:first-child {
    transition-delay: 0.1s;
  }
  #main-menu > li:nth-child(2) {
    transition-delay: 0.15s;
  }
  #main-menu > li:nth-child(3) {
    transition-delay: 0.2s;
  }
  #main-menu > li:nth-child(4) {
    transition-delay: 0.25s;
  }
  #main-menu > li:nth-child(5) {
    transition-delay: 0.3s;
  }
  #main-menu > li:nth-child(6) {
    transition-delay: 0.35s;
  }
  #main-menu > li:nth-child(7) {
    transition-delay: 0.4s;
  }
  #main-menu > li:nth-child(8) {
    transition-delay: 0.45s;
  }
  #main-menu > li:nth-child(9) {
    transition-delay: 0.5s;
  }
  #main-menu > li:nth-child(10) {
    transition-delay: 0.55s;
  }
  #main-menu > li a {
    display: block;
    padding: 16px 2%;
    font-size: 18px;
    color: #fff;
  }
  #main-menu li {
    position: relative;
    display: block;
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #3b3e46;
  }
  #main-menu li a {
    margin: 0;
    text-decoration: none;
    text-transform: uppercase;
  }
  #main-menu li a:hover {
    background: #555;
  }
  #main-menu .menu-item-has-children > span {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    aspect-ratio: 1;
    background: rgba(0, 0, 0, 0.3);
    cursor: pointer;
  }
  #main-menu .menu-item-has-children > span:before, #main-menu .menu-item-has-children > span:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: #ccc;
    transform: translate(-50%, -50%);
  }
  #main-menu .menu-item-has-children > span:before {
    width: 15px;
    height: 3px;
  }
  #main-menu .menu-item-has-children > span:after {
    width: 3px;
    height: 15px;
  }
  #main-menu li li a {
    padding-left: 15px;
  }
  #main-menu li li li a {
    padding-left: 20px;
  }
  #main-menu li li li li a {
    padding-left: 25px;
  }
  #main-menu .sub-menu {
    overflow: hidden;
    max-height: 0;
    transform: scaleY(0);
    transform-origin: top;
    opacity: 0;
    transition: opacity 0.3s, transform 1s, max-height 0.3s;
  }
  #main-menu .sub-menu li {
    background: rgba(0, 0, 0, 0.15);
    border-top: 1px solid #3b3e46;
    border-bottom: 0;
  }
  #main-menu .menu-item-has-children > span.act + ul {
    max-height: 100vh;
    transform: scaleY(1);
    opacity: 1;
    transition: opacity 1s, transform 0.3s, max-height 0.5s;
  }
  #main-menu .menu-item-has-children > span.act:after {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  #main-menu {
    height: auto;
    padding: 0 3% 20px;
    flex-direction: column;
    justify-content: flex-start;
  }
  #main-menu:before {
    content: "";
    position: absolute;
    inset: 0;
    background: #1c1c1e;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.3s ease-in-out 0.1s;
  }
  header .logo {
    position: relative;
    z-index: 10;
  }
  html.mob-menu-act {
    overflow: hidden;
  }
  html.mob-menu-act body {
    overflow: hidden;
  }
  html.mob-menu-act #main-menu:before {
    transform: scaleY(1);
  }
  html.mob-menu-act #main-menu > li {
    position: relative;
    z-index: 1;
    opacity: 1;
    transform: translateY(0);
  }
  html.mob-menu-act #menu-wrap {
    overflow: auto;
    max-height: 100vh;
    max-height: 100svh;
  }
  html.mob-menu-act #add_info {
    max-height: 1000vh;
    transform: translateY(0);
    opacity: 1;
  }
  html.mob-menu-act #m:before {
    animation: m1 0.5s ease forwards 0.1s;
  }
  html.mob-menu-act #m:after {
    animation: m2 0.5s ease forwards 0.1s;
    opacity: 0;
  }
  html.menu-inited #add_info {
    transition-delay: 0s !important;
    max-height: 1000vh;
  }
  html.back-anim #add_info {
    opacity: 0 !important;
  }
  html.back-anim #main-menu li {
    transition-delay: 0s !important;
  }
  html.back-anim #main-menu {
    background: rgba(0, 0, 0, 0);
  }
  #m {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 10;
    width: 40px;
    height: 40px;
    overflow: hidden;
    transform: translateY(-50%);
    cursor: pointer;
    /* Base burger lines */
  }
  #m:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background: #4a5eff;
  }
  #m:after {
    content: "";
    position: absolute;
    top: 18px;
    right: 6px;
    width: 30px;
    height: 4px;
    background: #4a5eff;
    box-shadow: 0 -10px 0 0 #4a5eff, 0 10px 0 0 #4a5eff;
    transition: 0.3s ease;
    opacity: 1;
  }
  #menu-wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    max-height: 0;
    overflow: hidden;
    transition: 0.3s;
  }
}
/* State when closing animation is needed */
html.back-anim #m:after {
  transition: 0;
  box-shadow: none;
  opacity: 0;
}
/* ========================================================================== */
/* 8) KEYFRAMES                                                               */
/* ========================================================================== */
@keyframes m1 {
  0% {
    right: 0;
  }
  10% {
    opacity: 0;
  }
  30% {
    opacity: 0;
  }
  31%, 100% {
    opacity: 0;
    width: 30px;
    height: 4px;
    transform: rotate(-45deg) translate(100%, 0);
    transform-origin: 100% 100%;
    font-size: 0;
    right: 50%;
    top: 50%;
  }
  100% {
    opacity: 1;
    transform: rotate(-45deg) translate(17px, 2px);
    margin: -2.5px 3px 0 0;
    background: #fff;
  }
}
@keyframes m2 {
  0% {
    right: 0;
  }
  10% {
    opacity: 0;
  }
  30% {
    right: 100px;
    opacity: 0;
    transform: none;
  }
  31%, 100% {
    opacity: 0;
    width: 30px;
    height: 4px;
    transform: rotate(45deg) translate(100%, 0);
    transform-origin: 100% 100%;
    font-size: 0;
    right: 50%;
    top: 50%;
    box-shadow: none;
  }
  100% {
    opacity: 1;
    transform: rotate(45deg) translate(50%, 0);
    margin: -2.5px 3px 0 0;
    background: #fff;
  }
}
/* ========================================================================== */
/* 9) TEMPORARY STYLES (REMOVE LATER)                                         */
/* ========================================================================== */
/* Temporary visual aids */
.logo {
  width: 130px;
}
.logo svg {
  width: 100%;
  height: auto;
}
header {
  background: #ccc;
}
header > * {
  height: 75px;
  display: flex;
  align-items: center;
}
#menu-wrap {
  margin: 0 auto;
}
header {
  position: relative;
  z-index: 100;
}
header .logo:hover {
  opacity: 0.7;
}
.submit-wrap {
  display: inline-block;
  position: relative;
  padding-right: 50px;
}
.submit-wrap .wpcf7-spinner {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.submit-wrap.left-loader {
  padding-right: 0;
  padding-left: 50px;
}
.submit-wrap.left-loader .wpcf7-spinner {
  right: auto;
  left: 0;
}
