:root {--primary-color: #1856AC;--secondary-color: #E32726;--passive-color: #e5eeff;--light-color: #656f8a;--dark-color: #081F3F;--gap: 30px;}
::selection {background-color:#0A203F; color: #fff; }
body {font-family: 'Roboto', sans-serif;line-height: 1.4; color: #0A203F;} 
.ovh {overflow: hidden;} .ovh::after {content: ""; position: fixed;left: 0;top: 0;width: 100%;height: 100%;background: #0006;z-index: 2;}
html{overflow-y: overlay;}
img {max-width: 100%;}  h1 {font-size: 26px;}h2 {font-size: 24px;} h3 {font-size: 22px;} h4 {font-size: 20px;} h5 {font-size: 18px;} h6 {font-size: 17px;}
a {text-decoration: none;color: var(--dark-color);transition: 0.3s ease all;} a:hover {color: var(--secondary-color);transition: 0.3s ease all;}
.form-control:focus {box-shadow: unset;border-color: var(--primary-color);}
.btn {display: block;width: fit-content;border-radius: 5px;box-shadow: none !important; background: var(--primary-color);color: #fff; border: unset; padding: 8px 16px; font-weight: 500;transition: 0.3s ease all;}
.btn:hover { background: var(--secondary-color); color: #fff;}

.btn.btn-all {position: relative;padding: 10px 30px 10px 20px;background: transparent;color: var(--primary-color);border: 1px solid;}
.btn.btn-all i {position: absolute;right: 10px;top: 50%;line-height: 1;transform: translate(0, -50%);transition: 0.5s ease all;}
.btn.btn-all:hover {background: var(--passive-color);}
.btn.btn-all:hover i {right: -5px;}

.fancybox__thumbs .carousel__slide .fancybox__thumb::after { border-color: var(--primary-color);}

#back-to-top {display: none;}
#back-to-top.show {display: block;}
#sticky-contact {position: fixed;right: 15px;bottom: 15px;z-index: 3;list-style: none;padding: 0;margin: 0;}
#sticky-contact > li > a {display: block;background: var(--primary-color);color: #fff;font-size: 30px;line-height: 1;padding: 10px;border-radius: 10px;}
#sticky-contact > li:hover > a {background: var(--dark-color);}
#sticky-contact ul {padding: 0 0 10px 0;margin: 0; display: grid;gap: 10px;position: absolute;opacity: 0;visibility: hidden; bottom: 100%;list-style: none;transition: 0.3s ease all;}
#sticky-contact ul li{transform: translateY(10px);opacity: 0;transition: 0.3s ease all;}
#sticky-contact ul li a {display: block;position: relative; background: #646982;color: #fff;font-size: 30px;line-height: 1;padding: 10px;border-radius: 10px;}
#sticky-contact li:hover ul , #sticky-contact.show li ul{opacity: 1;visibility: visible;}
#sticky-contact li:hover ul li , #sticky-contact.show li ul li{transform: translateY(0px);opacity: 1;}
#sticky-contact ul li a::before {content: attr(data-text);opacity: 0; font-size: 16px;position: absolute;right:calc(100% + 5px);background: #646982;padding: 10px;top: 50%;transform: translate(0 , -50%);border-radius: 5px;white-space: nowrap;}
#sticky-contact ul li a::after {content: "";opacity: 0; position: absolute;left: -6px;top: 50%;border-color: transparent;border-style: solid;border-width: 8px 0 8px 5px;border-left-color: #646982;transform: translate(0, -50%);}
#sticky-contact ul li:hover a::before, #sticky-contact ul li:hover a::after {opacity: 1;}

.cookies {position: fixed;z-index: 9999;max-width: 370px;width: 100% !important;bottom: 10px;left: 10px;border: unset; box-shadow: 0 0 50px -20px rgba(0, 0, 0, 0.5);}
.cookies .card-body {padding: 10px;font-size: 0.95rem;}
.cookies .card-body .agree {display: block;margin-top: 10px;}
.wow {-webkit-animation-duration: 1s;animation-duration: 1s;-webkit-animation-duration: var(--animate-duration);animation-duration: var(--animate-duration);-webkit-animation-fill-mode: both;animation-fill-mode: both;}

.container-fluid {max-width: 1920px;}
/**/

header #menu .menu .lang{position: relative;font-size: 16px;}
header #menu .menu .lang a{display: block;padding: 22px 0 8px 0;}
header #menu .menu .lang::before {content: ""; position: absolute; left: -15px;top: calc(50% - 6px); width: 0; height: 12px; border-left: 1px solid #cacaca;}
header #menu .menu .lang ul{border-radius: 5px; opacity: 0;visibility: hidden; list-style: none;position: absolute;padding: 5px;right: 0;background: #fff;box-shadow: 0 5px 20px -15px var(--dark-color);transition: 0.3s ease all;}
header #menu .menu .lang ul li a {display: block;padding: 10px;color: var(--dark-color);white-space: nowrap;}
header #menu .menu .lang ul li:not(:last-child) a {border-bottom: 1px dashed #cacaca;}
header #menu .menu .lang ul li.selected a::after {content: "\f058";font-family: "Font Awesome 6 Free";font-weight: 400;color: var(--bs-green);}
header #menu .menu .lang:hover ul {opacity: 1;visibility: visible;}


header {position: fixed;top: 0;width: 100%; background: transparent; box-shadow: 0 0 50px -30px var(--dark-color);z-index: 4;transition: 0.3s ease all;}
header:is(.sticky, :hover) {background: #fff;}
header.bg-white { background: #fff;}
header ul {list-style: none; margin: 0;padding: 0;}
header > .container {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 0 60px;}
header .logo img{width: auto;height: 50px;transition: 0.3s ease all;filter: brightness(0) invert(1);}
header:is(.sticky, :hover, .bg-white) .logo img{filter: unset;}

#menu {flex: 1; display: flex;flex-wrap: wrap;align-items: center;}
#menu .mobilMenu {display: none;}
#menu > .menu {display: flex;flex-wrap: wrap;height: 70px; flex: 1; justify-content: flex-end;align-items: center; gap: 0 30px;margin: 0;padding: 0;transition: 0.3s ease all;}
#menu .menu > li {list-style: none;height: 100%;}
#menu .menu > li > a{display: flex;align-items: center; font-weight: 500;color: #fff;height: 100%;}
header:is(.sticky, :hover, .bg-white) #menu .menu li a{color: var(--light-color);}
header:is(.sticky, :hover, .bg-white) #menu .menu li:hover > a {color: var(--primary-color);}

#menu .menu .sub {position: absolute;overflow: hidden;opacity: 0;min-width: 200px;width: fit-content; max-width: 300px;border-top: 1px solid var(--passive-color);transform: translate(0 , -100%);z-index: -1;}
#menu .menu .sub::before{content: "";display: block; position: absolute;inset: 0;background: #fff;transform: translate(0, -100%); opacity: 0;visibility: hidden; z-index: -1;transition-delay: 0.1s;transition-duration: 0.3s;}
#menu .menu .sub > ul{opacity: 0;visibility: hidden;transform: translate(0 , 20px);visibility: hidden;opacity: 0;transition: 0s ease all;}
#menu .menu .sub > ul > li > a{display: block;padding: 10px 15px;}
#menu .menu .mega .sub {max-width: 100%;width: 100%;padding: 30px; left: 0;}
#menu .menu .mega .sub a {display: block;padding: 3px 0;}
#menu .menu .mega .sub .container {display: flex;gap: 15px;max-height: calc(100vh - 130px);overflow: hidden auto;scrollbar-width: none;}
#menu .menu .mega .sub .container::-webkit-scrollbar {display: none;}
#menu .menu .mega .sub .container > ul {display: grid;grid-template-columns: repeat(3 , 1fr);height: fit-content; gap: 30px 40px;opacity: 0;visibility: hidden;transform: translate(0 , 20px);visibility: hidden;opacity: 0;transition: 0s ease all;}
#menu .menu .mega .sub .container > ul li {width: fit-content;}
#menu .menu .mega .sub .sub-child > a {color: #081f3f;font-weight: 500;margin-bottom: 5px;}
#menu .menu .mega .sub .sub-child > ul > li > a {color: var(--dark-color);}
#menu .menu .mega .sub .sub-child > ul > li ul{padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--passive-color); font-size: 15px;}
#menu .menu .mega .sub .sub-child > ul > li:last-child ul{margin-bottom:0px;}
#menu .menu .mega .sub .sub-child > ul > li:hover > a {color: var(--primary-color);border: unset;}

#menu .menu .mega .sub .container > .image {opacity: 0;visibility: hidden;transform: translate(0 , 20px);height: fit-content; visibility: hidden;opacity: 0;transition: 0s ease all;}
#menu .menu .mega .sub .container > .image img{display: block; border-radius: 10px;width: 100%;height: 100%;object-fit: cover;aspect-ratio: 6 / 7;}

#menu .menu .acilir:hover .sub {opacity: 1;visibility: visible;transform: translate(0 , 0);}
#menu .menu .acilir:hover .sub ul{opacity: 1;visibility: visible;transform: translate(0 , 0);transition-delay: 0.3s;transition-duration: 0.6s;}
#menu .menu .acilir:hover .sub .image{opacity: 1;visibility: visible;transform: translate(0 , 0);transition-delay: 0.5s;transition-duration: 0.6s;}
#menu .menu .acilir:hover .sub::before{transform: translate(0, 0);opacity: 1;visibility: visible;}

#menu .menu > li.parts {height: fit-content;}
#menu .menu > li.parts > a {padding: 10px 15px;border-radius: 10px;background: var(--primary-color); color: #fff;gap: 5px;}
header:is(.sticky, :hover, .bg-white) #menu .menu li.parts > a {color: #fff;}

.homeSlider {opacity: 0;height: 100vh;transition-delay: 0.1s;transition-duration: 0.3s;}
.loaded .homeSlider {opacity: 1;}
.homeSlider:not(.slick-slider) .item:nth-child(n+2) { display: none;}
.homeSlider div{height: 100%;}
.homeSlider .item {position: relative;z-index: 1;border: unset; height: 100vh;}
.homeSlider .item img{width: 100%;height: 100%; object-fit: cover;}
.homeSlider .item video{width: 100%;height: 100%;object-fit: cover;}
.homeSlider .item .container{position: absolute;height: auto;left: 50%;top: 50%;transform: translate(-50% , -50%);z-index: 1;color: #fff;}

.homeSlider .item .text{max-width: 600px;}
.homeSlider .item div:is(.title, .desc){overflow: hidden;width: 100%;margin-bottom: 15px;}
.homeSlider .item .title span {display: block;font-size: 50px;font-weight: 500;transform: translate(0, 100%);}
.homeSlider .item .desc span {display: block;font-size: 24px;font-weight: 300;transform: translate(0, 100%);}
.homeSlider .item .btn {position: relative; opacity: 0;font-size: 18px; background: transparent;color: #fff;padding-right: 40px;border: 1px solid rgba(255, 255, 255, 0.5); transition: 0.3s linear all;}
.homeSlider .item .btn i {position: absolute;right: 10px;top: 50%;line-height: 1; transform: translate(0, -50%);transition: 0.5s ease all;}
.homeSlider .item .btn:hover {background: var(--secondary-color);border-color: var(--secondary-color); color: #fff;}
.homeSlider .item .btn:hover i {right: -5px;}
.homeSlider .slick-active .title span {transform: translate(0, 0);transition-delay: 0.7s;transition-duration: 0.6s;}
.homeSlider .slick-active .desc span {transform: translate(0, 0);transition-delay: 0.7s;transition-duration: 0.8s;}
.homeSlider .slick-active .btn {opacity: 1;}

.slick-arrow {position: absolute; display: block;z-index: 1; padding: 0;font-size: 0; color: var(--dark-color);border: unset;line-height: 1; background: transparent;transition: 0.3s ease all;}
.slick-arrow::before {display: block; font-size: 20px;font-family: bootstrap-icons !important;line-height: 1;}
.slick-prev::before {content: "\f284";}
.slick-next::before {content: "\f285";}

.slider .arrows {display: flex;justify-content: flex-end;}
.slider .arrow {display: grid;gap: 15px;position: absolute;top: 50%;transform: translate(0 , -50%);z-index: 1;}
.slider .arrow .slick-arrow{color: #fff;transform: rotate(90deg); position: relative;width: 44px;height: 44px;border-radius: 50%;border: 1px solid rgba(255, 255, 255, 0.5);transition: 0.3s linear all;}
.slider .arrow .slick-arrow:hover{transform: rotate(0deg);background: var(--secondary-color);border-color: var(--secondary-color);}
.slider .arrow .slick-arrow::before{font-size: 20px;}
.slider .slick-prev::before {content: "\f148";}
.slider .slick-next::before {content: "\f128";}

section {margin: 50px 0;}
section .head{max-width: 600px;margin: 0 auto 30px auto;text-align: center;}
section .head.text-left{text-align: left;margin: 0 0 30px 0;}
section .head .bigTitle {display: block; font-size: 28px;margin-bottom: 10px; font-weight: 600;color: var(--primary-color);transition-duration: .5s;}
section .head .desc{display: block;font-size: 18px; transition-duration: .8s;}

.homeAbout {padding:50px 0;margin: 0; background: linear-gradient(90deg, var(--light-color) 0%, var(--light-color) 25%, transparent 25%, transparent 100%);background-size: 0;background-repeat: no-repeat;}
.homeAbout.aos-animate {background-size: 100%;}
.homeAbout .container-fluid {display: flex;flex-wrap: wrap;gap: var(--gap);padding: 0;align-items: center;}
.homeAbout .right {flex: 4; padding:0 50px;}
.homeAbout .right .text{padding-right: 50px;transition-duration: 0.7s;}
.homeAbout .left{position: sticky;top: 80px; z-index: 1;flex: 3; height: fit-content;}
.homeAbout .left::before {content: "";position: absolute;right: 0;top: 0;width: 100%;height: 100%;z-index: 1; background: #fff; transition: 1s ease all;transition-delay: 0.5s;}
.homeAbout .left.aos-animate::before {width: 0%;} 
.homeAbout .left img {width: 100%;object-fit: cover;border-radius: 0 5px 5px 0;filter: grayscale(1);transition: 0.3s ease all;}
.homeAbout .left:hover img {filter: unset;}

.homeAbout .image .play{display: flex;align-items: center;justify-content: center;color: #fff;font-size: 30px;position: absolute;z-index: 3;width: 80px;height: 80px;top: 50%;right: 0;border-radius: 100%;background: var(--secondary-color); transform: translate(50% , -50%);}
.homeAbout .image .play::before{content: "";width:100%; height:100%;position: absolute;top: 0;left: 0;opacity: 0; animation: playAnimation 1.5s infinite linear ; border: 1px solid var(--secondary-color);border-radius: 100%;}
.homeAbout .image .play::after{content: "";width:100%; height:100%;position: absolute;top: 0;left: 0;opacity: 0; animation: playAnimation 2s infinite linear ; border: 1px solid var(--secondary-color);border-radius: 100%;}
.homeAbout .image .play:hover{background: var(--primary-color);transition: 0.3s ease all;}
.homeAbout .image .play:hover::before, .homeAbout .image .play:hover::after{border-color: var(--primary-color);}

@keyframes playAnimation { 0% {transform: scale(1);opacity: 1;}   100% {transform: scale(1.4);opacity: 0;}}

.news {display: grid;grid-template-columns: repeat(3 , 1fr); gap: 20px; }
.news .new{position: relative;overflow: hidden; box-shadow: 0 0 15px -12px var(--dark-color); display: block;height: fit-content; border-radius: 5px; background: #fff;transition: 0.3s ease all; }
.news .new .image {overflow: hidden;border-radius: 5px;position: relative;z-index: 0; }
.news .new .image::before {content: "";position: absolute;left: 0;right: 0;margin: auto;top: 0;width: 100%;height: 100%;background: var(--dark-color);z-index: 1;opacity: 0;transition: 0.3s ease all; }
.news .new span.b{display: flex;align-items: center;border-radius: 5px;max-width: calc(100% - 20px); font-weight: 600; color: var(--dark-color);background: #fff;position: absolute;left: 10px;bottom: 10px;padding:10px;transition: 0.3s ease all;}
.news .new span.b::before {content: "";position: absolute;left: 10px;bottom: 0px;width: 25%;height: 0;border-bottom: 3px solid #fff;transition: 0.5s ease all;transform: translateY(-15px);opacity: 0;}
.news .new .date {position: absolute;right: 0;top: 0;background: var(--dark-color);color: #fff;padding: 10px;}
.news .new .date span {display: block;line-height: 1;text-align: center;font-size: 14px;}
.news .new .date .d {font-weight: 600;font-size: 20px;}
.news .new img{width: 100%;height: 100%;object-fit: cover;transform: scale(1); aspect-ratio: 4 / 3; transition: 1s ease all;}
.news .new:hover {box-shadow: 0 10px 15px -15px var(--dark-color);transition: 0.3s ease all; }
.news .new:hover .image::before {opacity: 0.6;}
.news .new:hover img{transform: scale(1.05); transition: 1s ease all;}
.news .new:hover span.b{bottom: 25px; background: unset;color: #fff;}
.news .new:hover span.b::before {transition-delay: 0.5s;transform: translateY(0);opacity: 1;}

.homeNews .news .new:nth-child(1) {transition-duration: .4s;}
.homeNews .news .new:nth-child(2) {transition-duration: .6s;}
.homeNews .news .new:nth-child(3) {transition-duration: .8s;}

.homeFeatures{margin: 50px 0 0 0; position: relative;z-index: 2;background:linear-gradient(180deg, rgba(255,0,0,0) 0%, rgba(255,0,0,0) 70%, rgba(255,0,0,0) 70%, var(--passive-color) 100%); }
.homeFeatures .text {text-align: center;width: 100%;max-width: 800px;margin: 0 auto 50px auto;font-size: 18px;}
.homeFeatures .text .title {display: block;font-size: 30px;font-weight: 600;margin-bottom: 10px;animation: fadeInUp 0.6s;}
.homeFeatures .text p{margin: 0;animation: fadeInUp 0.6s;}

.homeFeatures .features {padding: 50px 100px; position: relative;}
.homeFeatures .feature:nth-child(2) {margin-top: 50px; }
.features {display: grid;grid-template-columns: repeat(3 , 1fr);gap: 60px;counter-reset: number;max-width:100%;margin: auto;}
.features .feature {padding: 40px;box-shadow: 0 0 30px -25px var(--dark-color); border-radius: 10px;cursor: pointer; height: fit-content;background: #fff; position: relative;z-index: 1; overflow: hidden;transition: 0.3s ease all;}
.features .feature::before {content: "";position: absolute;left: 0;top: 0;width: 30px;height: 100%;background: var(--primary-color);z-index: -1;transition: 0.3s ease all;}
.features .feature .title {display: block;margin-bottom: 5px;font-weight: 500;font-size: 18px;color: var(--dark-color);}
.features .feature p {margin: 0;font-size: 15px;}
.features .feature:hover {background: var(--primary-color);box-shadow: 0 15px 30px -20px var(--dark-color);}
.features .feature:hover :is(.title, p) {color: #fff;}

.homeSkills {padding: 100px;margin: 0;background: url('../img/skills.jpg') no-repeat;background-size: 100%;background-attachment: fixed;position: relative;z-index: 1;}
.homeSkills::before {content: "";position: absolute;inset: 0;background: var(--dark-color);z-index: -1;opacity: 0.9;}
.homeSkills .head {color: #fff;margin-bottom: 50px;}
.homeSkills .head .bigTitle {color: #fff;}

.skills {display: grid;grid-template-columns: repeat(3 , 1fr); gap: 30px;}
.skills .skill {overflow: hidden;position: relative;border-radius: 10px;}
.skills .skill .image::before {content: "";position: absolute;inset: 0; background: var(--dark-color);z-index: 1;opacity: 0;transition: 0.3s ease all;}
.skills .skill .text {display: flex;align-items: center;z-index: 1; border-radius: 5px;max-width: calc(100% - 20px);font-size: 18px; font-weight: 600;color: #0A203F;background: #fff;position: absolute;left: 10px;bottom: 10px;padding: 10px;transition: 0.3s ease all;}
.skills .skill img {width: 100%;height: 100%;aspect-ratio: 6 / 7;object-fit: cover;}
.skills .skill:hover .image::before {opacity: 0.5;}
.skills .skill:hover .text {background: transparent;color: #fff;}

.skills.slick-slider {display: block;}
.skills.slick-slider .skill{margin: 10px;}
.skills.slick-slider .slick-dots {display: flex;gap: 15px;justify-content: center;margin: 30px 0 0 0;padding: 0;list-style: none;}
.skills.slick-slider .slick-dots li button {font-size: 0;border: unset;display: block;padding: 0;width: 10px;height: 10px;border-radius: 5px;background: #fff;transition: 0.5s ease all;}
.skills.slick-slider .slick-dots li.slick-active button {width: 30px;background: var(--secondary-color);}


footer .top {background: var(--dark-color);color: #fff;text-align: center;padding: 20px 0;}
footer .top .b {display: block;font-size: 20px;margin-bottom: 10px;}
footer .top ul {display: flex;flex-wrap: wrap; gap: var(--gap); margin: 0;padding: 0;justify-content: center;}
footer .top ul a {display: block; color: #fff;}
footer .top ul a i {font-size: 14px;}

footer .bottom{padding: 0px; background:#fff; position: relative; z-index: 1;}
footer .bottom .container {position: relative;padding: 40px 60px;}
footer .footer-top {margin: 15px 0;}
footer .boxes {max-width: 1000px;margin: auto; display: flex;flex-wrap: wrap; gap: var(--gap);color: var(--dark-color);font-size: 15px;}
footer .boxes .box {flex: 1;}
footer .boxes .box span.b {display: block;font-weight: 600; font-size: 18px;margin-bottom: 20px;position: relative;width: max-content;color:#E32726;}
footer .boxes a{display: block;color: var(--dark-color);width: max-content;max-width: 100%;padding: 3px 0; transition: 0.3s ease all;}
footer .boxes a:hover{color: var(--primary-color); transition: 0.3s ease all;}
footer .boxes ul{margin: 0;padding: 0;list-style: none;}
footer .boxes .logo {flex: unset;}
footer .boxes .logo img{width: auto; height: 50px;}
footer .boxes .left .sos {display: flex;flex-wrap: wrap;font-size: 24px;gap: 20px;margin-top: 20px;}
footer .boxes .con {display: block;margin: 15px 0;}
footer .boxes .con li i{display: inline-block; width: 30px;padding-right: 10px;color: var(--primary-color);}
footer .boxes .con li:not(:last-child) {margin-bottom: 10px;}
footer .boxes .right li a{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}
footer .box.full {flex: unset;display: flex;flex-wrap: wrap; justify-content: space-between; width: 100%; border-top: 2px solid var(--passive-color);padding-top: 20px;}
footer .box.full ul {display: flex;font-size: 14px;gap: 0 40px;}


.pageTop {background: var(--passive-color);padding: 30px 0;margin-top: 70px;}
.pageTop h1 {margin: 0;color: var(--dark-color);font-weight: 400;}
.pageTop .container {display: flex;justify-content: center;}

#breadcrumb {display: none;}
#breadcrumb .breadcrumb {justify-content: center; margin: 0;font-size: 15px;}

.pageDetail .content {margin: 50px 0;display: flex; flex-wrap: wrap;gap: 20px 50px;}
.pageDetail .content .left {flex: 4;}
.pageDetail .content .right {flex: 7; color:#081f3f;}

.pageDetail:is(.humanRes, .contactPage) .content .left {flex: 6;}

.gallery {display: flex; flex-wrap:wrap; justify-content:center; gap: 20px;}
.gallery .image{display: block; box-shadow: 0 0 10px -8px var(--dark-color);transition: 0.3s ease all;flex: 1;min-width: 25%;max-width: 80%;}
.gallery .image a{display: block;width: 100%;height: 100%;overflow: hidden;border-radius: 5px; position: relative;z-index: 1;}
.gallery .image img {width: 100%;height: 100%;object-fit: contain;position: relative;}
.gallery .image a::before{content: "";position: absolute;z-index: 1;inset: 0; background: var(--dark-color);opacity: 0;transition: 0.3s ease all;}
.gallery .image a::after{content: "\f3df";display: block;font-size: 24px;color: #fff;opacity: 0;visibility: hidden; position: absolute;left: 50%;top: 50%;transform: translate(-50% , -50%);z-index: 1; font-family: bootstrap-icons !important;font-style: normal;font-weight: normal !important;transition-delay: 0.1s;transition-duration: 0.3s;}
.gallery .image:hover a::before{opacity: 0.4;}
.gallery .image:hover a::after{opacity: 1;visibility: visible;}


.gallery2{margin: 0 20px;}
.gallery2 .images .image:nth-child(1) {grid-column: 3 span; margin: 0 30px;}
.gallery2 .images .image:nth-child(1) > a > img {object-fit: contain;}
.gallery2 .images{display: grid;grid-template-columns: repeat(3 , 1fr); gap: 20px; margin: 0 250px;}
.gallery2 .image{display: block; box-shadow: 0 0 10px -8px var(--dark-color);transition: 0.3s ease all;}
.gallery2 .image a{display: block;width: 100%;height: 100%;overflow: hidden;border-radius: 5px; position: relative;z-index: 1;}
.gallery2 .image img {width: 100%;height: 100%;object-fit: contain;position: relative;}
.gallery2 .image a::before{content: "";position: absolute;z-index: 1;inset: 0; background: var(--dark-color);opacity: 0;transition: 0.3s ease all;}
.gallery2 .image a::after{content: "\f3df";display: block;font-size: 24px;color: #fff;opacity: 0;visibility: hidden; position: absolute;left: 50%;top: 50%;transform: translate(-50% , -50%);z-index: 1; font-family: bootstrap-icons !important;font-style: normal;font-weight: normal !important;transition-delay: 0.1s;transition-duration: 0.3s;}
.gallery2 .image:hover a::before{opacity: 0.4;}
.gallery2 .image:hover a::after{opacity: 1;visibility: visible;}
.gallery2 .imagey{display: block; box-shadow: 0 0 10px -8px var(--dark-color);transition: 0.3s ease all;}
.gallery2 .imagey a{display: block;width: 100%;height: 100%;overflow: hidden;border-radius: 5px; position: relative;z-index: 1;}
.gallery2 .imagey img {width: 100%;height: 100%;object-fit: contain;position: relative;}
.gallery2 .imagey a::before{content: "";position: absolute;z-index: 1;inset: 0; background: var(--dark-color);opacity: 0;transition: 0.3s ease all;}
.gallery2 .imagey a::after{content: "\f3df";display: block;font-size: 24px;color: #fff;opacity: 0;visibility: hidden; position: absolute;left: 50%;top: 50%;transform: translate(-50% , -50%);z-index: 1; font-family: bootstrap-icons !important;font-style: normal;font-weight: normal !important;transition-delay: 0.1s;transition-duration: 0.3s;}
.gallery2 .imagey:hover a::before{opacity: 0.4;}
.gallery2 .imagey:hover a::after{opacity: 1;visibility: visible;}

.jobForm {display: grid;grid-template-columns: repeat(2 , 1fr); gap: 15px;padding: 30px;max-width: 600px;margin: 0 0 0 auto;border-radius: 10px;box-shadow: 0 5px 30px -25px #0A203F;}
.jobForm .btn {grid-column: 2 span; width: fit-content;margin: auto;}
.jobForm .full {grid-column: 2 span;}
.jobForm textarea{min-height: 100px;}
.jobForm .jobTitle {position: relative; grid-column: 2 span;font-weight: 500; display: block;color: #E32726;text-align: center;font-size: 18px;padding-bottom: 5px;width: fit-content;margin:0 auto 15px auto;}
.jobForm .jobTitle::before {content: "";position: absolute;left: 0;right: 0;bottom: 0;width: 30px;height: 0;border-bottom: 4px solid var(--primary-color);opacity: 0.5; margin: auto;}
.jobForm hr {grid-column: 2 span;margin: 15px 0;display: block;background-color: var(--dark-color);}
.jobForm .file-input {position: relative;}
.jobForm .file-input label {position: absolute;left: 0;top: 0;display: flex;align-items: center;justify-content: center;padding: 5px; text-align: center; width: 100%;height: 100%;background-color: var(--passive-color);border-radius: 5px;}
.jobForm .file-input label .fileName {display: block;line-height: 1;font-size: 12px;}
.jobForm .file-input label i {font-size: 20px;}
.jobForm .file-input input {position: absolute;left: -99999px;}


.pageDetail.contactPage .right .contactForm{max-width: 500px;margin: 0 0 0 auto;position: sticky;top: 100px;}
.pageDetail.contactPage .right .contactForm form{padding: 30px;border-radius: 15px;box-shadow: 0 0 30px -20px var(--dark-color);background: #fff;display: flex;flex-wrap: wrap;gap: 15px;}
.pageDetail.contactPage .right .contactForm form > div{width: 100%;}
.pageDetail.contactPage .right .contactForm form > .btn{display: block;margin: auto;width: fit-content;}
.pageDetail.contactPage .map iframe{width: 100%;height: 350px;}

.pageDetail.contactPage .big {display: block; color: #E32726; margin: 0 0 15px 0; font-size: 24px; font-weight: 500;}

.contactPage  ul{margin: 0 0 40px 0;padding: 0;list-style: none;color: var(--dark-color);}
.contactPage .con {display: grid;gap: 5px;}
.contactPage .con li i{font-size: 20px;width: 30px; padding-right: 5px;color: var(--dark-color);}
.contactPage .sos {display: flex;flex-wrap: wrap;font-size: 24px;gap: 20px;}


.references {display: grid;grid-template-columns: repeat(7 , 1fr); gap: 10px;}
.references .reference {box-shadow: 0 0 20px -15px rgb(0,0,0,0.4);cursor: pointer; transition: 0.3s ease all;}
.references .reference img{filter: grayscale(1);transition: 0.3s ease all;}
.references .reference:hover{box-shadow: 0 10px 20px -15px var(--dark-color);}
.references .reference:hover img{filter: grayscale(0);}

#partsTable .dataTables_length {display: none;}
#partsTable .dataTables_info {font-size: 13px;position: absolute;z-index: -1;padding-top: 10px;}

#partsTable table {width: 100%;}
#partsTable table thead th {background: var(--primary-color);color: #fff;padding:15px 10px;}
#partsTable table thead th:last-child {text-align: center;}
#partsTable table td {vertical-align: middle;padding: 10px;color: var(--dark-color);}
#partsTable table td a {padding: 8px 25px 8px 15px;margin: auto;}
#partsTable table tr:nth-child(2n) td {background: var(--passive-color);}

#partsTable .dataTables_filter {margin-bottom: 20px;}
#partsTable .dataTables_filter input { border: unset; border-radius: 0;padding: 5px 10px;outline: none;border-bottom: 1px solid var(--passive-color);}
#partsTable .dataTables_filter label {color: var(--primary-color);font-weight: 500;}
#partsTable .dataTables_filter input:focus {border-color: var(--primary-color);}

#partsTable .dataTables_paginate {display: flex;gap: 2px;justify-content: flex-end;padding-top: 10px;}
#partsTable .dataTables_paginate span {display: flex;flex-wrap: wrap; gap: 2px;}
#partsTable .dataTables_paginate .paginate_button {display: block;background: transparent; color: var(--dark-color);border-radius: 3px; padding: 10px;line-height: 1;font-size: 14px;cursor: pointer;transition: 0.3s ease all;}
#partsTable .dataTables_paginate .paginate_button.disabled {opacity: 0.3;}
#partsTable .dataTables_paginate .paginate_button:hover {background: var(--passive-color);}
#partsTable .dataTables_paginate .paginate_button.current {background: var(--primary-color);color: #fff;}

#partsTable .dataTables_paginate .paginate_button.previous , #partsTable .dataTables_paginate .paginate_button.next {font-size: 0;} 
#partsTable .dataTables_paginate .paginate_button.previous::before {content: "\f284";font-family: bootstrap-icons !important;font-style: normal;font-size: 14px;}
#partsTable .dataTables_paginate .paginate_button.next::before {content: "\f285";font-family: bootstrap-icons !important;font-style: normal;font-size: 14px;}


.requestPage .request {width: 100%; max-width: 800px; margin: auto;}
.requestPage .request .head {margin-bottom: 30px;}
.requestPage .request .head h2 {color: var(--dark-color);}
.requestPage .request .head span {display: block;}
.requestPage .request .head small {color: var(--secondary-color);}
.requestPage .request form {display: grid;grid-template-columns: repeat(2 , 1fr); gap: 20px;padding: 30px;border-radius: 15px;box-shadow: 0 0 23px -20px var(--dark-color);}
.requestPage .request form .full{grid-column: 2 span;}


@media (max-width: 1366px) {
    .container {max-width: 1320px;padding: 0 15px;}
    header > .container {gap: 0 20px;}
    #menu > .menu {gap: 0 25px;}

    .homeSlider .item .title span {font-size: 40px; }
    .homeSlider .item .desc span {font-size: 20px;}


}

@media (max-width: 1200px) {
    :root{ --gap:20px; }
    body {font-size: 15px;}
    .btn.btn-all { padding: 8px 28px 8px 16px; }

    header .logo img {height: 40px; }
    #menu > .menu {gap: 0 15px;font-size: 15px;}

    .homeSlider .item .title span {font-size: 36px; }

    section .head {margin: 0 auto 15px auto;}
    section .head.text-left {margin: 0 0 15px 0; }
    section .head .bigTitle {font-size: 22px;margin-bottom: 5px;}

    .homeAbout .right .text {padding-right: 0; }
    
    .homeFeatures .features {padding: 30px;}
    .features {gap: 30px;}

    .homeSkills {padding: 60px 30px;}
    .references {grid-template-columns: repeat(6 , 1fr);}
    
}

@media (max-width: 992px) {
    h1 {font-size: 22px;} h2 {font-size: 21px;} h3 {font-size: 20px;} h4 {font-size: 19px;} h5{font-size: 18px;} h6 {font-size: 17px;}
    header {position: sticky;background: #fff;box-shadow: 0 0 30px -20px var(--dark-color); padding: 10px 0;}
    header .logo img {filter: unset;}

    #menu .mobilMenu {display: flex;justify-content: flex-end;align-items: center; position: relative;width: 24px;height: 18px;margin: 0 0 0 auto;}
    .mobilMenu span {display: block; width: 75%;height:0;color: var(--dark-color);border-bottom: 2px solid;transition: 0.3s ease all;-webkit-transition: 0.3s ease all;-moz-transition: 0.3s ease all;}
    .mobilMenu span::before {content: "";position: absolute;left: 0; top: 0;width: 100%;height: 0;border-bottom: 2px solid;transform: translateY(0);-webkit-transform: translateY(0);transition: 0.3s ease all;-webkit-transition: 0.3s ease all;-moz-transition: 0.3s ease all;}
    .mobilMenu span::after {content: "";position: absolute;left: 0; bottom: 0;width: 100%;height: 0;border-bottom: 2px solid;transform: translateY(0);-webkit-transform: translateY(0);transition: 0.3s ease all;-webkit-transition: 0.3s ease all;-moz-transition: 0.3s ease all;}
    
    #menu.show .mobilMenu span {width: 0; transition: 0.3s ease all;-webkit-transition: 0.3s ease all;-moz-transition: 0.3s ease all;}
    #menu.show .mobilMenu span::before {transform: rotate(-45deg) translate(-2px, 8px);-webkit-transform: rotate(-45deg) translate(-2px, 8px);}
    #menu.show .mobilMenu span::after {transform: rotate(45deg) translate(-2px, -8px);-webkit-transform: rotate(45deg) translate(-2px, -8px);}
    
    #menu.show .mobilMenu span {width: 0; transition: 0.3s ease all;-webkit-transition: 0.3s ease all;-moz-transition: 0.3s ease all;}
    #menu.show .mobilMenu span::before {transform: rotate(-45deg) translate(-2px, 8px);-webkit-transform: rotate(-45deg) translate(-2px, 8px);}
    #menu.show .mobilMenu span::after {transform: rotate(45deg) translate(-2px, -8px);-webkit-transform: rotate(45deg) translate(-2px, -8px);}
    #menu > .menu {font-size: 16px; position: fixed;left: 0; background: #fff;top: 60px; width: 100%;visibility: hidden; height: 0; display: block; padding:20px;overflow: auto;transition: 0.3s ease all; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; }
    #menu.show > ul {height: calc(100% - 60px);visibility: visible;transition: 0.3s ease all; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; }
    #menu > .menu > li {flex:unset;width: 100%;height: auto;transition-delay: unset !important;opacity: 1 !important;transform: unset !important;}
    #menu > .menu > li > a {position: relative; color: var(--dark-color);padding: 15px 0;margin: auto;}
    #menu .menu .tel {margin: 30px 0 15px 0;}
    #menu > .menu > li.right a {border: unset !important;}
    #menu .menu .con a {width: 100%;max-width: 250px;}

    #menu .menu > li.parts {width: fit-content;margin-top: 10px;}

    #menu > .menu > li:not(:last-child) > a { border-bottom: 1px solid var(--passive-color);}
    #menu > .menu > li a::before  {display: none;}
    #menu > .menu > li:hover > a {color: var(--secondary-color); }
    #menu .menu li.acilir .sub {display: none;width: 100%!important;padding: 10px 0; position: unset;background: unset; opacity: 1;visibility: visible;transform: unset;max-width: 100%;box-shadow: unset;transition: unset;-webkit-transition: unset;-moz-transition: unset;}
    #menu .menu li.acilir .sub ul {opacity: 1;visibility: visible;transform: unset;}
    #menu .menu li.acilir .sub li {transform: unset;opacity: 1;}
    #menu .menu li.acilir .sub li a{display: block;padding: 3px;}
    #menu .menu li.acilir.show .sub {display: block;}
    #menu .menu li.acilir:hover .sub { transition: unset; -webkit-transition: unset; -moz-transition: unset;}
    #menu .menu li.acilir > a::after {content: "\f229";font-family: bootstrap-icons !important;position: absolute;right: 0;color: var(--primary-color); font-size: 16px;transform: rotate(-90deg); margin-top: 5px;transition: 0.3s ease all;}
    #menu .menu li.acilir.show > a::after {transform: rotate(0deg);transition: 0.3s ease all;}
    #menu .menu li.acilir .sub li:hover > a {background: unset;color: var(--primary-color);}

    #menu .menu .mega .sub {padding: 0;}
    #menu .menu .mega .sub .container {display: block; max-height: unset;padding: 0;}      
    #menu .menu .mega .sub .container > ul {grid-template-columns: repeat(2 , 1fr);gap: 30px;transform: unset;visibility: visible;opacity: 1;width: 100%;}
    #menu .menu .mega .sub .container > .image {display: none;}
    #menu .menu .mega .sub .sub-child > ul > li ul {padding: 10px;margin-bottom: 10px;}
   
    .homeSlider {height: 70vh;}
    .homeSlider .item {height: 100%;}
    .slider .arrow {display: none;}
    .homeSlider .item .title span {font-size: 30px;}
    .homeSlider .item .desc span {font-size: 18px;}

    .homeAbout {padding: 30px 0; background: var(--passive-color);}
    .homeAbout .left {position: relative;top: 0;flex: unset;width: 100%;}
    .homeAbout .image .play {right: 30px;transform: translate(0 , -50%);width: 60px;height: 60px;}
    .homeAbout .right {padding: 0 30px;flex: unset;width: 100%;}

    .homeFeatures .features {padding: 30px 0;gap: 15px;}      
    .features .feature {padding: 20px;}
    .features .feature::before {width: 15px;}

    .homeSkills {padding: 60px 0px;background-size: cover;}
    .skills {gap: 15px;}      
    .skills .skill .text {font-size: 16px;}

    .news .new span.b {max-width: calc(100% - 10px);left: 5px; bottom: 5px;}
    footer .bottom .container { padding: 30px 15px;}
    
    .pageTop {margin: 0;}
    .pageDetail .content {margin: 30px 0;gap: 20px; }
    .gallery {grid-template-columns: repeat(2 , 1fr); gap: 10px; }

    .references {grid-template-columns: repeat(5 , 1fr);}

      
          
}

@media (max-width: 768px) {
    :root {--gap:15px;}
    body {margin-bottom: 50px;}
    .container {max-width: 100%;padding: 0 15px;}

    #sticky-contact {background: #fff;bottom: 0;left: 0;right: 0;padding: 5px;box-shadow: 0 -10px 20px -20px var(--dark-color);}
    #sticky-contact ul {position: relative;background: #fff;padding: 0;opacity: 1;visibility: visible;grid-template-columns: repeat(4 , 1fr);text-align: center;}
    #sticky-contact ul li {transform: translateY(0px);opacity: 1;position: relative;}
    #sticky-contact #back-to-top {order: 2;}
    #sticky-contact ul li:not(#back-to-top):after {content: "";position: absolute;right: -5px;top: 0;width: 0; height:100%;border-right: 1px solid var(--passive-color);}
    #sticky-contact > li > a {display: none;}
    #sticky-contact ul li a {display: grid; padding: 0;background: transparent;color: #646982;border-radius: 0;font-size: 26px;}
    #sticky-contact ul li a::before {opacity: 1;background: transparent;position: relative;transform: unset;top: unset;right: unset;padding: 3px 0 0 0;font-size: 11px;display: block;order: 2;border-radius: 0;}
    #sticky-contact ul li a::after {display: none;}

    .homeSlider {height: 50vh;}
    .homeSlider .item::before {opacity: 1; width: 100%;background: linear-gradient(0deg, var(--primary-color) 0%, rgba(0,0,0,0) 100%);}
    .homeSlider .item .title span { font-size: 24px;}
    .homeSlider .item .desc span {font-size: 16px;}

    .references {grid-template-columns: repeat(4 , 1fr);}
    .skills, .news {grid-template-columns: repeat(2 , 1fr);gap: 15px;}
    .homeSkills .skills {grid-template-columns: repeat(3 , 1fr);padding: 10px 0; overflow: auto;}
    .homeSkills .skills .skill {width: 250px;}

    .homeAbout .right {padding: 0 15px;}
    .pageDetail .content .left, .pageDetail .content .right ,.pageDetail:is(.humanRes, .contactPage) .content .left{flex: unset;width: 100%;}
    .gallery { grid-template-columns: repeat(1 , 1fr); }

    footer .top ul {gap: 5px 15px;  list-style: none; }

    #partsTable .dataTables_info {padding-top: 0;}
    #partsTable .dataTables_paginate {padding-top: 20px;}

    #partsTable table td:nth-last-child(2),#partsTable table th:nth-last-child(2) {display: none;}
    #partsTable table td a {padding: 5px 15px;white-space: nowrap;}
    #partsTable table td a i {display: none;}
   
}

@media (max-width: 576px) {
    .cookies {width: calc(100% - 20px);}
    #menu .menu .mega .sub .container > ul {gap: 10px;}

    .references {grid-template-columns: repeat(3 , 1fr);}
    .skills, .news {grid-template-columns: repeat(1 , 1fr);}
    .homeSkills .skills .skill {width: 220px;}
    .gallery { grid-template-columns: repeat(1 , 1fr); }

    .jobForm, .pageDetail.contactPage .right .contactForm form ,.requestPage .request form{ gap: 15px;padding: 20px; }

    .features {grid-template-columns: repeat(1 , 1fr); }
    .features .feature:nth-child(2) {margin: 0;}

    section .head .desc {font-size: 16px;}

    footer .boxes .box {flex: unset;width: 100%;}

}

