/*------------------------------------------------------------------
[Master Stylesheet] - [Table of contents]
1. FONTS SETUP
2. GENERAL
3. STICKY LEFT BUTTON
4. BACKGROUND IMAGE
5. LAYERS
6. HEADER
7. NAVBAR
8. LOGO 
9. NAVIGATION BURGER MENU
10. MENU
11. HOME PAGE
12. OUR SERVICES
    12.1. OUR SERVICES - 2 colums
    12.2. OUR SERVICES - 4 colums
    12.3. OUR SERVICES - RIGHT SIDEBAR
13. OUR CASES
    13.1. OUR CASES - 2 colums
    13.2. OUR CASES - 3 colums
    13.3. OUR CASES - 4 colums
    13.4. OUR CASES - LEFT SIDEBAR
14. OUR INDUSTRIES
15. ABOUT US
15. CONTACT US 
------------------------------------------------------------------- */
/*---------------------------------------------*/
/*--- 1. FONTS SETUP ---*/
/*---------------------------------------------*/
::selection {
  color: rgb(255, 255, 255);
  background: rgb(209, 88, 88);
}
h1 {
  font-size: 22px;
  font-weight: 700;
  color: rgb(37, 37, 37);
  line-height: 1.3;
  text-align: left;
  margin-top: 12px;
  margin-bottom: 20px;
}
.nw_post_title h1 {
  font-size: 36px;
  line-height: 1.3;
  margin-top: 15px;
  margin-bottom: 17px;
}
h2 {
  font-size: 35px;
  font-weight: 700;
  color: rgb(37, 37, 37);
  line-height: 45px;
  text-align: left;
}
h3 {
  font-size: 22px;
  font-weight: 600;
  color: rgb(37, 37, 37);
  line-height: 1;
  text-align: center;
}
p {
  font-size: 17px;
  font-weight: 300;
  color: rgb(130, 130, 130);
  line-height: 26px;
  margin-top: 20px;
  margin-bottom: 10px;
}
.nw_container .nw_subtitle > p {
  font-weight: 500;
}
.nw_member_job > p {
  font-size: 15px;
  font-weight: 500;
  text-align: center;
}
i {
  font-family: FontAwesome;
  font-size: 16px;
  font-style: normal;
}
a:hover,
a:hover > span {
  color: #af0a0a;
  text-decoration: none;
}
.nw_read_more a {
  font-size: 17px;
  background: transparent;
  padding: 0px 48px 3px 0;
  color: rgb(37, 37, 37);
  font-weight: 500;
}
.nw_read_more a:hover {
  transition: all 0.2s;
  color: #af0a0a;
}
.nw_read_more a:after {
  content: "\f178";
  font-family: FontAwesome;
  font-size: 17px;
  padding-left: 10px;
  padding-top: 2px;
}
ul {
  list-style-type: none;
  padding-left: 0px;
}
/*---------------------------------------------*/
/*--- 2. GENERAL ---*/
/*---------------------------------------------*/
.nw_body {
  font-family: Montserrat;
}
#scroll {
  position: fixed;
  right: 20px;
  bottom: 20px;
  cursor: pointer;
  width: 40px;
  height: 40px;
  background-color: #af0a0a;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.4);
  z-index: 998;
}
#scroll i {
  font-family: "FontAwesome";
  color: rgb(255, 255, 255);
  position: absolute;
  top: 32%;
  left: 42%;
  z-index: 999;
}
#scroll:hover {
  transition: all 0.2s;
  background-color: #d12b2b;
  opacity: 1;
}
/* preloader */
.northwest_preloader_holder {
  background: #af0a0a;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10003;
}
.northwest_preloader_holder .loaders {
  left: 50%;
  position: absolute;
  top: 50%;
}
/*---------------------------------------------*/
/*--- 3. STICKY LEFT BUTTON ---*/
/*---------------------------------------------*/
.nw_stickyleft_button {
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 999;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.4);
  border-radius: 0 5px 5px 0;
  display: none;
}
.nw_stickyleft_button:hover a {
  transition: all 0.2;
  background-color: #d12b2b;
  padding-left: 15px;
  padding-right: 15px;
}
.nw_stickyleft_button a {
  transition: all 0.3s ease;
  display: block;
  text-align: center;
  padding: 10px;
  color: white;
  background-color: #af0a0a;
}
.nw_stickyleft_button a:first-child {
  border-radius: 0 5px 0 0;
}
.nw_stickyleft_button a:last-child {
  border-radius: 0 0 5px 0;
}
.nw_stickyleft_button i {
  font-size: 18px;
}
/*---------------------------------------------*/
/*--- 4. BACKGROUND IMAGE ---*/
/*---------------------------------------------*/
.nw_image_cut {
  height: 657.5px;
}
.nw_background_image {
  height: 843px;
  width: 100%;
  position: relative;
  top: -23px;
  box-sizing: border-box;
  background-image: url(../images/Image\ 1.png);
  background-size: cover;
  filter: brightness(0.6);
}

.nw_background_style .nw_background_image {
  background-image: url("../images/Image 3.png");
  top: 0px;
  height: 270px;
}
.nw_background_style .nw_image_cut {
  height: auto;
}
/*---------------------------------------------*/
/*--- 5. LAYERS ---*/
/*---------------------------------------------*/
.nw_layers {
  width: 100%;
  height: auto;
  position: absolute;
  top: 300px;
  -webkit-animation: nw_a_layers 2s;
  -o-animation: nnw_a_layers2s;
  animation: nw_a_layers 2s;
}
.nw_background_style .nw_layers {
  width: auto;
}
.nw_title_line {
  height: 5px;
  width: 100px;
  background-color: #af0a0a;
  margin-top: 5px;
}
.nw_layer_1 {
  position: relative;
  font-size: 60px;
  line-height: 80px;
  font-weight: 700;
  color: rgb(255, 255, 255);
  text-align: center;
}
.nw_layer_2 {
  position: relative;
  top: 25px;
  font-size: 25px;
  line-height: 35px;
  font-weight: 400;
  color: rgb(255, 255, 255);
  text-align: center;
}
.nw_layer_3 {
  margin-top: 55px;
  text-align: center;
}
.nw_layer_3 a {
  position: relative;
  top: 25px;
  font-size: 17px;
  line-height: 17px;
  font-weight: 500;
  color: rgb(255, 255, 255);
  border-style: solid;
  border-width: 2px;
  padding: 16px 35px;
}
.nw_layer_3 a:after {
  content: "\f178";
  font-family: FontAwesome;
  font-size: 17px;
  padding-left: 10px;
}
.nw_layer_3 a:hover {
  transition: all 0.2s;
  color: #af0a0a;
  border-color: #af0a0a;
}

/* Hero Buttons */
.nw_hero_btn {
  display: inline-block;
  padding: 16px 35px;
  font-size: 17px;
  font-weight: 500;
  color: #ffffff;
  background-color: #af0a0a;
  border: 2px solid #af0a0a;
  border-radius: 5px;
  text-decoration: none;
  transition: all 0.3s ease;
  margin: 10px 15px;
}

.nw_hero_btn:hover {
  background-color: transparent;
  color: #af0a0a;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(175, 10, 10, 0.2);
}

.nw_hero_btn_secondary {
  display: inline-block;
  padding: 16px 35px;
  font-size: 17px;
  font-weight: 500;
  color: #af0a0a;
  background-color: transparent;
  border: 2px solid #af0a0a;
  border-radius: 5px;
  text-decoration: none;
  transition: all 0.3s ease;
  margin: 10px 15px;
}

.nw_hero_btn_secondary:hover {
  background-color: #af0a0a;
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(175, 10, 10, 0.2);
}

/* Hero Image */
.nw_hero_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.nw_hero_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.7);
}

