@keyframes bellphone {
  from {
    transform: rotate3d(0, 0, 1, 0deg);
  }
  20%, 32%, 44%, 56%, 68% {
    transform: rotate3d(0, 0, 1, 0deg);
  }
  23%, 35%, 47%, 59%, 71% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  26%, 38%, 50%, 62%, 74% {
    transform: rotate3d(0, 0, 1, 0deg);
  }
  29%, 41%, 53%, 65%, 77% {
    transform: rotate3d(0, 0, 1, -15deg);
  }
  80% {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.px-banner {
  position: relative;
  min-height: 660px;
  overflow: hidden;
  display: flex;
  align-items: center;
  transition: all 0.3s;
}
@media screen and (max-height: 1100px) {
  .px-banner {
    max-height: 100%;
    min-height: 440px;
  }
}
@media screen and (max-width: 768px) {
  .px-banner {
    min-height: 440px;
    flex-direction: column;
  }
}
@media screen and (max-width: 470px) {
  .px-banner {
    min-height: 240px;
  }
}
.px-banner .image, .px-banner .video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .px-banner .image, .px-banner .video {
    position: relative;
    top: inherit;
    left: inherit;
  }
}
.px-banner .image .bg-red, .px-banner .video .bg-red {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .px-banner .image .bg-red, .px-banner .video .bg-red {
    display: none;
  }
}
.px-banner .image .bg-red::before, .px-banner .video .bg-red::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 65%;
  background: rgba(157, 3, 27, 0.7);
}
.px-banner .image .bg-red::after, .px-banner .video .bg-red::after {
  content: "";
  position: absolute;
  top: 0;
  left: 65%;
  width: 0px;
  height: 0px;
  border-top: 660px solid rgba(157, 3, 27, 0.7);
  border-right: 100px solid transparent;
  border-bottom: 660px solid transparent;
  border-left: 0px solid transparent;
}
@media screen and (max-height: 1100px) {
  .px-banner .image .bg-red::after, .px-banner .video .bg-red::after {
    border-top: 460px solid rgba(157, 3, 27, 0.7);
    border-right: 60px solid transparent;
    border-bottom: 460px solid transparent;
  }
}
.px-banner .image img, .px-banner .image video, .px-banner .video img, .px-banner .video video {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  position: relative;
  z-index: 0;
}
.px-banner .text {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  padding: 40px 0;
  color: #fff;
  width: 94%;
  max-width: 1504px;
  font-size: 28px;
  line-height: 142%;
}
@media screen and (max-width: 768px) {
  .px-banner .text {
    background: #9D031B;
    width: 100%;
    padding: 6% 4%;
  }
}
.px-banner .text h1, .px-banner .text h2, .px-banner .text h3, .px-banner .text h4, .px-banner .text h5 {
  color: #fff;
  border-left: 1.5px solid #fff;
  padding-left: clamp(0.85rem, 0.7148648649rem + 0.8445945946vw, 1.35rem);
}
.px-banner .text p {
  margin-right: 20%;
}
@media screen and (max-width: 1024px) {
  .px-banner .text p {
    margin-right: 0;
  }
}
.px-banner .text .buttons {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 15px;
}
@media screen and (max-width: 768px) {
  .px-banner .text .buttons {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
}
.px-banner .text .btn {
  color: #9D031B;
  font-size: 18px;
  line-height: normal;
}
.px-banner .text .btn::after {
  background-color: #fff;
}
.px-banner .text .btn::before {
  filter: none;
}
.px-banner .text .btn:hover::after {
  background-color: #f2f2f2;
}
.px-banner .text-inner {
  padding-right: 40%;
}
@media screen and (max-width: 1024px) {
  .px-banner .text-inner {
    padding-right: 30%;
  }
}
@media screen and (max-width: 768px) {
  .px-banner .text-inner {
    padding-right: 0;
  }
}
.px-banner .contact {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
  background-color: #fff;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 45px;
  align-content: baseline;
  padding: 0 60px 0 40px;
  box-sizing: border-box;
  height: 132px;
  min-width: calc(35% - 20px);
  display: flex;
  align-items: center;
  transition: all 0.3s;
}
@media screen and (max-width: 1024px) {
  .px-banner .contact {
    padding: 0 30px 0 30px;
    height: 90px;
    gap: 25px;
  }
}
@media screen and (max-width: 768px) {
  .px-banner .contact {
    bottom: inherit;
    top: 0;
    min-width: inherit;
  }
}
.px-banner .contact.hidden_contact {
  display: none;
}
.px-banner .contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: -20px;
  width: 0px;
  height: 0px;
  border-top: 132px solid transparent;
  border-right: 20px solid #fff;
  border-bottom: 132px solid transparent;
  border-left: 0px solid transparent;
  transition: all 0.3s;
}
@media screen and (max-width: 1024px) {
  .px-banner .contact::before {
    border-top: 90px solid transparent;
    border-bottom: 0px solid transparent;
  }
}
.px-banner .contact p.info {
  margin-bottom: 0;
  color: #888888;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .px-banner .contact p.info {
    display: none;
  }
}
.px-banner .contact a {
  font-weight: 800;
  font-size: 18px;
  display: flex;
  align-items: center;
  gap: 18px;
}
@media screen and (max-width: 768px) {
  .px-banner .contact a {
    width: 27px;
    overflow: hidden;
  }
}
.px-banner .contact a img {
  max-width: 27px;
  transition: all 0.3s;
}
.px-banner .contact a:hover {
  color: #0D0002;
  text-decoration: none;
}
.px-banner .contact .phone a {
  color: #0D0002;
}
.px-banner .contact .phone a:hover {
  color: #9D031B;
}
.px-banner .contact .phone a:hover img {
  animation-name: bellphone;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
.px-banner .contact .mail a:hover img {
  transform: scale(1.1, 1.1);
}
.px-banner.large-height {
  min-height: 960px;
}
@media screen and (max-width: 768px) {
  .px-banner.large-height {
    min-height: 440px;
  }
}
@media screen and (max-width: 470px) {
  .px-banner.large-height {
    min-height: 240px;
  }
}
@media screen and (max-height: 1100px) {
  .px-banner.large-height {
    max-height: 100%;
    min-height: 640px;
  }
}
.px-banner.large-height .video .bg-red::after, .px-banner.large-height .image .bg-red::after {
  border-top: 960px solid rgba(157, 3, 27, 0.7);
  border-right: 150px solid transparent;
  border-bottom: 960px solid transparent;
}
@media screen and (max-height: 1100px) {
  .px-banner.large-height .video .bg-red::after, .px-banner.large-height .image .bg-red::after {
    border-top: 660px solid rgba(157, 3, 27, 0.7);
    border-right: 90px solid transparent;
    border-bottom: 660px solid transparent;
  }
}
