@font-face {
    font-family: 'Bebas Neue';
    src: url('../fonts/BebasNeue-Regular.woff2') format('woff2'),
        url('../fonts/BebasNeue-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --font_teko: 'Bebas Neue', sans-serif;
    /*--theme: #ed1c24;*/
}

.dark .container-preloader .loader-section { background-color: #121212; }
.dark .container-preloader .animation-preloader .txt-loading .characters { color: var(--white); }

.font-nunito-sans { font-family: "Nunito Sans", sans-serif !important; }

body { 

  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;

}

.font-bebasnue,
.footer-area .copyright-text .text, h1, h2, h3, p.big { font-family: 'Bebas Neue' !important; }
section { background-color:#121212; margin-top:-1px; }

span.red { color: #ed1c24 !important; }

.feature-area .section-title { margin-bottom: 30px; }
.feature-box { padding-bottom: 20px; }
.feature-area .features-wrapper-box { margin-top: 40px; }
.feature-box .title { font-size: 36px; }
.feature-box p.text { font-size: 19px; }
.feature-area .feature-box .thumb img { max-width: 90px; }

@media only screen and (max-width: 1500px) { 
     .feature-box .title { font-size: 30px; }
     .feature-area .feature-box .thumb img { max-width: 70px; }
     .feature-box p.text { font-size: 17px; }
}

@media only screen and (max-width: 767px) {
    .feature-area .section-title { font-size:70px; margin-bottom:60px; }
    .feature-area .features-wrapper-box { margin-top: 0px; }
} 

@media only screen and (max-width: 1199px) {
    .feature-box {
        padding: 0 30px 52px;
    }
}

p.text { color: var(--primary); font-weight:700 !important; font-size:21px; }
a:hover { color: #ed1c24 !important; }

.header-area.sticky button i { color: #ffffff; }
.header-area .social-links {
    display: flex;
    gap: 20px;
}
.header-area .social-links  a { color: var(--primary); }

.dark .section-title span { color: #ed1c24 !important; }

.section-spacing { padding-top: 60px; padding-bottom: 60px; }
.section-spacing-top { padding-top: 60px; }
.section-spacing-bottom { padding-bottom: 60px; }

h1 { line-height:0.9 !important; letter-spacing: 1px; }
.hero-area .section-title, h2, h3, { font-family: 'Bebas Neue' !important; line-height:0.9; letter-spacing: 2px; }
.hero-area .section-content .text { max-width: 500px; }

.about-area .section-title { text-indent: 0px; }
.about-area-content p { margin-bottom: 30px; line-height: 1.5; color: var(--primary); font-size: 19px; }

.section-title { font-size:80px; }

.cta-area { padding-top:0; }
.cta-area .title-wrapper { margin-bottom:40px; }
.cta-area .section-title { margin-bottom: 20px; max-width:100%; margin-top:42px; }
.cta-area .title-wrapper h3 { font-size: 60px; line-height: 1; margin-bottom:20px; }
.cta-area .title-wrapper p { color: var(--primary); }
/*.cta-area .section-header .wc-btn-underline { font-size: 25px; }*/
.cta-area .section-header .wc-btn-underline, .cta-area .btn-wrapper p { font-size:25px; color: var(--primary); text-transform:uppercase; }
@media only screen and (max-width: 767px) {
    .cta-area .section-title { font-size: 70px; }
     .cta-area .section-header .wc-btn-underline, .cta-area .btn-wrapper p { font-size:23px; }
    
}

.dark .footer-area { background-color: #121212 !important; }
.footer-area .copyright-area-inner { border: none; }



.contact-area .section-title {
     max-width: 850px;
     margin: 0 auto;
     text-align: center;
}

.contact-area .section-header {
     display: grid;
     gap: 20px 60px;
     grid-template-columns: 1fr;
     text-align: center;
}

@media only screen and (max-width: 991px) {
     .contact-area .section-header {
          grid-template-columns: 1fr
     }
}

.contact-area .section-header .text {
     max-width: 850px;
     text-align: center;
     margin: 0 auto;
}

.contact-area .contact-formwrap {
     display: grid;
     gap: 50px 30px;
     grid-template-columns: repeat(2, 1fr)
}

@media only screen and (max-width: 767px) {
     .contact-area .contact-formwrap {
          grid-template-columns: repeat(1, 1fr);
          gap: 10px 30px
     }
}

.contact-area .contact-formwrap .messages {
     grid-column: span 2
}

@media only screen and (max-width: 767px) {
     .contact-area .contact-formwrap .messages {
          grid-column: auto
     }
}

.contact-area .contact-formfield label {
     text-transform: uppercase;
     font-family: 'Bebas Neue', sans-serif;
     font-size: 20px;
     margin-bottom: 5px;
}

.contact-area .contact-formfield input, .contact-area .contact-formfield textarea {
     width: 100%;
     height: 40px;
     border: none;
     border-bottom: 1px solid var(--border);
     outline: none;
     background-color: rgba(0, 0, 0, 0);
     transition: all .5s;
     color: #FAF9F6;
}

.contact-area .contact-formfield input:focus, .contact-area .contact-formfield textarea:focus {
     border-color: var(--primary)
}
.contact-area .contact-formfield textarea { height: 100px; }

.contact-area .contact-formfield select { 
     width: 100%;
    height: 40px;
    border: none;
    border-bottom: 1px solid var(--border);
    outline: none;
    background-color: #121212;
    transition: all .5s;
    color: #FAF9F6;
}

.contact-area .contact-formfield option{ 
     background-color: #121212;
}


.contact-area .submit-btn {
     margin-top: 60px;
     margin: 60px auto 0;
     text-align: center;
}

@media only screen and (max-width: 767px) {
     .contact-area .submit-btn {
          margin-top: 40px
     }
     .wc-btn-primary {
         font-size: 14px;
         font-weight: 500;
         border-radius: 70px;
         padding: 12px 20px;
         background-color: var(--primary);
         color: var(--white);
         text-transform: uppercase;
     }
}

.contact-area .section-content {
     display: grid;
     gap: 40px 60px;
     grid-template-columns: 1fr;
     margin-top: 112px
}

@media only screen and (max-width: 1919px) {
     .contact-area .section-content {
          margin-top: 72px
     }
}

@media only screen and (max-width: 1399px) {
     .contact-area .section-content {
          grid-template-columns: 1fr;
     }
}

@media only screen and (max-width: 1199px) {
     .contact-area .section-content {
          grid-template-columns: 1fr;
          margin-top: 42px
     }
}

@media only screen and (max-width: 991px) {
     .contact-area .section-content {
          grid-template-columns: 1fr
     }
}

.contact-area .info-box .text {
     font-size: 26px;
     line-height: 1.25;
     font-weight: 500;
     color: var(--primary);
     max-width: 360px
}

.contact-area .contact-list {
     margin-top: 26px
}

.contact-area .contact-list li {
     font-size: 18px;
     line-height: 24px
}

.contact-area .contact-list li:not(:first-child) {
     margin-top: 15px
}

.contact-area .contact-list li a {
     text-decoration: underline;
     text-underline-offset: 2px
}

ul.info li {
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    display: inline-block;
    margin: 0 10px 30px;
}
@media only screen and (max-width: 1199px) {
    ul.info li { display: block; margin-bottom: 15px; }
    ul.info { margin-bottom:40px; }
}

@media only screen and (max-width: 768px) {
    ul.info li { font-size: 20px; }
}


.team-area .section-title {
    /*max-width: 595px*/
    text-align: center;
}

.team-area .section-header {
    display: grid;
    gap: 30px 60px;
    grid-template-columns: 1fr;
    /*align-items: flex-end;
    justify-content: space-between*/
}
.team-area .section-content { margin-top: 60px; }
.team-area .team { margin-bottom:30px; }
.team-area .team a.name { font-size: 23px; color: var(--white); font-weight: 700; line-height:1.3; }

@media only screen and (max-width: 991px) {
    .team-area .section-header {
        grid-template-columns: auto
    }
}
/*team-member a { 
  color: #fff;
  font-size: 25px;
  font-weight: 700;
}*/
.team-member a:hover { text-decoration: none; }
.team-member a img { max-width: 70%; display: block; margin: 0 auto 20px;  }
.team-member a span { display: block; font-size: 17px; font-weight: 400; }
.blob {
position: absolute;
left:20px; top: 20px;
width: 70%;
height: 75%;
padding: 40px;
background-color: #ff3333;
border-radius:69% 31% 70% 30% / 30% 70% 30% 70%;
animation: blob-animation 8s ease-in-out infinite;
z-index: 1;
}
@keyframes blob-animation {
   0%,100% {
     border-radius:69% 31% 70% 30% / 30% 70% 30% 70%;
     }
     30% {
       border-radius:42% 58% 15% 85% / 65% 83% 17% 35% ;
     }
     50% {
       border-radius:42% 58% 48% 52% / 77% 29% 71% 23% ;
     }
 }

 .offcanvas-3__area { background: var(--black); }

 @media only screen and (max-width: 767px) {
     .offcanvas-3__menu li a { line-height: 1.1; }
     .section-spacing { padding-top: 50px; padding-bottom: 50px; }
     .section-spacing-top { padding-top:50px; }
     .section-spacing-bottom { padding-bottom:50px; }
     .mobile-hide { display: none !important; }
     .mobile-show { display: inline-block !important; }
     .practice-images img { margin-bottom:20px; }
}

@media only screen and (max-width: 1100px) {
    .container {
        
        max-width: 100%;
    }
}

/* magnific popup ajax */
.cursor-pointer { cursor: pointer; }
.ajax-text-and-image {
  max-width:1000px; margin: 20px auto; background: #000; padding: 0;
  flex-direction: row;
}
.ajcol1 {
  width: 40%; float:left;
}
.ajcol1 img {
  width: 100%; height: auto;
}
.ajcol2 {
  width: 60%; float:left;
}
p.big{ font-size: 2.2rem; line-height: 1.2; }
p.name { font-size: 40px; margin-bottom: 0; line-height: 1; text-transform: uppercase; }
p.title { font-size: 20px; text-transform: uppercase; margin-bottom: 25px; }
p.bio { font-size: 18px; }
/* */

/* counter area */
.counter-area {
    border-bottom: 1px solid var(--border);
    padding-top: 81px;
    padding-bottom: 81px
}

@media only screen and (max-width: 1399px) {
    .counter-area {
        padding-top: 70px;
        padding-bottom: 70px
    }
}

@media only screen and (max-width: 1199px) {
    .counter-area {
        padding-top: 53px;
        padding-bottom: 53px
    }
}

.counter-area .counter-item-content {
    display: flex;
    gap: 20px;
    align-items: flex-end
}

@media only screen and (max-width: 1199px) {
    .counter-area .counter-item-content {
        gap: 10px
    }
}

.counter-area .counter-item {
    flex: 0 1 230px
}

@media only screen and (max-width: 1199px) {
    .counter-area .counter-item {
        flex: 0 1 150px
    }
}

@media only screen and (max-width: 991px) {
    .counter-area .counter-item {
        flex: 0 1 230px
    }
}

@media only screen and (max-width: 767px) {
    .counter-area .counter-item {
        flex: 0 1 150px
    }
    .ajax-text-and-image{
        flex-direction: column;
      }
      .ajcol1, .ajcol2 { 
        width: 100%;
        float:none;
      }
}

@media(max-width: 575px) {
    .counter-area .counter-item {
        flex: 0 1 auto
    }
}

.counter-area .counter-item .title {
    font-size: 190px;
    line-height: 1
}

@media only screen and (max-width: 1919px) {
    .counter-area .counter-item .title {
        font-size: 150px
    }
}

@media only screen and (max-width: 1399px) {
    .counter-area .counter-item .title {
        font-size: 120px
    }
}

@media only screen and (max-width: 1199px) {
    .counter-area .counter-item .title {
        font-size: 90px
    }
}

@media (max-width: 575px) {
    .counter-area .counter-item .title { font-size: 90px }
}

.counter-area .counter-item .text {
    font-size: 20px;
    font-weight: 500;
    font-family: var(--font_teko);
    line-height: 1;
    color: var(--primary);
    text-transform: uppercase;
    margin-bottom: 43px
}

@media only screen and (max-width: 1919px) {
    .counter-area .counter-item .text {
        margin-bottom: 33px
    }
}

@media only screen and (max-width: 1399px) {
    .counter-area .counter-item .text {
        margin-bottom: 25px;
        font-size: 18px
    }
}

@media only screen and (max-width: 1199px) {
    .counter-area .counter-item .text {
        margin-bottom: 19px
    }
}

@media only screen and (max-width: 575px) {
    .counter-area .counter-item .text {
        font-size: 22px
    }
}

.counter-area .counter-item .text span {
    display: block;
    line-height: 1;
    font-size: 50px;
    margin-bottom: -7px
}

@media only screen and (max-width: 1919px) {
    .counter-area .counter-item .text span {
        font-size: 40px
    }
}

@media only screen and (max-width: 1399px) {
    .counter-area .counter-item .text span {
        font-size: 30px;
        margin-bottom: -2px
    }
}

.counter-area .counter-items {
    display: flex;
    gap: 50px 30px;
    justify-content: space-between;
    flex-wrap: wrap
}

@media(max-width: 575px) {
    .counter-area .counter-items {
        gap: 30px 30px
    }
}
/* */

/* progress wrap back to top*/
.progress-wrap {
    position: fixed;
    right: 20px;
    bottom: 20px;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: all 200ms linear
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.progress-wrap::after {
    position: absolute;
    content: "";
    font: var(--fa-font-solid);
    text-align: center;
    line-height: 46px;
    font-size: 20px;
    color: var(--black);
    left: 0;
    top: 0;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    z-index: 1;
    transition: all 200ms linear;
    border-radius: 50px
}

.progress-wrap svg path {
    fill: var(--black-6)
}

.progress-wrap svg.progress-circle path {
    fill: var(--white);
    stroke: #ed1c24;
    stroke-width: 5;
    box-sizing: border-box;
    transition: all 200ms linear
}
/* */


/*.image-wrapper {
    max-height: 800px;
    min-height: 600px;
}
.image-wrapper img {
    width: 100%;
    height: 100%;
    max-height: 800px;
    min-height: 600px;
    object-fit: cover;
}
.image-wrapper .video-popup {
    position: relative;
    display: block;
}
.image-wrapper .video-popup .play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    color: #000;
    transition: background-color 0.3s ease, transform 0.3s ease;
}
.image-wrapper .video-popup:hover .play-btn {
    background-color: #fff;
    transform: translate(-50%, -50%) scale(1.1);
    color: #ed1c24;
}*/

@media (max-width: 575px) {
    .hero-area .section-title { font-size: 70px; }
}

.offcanvas-3__area { padding: 50px 30px 50px; }
.offcanvas-3__menu li a:hover { letter-spacing: 1.2; }