/* Responsive adjustments for hero buttons */
@media (max-width: 767px) {
  .nw_hero_btn,
  .nw_hero_btn_secondary {
    padding: 14px 25px;
    font-size: 15px;
    margin: 8px 10px;
    display: block;
    text-align: center;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 480px) {
  .nw_hero_btn,
  .nw_hero_btn_secondary {
    padding: 12px 20px;
    font-size: 14px;
    margin: 6px 5px;
    width: 90%;
  }
}
.nw_layer_4 {
  align-self: center;
  color: #fff;
  font-size: 45px;
  font-weight: bold;
  line-height: 100%;
  margin: 0 auto;
  padding: 5px 0 15px;
  text-transform: capitalize;
  width: 100%;
}
.nw_layer_5 {
  color: #ffffff;
  font-size: 17px;
  font-weight: 400;
}
.nw_layer_5 a {
  color: #af0a0a;
  font-size: 17px;
  font-weight: 400;
}
/*---------------------------------------------*/
/*--- 6. HEADER ---*/
/*---------------------------------------------*/
.nw_header {
  height: 46px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 2;
}
.nw_top_header {
  height: 46px;
  line-height: 46px;
  color: transparent;
}
.nw_header_style .nw_top_header {
  background-color: #252525;
}
.nw_top_header a {
  color: rgb(255, 255, 255);
  font-size: 16px;
  font-weight: 400;
}
.nw_header_info_group span,
.nw_header_info_group ul {
  display: inline;
  overflow: hidden;
}
.nw_header_info_group .pull-left i,
.nw_header_info_group .pull-left span {
  margin-right: 10px;
}
.nw_header_info_group .pull-right i,
.nw_header_info_group .pull-right span {
  margin-left: 5px;
}
.nw_header_info_group .pull-left:first-child {
  padding-left: 2px;
}
.nw_text_center {
  text-align: center;
}
.nw_header_label {
  padding-left: 30px;
}
.nw_list_inline {
  padding-left: 0px;
}
.nw_list_inline li {
  display: inline-block;
}
.nw_header a:hover,
.nw_header a:hover > span {
  color: #af0a0a;
  text-decoration: none;
}
/*---------------------------------------------*/
/*--- 7. NAVBAR ---*/
/*---------------------------------------------*/
.nw_navbar_custom {
  height: 106px;
  margin-bottom: 0;
  margin: auto;
  width: 90vw;
  background-color: transparent;
  background-image: none;
  z-index: 200;
  border: none;
  box-shadow: none;
}
.nw_navbar_custom .nw_navbar_custom_cont .nw_navbar_custom_row {
  background-color: rgb(255, 255, 255);
}
.nw_header_style .navbar.navbar-default.nw_navbar_custom {
  background-color: #ffffff !important;
  height: auto;
}
.nw_header_style .navbar.navbar-default.nw_navbar_custom > div {
  background-color: transparent;
  padding: 1px 0;
}
.nw_navbar_custom .nw_navbar_custom_cont {
  background-color: rgb(234, 234, 234);
  padding: 10px 0;
  margin: 0px 15px;
}
.navbar.navbar-default.nw_navbar_custom {
  background: none !important;
  box-shadow: none;
  border: none;
}
/*---------------------------------------------*/
/*--- 8. LOGO ---*/
/*---------------------------------------------*/
.nw_navbar_custom .nw_logo {
  height: 45px;
  margin: auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0;
}
.nw_navbar_header {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.nw_logo a {
  font-weight: 700;
  display: flex;
  align-items: center;
  margin-top: 40px !important;
  color: #d12b2b;
}

.nw_logo img {
  height: 45px;
  width: auto;
  vertical-align: middle;
}

.nw_header_style .nw_navbar_custom .nw_logo {
  padding-left: 0px;
}
/*---------------------------------------------*/
/*--- 9. NAVIGATION BURGER MENU ---*/
/*---------------------------------------------*/
.nw_navbar_button {
  border: 1px solid rgb(0, 0, 0);
}
.nw_navbar_button span {
  color: rgb(0, 0, 0);
}
/*---------------------------------------------*/
/*--- 10. MENU ---*/
/*---------------------------------------------*/
/* #navbar {
  width: 100%;
} */
.nw_navbar_custom .navbar-nav .nw_submenu a {
  padding: 10px 13px 10px 13px;
  float: left;
  color: rgb(37, 37, 37);
  font-weight: 600;
  font-size: 14px;
  line-height: 66px;
  position: relative;
}
/* .nw_navbar_custom .navbar-nav .nw_submenu .nw_purchase_now {
  padding-left: 18px;
  padding-right: 33px;
} */
/* .nw_navbar_custom .navbar-nav .nw_submenu .nw_free_consulting {
  font-weight: 600;
  line-height: 20px;
  color: rgb(255, 255, 255);
  background-color: #af0a0a;
  padding: 33px 33px;
} */
.nw_navbar_custom .navbar-nav .nw_submenu .arrow_after:after {
  content: "\f107";
  font-family: FontAwesome;
  font-size: 14px;
  color: rgb(37, 37, 37);
  position: absolute;
  right: 0;
  top: 11px;
}
.nw_navbar_custom .navbar-nav .nw_submenu .arrow_after.active::after {
  color: #af0a0a;
}
.nw_navbar_custom .navbar-nav .nw_submenu .arrow_after_active:after {
  content: "\f107";
  font-family: FontAwesome;
  font-size: 14px;
  color: #af0a0a;
  position: absolute;
  right: 0;
}
.nw_navbar_button.navbar-toggle {
  margin-top: 25px;
  margin-right: 0px;
}
/*---------------------------------------------*/
/*--- 11. HOME PAGE ---*/
/*---------------------------------------------*/
/*CONTENT*/
.content > div {
  height: auto;
}
/*PAGE CONTENT*/
.nw_post {
  margin-bottom: 65px;
}
.nw_post_row {
  margin-top: 50px;
}
.nw_icon img {
  width: 60px;
  filter: saturate(0%) grayscale(100%) brightness(69%) contrast(100%);
}
/*TITLE*/
.nw_title_line {
  height: 5px;
  width: 100px;
  background-color: #af0a0a;
  margin-top: 5px;
}
/*POST TYPE 1*/
/*SERVICES*/
.nw_services_row {
  padding: 20px 15px 40px 15px;
  margin-bottom: 30px;
}
.nw_page_services .nw_services_row {
  padding: 20px 15px 15px 15px;
}
.nw_page_services {
  margin-bottom: 75px;
}
.nw_services_container {
  transition: all 250ms ease-in-out;
  background-color: #f5f5f5;
  padding: 10px 30px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  min-height: 230px;
  position: relative;
  border: 1px solid #f0f0f0;
  overflow: hidden;
}

.nw_service_image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 150px;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
  z-index: 1;
}

.nw_service_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.nw_services_container:hover .nw_service_image img {
  transform: scale(1.1);
}

.nw_services_content {
  position: relative;
  z-index: 2;
  padding-top: 120px;
  text-align: center;
}

/* Add overlay for better text readability */
.nw_service_image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(245,245,245,0.9) 100%);
  z-index: 1;
}

/* Ensure content is above overlay */
.nw_services_content .nw_icon,
.nw_services_content .nw_title,
.nw_services_content .nw_art {
  position: relative;
  z-index: 3;
}
.nw_services_content .nw_icon {
  background-color: #d12b2b;
  height: 60px;
  width: 60px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 25px;
}
.nw_services_content .nw_icon img {
  width: 38px;
  height: 38px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.nw_services_content .nw_title h2 {
  font-size: 18px;
  font-weight: 600;
  color: #2c3e50;
  line-height: 1.4;
  margin: 0;
  padding-right: 60px;
}
.nw_services_content .nw_art {
  position: absolute;
  bottom: -120px;
  right: -100px;
  opacity: 0.6;
}
.nw_services_content .nw_art img {
  width: 300px;
  object-fit: contain;
}

/*SERVICES ANIMATIONS*/
.nw_services_container:hover {
  transition: all 300ms ease;
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
  border-color: #e0e0e0;
}
.nw_services_container:hover .nw_icon {
  transition: all 300ms ease;
  background-color: #b91c1c;
  transform: scale(1.05);
}
.nw_services_container:hover .nw_art {
  transition: all 300ms ease;
  /* opacity: 0.15; */
  /* transform: scale(1.1); */
}

/* Responsive adjustments for service images */
@media (max-width: 767px) {
  .nw_service_image {
    height: 120px;
  }
  
  .nw_services_content {
    padding-top: 90px;
  }
  
  .nw_services_container {
    padding: 30px 20px;
    min-height: 280px;
  }
  
  .nw_services_content .nw_title h2 {
    font-size: 16px;
    padding-right: 20px;
  }
}

@media (max-width: 480px) {
  .nw_service_image {
    height: 100px;
  }
  
  .nw_services_content {
    padding-top: 70px;
  }
  
  .nw_services_container {
    padding: 25px 15px;
    min-height: 250px;
  }
  
  .nw_services_content .nw_title h2 {
    font-size: 15px;
    padding-right: 10px;
  }
}
/*ABOUT US SECTION*/
.nw_about_section {
  padding: 80px 0;
  background-color: #fff;
}
.nw_about_left {
  padding-right: 40px;
}
.nw_about_header .nw_subtitle p {
  font-size: 14px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 35px;
}
.nw_about_header .nw_title h1 {
  font-size: 36px;
  font-weight: 700;
  line-height: 0.4;
  margin-bottom: 30px;
}
#nw_red_text {
  color: #d12b2b;
}
#nw_gray_text {
  color: #6c757d;
}
.nw_about_description p {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 20px;
}

.nw_client_list {
  margin: 25px 0;
  padding: 0;
  list-style: none;
}

.nw_client_list li {
  font-size: 15px;
  line-height: 1.8;
  color: #666;
  margin-bottom: 8px;
  padding-left: 0;
  font-weight: 500;
}

.nw_client_list li:before {
  content: none;
}

.nw_about_description p:last-child {
  margin-bottom: 40px;
}
.nw_divider {
  height: 5px;
  width: 100px !important;
  background-color: #d12b2b;
  margin-top: 5px;
}
.nw_vision_mission {
  max-width: 1920px;
  margin: auto;
}
.nw_vision_mission img {
  width: 100%;
}
.nw_vision_container,
.nw_mission_container {
  background: #ffffff;
  border-radius: 15px;
  padding: 25px;
  margin-bottom: 20px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  border-left: 4px solid #d12b2b;
}
.nw_vm_header h3 {
  font-size: 18px;
  font-weight: 600;
  color: #d12b2b;
  margin-bottom: 15px;
}
.nw_vm_content p {
  font-size: 14px;
  line-height: 1.5;
  color: #555;
  margin: 0;
}
.nw_vm_content ul {
  margin: 0;
  padding-left: 20px;
}
.nw_vm_content li {
  font-size: 14px;
  line-height: 1.5;
  color: #555;
  margin-bottom: 8px;
  position: relative;
}
.nw_vm_content li:before {
  content: "●";
  color: #d12b2b;
  font-weight: bold;
  position: absolute;
  left: -15px;
}
.nw_about_right {
  position: relative;
  padding-left: 40px;
.nw_about_images {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.nw_about_main_image {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.nw_image_container.nw_image_bottom {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}

.nw_vision_mission_image {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  margin-top: 10px;
}

.nw_about_images img {
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}

.nw_about_images img:hover {
  transform: scale(1.02);
}

/* Responsive adjustments for about images */
@media (max-width: 767px) {
  .nw_about_images {
    gap: 15px;
    margin-top: 30px;
  }
  
  .nw_about_main_image,
  .nw_image_container.nw_image_bottom,
  .nw_vision_mission_image {
    border-radius: 6px;
  }
}
  height: 500px;
}
.nw_image_container {
  position: absolute;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}
.nw_image_top {
  top: 0;
  right: 0;
  width: 60%;
  height: 45%;
}
.nw_image_bottom {
  bottom: 0;
  left: 0;
  width: 70%;
  height: 50%;
}
.nw_image_container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nw_dotted_pattern {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  background-image: radial-gradient(circle, #ddd 2px, transparent 2px);
  background-size: 15px 15px;
  opacity: 0.5;
  z-index: 1;
}
/*ABOUT ANIMATIONS*/
.nw_vision_container:hover,
.nw_mission_container:hover {
  transition: all 0.3s ease;
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

/* RESPONSIVE STYLES FOR ABOUT SECTION */
@media (max-width: 768px) {
  .nw_about_left {
    padding-right: 15px;
    margin-bottom: 40px;
  }
  .nw_about_right {
    padding-left: 15px;
  }
  .nw_about_header .nw_title h1 {
    font-size: 28px;
  }
  .nw_about_images {
    height: 300px;
  }
  .nw_image_top {
    width: 55%;
    height: 40%;
  }
  .nw_image_bottom {
    width: 65%;
    height: 45%;
  }
}

.nw_infographic {
  max-width: 1920px;
  margin: auto;
}

.nw_infographic img {
  width: 100%;
}

/* DISTRIBUTION SECTION STYLES */
.nw_distribution_section {
  padding: 80px 0;
  background-color: #fff;
}

.nw_distribution_left {
  padding-right: 40px;
}

.nw_distribution_right {
  position: relative;
  padding-left: 40px;
}

.nw_distribution_header .nw_subtitle p {
  font-size: 14px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 35px;
}

.nw_distribution_header .nw_title h1 {
  font-size: 36px;
  font-weight: 700;
  line-height: 0.4;
  margin-bottom: 30px;
}

.nw_distribution_description p {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 20px;
}

.nw_distribution_description p:last-child {
  margin-bottom: 40px;
}

.nw_distribution_images {
  position: relative;
  height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nw_distribution_images img {
  border-radius: 10px;
  /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); */
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

.nw_distribution_image_container {
  position: absolute;
  border-radius: 15px;
  overflow: hidden;
  /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); */
}

.nw_distribution_image_container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nw_distribution_dotted_pattern {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  background-image: radial-gradient(circle, #ddd 2px, transparent 2px);
  background-size: 15px 15px;
  opacity: 0.5;
  z-index: 1;
}

/* Vertical centering for distribution section */
.nw_distribution_section .row {
  align-items: center;
  min-height: 500px;
}

/* .nw_distribution_section .nw_distribution_left,
.nw_distribution_section .nw_distribution_right {
  display: flex;
  align-items: center;
} */

.nw_distribution_section .nw_distribution_left > div,
.nw_distribution_section .nw_distribution_right > div {
  width: 100%;
}

/* RESPONSIVE STYLES FOR DISTRIBUTION SECTION */
@media (max-width: 768px) {
  .nw_distribution_left {
    padding-right: 15px;
    margin-bottom: 40px;
  }
  .nw_distribution_right {
    padding-left: 15px;
  }
  .nw_distribution_header .nw_title h1 {
    font-size: 28px;
  }
  .nw_distribution_images {
    height: 300px;
  }
  .nw_distribution_section .row {
    min-height: auto;
    align-items: flex-start;
  }
  .nw_distribution_section .nw_distribution_left,
  .nw_distribution_section .nw_distribution_right {
    align-items: flex-start;
  }
}

/* PRODUK DAN LAYANAN SECTION */
.nw_product_section {
  background: linear-gradient(135deg, #d12b2b 0%, #b91c1c 100%);
  background-image: linear-gradient(
      rgba(209, 43, 43, 0.8),
      rgba(185, 28, 28, 0.8)
    ),
    url("../images/Image\ 1.png");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 180px 0;
  position: relative;
  overflow: hidden;
}
.nw_product_section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="%23ffffff" opacity="0.1"/></svg>')
    repeat;
  background-size: 50px 50px;
  pointer-events: none;
}

.nw_product_header {
  text-align: start;
  margin-bottom: 60px;
  position: relative;
  z-index: 2;
}

.nw_product_header .nw_subtitle p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.nw_product_header .nw_title h1 {
  color: #ffffff;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.nw_product_cards {
  display: flex;
  gap: 30px;
  align-items: stretch;
  position: relative;
  overflow: visible;
  z-index: 2;
}

.nw_product_card {
  background: #ffffff;
  border-radius: 20px;
  padding: 40px 30px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  position: relative;
  overflow: visible;
  flex: 1;
  min-height: 200px;
  display: flex;
  flex-direction: column;
}

.nw_product_card.nw_card_large {
  flex: 1.5;
}

.nw_product_card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  /* background: linear-gradient(90deg, #d12b2b, #f59e0b); */
}

.nw_card_number {
  position: absolute;
  top: -25px;
  left: 30px;
  background: #1f2937;
  color: #ffffff;
  width: 50px;
  height: 50px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.nw_card_content {
  margin-top: 30px;
  flex-grow: 1;
  text-align: start;
}

.nw_card_content h3 {
  color: #1f2937;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 15px;
  text-align: start;
}
.nw_card_content h3 span {
  color: #1f2937;
  font-weight: 400;
  font-size: 16px;
}

.nw_card_content p {
  color: #6b7280;
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  text-align: start;
}

.nw_product_card:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25);
}

.nw_product_card:hover .nw_card_number {
  background: #d12b2b;
  transform: scale(1.1);
}

/* BUSINESS CATEGORY STYLES */
.nw_business_category {
  margin-bottom: 80px;
  position: relative;
  z-index: 2;
}

.nw_category_header {
  text-align: start;
  margin-bottom: 50px;
}

.nw_category_header h2 {
  color: #ffffff;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 15px;
  position: relative;
}

.nw_category_header h2::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 3.5%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, #ffd700, #ffed4e);
  border-radius: 2px;
}

.nw_category_header p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 16px;
  margin: 0;
}

/* PRODUCT GRID STYLES */
.nw_product_grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  margin-bottom: 40px;
}

