/* LedLightPro — мягкое обновление исходного шаблона.
   Основные CSS-классы шаблона сохранены. */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
@import url(animate.min.css);
@import url(normalize.css);
@import url(icomoon.css);
@import url(css/font-awesome.min.css);
@import url(meanmenu.css);
@import url(owl.carousel.min.css);
@import url(swiper.min.css);
@import url(slick.css);
@import url(jquery.fancybox.min.css);
@import url(jquery-ui.css);
@import url(nice-select.css);

:root {
    --lp-ink: #20242a;
    --lp-muted: #626b75;
    --lp-accent: #f4bd35;
    --lp-accent-dark: #d99b12;
    --lp-soft: #f7f8fa;
    --lp-border: #e5e8ec;
    --lp-white: #ffffff;
}

* { box-sizing: border-box !important; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body {
    color: var(--lp-muted);
    font-size: 15px;
    line-height: 1.75;
    font-weight: 400;
    overflow-x: hidden;
    font-family: 'Poppins', sans-serif;
    background: #fff;
}
a {
    color: var(--lp-ink);
    text-decoration: none !important;
    outline: none !important;
    transition: color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
h1, h2, h3, h4, h5, h6 {
    letter-spacing: -0.025em;
    font-weight: 600;
    position: relative;
    padding: 0 0 10px;
    line-height: 1.25;
    color: var(--lp-ink);
    margin: 0;
}
h1 { font-size: 24px; }
h2 { font-size: 22px; }
h3 { font-size: 18px; }
h4 { font-size: 16px; }
h5 { font-size: 14px; }
h6 { font-size: 13px; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: var(--lp-ink); text-decoration: none !important; }
button:focus, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(244,189,53,.45); outline-offset: 3px; }
ul, li, ol { margin: 0; padding: 0; list-style: none; }
p { margin: 16px 0; font-size: 15px; line-height: 1.8; }
button { border: 0; margin: 0; padding: 0; cursor: pointer; }
img { max-width: 100%; height: auto; }
.full { float: left; width: 100%; }
.layout_padding { padding-top: 86px; padding-bottom: 30px; }
.padding_0 { padding: 0; }
.paddind_bottom_0 { padding-bottom: 0 !important; }
.lead { font-size: 18px; line-height: 1.8; color: var(--lp-muted); margin: 0; }

/* Header */
.header_section {
    width: 100%;
    float: left;
    background-color: #232830;
    background-image: linear-gradient(115deg, rgba(26,31,38,.90), rgba(26,31,38,.52)), url(../images/banner-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.header_bg { background: #fff; border-bottom: 2px solid var(--lp-accent); }
.bg-light { background-color: #fff !important; }
.logo { width: 17%; float: left; }
.logo img { max-height: 58px; width: auto; }
.navbar-expand-lg .navbar-nav .nav-link {
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    color: #303740;
}
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show > .nav-link { color: var(--lp-accent-dark); }
.navbar {
    padding: 12px 24px;
    border-radius: 0 0 22px 22px;
    box-shadow: 0 10px 32px rgba(0,0,0,.08);
}

/* Hero */
.banner_section { width: 100%; float: left; padding: 145px 0 165px; }
.banner_taital_main { width: 100%; float: left; max-width: 900px; margin: 0 auto; }
.banner_kicker {
    color: var(--lp-accent);
    text-align: center;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .16em;
    font-weight: 600;
    margin: 0 0 18px;
}
.banner_taital {
    width: 100%;
    float: left;
    font-size: clamp(34px, 4.5vw, 58px);
    color: #fff;
    text-transform: none;
    font-weight: 700;
    text-align: center;
    line-height: 1.12;
    padding-bottom: 12px;
}
.banner_taital_1 {
    width: 100%;
    float: left;
    font-size: clamp(20px, 2.5vw, 30px);
    color: #f5c84f;
    text-transform: none;
    font-weight: 600;
    text-align: center;
}
.consectetur_text {
    width: min(760px, 100%);
    float: none;
    font-size: 16px;
    color: rgba(255,255,255,.88);
    margin: 16px auto 30px;
    padding-bottom: 12px;
    text-align: center;
}
.readmore_bt { width: 210px; margin: 0 auto; text-align: center; }
.readmore_bt a {
    width: 100%;
    display: block;
    font-size: 14px;
    color: var(--lp-ink);
    background-color: var(--lp-accent);
    padding: 13px 18px;
    text-align: center;
    text-transform: none;
    border-radius: 999px;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(244,189,53,.2);
}
.readmore_bt a:hover { color: #fff; background-color: #303740; transform: translateY(-2px); }
#main_slider a.carousel-control-prev, #main_slider a.carousel-control-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background-color: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.35);
    opacity: 1;
    font-size: 28px;
    color: #fff;
    border-radius: 50%;
}
#main_slider a.carousel-control-prev { left: -54px; right: auto; }
#main_slider a.carousel-control-next { right: -54px; left: auto; }
#main_slider .carousel-control-prev:hover, #main_slider .carousel-control-next:hover,
#main_slider .carousel-control-prev:focus, #main_slider .carousel-control-next:focus { background-color: var(--lp-accent); color: var(--lp-ink); }

/* About */
.about_section { width: 100%; float: left; background: #fff; }
.about_taital { width: 100%; float: left; font-size: clamp(30px, 3.5vw, 42px); color: var(--lp-ink); font-weight: 700; padding-top: 10px; }
.about_text { width: 100%; float: left; font-size: 15px; color: #535d67; margin: 10px 0; }
.about_img { border-radius: 18px; overflow: hidden; }
.read_bt_1 { width: 220px; float: left; margin-top: 18px; }
.read_bt_1 a { width: 100%; float: left; font-size: 14px; text-align: center; background-color: #303740; color: #fff; padding: 13px 16px; border-radius: 999px; font-weight: 600; }
.read_bt_1 a:hover { background-color: var(--lp-accent); color: var(--lp-ink); }

/* Services */
.services_section { width: 100%; float: left; background: var(--lp-soft); }
.services_taital { width: 100%; float: left; font-size: clamp(30px, 3.5vw, 42px); color: var(--lp-ink); text-align: center; font-weight: 700; }
.services_section_2 { width: 100%; float: left; margin-top: 28px; }
.services_box {
    width: 100%;
    float: left;
    height: 100%;
    border: 1px solid var(--lp-border);
    background: #fff;
    padding: 30px 26px;
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(31,40,50,.035);
}
.services_box:hover, .services_box.active { border-color: rgba(244,189,53,.9); box-shadow: 0 14px 34px rgba(31,40,50,.09); transform: translateY(-4px); }
.services_icon { width: 100%; text-align: center; min-height: 76px; display: flex; justify-content: center; align-items: center; }
.services_icon img { max-height: 65px; width: auto; }
.retina_text { width: 100%; font-size: 19px; color: var(--lp-ink); font-weight: 600; text-align: center; padding-top: 16px; min-height: 66px; }
.services_text { width: 100%; font-size: 14px; color: #626b75; margin: 0; line-height: 1.8; }

/* Gallery */
.gallery_section { width: 100%; float: left; }
.gallery_taital { width: 100%; float: left; text-align: center; font-size: clamp(30px, 3.5vw, 42px); color: var(--lp-ink); font-weight: 700; }
.gallery_text { width: 100%; float: left; font-size: 15px; text-align: center; margin: 0 auto; color: #626b75; max-width: 820px; }
.gallery_section_2 { width: 100%; float: left; padding-top: 20px; }
.image { display: block; width: 100%; height: auto; border-radius: 16px; }
.container_main { margin-top: 20px; position: relative; overflow: hidden; border-radius: 16px; background: #edf0f3; }
.container_main:hover .image { transform: scale(1.035); }
.overlay { position: absolute; inset: 0; opacity: 0; transition: .35s ease; background: rgba(28,33,40,.78); margin: 0 auto; border-radius: 16px; }
.container_main:hover .overlay { opacity: 1; }
.text { color: white; font-size: 20px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 86%; }
.interior_text { color: #fff; text-align: center; font-size: 18px; text-transform: none; font-weight: 600; }
.ipsum_text { color: rgba(255,255,255,.9); text-align: center; font-size: 14px; margin: 0 auto; width: 90%; }
.seemore_bt { width: 210px; margin: 0 auto; text-align: center; display: flex; }
.seemore_bt a { width: 100%; text-align: center; font-size: 14px; color: #fff; background-color: #303740; padding: 13px 18px; margin-top: 32px; border-radius: 999px; font-weight: 600; }
.seemore_bt a:hover { background-color: var(--lp-accent); color: var(--lp-ink); }

/* Process / carousel */
.blog_section { width: 100%; float: left; background: #fff; }
.blog_taital { width: 100%; float: left; font-size: clamp(26px, 3vw, 35px); color: var(--lp-ink); font-weight: 700; text-align: center; margin-top: 20px; }
.blog_text { width: 100%; float: left; font-size: 15px; color: #626b75; margin: 14px 0; text-align: center; }
.blog_section_2 { width: 100%; float: left; }
.blog_img { width: 100%; float: left; min-height: 320px; display: flex; align-items: center; justify-content: center; padding: 35px; border-radius: 18px; background-image: linear-gradient(135deg, rgba(32,36,42,.78), rgba(32,36,42,.35)), url(../images/blog-img.png); background-size: cover; background-position: center; }
.dummy_text { width: 100%; float: left; font-size: clamp(22px, 3vw, 30px); color: #fff; text-align: center; padding: 30px 0; line-height: 1.4; }
#custom_slider a.carousel-control-prev, #custom_slider a.carousel-control-next { position: absolute; top: auto; bottom: -30px; width: 44px; height: 44px; background-color: var(--lp-accent); color: var(--lp-ink); opacity: 1; font-size: 28px; margin: 0; border-radius: 50%; }
#custom_slider a.carousel-control-prev { left: calc(50% - 50px); right: auto; }
#custom_slider a.carousel-control-next { left: calc(50% + 6px); right: auto; }
#custom_slider .carousel-control-prev:hover, #custom_slider .carousel-control-next:hover,
#custom_slider .carousel-control-prev:focus, #custom_slider .carousel-control-next:focus { background-color: #303740; color: #fff; }

/* Why us */
.news_section { width: 100%; float: left; background: var(--lp-soft); }
.news_taital { width: 100%; float: left; font-size: clamp(30px, 3.5vw, 42px); color: var(--lp-ink); font-weight: 700; text-align: center; }
.news_section_2 { width: 100%; float: left; padding-top: 36px; }
.news_box { width: 100%; float: left; background: #fff; height: 100%; padding: 0 28px 28px; border-radius: 18px; border: 1px solid var(--lp-border); box-shadow: 0 8px 30px rgba(31,40,50,.045); overflow: hidden; }
.news_img { width: calc(100% + 56px); margin-left: -28px; }
.news_img img { width: 100%; display: block; }
.post_text { width: 100%; font-size: 13px; color: #858d96; padding-top: 20px; }
.news_taital_main { width: 100%; display: flex; }
.like_text { width: 100%; font-size: 14px; color: #a9a9a9; }
.padding_15 { padding-left: 5px; }
.artictecture_text { width: 100%; font-size: 22px; color: var(--lp-ink); font-weight: 600; padding-top: 12px; }
.long_text { width: 100%; font-size: 15px; color: #626b75; margin: 0; }
.news_box:hover { background-color: #fff; border-color: var(--lp-accent); transform: translateY(-3px); }
.news_box:hover .long_text, .news_box:hover .artictecture_text, .news_box:hover .like_text, .news_box:hover .post_text { color: inherit; }
.news_box.active { background-color: #fff; border-color: var(--lp-accent); }
.long_text.active { color: #626b75; }
.artictecture_text.active { color: var(--lp-ink); }
.like_text.active, .post_text.active { color: #858d96; }

/* Trust section */
.testimonial_section { width: 100%; float: left; padding-bottom: 100px; background: #fff; }
.testimonial_taital { width: 100%; float: left; font-size: clamp(28px, 3.5vw, 40px); color: var(--lp-ink); text-align: center; font-weight: 700; }
.testimonial_section_2 { width: 86%; margin: 0 auto; padding-top: 76px; }
.testimonial_box { width: 100%; float: left; background-color: #fff; height: 100%; min-height: 235px; border: 1px solid var(--lp-border); border-radius: 18px; padding: 0 24px 28px; position: relative; box-shadow: 0 8px 28px rgba(31,40,50,.04); }
.lorem_text { width: 100%; font-size: 14px; color: #626b75; margin: 0; text-align: center; }
.client_img { width: 100%; float: left; position: absolute; top: -42px; text-align: center; }
.client_img img { width: 66px; height: 66px; object-fit: cover; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.customer_text { width: 100%; float: left; font-size: 18px; color: var(--lp-ink); margin: 52px 0 12px; font-weight: 600; text-align: center; }
#my_slider a.carousel-control-prev, #my_slider a.carousel-control-next { position: absolute; top: 105%; width: 44px; height: 44px; background-color: var(--lp-accent); color: var(--lp-ink); opacity: 1; font-size: 28px; margin: 0 auto; border-radius: 50%; }
#my_slider a.carousel-control-prev { left: -50px; right: 0; }
#my_slider a.carousel-control-next { right: -50px; left: 0; }
#my_slider .carousel-control-prev:hover, #my_slider .carousel-control-next:hover,
#my_slider .carousel-control-prev:focus, #my_slider .carousel-control-next:focus { background-color: #303740; color: #fff; }

/* Contact */
.contact_section { width: 100%; float: left; padding-bottom: 90px; background: var(--lp-soft); }
.contact_taital { width: 100%; float: left; font-size: clamp(28px, 3.5vw, 40px); color: var(--lp-ink); font-weight: 700; text-align: center; }
.contact_section_2 { width: 100%; float: left; padding-top: 36px; }
.padding_left_0 { padding-left: 0; }
.mail_section_1 { width: 100%; float: left; padding-top: 10px; }
.mail_text, .massage-bt { width: 100%; float: left; font-size: 14px; color: #424b55; border: 1px solid #dce1e6; background-color: #fff; padding: 13px 15px; margin-top: 14px; border-radius: 9px; transition: border-color .2s, box-shadow .2s; }
.mail_text { height: 48px; }
.mail_text:focus, .massage-bt:focus { border-color: var(--lp-accent-dark); box-shadow: 0 0 0 3px rgba(244,189,53,.15); outline: 0; }
.massage-bt { min-height: 130px; resize: vertical; padding-top: 14px; }
.send_bt { width: 220px; margin: 18px 0 0; text-align: center; }
.send_bt button { width: 100%; text-align: center; font-size: 14px; color: var(--lp-ink); background-color: var(--lp-accent); padding: 13px 16px; text-transform: none; display: block; font-weight: 600; border-radius: 999px; }
.send_bt button:hover { color: #fff; background-color: #303740; }
.form_note { font-size: 12px; color: #858d96; margin: 12px 0; line-height: 1.6; }
.contact_info { margin-top: 10px; background: #fff; border: 1px solid var(--lp-border); border-radius: 18px; padding: 32px; height: calc(100% - 10px); }
.contact_info h3 { font-size: 27px; }
.contact_info ul { margin: 22px 0; }
.contact_info li { margin: 10px 0; color: #535d67; }
.contact_info li .fa { color: var(--lp-accent-dark); margin-right: 9px; }
.contact_note { font-size: 13px; color: #858d96; }

/* Footer */
.footer_section { width: 100%; float: left; background-color: #20242a; height: auto; padding: 60px 0 45px; }
.footer_section_2 { width: 100%; float: left; }
.useful_text { width: 100%; font-size: 17px; color: #fff; text-transform: none; font-weight: 600; letter-spacing: 0; }
.footer_text { width: 95%; float: left; font-size: 13px; color: #c3c9d0; margin: 0; padding-top: 8px; line-height: 1.8; }
.footer_menu { width: 100%; float: left; }
.footer_menu ul { margin: 0; padding: 0; }
.footer_menu li { font-size: 14px; color: #c3c9d0; padding: 3px 0; }
.footer_menu li a { color: #c3c9d0; }
.footer_menu li a:hover { color: var(--lp-accent); }
.footer_social_icon { width: 100%; float: left; }
.footer_social_icon ul { margin: 0; padding: 0; display: inline-block; }
.footer_social_icon li { float: left; }
.footer_social_icon li a { float: left; padding: 4px; background-color: #fff; color: #252525; border-radius: 50%; font-size: 18px; margin-right: 5px; width: 40px; text-align: center; }
.footer_social_icon li a:hover { background-color: var(--lp-accent); color: var(--lp-ink); }
.margin_right { float: right; width: 50%; text-align: right; }
.address_text { width: 100%; float: left; font-size: 18px; color: #969595; padding: 5px 200px 5px 0; border: 0; background-color: transparent; height: 40px; margin-top: 20px; border-bottom: 1px solid #656465; }
input.address_text::placeholder { color: #969595; }
.get_bt { width: 100px; float: left; font-size: 18px; color: var(--lp-accent); background-color: transparent; padding: 0; position: relative; left: -90px; top: 10px; }
.get_bt:hover { color: #fff; }
.form { display: flex; }

/* Copyright */
.copyright_section { width: 100%; float: left; background-color: #171a1f; height: auto; padding: 12px 0; }
.copyright_text { width: 100%; float: left; font-size: 12px; margin: 0; color: #aeb5bd; text-align: center; }
.copyright_text a { color: #aeb5bd; }
.copyright_text a:hover { color: var(--lp-accent); }
.margin_top90 { margin-top: 90px; }

@media (max-width: 1199px) {
    .logo { width: 15%; }
    .navbar-expand-lg .navbar-nav .nav-link { padding-left: 10px; padding-right: 10px; }
    #main_slider a.carousel-control-prev { left: -20px; }
    #main_slider a.carousel-control-next { right: -20px; }
    .services_box { padding: 25px 20px; }
}
@media (max-width: 991px) {
    .logo { width: 30%; }
    .navbar { padding: 10px 16px; }
    .navbar-collapse { padding: 12px 0; }
    .navbar-expand-lg .navbar-nav .nav-link { padding: 8px 4px; }
    .banner_section { padding: 100px 0 120px; }
    #main_slider a.carousel-control-prev { left: 0; top: auto; bottom: -70px; }
    #main_slider a.carousel-control-next { right: 0; top: auto; bottom: -70px; }
    .layout_padding { padding-top: 65px; padding-bottom: 25px; }
    .services_box { margin-bottom: 18px; }
    .testimonial_section_2 { width: 92%; }
}
@media (max-width: 767px) {
    body { font-size: 14px; }
    .logo { width: 55%; }
    .logo img { max-height: 48px; }
    .banner_section { padding: 78px 0 100px; }
    .banner_taital { font-size: 34px; }
    .banner_taital_1 { font-size: 21px; }
    .consectetur_text { font-size: 14px; padding: 0 8px 10px; }
    .about_img { margin-top: 28px; }
    .services_section_2 { margin-top: 16px; }
    .services_box { padding: 26px 22px; }
    .retina_text { min-height: 0; }
    .gallery_section_2 { padding-top: 8px; }
    .blog_img { min-height: 230px; margin-top: 20px; }
    .blog_taital, .blog_text { text-align: left; }
    #custom_slider a.carousel-control-prev, #custom_slider a.carousel-control-next { bottom: -18px; }
    .news_section_2 { padding-top: 25px; }
    .news_box { margin-bottom: 22px; }
    .testimonial_section_2 { width: 100%; padding-top: 65px; }
    .testimonial_box { margin-bottom: 58px; }
    .testimonial_section { padding-bottom: 75px; }
    #my_slider a.carousel-control-prev { left: -5px; }
    #my_slider a.carousel-control-next { right: -5px; }
    .mail_section_1 { width: 100%; }
    .contact_info { margin-top: 30px; padding: 25px; }
    .send_bt { width: 100%; }
    .footer_section { padding: 45px 0 30px; }
    .footer_section .col-lg-3 { margin-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