.nw_product_item {
  background: #ffffff;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
}

.nw_product_item:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.nw_product_image {
  height: 200px;
  overflow: hidden;
  position: relative;
}

.nw_product_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.nw_product_item:hover .nw_product_image img {
  transform: scale(1.05);
}

.nw_product_info {
  padding: 25px;
}

.nw_product_info h4 {
  color: #1f2937;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  line-height: 1.3;
}

.nw_product_info p {
  color: #6b7280;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

/* PANGKALAN MAP STYLES */
.nw_pangkalan_map {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.nw_map_header {
  text-align: center;
  margin-bottom: 40px;
}

.nw_map_header h3 {
  color: #ffffff;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 15px;
}

.nw_map_header p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 16px;
  margin: 0;
}

.nw_region_grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
}

.nw_region_item {
  background: #ffffff;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.nw_region_item:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

.nw_region_image {
  height: 150px;
  overflow: hidden;
}

.nw_region_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.nw_region_item:hover .nw_region_image img {
  transform: scale(1.05);
}

.nw_region_info {
  padding: 20px;
  text-align: center;
}

.nw_region_info h4 {
  color: #1f2937;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
}

.nw_region_info p {
  color: #6b7280;
  font-size: 14px;
  margin-bottom: 10px;
}

.nw_region_status {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
}

.nw_region_status.active {
  background: #dcfce7;
  color: #166534;
}

/* RESPONSIVE STYLES FOR PRODUCT SECTION */
@media (max-width: 992px) {
  .nw_product_grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
  }

  .nw_region_grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
  }

  .nw_category_header h2 {
    font-size: 28px;
  }

  .nw_product_header .nw_title h1 {
    font-size: 36px;
  }

  .nw_business_category {
    margin-bottom: 60px;
  }
}

@media (max-width: 768px) {
  .nw_product_section {
    padding: 60px 0;
  }

  .nw_product_header {
    margin-bottom: 40px;
  }

  .nw_product_header .nw_title h1 {
    font-size: 28px;
  }

  .nw_product_grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .nw_region_grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
  }

  .nw_category_header h2 {
    font-size: 24px;
  }

  .nw_map_header h3 {
    font-size: 24px;
  }

  .nw_pangkalan_map {
    padding: 25px;
  }

  .nw_business_category {
    margin-bottom: 50px;
  }

  .nw_category_header {
    margin-bottom: 30px;
  }
}

@media (max-width: 480px) {
  .nw_product_image {
    height: 180px;
  }

  .nw_region_image {
    height: 120px;
  }

  .nw_product_info {
    padding: 20px;
  }

  .nw_region_info {
    padding: 15px;
  }

  .nw_region_grid {
    grid-template-columns: 1fr;
  }

  .nw_pangkalan_map {
    padding: 20px;
  }
}

/* JOIN US SECTION */
.nw_join_us_section {
  padding: 180px 0;
  background: #f8f9fa;
  position: relative;
}

.nw_join_left {
  padding-right: 30px;
}

.nw_join_right {
  padding-left: 30px;
  display: flex;
  align-items: center;
}

.nw_join_image {
  position: relative;
  border-radius: 20px;
  overflow: show;
  height: 550px;
}

.nw_join_image img {
  width: 100%;
  height: 100%;
  z-index: 10;
  object-fit: cover;
}

.nw_join_image .nw_red_overlay {
  position: absolute;
  z-index: 5;
  width: 300px;
  height: 300px;
  left: -150px;
  bottom: -150px;
  background: #eb101073;
}

.nw_join_content .nw_subtitle p {
  color: #6b7280;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.nw_join_content .nw_title h1 {
  color: #d12b2b;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 20px;
}

.nw_blue_text {
  color: #3c5070;
}

.nw_join_content .nw_description p {
  color: #6b7280;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
}

.nw_partnership_list {
  display: flex;
  flex-direction: column;
  gap: 35px;
}

.nw_partnership_item {
  display: flex;
  align-items: center;
  gap: 15px;
}

.nw_check_icon {
  width: 24px;
  height: 24px;
  /* background: #d12b2b; */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.nw_check_icon img {
  width: 24px;
  height: 24px;
}

.nw_check_icon i {
  color: #d12b2b;
  font-size: 12px;
}

.nw_partnership_item span {
  color: #374151;
  font-size: 16px;
  font-weight: 500;
}

/* INVESTOR SECTION */
.nw_investor_section {
  padding: 150px 0 180px 0;
  background: #ffffff;
}

.nw_investor_section .row {
  display: flex;
  align-items: stretch;
}

.nw_investor_left {
  padding-right: 30px;
  display: flex;
  align-items: center;
}

.nw_investor_right {
  padding-left: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nw_investor_card {
  background: #ffffff;
  border: 2px solid #af0a0a;
  border-radius: 20px;
  padding: 100px 40px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.nw_investor_card .nw_subtitle p {
  color: #6c757d;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.nw_investor_card .nw_title h1 {
  color: #d12b2b;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 20px;
}

.nw_investor_card .nw_description p {
  color: #6b7280;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 25px;
}

.nw_investment_list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.nw_investment_item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.nw_investment_item span {
  color: #374151;
  font-size: 15px;
  line-height: 1.5;
}

.nw_investor_actions {
  background: #f8f9fa;
  border-radius: 20px;
  padding: 40px;
}

.nw_action_description p {
  color: #243349;
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 30px;
  text-align: start;
}

.nw_action_buttons {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.nw_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 25px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

.nw_btn_download {
  background: #3c5070;
  color: #ffffff;
}

.nw_btn_download:hover {
  background: #243349;
  transform: translateY(-2px);
  color: #fff;
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3);
}

.nw_btn_meeting {
  background: #ffffff;
  color: #3c5070;
  border-color: #3c5070;
}

.nw_btn_meeting:hover {
  background: #3c5070;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.2);
}

.nw_btn_contact {
  background: #ffffff;
  color: #6b7280;
  border-color: #d1d5db;
}

.nw_btn_contact:hover {
  background: #f3f4f6;
  color: #374151;
  border-color: #9ca3af;
  transform: translateY(-2px);
}

/* RESPONSIVE STYLES FOR JOIN US AND INVESTOR SECTIONS */
@media (max-width: 768px) {
  .nw_join_us_section,
  .nw_investor_section {
    padding: 60px 0;
  }

  .nw_join_left,
  .nw_join_right,
  .nw_investor_left,
  .nw_investor_right {
    padding: 0 15px;
    margin-bottom: 40px;
  }

  .nw_join_right,
  .nw_investor_right {
    margin-bottom: 0;
  }

  .nw_join_image {
    height: 300px;
    margin-bottom: 30px;
  }

  .nw_join_content .nw_title h1,
  .nw_investor_card .nw_title h1 {
    font-size: 28px;
  }

  .nw_investor_card,
  .nw_investor_actions {
    padding: 30px 25px;
  }

  .nw_action_buttons {
    gap: 12px;
  }

  .nw_btn {
    padding: 12px 20px;
    font-size: 14px;
  }

  /* Ensure proper stacking on mobile */
  .nw_investor_section .row {
    flex-direction: column;
  }

  .nw_investor_left,
  .nw_investor_right {
    width: 100%;
    max-width: 100%;
  }

  /* Better text readability on mobile */
  .nw_investor_card .nw_description p {
    font-size: 15px;
    line-height: 1.7;
  }

  .nw_investment_item span {
    font-size: 14px;
    line-height: 1.6;
  }
}

/*POST TYPE 3*/
/*COUNTER*/
.nw_counter {
  position: relative;
  box-sizing: border-box;
  padding-top: 70px;
  padding-bottom: 75px;
  background-image: url(../images/northwest_counter.jpg);
  background-size: cover;
}
.nw_counter_container {
  height: auto;
}
.nw_counter_content p {
  color: white;
  font-weight: 600;
  text-align: center;
}
.nw_counter_content h2 {
  color: white;
  font-size: 60px;
  font-weight: 600;
  text-align: center;
}
/*GALLERY*/
.nw_container_gallery {
}
/*BUTTON*/
.button-group .button {
  display: inline-block;
  padding: 5px 35px 5px 0px;
  background: transparent;
  color: #999;
  font-family: Montserrat;
  font-size: 15px;
  cursor: pointer;
  border: 0px solid white;
}
.button-group .button:hover {
  background-color: white;
  color: #af0a0a;
  border: 0px solid white;
}
.button-group .button:active,
.button-group .button.is-checked {
  color: #af0a0a;
  border: 0px solid white;
}
.button-group .button.is-checked {
  color: #af0a0a;
  border: 0px solid white;
}
.button-group .button:active {
  color: #af0a0a;
  border: 0px solid white;
  -webkit-appearance: none;
}
/*BUTTON GROUP*/
.button-group {
  margin-bottom: 20px;
}
.button-group:after {
  content: "";
  display: block;
  clear: both;
}
.button-group .button {
  float: left;
  border-radius: 0;
  margin-left: 0;
  margin-right: 1px;
}
.button-group .button:hover {
  background-color: white;
  float: left;
  border-radius: 0;
  margin-left: 0;
  margin-right: 1px;
  border: none;
}
/* ---- .element-item ---- */
.element-item {
  position: relative;
  float: left;
  width: 365px;
  height: 275px;
  background: #888;
  color: #262524;
  overflow: hidden;
  margin: 10px;
  padding: 0px;
}
.element-item img {
  height: 100%;
  background: #888;
}
.element-item > * {
  margin: 0;
  padding: 0;
}
.element-item:hover .nw_gallery_overlay {
  top: 0px;
  left: 0px;
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  background: rgba(247, 250, 253, 0.9);
  opacity: 1;
  -webkit-animation: fade_nw_gallery_overlay 0.5s;
}
@keyframes fade_nw_gallery_overlay {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.nw_gallery_overlay_title,
.nw_gallery_overlay_description {
  width: 90%;
  position: absolute;
  left: 30px;
}
.nw_gallery_overlay_title {
  top: 70px;
}
.nw_gallery_overlay_description {
  top: 145px;
}
.nw_gallery_overlay_title h1 {
  opacity: 0;
  width: 90%;
  color: #af0a0a;
  text-align: left;
  transform: scale(2);
  word-wrap: break-word;
}
.nw_gallery_overlay_description a,
.nw_gallery_overlay_description {
  opacity: 0;
  width: 90%;
  color: rgba(37, 37, 37, 0.7);
  text-align: left;
  font-weight: 500;
  font-size: 17px;
  transform: scale(2);
  word-wrap: break-word;
}
.nw_gallery_overlay:hover .nw_gallery_overlay_title h1,
.nw_gallery_overlay:hover .nw_gallery_overlay_description a,
.nw_gallery_overlay:hover .nw_gallery_overlay_description {
  transition: transform 0.4s ease;
  z-index: 2;
  opacity: 1;
  transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
}
.nw_gallery_overlay h1:hover,
.nw_gallery_overlay a:hover {
  transition: all 0.2s;
  color: #af0a0a;
  text-decoration: none;
}
/*POST TYPE 4*/
.nw_type_4 {
  margin-bottom: 80px;
}
/*POST TYPE 5*/
/*TESTIMONIALS*/
.nw_testimonials .nw_title_line {
  background-color: rgb(255, 255, 255);
  margin: 15px auto;
}
#nw_owl_testimonials .item {
  width: 100%;
  text-align: center;
}
.nw_owl_content_testimonials > div {
  width: 75%;
  margin: 0 auto;
}
.nw_testimonials_content p,
.nw_testimonials_content h1,
.nw_testimonials_content h3 {
  color: rgb(255, 255, 255);
  text-align: center;
}
.nw_testimonials_content h1 {
  font-size: 36px;
  line-height: 1.3;
}
.nw_owl_content_testimonials p {
  font-weight: 300;
}
.nw_owl_content_testimonials h3 {
  font-weight: 700;
  color: rgb(255, 255, 255);
}
.owl-item {
  text-align: center;
  width: 90%;
}
.nw_testimonials {
  position: relative;
  box-sizing: border-box;
  padding-top: 65px;
  padding-bottom: 80px;
  background-image: url(../images/northwest_testimonials.jpg);
  background-size: cover;
}
.nw_testimonials_content {
  width: 90%;
  margin: 0 auto;
}
#nw_owl_testimonials .owl-prev,
#nw_owl_testimonials .owl-next {
  font-family: "FontAwesome";
}
#nw_owl_testimonials .owl-prev {
  position: absolute;
  top: 30%;
  left: 0px;
  border: 0px solid black;
  width: 50px;
  height: 50px;
}
#nw_owl_testimonials .owl-next {
  position: absolute;
  top: 30%;
  right: 0px;
  border: 0px solid black;
  width: 50px;
  height: 50px;
}
#nw_owl_testimonials .owl-prev i,
#nw_owl_testimonials .owl-next i {
  transform: scale(2);
  color: rgb(255, 255, 255);
}
#nw_owl_testimonials .owl-prev:hover i,
#nw_owl_testimonials .owl-next:hover i {
  transition: all 0.2s ease;
  transform: scale(2.1);
  color: rgb(255, 255, 255);
  opacity: 0.8;
}
/*POST TYPE 6*/
/*NEWS*/
.container_details i:last-child {
  padding-left: 20px;
}
.nw_news .container_image .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(0);
}
.nw_news .container_image:hover .overlay {
  animation: fadein 0.2s;
  transition: transform 0.2s;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(247, 250, 253, 0.9);
  opacity: 1;
  transform: scale(1);
  color: #af0a0a;
  font-size: 30px;
  text-align: center;
  line-height: 231px;
}
.nw_news .container_image {
  position: relative;
  width: 100%;
  height: 231px;
  background: #888;
  color: #262524;
  overflow: hidden;
}
.nw_news .container_image img {
  height: 100%;
  width: 100%;
  background: #888;
}
.nw_news .container_details {
  padding-right: 10px;
  height: 18px;
  margin-top: 20px;
  font-size: 13px;
  color: #b3b3b3;
  line-height: 18px;
  text-align: left;
  font-family: Montserrat;
  font-weight: 600;
  font-style: normal;
}
.nw_news .container_details i {
  padding-right: 9px;
}
.nw_news .container_details span {
  padding-right: 15px;
}
.nw_type_6 {
  margin-bottom: 90px;
}
/*POST TYPE 7*/
/*CLIENTS*/
.nw_clients {
}
.nw_clients > div {
  padding-top: 80px;
  padding-bottom: 90px;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
}
#nw_owl_clients .item {
  margin: 10px;
  height: 56px;
}
#nw_owl_clients .item img {
  display: block;
  width: auto;
  height: 56px;
  filter: grayscale(100%);
  margin: auto;
}
#nw_owl_clients .item:hover img {
  transition: filter 0.2s;
  transition: transform 0.2s;
  filter: saturate(100%) brightness(100%);
  transform: scale(1.05);
}
/*POST TYPE 8*/
/*OUR TEAM*/
.nw_our_team {
}
.nw_our_team_container_image img {
  position: relative;
  margin: 0 calc((100% - 255px) / 2);
  width: 255px;
}
.nw_our_team_container_image:hover .nw_our_team_container_image_overlay {
  animation: fadein 0.2s;
  transition: transform 0.2s;
  width: 257px;
  height: 257px;
  background-color: rgba(247, 250, 253, 0.9);
  opacity: 1;
  transform: scale(1);
  color: #af0a0a;
  font-size: 30px;
  text-align: center;
  line-height: 231px;
}
.nw_our_team_container_image_overlay {
  position: absolute;
  top: 0;
  left: calc((100% - 257px) / 2);
  width: 257px;
  margin: 0 auto;
  height: 100%;
  opacity: 0;
  transform: scale(0);
}
.nw_our_team_container_social {
  display: inline-block;
}
.nw_our_team_container_social a {
  margin: 3px;
  display: inline-flex;
  border-radius: 50%;
  border: 2px solid #af0a0a;
  font-size: 20px;
  line-height: 41px;
  width: 45px;
  height: 45px;
  color: #af0a0a;
}
.nw_our_team_container_social a i {
  margin: auto;
  color: #af0a0a;
}
.nw_our_team_container_social a:hover,
.nw_our_team_container_social a:hover i {
  transition: all 0.2s;
}
.nw_our_team_container_social a:hover {
  background-color: #af0a0a;
}
.nw_our_team_container_social a:hover i {
  color: rgb(255, 255, 255);
}
.nw_member_name h3 {
  margin-bottom: 5px;
}
.nw_member_job p {
  margin: 0;
  line-height: 13px;
}
/*POST TYPE 9*/
/*CONTACT US*/
.nw_contact_us {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  /* background-image: url(../images/northwest_contact.jpg); */
  background-size: cover;
  background-color: #252525;
  padding: 60px 0 90px 0;
}
.nw_contact_us p {
  font-weight: 400 !important;
}
.nw_contact_us p,
.nw_contact_us h2 {
  color: rgb(255, 255, 255);
}
.nw_contact_us_dill > div {
  height: 60px;
}
.nw_contact_us_fill label {
  width: 100%;
  margin: 10px 0;
}
.nw_contact_us_fill label span input,
.nw_contact_us_fill label span textarea {
  width: 100%;
  color: #fff;
  background-color: transparent;
  border-left: none;
  border-right: none;
  border-top: 2px solid transparent;
  border-bottom: 2px solid rgba(255, 255, 255, 0.75);
  line-height: 40px;
  padding: 5px 0;
}
.nw_contact_us_fill label span input::placeholder,
.nw_contact_us_fill label span textarea::placeholder {
  color: #ffffff72;
}
.nw_contact_us_fill label span input:focus,
.nw_contact_us_fill label span textarea:focus {
  transition: all 0.2s;
  border-top: 2px solid rgba(255, 255, 255, 0.75);
}
.nw_empty {
  height: 65px;
}
.nw_submit {
  background: #fff;
  font-weight: 700;
  padding: 17px 34px;
  color: #1f2937;
  line-height: 1;
  border: 2px solid rgb(255, 255, 255);
  margin-top: 20px;
  height: auto;
  border-radius: 100px;
  font-size: 17px;
  transition: all 0.2s;
}
.nw_submit:hover {
  border-color: #af0a0a !important;
  background: #af0a0a !important;
  color: #fff !important;
  transform: scale(1.05);
  border: 0 none;
  font-weight: bold;
  padding: 17px 34px;
  color: #fff;
  line-height: 1;
  border: 2px solid rgb(255, 255, 255);
  margin-top: 20px;
  height: auto;
  font-size: 17px;
}
.nw_contact_us_container .nw_subtitle,
.nw_contact_us_container .nw_title {
  padding-left: 75px;
}
.nw_type_8 {
  margin-bottom: 90px;
}
/*FOOTER*/
.nw_footer {
  position: relative;
}
.nw_footer_description {
  height: auto;
  margin-top: 20px;
  font-size: 17px;
  color: rgba(163, 163, 163, 1);
  line-height: 26px;
  text-align: left;
  font-weight: 300;
  font-style: normal;
}
.footer_line {
  margin-top: 5px;
  height: 5px;
  width: 50px;
  background-color: #af0a0a;
}
#footer_logo {
  height: 53px;
}
#footer_logo img {
  height: 100%;
  float: left;
}
.nw_footer_social {
  height: 46px;
  margin-top: 25px;
}
.nw_footer_social ul > li {
  text-align: center;
}
.nw_footer_social ul li a {
  color: #646565;
}
.nw_footer_social ul li,
.nw_footer_social ul {
  display: inline-block;
}
.footer_title {
  height: 27px;
  font-size: 25px;
  color: #252525;
  line-height: 27px;
  text-align: left;
  font-weight: 700;
  font-style: normal;
}
.footer_pages {
  margin-top: 25px;
}
.footer_pages ul > li {
  margin-bottom: 5px;
}
.footer_pages ul > li > a {
  height: 96px;
  margin-top: 20px;
  font-size: 17px;
  color: rgba(37, 37, 37, 0.5);
  line-height: 26px;
  text-align: left;
  font-weight: 300;
  font-style: normal;
  text-decoration: none;
}
.nw_footer_social ul > li > a {
  display: block;
  text-align: center;
  height: 46px;
  width: 46px;
  border-radius: 50%;
  border: 1px solid rgb(233, 233, 233);
}
.nw_footer_social ul > li > a i {
  margin: auto;
  line-height: 45px;
}
.nw_footer_social ul > li:hover a {
  transition: all 0.2s;
  color: #af0a0a;
  border: 1px solid #af0a0a;
}
.nw_footer ul > li:hover a {
  transition: all 0.2s;
  color: #af0a0a;
}
.footer_phone_number {
  height: 27px;
  margin-top: 20px;
  font-size: 22px;
  color: rgba(37, 37, 37, 0.5);
  line-height: 26px;
  text-align: left;
  font-weight: 600;
  font-style: normal;
}
.footer_address {
  height: 96px;
  margin-top: 20px;
  font-size: 17px;
  color: rgba(37, 37, 37, 0.5);
  line-height: 26px;
  text-align: left;
  font-weight: 300;
  font-style: normal;
}
.nw_type_9 {
  margin-bottom: 90px;
}
.nw_footer .nw_post {
  margin-bottom: 90px;
}
/*RIGHTS*/
.nw_rights {
  height: 70px;
  border-top: 1px solid #e9e9e9;
  position: relative;
}
.nw_rights_container > div {
  margin-top: 20px;
  font-size: 17px;
  color: rgba(37, 37, 37, 0.5);
  line-height: 35px;
  text-align: left;
  font-weight: 300;
  font-style: normal;
}
.nw_rights_container span {
  margin-top: 20px;
  font-size: 17px;
  color: #af0a0a;
  line-height: 35px;
  text-align: left;
  font-weight: 700;
  font-style: normal;
}
.nw_rights_container span:hover {
  color: #af0a0a;
}
.nw_rights_container div:first-child {
  text-align: left;
}
.nw_rights_container div:last-child {
  text-align: right;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  margin-top: -1px;
  margin-bottom: -1px;
}
/*---------------------------------------------*/
/*--- 12. OUR SERVICES ---*/
/*---------------------------------------------*/
/* OUR SERVICES - 2 colums */
.nw_page_services .nw_post_title {
  margin-top: 85px;
  margin-bottom: 25px;
}
.nw_page_about_cont1 p {
  font-family: Montserrat;
  line-height: 26px;
  font-weight: 300;
  color: #828282;
  font-size: 17px;
}
.spacer_30 {
  height: 30px;
  width: 100%;
  float: left;
  clear: both;
}
/* OUR SERVICES - 4 colums */
.nw_services_container.nw_services_container_4col {
  padding-top: 35px;
  padding-bottom: 20px;
}
/* OUR SERVICES - right sidebar */
.wealth-management {
  padding: 90px 15px;
}
.wealth-management img {
  width: 100%;
}
.panel-group .panel.accordion-services {
  border-radius: 0px;
  border: none;
}
.accordion-services .panel-title a {
  color: #fff;
  font-weight: bold;
}
.accordion-services .panel-heading {
  background: #af0a0a;
  border: 0;
  padding: 22px 32px;
  border-radius: 0px;
}
.accordion-services .panel-body {
  background: #f7fafd;
  border-color: #f7fafd;
  padding: 30px;
}
.accordion-services .panel-body h4 {
  font-size: 17px;
  color: #252525;
  line-height: 17px;
  text-align: left;
  font-family: Montserrat;
  font-weight: 700;
  font-style: normal;
  margin: 0px;
}
.accordion-services .panel-body p {
  margin-bottom: 0px;
}
.nw-wealth-right .panel-heading {
  padding: 0px;
}
.nw-wealth-right h2 {
  color: #fff;
  text-decoration: none !important;
  display: inline-block;
  padding: 22px 0 22px 25px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: bold;
  background: #af0a0a;
  width: 100%;
  margin: 0;
  border-bottom: 2px solid #fff;
  font-size: 23px;
  line-height: normal;
}
.nw-wealth-right #menu-services-sidebar.menu li {
  border-bottom: 2px solid #fff;
  background: #f7fafd;
  margin: 0;
  padding: 0 23px 0 0;
  color: #252525;
  width: 100%;
}
.nw-wealth-right #menu-services-sidebar.menu li a {
  color: #252525;
  text-decoration: none !important;
  border-left: 5px solid #af0a0a;
  display: inline-block;
  padding: 20px 0 20px 20px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  font-size: 17px;
}
.nw-wealth-right .panel-body {
  padding: 0px;
}
.nw-wealth-right #menu-services-sidebar.menu li:hover a {
  border-color: #252525;
}
.nw_get_consultation {
  margin-top: 30px;
  padding-top: 50px;
  padding-right: 50px;
  padding-bottom: 50px;
  padding-left: 50px;
  background-color: #252525;
}
.nw_get_consultation h3 {
  color: #fff;
  font-weight: 700;
  margin: 0 0 15px;
  font-size: 23px;
  text-align: left;
}
.nw_get_consultation p {
  color: #fff;
  font-weight: 400;
  margin: 20px 0 10px;
}
.nw_contact_us_fill label span input {
  font-size: 17px;
}
.nw_get_consultation .nw_submit {
  border: none;
  width: 100%;
  transition: all 0.2s;
}
.nw_get_consultation .nw_submit:hover {
  background: #fff !important;
  color: #af0a0a !important;
}
.nw_consulting_bro {
  margin-top: 30px;
  padding-top: 50px;
  padding-right: 50px;
  padding-bottom: 50px;
  padding-left: 50px;
  background-color: #f7fafd;
}
.nw_consulting_bro h3 {
  margin: 0 0 20px;
  font-weight: bold;
  color: #252525;
  font-size: 23px !important;
  text-align: left;
}
.nw_consulting_bro p {
  font-weight: 400;
  color: #252525;
}
.nw_consulting_bro a.btn.btn-download-pdf {
  border: 0 none;
  font-weight: bold;
  padding: 17px 34px;
  color: #fff;
  line-height: 1;
  border: 2px solid #af0a0a;
  margin-top: 15px;
  height: auto;
  font-size: 17px;
  background: #af0a0a;
  width: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.nw_consulting_bro a.btn.btn-download-pdf:hover {
  background: #252525;
  color: #fff;
  border-color: #252525;
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
}
.no_sidebar.panel-group {
  margin-bottom: 0px;
}
/*---------------------------------------------*/
/*--- 13. OUR CASES ---*/
/*---------------------------------------------*/
/* OUR CASES - 2 colums */
.element-item_1 {
  position: relative;
  height: 400px;
  margin-bottom: 30px;
  overflow: hidden;
  width: 47%;
}
.element-item_1 img {
  width: 100%;
  height: 100%;
  inline-size: auto;
}
.element-item_1:hover .nw_gallery_overlay {
  top: 0px;
  left: 0px;
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  background: rgba(247, 250, 253, 0.9);
  opacity: 1;
  -webkit-animation: fade_nw_gallery_overlay 0.5s;
  margin: 0px;
}
.element-item_1 .nw_gallery_overlay_title {
  top: 130px;
}
.element-item_1 .nw_gallery_overlay_description {
  top: 225px;
}
.element-item_1 .nw_gallery_overlay_description a,
.element-item_1 .nw_gallery_overlay_description {
  transform: scale(1.5);
}
.nw_our_cases .nw_post_title {
  margin-top: 85px;
  margin-bottom: 25px;
}
.nw_our_cases .grid {
  left: 0px;
}
.nw_our_cases.nw_type_4 {
  margin-bottom: 60px;
}

/* OUR CASES - 3 colums */
.element-item_1.element-item_2 {
  height: 275px;
  overflow: hidden;
}
.element-item_1.element-item_2 .nw_gallery_overlay_title {
  top: 70px;
}
.element-item_1.element-item_2 .nw_gallery_overlay_description {
  top: 145px;
}
/* OUR CASES - 4 colums */
.element-item_1.element-item_2.element-item_3 {
  margin-bottom: 15px;
  width: 22%;
}
.element-item_1.element-item_2.element-item_3 .nw_gallery_overlay_title {
  top: 15px;
  left: 20px;
}
.element-item_1.element-item_2.element-item_3 .nw_gallery_overlay_description {
  top: 125px;
  left: 20px;
}
/* OUR CASES - left sidebar */
.nw_cases_strategy {
  padding: 90px 15px;
}
.nw_cases_strategy img {
  width: 100%;
}
.nw_tabs_list {
  background-color: #252525;
  border: none;
}
.nw_tabs_list.nav-tabs li {
  margin: 0;
}
ul.nw_tabs_list li a,
ul.nw_tabs_list li a:hover,
ul.nw_tabs_list li a:focus,
ul.nw_tabs_list li a:active {
  color: #fff;
  font-size: 17px;
  font-weight: bold;
  background: #252525;
  border: 0;
  padding: 18px 32px;
  cursor: pointer;
}
ul.nw_tabs_list li.active a,
ul.nw_tabs_list li.active a:hover,
ul.nw_tabs_list li.active a:focus,
ul.nw_tabs_list li.active a:active {
  background: #af0a0a;
  border-radius: 0px;
  color: #ffffff;
  border: none;
}
.nw_tabs_content {
  background: #f7fafd;
}
.nw_tabs_content .tab-pane {
  padding: 10px 30px;
}
.mt-icon-listgroup-icon-holder-inner {
  float: left;
  margin-top: 3px;
}
.mt-icon-listgroup-icon-holder-inner i {
  margin-right: 10px;
  color: #af0a0a;
  font-size: 20px;
}
.mt-icon-listgroup-content-holder-inner .mt-icon-listgroup-title {
  font-size: 17px;
  color: #252525;
  font-weight: 700;
  line-height: 1.3;
}
.mt-icon-listgroup-text {
  font-size: 17px;
  color: rgba(37, 37, 37, 0.7);
  margin-top: 0px;
}
.nw-wealth-right .panel {
  border: none;
  box-shadow: none;
}
/*---------------------------------------------*/
/*--- 14. OUR INDUSTRIES ---*/
/*---------------------------------------------*/
.nw_our_industries_body .nw_post_title {
  margin-top: 85px;
  margin-bottom: 25px;
}
.nw_our_team_body .nw_post_title {
  margin-top: 85px;
}
.nw_our_industries_body .nw_post {
  margin-bottom: 75px;
}
.nw_our_team_container.nw_post_row {
  margin-top: 30px;
}
/*---------------------------------------------*/
/*--- 15. ABOUT US ---*/
/*---------------------------------------------*/
.nw_about_us .nw_post_title {
  margin-top: 90px;
  margin-bottom: 25px;
}
.spacer_20 {
  height: 20px;
  width: 100%;
  float: left;
  clear: both;
}
.nw_page_about_cont2 blockquote {
  padding: 30px;
  border-left-color: #af0a0a;
  background: none repeat scroll 0 0 #f7fafd;
  color: #828282;
  margin-bottom: 30px;
}
.nw_page_about_cont2 blockquote p {
  margin: 0px;
}
.nw-about-us-video-img {
  margin-top: 25px;
  padding-top: 120px;
  padding-bottom: 120px;
  background-image: url(../images/video-popup.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.nw_about_us .nw_container .nw_subtitle > p {
  margin-bottom: 0px;
}
.buton_image_class:hover {
  transform: scale(1.1);
  transition: all 400ms ease-in-out 0s;
  -ms-transformtransition: all 400ms ease-in-out 0s;
  -webkit-transformtransition: all 400ms ease-in-out 0s;
}
/*---------------------------------------------*/
/*--- 15. CONTACT US ---*/
/*---------------------------------------------*/
.nw_contact_us_page {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  background-image: url(../images/contact-section-black-version.jpg);
  background-size: cover;
  padding: 60px 0 90px 0;
  background-position: center;
}
.nw_contact_us_page .nw_contact_us {
  background-image: none;
  padding-bottom: 0px;
}
.nw_contact_us_page .nw_contact_us_fill label span input,
.nw_contact_us_page .nw_contact_us_fill label span textarea {
  border-bottom: 2px solid rgba(37, 37, 37, 0.75);
  color: rgba(37, 37, 37, 0.7);
}
.nw_contact_us_page .nw_contact_us_fill label span input::placeholder,
.nw_contact_us_page .nw_contact_us_fill label span textarea::placeholder {
  color: rgb(187, 187, 187);
}
.nw_contact_us_page .nw_contact_us p {
  font-size: 17px;
  color: rgba(37, 37, 37, 0.7);
  line-height: 20px;
  text-align: left;
  font-family: Montserrat;
  font-weight: 400;
  font-style: normal;
}
.nw_contact_us_page .nw_contact_us h2 {
  font-size: 25px;
  color: #252525;
  line-height: 35px;
  text-align: left;
  font-family: Montserrat;
  font-weight: 700;
  font-style: normal;
  margin: 0px;
}
.spacer_40 {
  height: 40px;
  width: 100%;
  float: left;
  clear: both;
}
.nw_contact_us_page .nw_contact_us_fill .nw_submit {
  border: 2px solid #252525 !important;
  color: #252525;
  background: transparent;
}
.nw_contact_us_map iframe {
  width: 100%;
}

.nw_contact_us .row {
  display: flex;
  align-items: stretch;
}

.nw_contact_us .row > [class*="col-"] {
  display: flex;
}

.nw_contact_map {
  border-radius: 12px;
  /* overflow: hidden; */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  width: 100%;
  height: 540px;
  min-height: 500px;
  display: flex;
}

.nw_contact_map iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 12px;
}

@media (max-width: 768px) {
  .nw_contact_us .row {
    flex-direction: column;
  }
  
  .nw_contact_map {
    height: 50vh;
    min-height: 300px;
    margin-top: 30px;
  }
}

@media (max-width: 480px) {
  .nw_contact_map {
    height: 40vh;
    min-height: 250px;
  }
}
.footer-row-1 {
  margin-top: 90px;
}

/*---------------------------------------------*/
/*--- COLLABORATION CARDS ---*/
/*---------------------------------------------*/
.nw_collaboration_container {
  padding: 40px 0;
}

.nw_collaboration_container .row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.nw_collaboration_container .row > [class*="col-"] {
  display: flex;
}

.nw_collaboration_card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin-bottom: 30px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  cursor: pointer;
}

.nw_collaboration_card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.nw_collaboration_image {
  position: relative;
  overflow: hidden;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nw_collaboration_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.nw_collaboration_card:hover .nw_collaboration_image img {
  transform: scale(1.05);
}

.nw_collaboration_content {
  padding: 0px 20px 20px 20px;
  text-align: center;
  background: #ffffff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 70px;
}

.nw_collaboration_content h3 {
  font-size: 14px;
  font-weight: 600;
  color: #3c5070;
  line-height: 1.3;
  margin: 0;
  text-shadow: 0 1px 2px rgba(255,255,255,0.8);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 768px) {
  .nw_collaboration_card {
    margin-bottom: 20px;
    aspect-ratio: 1 / 1;
  }

  .nw_collaboration_content {
    min-height: 100px;
    padding: 10px 15px 15px 15px;
  }

  .nw_collaboration_content h3 {
    font-size: 12px;
    line-height: 1.2;
    -webkit-line-clamp: 3;
  }

  .nw_collaboration_content {
    padding: 15px;
  }

  .nw_collaboration_content h3 {
    font-size: 16px;
    min-height: 40px;
  }
}

/*---------------------------------------------*/
/*--- CONTACT INFO CARD ---*/
/*---------------------------------------------*/
.nw_contact_info_card {
  background: #2c2c2c;
  border-radius: 12px;
  padding: 40px 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.nw_contact_header h2 {
  color: #ffffff;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 25px;
}

.nw_contact_description p {
  color: #cccccc;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
}

.nw_contact_details {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.nw_contact_item {
  display: flex;
  align-items: center;
  gap: 15px;
}

.nw_contact_icon {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.nw_contact_icon i {
  color: #ffffff;
  font-size: 16px;
}

.nw_contact_item span {
  color: #ffffff;
  font-size: 16px;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .nw_contact_info_card {
    padding: 30px 20px;
    margin-bottom: 30px;
  }

  .nw_contact_header h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }

  .nw_contact_description p {
    font-size: 14px;
    margin-bottom: 25px;
  }

  .nw_contact_details {
    gap: 15px;
  }

  .nw_contact_item span {
    font-size: 14px;
  }
}

/* Animation duration and timing */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/* Smooth scroll animations */
.wow {
  visibility: hidden;
}

/* Enhanced animation performance */
.wow.animated {
  visibility: visible;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .wow {
    animation: none !important;
    visibility: visible !important;
  }
}

/* Mobile animation optimizations */
@media (max-width: 768px) {
  .wow {
    animation-duration: 0.6s !important;
  }

  [data-wow-delay] {
    animation-delay: 0.1s !important;
  }
}

/*---------------------------------------------*/
/*--- GALLERY SECTION ---*/
/*---------------------------------------------*/
.nw_gallery_section {
  padding: 100px 0;
  background: #f8f9fa;
}

.nw_gallery_section .nw_subtitle {
  text-align: start;
  margin-bottom: 15px;
}

.nw_gallery_section .nw_subtitle p {
  color: #af0a0a;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.nw_gallery_section .nw_title {
  text-align: start;
  margin-bottom: 20px;
}

.nw_gallery_section .nw_title h1 {
  color: #2c2c2c;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.2;
}

.nw_gallery_section .nw_description {
  text-align: start;
  margin-bottom: 0px;
}

.nw_gallery_section .nw_description p {
  color: #666666;
  font-size: 18px;
  line-height: 1.6;
  max-width: 600px;
}

/* Gallery Grid */
.nw_gallery_container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}

.nw_gallery_item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
}

.nw_gallery_item:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

.nw_gallery_hidden {
  display: none;
}

.nw_gallery_visible {
  display: block;
}

.nw_gallery_image,
.nw_gallery_video {
  position: relative;
  width: 100%;
  height: 250px;
  overflow: hidden;
}

.nw_gallery_image img,
.nw_gallery_video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.nw_gallery_item:hover .nw_gallery_image img,
.nw_gallery_item:hover .nw_gallery_video video {
  transform: scale(1.1);
}

.nw_gallery_overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #af0a0a63;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.nw_gallery_item:hover .nw_gallery_overlay {
  opacity: 1;
}

.nw_gallery_icon {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.2);
  border: 2px solid #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.nw_gallery_icon:hover {
  background: #ffffff;
  transform: scale(1.1);
}

.nw_gallery_icon i {
  color: #ffffff;
  font-size: 20px;
  transition: color 0.3s ease;
}

.nw_gallery_icon:hover i {
  color: #af0a0a57;
}

/* Gallery Actions */
.nw_gallery_actions {
  text-align: center;
  margin-top: 40px;
}

.nw_show_more_btn {
  background: #d12b2b;
  color: #ffffff;
  border: none;
  padding: 15px 30px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.nw_show_more_btn:hover {
  background: #af0a0a;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 0, 0, 0.3);
}

.nw_show_more_btn i {
  transition: transform 0.3s ease;
}

.nw_show_more_btn.expanded i {
  transform: rotate(180deg);
}

/* Gallery Modal */
.nw_gallery_modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  animation: fadeIn 0.3s ease;
}

/* Product Modal */
.nw_product_modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(5px);
  animation: fadeIn 0.3s ease;
}

.nw_product_modal_content {
  background-color: #ffffff;
  margin: 0 auto;
  padding: 0;
  border-radius: 20px;
  width: 100%;
  max-width: 1000px;
  max-height: 90vh;
  /* overflow-y: auto; */
  position: relative;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: modalSlideIn 0.3s ease;
}

.nw_product_modal_close {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 28px;
  font-weight: bold;
  color: #aaa;
  cursor: pointer;
  z-index: 10001;
  transition: color 0.3s ease;
}

.nw_product_modal_close:hover {
  color: #d12b2b;
}

.nw_product_modal_header {
  padding: 30px 40px 20px;
  text-align: center;
  border-bottom: 1px solid #eee;
}

.nw_product_modal_header h3 {
  color: #2c3e50;
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.nw_product_modal_header p {
  color: #7f8c8d;
  font-size: 16px;
  margin: 0;
  line-height: 1.6;
}

.nw_product_modal_body {
  padding: 30px 0px;
}

.nw_product_gallery {
  position: relative;
}

.nw_product_main_image {
  text-align: center;
  margin-bottom: 20px;
  position: relative;
}

.nw_product_main_image img {
  max-width: 100%;
  max-height: 400px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.nw_product_thumbnails {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.nw_product_thumbnail {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}

.nw_product_thumbnail:hover {
  border-color: #3498db;
  transform: scale(1.05);
}

.nw_product_thumbnail.active {
  border-color: #e74c3c;
  transform: scale(1.1);
}

.nw_product_thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nw_product_navigation {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  pointer-events: none;
}

.nw_product_nav_btn {
  width: 50px;
  height: 50px;
  background: rgba(231, 76, 60, 0.8);
  color: #ffffff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
  transition: all 0.3s ease;
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nw_product_nav_btn:hover {
  background: rgba(231, 76, 60, 1);
  transform: scale(1.1);
}

.nw_product_nav_btn:focus {
  outline: none;
}

/* Product Item Hover Effect */
.nw_product_item {
  cursor: pointer;
  transition: all 0.3s ease;
}

.nw_product_item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Product Modal Responsive Styles */
@media (max-width: 991px) {
  .nw_product_modal_content {
    width: 95%;
    margin: 5% auto;
  }
  
  .nw_product_modal_header {
    padding: 25px 30px 15px;
  }
  
  .nw_product_modal_header h3 {
    font-size: 24px;
  }
  
  .nw_product_modal_body {
    padding: 25px 30px;
  }
  
  .nw_product_main_image img {
    max-height: 300px;
  }
  
  .nw_product_thumbnail {
    width: 70px;
    height: 70px;
  }
}

@media (max-width: 767px) {
  .nw_product_modal_content {
    width: 98%;
    margin: 2% auto;
    max-height: 95vh;
  }
  
  .nw_product_modal_header {
    padding: 20px 25px 15px;
  }
  
  .nw_product_modal_header h3 {
    font-size: 20px;
  }
  
  .nw_product_modal_header p {
    font-size: 14px;
  }
  
  .nw_product_modal_body {
    padding: 20px 25px;
  }
  
  .nw_product_main_image img {
    max-height: 250px;
  }
  
  .nw_product_thumbnail {
    width: 60px;
    height: 60px;
  }
  
  .nw_product_nav_btn {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  
  .nw_product_navigation {
    padding: 0 15px;
  }
}

@media (max-width: 480px) {
  .nw_product_modal_content {
    width: 100%;
    margin: 0;
    border-radius: 0;
    max-height: 100vh;
  }
  
  .nw_product_modal_header {
    padding: 15px 20px 10px;
  }
  
  .nw_product_modal_header h3 {
    font-size: 18px;
  }
  
  .nw_product_modal_header p {
    font-size: 13px;
  }
  
  .nw_product_modal_body {
    padding: 15px 20px;
  }
  
  .nw_product_main_image img {
    max-height: 200px;
  }
  
  .nw_product_thumbnail {
    width: 50px;
    height: 50px;
  }
  
  .nw_product_thumbnails {
    gap: 8px;
  }
  
  .nw_product_nav_btn {
    width: 35px;
    height: 35px;
    font-size: 14px;
  }
  
  .nw_product_navigation {
    padding: 0 10px;
  }
  
  .nw_product_modal_close {
    top: 10px;
    right: 15px;
    font-size: 24px;
  }
}

.nw_modal_content {
  position: relative;
  margin: auto;
  padding: 0;
  width: 90%;
  max-width: 1200px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nw_modal_close {
  position: absolute;
  top: 20px;
  right: 35px;
  color: #ffffff;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  z-index: 10001;
  transition: color 0.3s ease;
}

.nw_modal_close:hover {
  color: #d12b2b;
}

.nw_modal_media {
  max-width: 100%;
  max-height: 80%;
  position: relative;
}

.nw_modal_media img,
.nw_modal_media video {
  max-width: 100%;
  max-height: 100%;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.nw_modal_navigation {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  pointer-events: none;
}

.nw_nav_btn {
  width: 50px;
  height: 50px;
  background: rgba(255, 0, 0, 0.5);
  color: #ffffff;
  border: none;
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: all;
}

.nw_nav_btn:hover {
  background: #ff0000;
  transform: scale(1.1);
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .nw_gallery_section {
    padding: 60px 0;
  }

  .nw_gallery_section .nw_title h1 {
    font-size: 32px;
  }

  .nw_gallery_section .nw_description p {
    font-size: 16px;
  }

  .nw_gallery_container {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .nw_gallery_image,
  .nw_gallery_video {
    height: 200px;
  }

  .nw_gallery_icon {
    width: 50px;
    height: 50px;
  }

  .nw_gallery_icon i {
    font-size: 16px;
  }

  .nw_show_more_btn {
    padding: 12px 25px;
    font-size: 14px;
  }

  .nw_modal_close {
    top: 10px;
    right: 20px;
    font-size: 30px;
  }

  .nw_modal_navigation {
    padding: 0 10px;
  }

  .nw_nav_btn {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .nw_gallery_container {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .nw_gallery_image,
  .nw_gallery_video {
    height: 250px;
  }
}

/* ========================================
   MITRA STRATEGIS BUTTON & MODAL STYLES
   ======================================== */

/* Mitra Strategis Button */
.nw_mitra_btn {
  background: linear-gradient(135deg, #d12b2b, #ff4444);
  color: #ffffff;
  border: none;
  padding: 15px 30px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 0px;
  box-shadow: 0 4px 15px rgba(209, 43, 43, 0.3);
}

.nw_mitra_btn:hover {
  background: linear-gradient(135deg, #b02525, #e63939);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(209, 43, 43, 0.4);
}

.nw_mitra_btn i {
  transition: transform 0.3s ease;
}

.nw_mitra_btn:hover i {
  transform: translateX(5px);
}

/* Mitra Modal */
.nw_mitra_modal {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  animation: fadeIn 0.3s ease;
}

.nw_mitra_modal_content {
  position: relative;
  background-color: #ffffff;
  margin: 5% auto;
  padding: 0;
  border-radius: 15px;
  width: 90%;
  max-width: 800px;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: slideIn 0.3s ease;
}

@keyframes slideIn {
  from {
    transform: translateY(-50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.nw_mitra_modal_header {
  background: linear-gradient(135deg, #d12b2b, #ff4444);
  color: #ffffff;
  padding: 25px 30px;
  border-radius: 15px 15px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nw_mitra_modal_header h3 {
  color: #ffffff;
  margin: 0;
  font-size: 24px;
  font-weight: 700;
}

.nw_mitra_modal_close {
  color: #ffffff;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.3s ease;
  line-height: 1;
}

.nw_mitra_modal_close:hover {
  color: #ffcccc;
}

.nw_mitra_modal_body {
  padding: 30px;
}

.nw_mitra_description {
  margin-bottom: 30px;
  text-align: center;
}

.nw_mitra_description p {
  font-size: 16px;
  color: #666666;
  line-height: 1.6;
  margin: 0;
}

.nw_mitra_list_container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 25px;
  margin-bottom: 30px;
}

.nw_mitra_category {
  background: #f8f9fa;
  border-radius: 10px;
  padding: 20px;
  /* border-left: 4px solid #d12b2b; */
}

.nw_mitra_category h4 {
  color: #d12b2b;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 15px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.nw_mitra_category h4 i {
  font-size: 16px;
}

.nw_mitra_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.nw_mitra_list li {
  padding: 8px 0;
  color: #333333;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #e9ecef;
}

.nw_mitra_list li:last-child {
  border-bottom: none;
}

.nw_mitra_list li i {
  color: #28a745;
  font-size: 14px;
}

.nw_mitra_footer {
  background: #f8f9fa;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  border: 2px dashed #d12b2b;
}

.nw_mitra_footer p {
  margin: 0;
  color: #666666;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.nw_mitra_footer i {
  color: #d12b2b;
  font-size: 18px;
}

.nw_mitra_footer a {
  color: #d12b2b;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}

.nw_mitra_footer a:hover {
  color: #b02525;
  text-decoration: underline;
}

/* Responsive Design for Mitra Modal */
@media (max-width: 768px) {
  .nw_mitra_modal_content {
    width: 95%;
    margin: 10% auto;
    max-height: 85vh;
  }

  .nw_mitra_modal_header {
    padding: 20px;
  }

  .nw_mitra_modal_header h3 {
    font-size: 20px;
  }

  .nw_mitra_modal_body {
    padding: 20px;
  }

  .nw_mitra_list_container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .nw_mitra_btn {
    padding: 12px 25px;
    font-size: 14px;
  }

  .nw_mitra_footer p {
    font-size: 14px;
    flex-direction: column;
    gap: 5px;
  }
}

@media (max-width: 480px) {
  .nw_mitra_modal_content {
    width: 98%;
    margin: 5% auto;
  }

  .nw_mitra_modal_header {
    padding: 15px;
  }

  .nw_mitra_modal_header h3 {
    font-size: 18px;
  }

  .nw_mitra_modal_body {
    padding: 15px;
  }

  .nw_mitra_category {
    padding: 15px;
  }

  .nw_mitra_btn {
    padding: 10px 20px;
    font-size: 13px;
    width: 100%;
    justify-content: center;
  }

  .nw_legal_document {
    padding: 15px;
  }

  .nw_legal_document h4 {
    font-size: 16px;
  }

  .nw_legal_image img {
    max-height: 300px;
  }
}

/* Legal Documents Modal Styles */
#legalModal .nw_mitra_modal_content {
  width: 95%;
  max-width: 1400px;
  margin: 2% auto;
  max-height: 95vh;
}

.nw_legal_documents_container {
  display: flex;
  flex-direction: row;
  gap: 30px;
  align-items: flex-start;
}

.nw_legal_document {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px;
  /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); */
  border: 1px solid #e0e0e0;
  flex: 1;
  min-width: 0;
}

.nw_legal_document h4 {
  color: #d12b2b;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: center;
  justify-content: center;
}

.nw_legal_document h4 i {
  color: #d12b2b;
  font-size: 16px;
}

.nw_legal_image {
  text-align: center;
  border-radius: 8px;
  overflow: hidden;
  /* box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); */
}

.nw_legal_image img {
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
  transition: transform 0.3s ease;
  cursor: pointer;
}

.nw_legal_image img:hover {
  transform: scale(1.02);
}

@media (max-width: 1024px) {
  #legalModal .nw_mitra_modal_content {
    width: 98%;
    margin: 3% auto;
  }

  .nw_legal_documents_container {
    gap: 20px;
  }

  .nw_legal_image img {
    max-height: 60vh;
  }
}

@media (max-width: 768px) {
  #legalModal .nw_mitra_modal_content {
    width: 95%;
    margin: 5% auto;
    max-height: 90vh;
  }

  .nw_legal_documents_container {
    flex-direction: column;
    gap: 20px;
  }

  .nw_legal_document {
    padding: 15px;
  }

  .nw_legal_document h4 {
    font-size: 16px;
  }

  .nw_legal_image img {
    max-height: 50vh;
  }
}

@media (max-width: 480px) {
  #legalModal .nw_mitra_modal_content {
    width: 98%;
    margin: 2% auto;
  }

  .nw_legal_image img {
    max-height: 40vh;
  }
}

/* PDF Document Styles */
.nw_legal_pdf {
  text-align: center;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  background: #f8f9fa;
  padding: 20px;
}

.nw_legal_pdf iframe {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}

.nw_pdf_download {
  margin-top: 20px;
  text-align: center;
}

.nw_pdf_download .nw_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background-color: #d12b2b;
  color: white;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.nw_pdf_download .nw_btn:hover {
  background-color: #af0a0a;
  color: white;
  text-decoration: none;
}

/* Responsive adjustments for PDF */
@media (max-width: 768px) {
  .nw_legal_pdf iframe {
    height: 400px;
  }
  
  .nw_legal_documents_container {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .nw_legal_pdf iframe {
    height: 300px;
  }
  
  .nw_legal_pdf {
    padding: 15px;
  }
}

/*
@media only screen and (max-width: 767px) {
	body h1,
	body h1 span{
		font-size: 30px !important;
		line-height: 35px !important;
	}
	body h2{
		font-size: 28px !important;
		line-height: 33px !important;
	}
	body h3{
		font-size: 26px !important;
		line-height: 31px !important;
	}
	body h4{
		font-size: 24px !important;
		line-height: 27px !important;
	}
	body h5{
		font-size: 22px !important;
		line-height: 27px !important;
	}
	body h6{
		font-size: 20px !important;
		line-height: 25px !important;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
	body h1,
	body h1 span{
		font-size: 36px !important;
		line-height: 39px !important;
	}
	body h2{
		font-size: 32px !important;
		line-height: 35px !important;
	}
	body h3{
		font-size: 28px !important;
		line-height: 31px !important;
	}
	body h4{
		font-size: 24px !important;
		line-height: 27px !important;
	}
	body h5{
		font-size: 20px !important;
		line-height: 23px !important;
	}
	body h6{
		font-size: 18px !important;
		line-height: 21px !important;
	}

/* ========================================
   BUSINESS UNITS SECTION STYLES
   ======================================== */
.nw_business_units_section {
	background: #f8f9fa;
	padding: 80px 0;
	position: relative;
}

.nw_business_units_header {
	margin-bottom: 80px;
	text-align: center;
	position: relative;
}

.nw_business_units_header h2 {
	position: relative;
	display: inline-block;
}

.nw_business_units_header h2::after {
	content: '';
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 100px;
	height: 4px;
	background: linear-gradient(90deg, #d12b2b 0%, #ff4757 50%, #ffa502 100%);
	border-radius: 2px;
}

.nw_business_units_content {
	margin-top: 50px;
}

.nw_business_unit {
	margin-bottom: 50px;
	transition: all 0.3s ease;
}

.nw_business_unit:hover {
	transform: scale(1.01);
}

.nw_business_unit_card {
	padding: 60px 0;
	border-bottom: 2px solid #e9ecef;
	position: relative;
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.nw_business_unit_card:last-child {
	border-bottom: none;
}

.nw_business_unit_card:hover {
	background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
	transform: translateY(-5px);
	padding-left: 20px;
	padding-right: 20px;
}

.nw_business_unit_card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	background: linear-gradient(180deg, #d12b2b 0%, #ff4757 50%, #ffa502 100%);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.nw_business_unit_card:hover::before {
	opacity: 1;
}

.nw_business_unit_logo {
	text-align: center;
	margin-bottom: 40px;
	position: relative;
	transition: transform 0.3s ease;
}

.nw_business_unit_card:hover .nw_business_unit_logo {
	transform: scale(1.05);
}

.nw_business_unit_logo::after {
	content: '';
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 2px;
	background: linear-gradient(90deg, #d12b2b, #ff4757);
	border-radius: 1px;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.nw_business_unit_logo img {
	max-width: 140px;
	max-height: 90px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
	transition: transform 0.3s ease;
}

.nw_business_unit_card:hover .nw_business_unit_logo::after {
	opacity: 1;
	width: 80px;
}

.nw_business_unit_card:hover .nw_business_unit_logo img {
	transform: scale(1.05);
}

.nw_business_unit_header {
	margin-bottom: 40px;
	text-align: center;
	position: relative;
}

.nw_business_unit_header h3 {
	color: #1a202c;
	font-size: 28px;
	font-weight: 800;
	margin-bottom: 25px;
	line-height: 1.3;
	letter-spacing: -0.5px;
	text-transform: uppercase;
	background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	transition: all 0.3s ease;
}

.nw_business_unit_divider {
	width: 80px;
	height: 4px;
	background: linear-gradient(135deg, #d12b2b 0%, #ff4757 50%, #ffa502 100%);
	margin: 0 auto;
	border-radius: 2px;
	position: relative;
	overflow: hidden;
}

.nw_business_unit_divider::after {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
	animation: shimmer 2s infinite;
}

@keyframes shimmer {
	0% { left: -100%; }
	100% { left: 100%; }
}

.nw_business_unit_content {
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
	padding: 0 20px;
}

.nw_business_unit_description {
	color: #4a5568;
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 30px;
	text-align: center;
	font-weight: 400;
	letter-spacing: 0.3px;
	position: relative;
	padding: 0;
	transition: all 0.3s ease;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	max-height: 90px;
}

.nw_business_unit_card:hover .nw_business_unit_description {
	color: #2c3e50;
	transform: scale(1.02);
}

.nw_read_more_btn {
	background: linear-gradient(135deg, #d12b2b, #ff4757);
	color: white;
	border: none;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-top: auto;
	align-self: flex-start;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.nw_read_more_btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(209, 43, 43, 0.4);
}

/* Modal Styles */
.nw_business_modal {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(5px);
}

.nw_business_modal_content {
	background-color: #ffffff;
	margin: 5% auto;
	padding: 40px;
	border-radius: 20px;
	width: 90%;
	max-width: 600px;
	max-height: 80vh;
	overflow-y: auto;
	position: relative;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	animation: modalSlideIn 0.3s ease;
}

@keyframes modalSlideIn {
	from {
		transform: translateY(-50px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

.nw_business_modal_close {
	position: absolute;
	top: 15px;
	right: 20px;
	font-size: 28px;
	font-weight: bold;
	color: #aaa;
	cursor: pointer;
	transition: color 0.3s ease;
}

.nw_business_modal_close:hover {
	color: #d12b2b;
}

.nw_business_modal_header {
	margin-bottom: 25px;
	text-align: center;
}

.nw_business_modal_header h3 {
	color: #2c3e50;
	font-size: 28px;
	font-weight: 800;
	margin-bottom: 15px;
	background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.nw_business_modal_body {
	color: #4a5568;
	font-size: 16px;
	line-height: 1.8;
	text-align: justify;
}

.nw_business_unit_features {
	margin-top: 20px;
}

.nw_feature_item {
	display: flex;
	align-items: center;
	margin-bottom: 12px;
	padding: 8px 0;
}

.nw_feature_item i {
	color: #d12b2b;
	font-size: 16px;
	margin-right: 12px;
	min-width: 20px;
}

.nw_feature_item span {
	color: #555;
	font-size: 15px;
	font-weight: 500;
}

/* Responsive Design for Business Units */
@media (max-width: 991px) {
	.nw_business_units_section {
		padding: 70px 0;
	}
	
	.nw_business_units_header {
		margin-bottom: 60px;
	}
	
	.nw_business_unit_card {
		padding: 50px 0;
	}
	
	.nw_business_unit_header h3 {
		font-size: 24px;
	}
	
	.nw_business_unit_description {
		font-size: 15px;
		max-width: 600px;
	}
	
	.nw_business_unit_content {
		padding: 0 15px;
	}
	
	.nw_business_modal_content {
		width: 95%;
		max-width: 500px;
		padding: 25px;
	}
	
	.nw_business_modal_header h3 {
		font-size: 24px;
	}
}

@media (max-width: 767px) {
	.nw_business_units_section {
		padding: 60px 0;
	}
	
	.nw_business_units_header {
		margin-bottom: 50px;
	}
	
	.nw_business_units_header h2::after {
		width: 80px;
		height: 3px;
	}
	
	.nw_business_unit_card {
		padding: 40px 0;
	}
	
	.nw_business_unit_card:hover {
		transform: translateY(-3px);
	}
	
	.nw_business_unit_header h3 {
		font-size: 22px;
		letter-spacing: -0.3px;
	}
	
	.nw_business_unit_description {
		font-size: 15px;
		max-width: 500px;
		line-height: 1.6;
	}
	
	.nw_business_unit_logo img {
		max-width: 120px;
		max-height: 80px;
	}
	
	.nw_business_modal_content {
		width: 98%;
		max-width: 450px;
		padding: 20px;
		max-height: 85vh;
	}
	
	.nw_business_modal_header h3 {
		font-size: 22px;
	}
	
	.nw_read_more_btn {
		padding: 10px 20px;
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.nw_business_units_section {
		padding: 50px 0;
	}
	
	.nw_business_units_header {
		margin-bottom: 40px;
	}
	
	.nw_business_unit_card {
		padding: 30px 0;
	}
	
	.nw_business_unit_card:hover {
		transform: translateY(-2px);
	}
	
	.nw_business_unit_header h3 {
		font-size: 20px;
		line-height: 1.3;
	}
	
	.nw_business_unit_description {
		font-size: 14px;
		max-width: 400px;
		margin-bottom: 25px;
		line-height: 1.5;
	}
	
	.nw_business_unit_content {
		padding: 0 10px;
	}
	
	.nw_business_unit_logo img {
		max-width: 100px;
		max-height: 70px;
	}
	
	.nw_business_unit_divider {
		width: 60px;
		height: 3px;
	}
	
	.nw_business_modal_content {
		width: 100%;
		max-width: 100%;
		padding: 15px;
		max-height: 90vh;
		margin: 5% auto;
	}
	
	.nw_business_modal_header h3 {
		font-size: 20px;
		line-height: 1.2;
	}
	
	.nw_business_modal_close {
		font-size: 24px;
		top: 10px;
		right: 15px;
	}
	
	.nw_read_more_btn {
		padding: 8px 16px;
		font-size: 12px;
	}
}

/* End of Business Units Styles */
