/*-------------
[Table of contents]

[ DEFULT INDEX NUMBER ]

1.  GENERAL CSS
2.  NAVBAR
4.  HOME
5.  SERVICE
6.  ABOUT
7.  TESTIMONIAL
8.  FAQ
9.  QUATE
10. SUBSCRIBE
11. PRICING
12. BLOG
13. FOOTER
14. COPYRIGHT


-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[ Color codes ]

    [ Text and Background Color ]
        Main color 1:       #1089ff
        Main color 2:       #009688
        Main color 3:       #9c27b0
        Main color 4:       #ff4081
        Background 1:       #FFFFFF
        Background 2:       #F6F6F6
        Shadow color:       #000000;



-------------------------------------------------------------------*/
/*------------------------------------------------------------------
[Typography]


    [ There are using two different font typography ]
        Typography 1: Robotu font;
        Typography 2: Montserrat font;
        Typography 3: Roboto Slab font;

    [ Other Typography style are same ]
    Body :
        font-style:     normal;
        font-size:      15px;

    h2:
        font-size: 48px;
        line-height: 55px;

    h3:
        font-size: 30px;
        line-height: 40px;

    h4:
        font-size: 20px;
        font-weight: 600;

    p:
        font-size: 18px;
        line-height: 30px;


-------------------------------------------------------------------*/
/*
================
 VARIABLES
================
*/
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.shadow-1 {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

/**
 * -------------------
 *  Defult CSS
 * -------------------
 */
html {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased; }

body {
  font-family: "Roboto Slab", sans-serif;
  /* font-size: 14px; */
  font-style: none;
  line-height: 24px;
  font-weight: 500;
  overflow-x: hidden !important;
  text-align: left;
  position: relative;
  color: #999999;
  opacity: 0.9; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto Slab", sans-serif;

 }

p {
  opacity: 1;
 }

.nav li a {
  text-decoration: none !important;
  display: inline-block;
  cursor: pointer;
  padding: 0px;
  background-color: transparent;
  -moz-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease; }
  .nav li a:hover {
    background-color: transparent; }
  .nav li a:focus {
    background-color: transparent;
    outline: 0 !important; }

a {
  text-decoration: none !important;
  cursor: pointer;
  padding: 0px;
  background-color: transparent;
  -moz-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  color: #000;
  opacity: 0.9; }
  a:hover {
    background-color: transparent; }
  a:focus {
    background-color: transparent;
    outline: 0 !important; }

.center {
  float: none;
  margin: 0 auto;
  text-align: center; }

/**
 * ---------------------
 *  Defult Halping Class
 * ---------------------
 */
.overflow {
  overflow: hidden; }

.relative {
  position: relative; }

.display-table {
  display: table;
  width: 100%;
  height: 100%; }

.display-flex {
  display: flex;
  flex: 1; }

.vertical-middle {
  display: table-cell;
  float: none;
  vertical-align: middle; }

/**
 * --------------------------------------
 *  Video Section Background Defult Style
 * --------------------------------------
 */
.section-video {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  min-height: 100%;
  min-width: 100%;
  overflow: hidden;
  z-index: -1; }
  .section-video .bgvid {
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    min-width: 100%;
    background-size: cover;
    -o-background-size: cover;
    -moz-background-size: cover;
    -webkit-background-size: cover; }

.body-video-bg > .section-video {
  position: fixed;
  top: 0;
  left: 0; }

.section-title {
  text-align: center; }
  .section-title h3 {
    font-size: 30px;
    line-height: 40px;
    color: #fff;
    font-weight: bold;
    margin-bottom: 60px; }

/**
 * ------------------------------------
 *  Every Section Headline Defult Class
 * ------------------------------------
 */
.section-heading {
  display: block;
  margin: 0; }

.section-header {
  margin-bottom: 100px;
  text-align: center; }
  .section-header .sub-heading {
    font-size: 22px;
    line-height: 30px;
    font-weight: 300;
    text-transform: uppercase;
    margin: 0 0 10px 0; }
  .section-header.text-left,
  .section-header.text-left * {
    text-align: left; }
  .section-header.text-right,
  .section-header.text-right * {
    text-align: right; }

.section-header-separator {
  position: relative;
  width: 145px;
  margin: 5px auto;
  display: inline-block; }
  .section-header-separator .icon {
    font-size: 48px;
    text-align: center !important; }
  .section-header-separator::before, .section-header-separator::after {
    content: '';
    position: absolute;
    width: 57px;
    height: 2px;
    top: 25px; }
  .section-header-separator::before {
    left: 0; }
  .section-header-separator::after {
    right: 0; }

.v-middle {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  flex-direction: row;
  -webkit-flex-direction: row; }

.mini-separator {
  padding: 20px 0; }

  section {
    padding: 10px 0;
    padding-bottom: 30px;
}

/**
 * ---------------------
 *   Defult Button Style
 * ---------------------
 */
.btn {
  -moz-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  outline: 0;
  padding: 8px 30px;
  font-weight: bold;
  border-radius: 20px; }
  .btn:last-child {
    margin-right: 0px !important; }
  .btn .icon {
    position: relative;
    top: 2px; }
    .btn .icon img {
      position: relative;
      top: -3px;
      width: 14px; }
  .btn.btn-fill {
    background-color: #1089ff;
    color: #fff; }
  .btn.left-icon .icon {
    margin-right: 15px; }
  .btn.right-icon .icon {
    margin-left: 15px; }
  .btn.btn-border {
    background-color: transparent; }
  .btn.white-btn-border {
    background-color: transparent;
    border-color: #fff; }
  .btn.btn-round {
    padding: 15px;
    border-radius: 50%;
    width: 65px;
    height: 65px;
    font-size: 24px;
    text-align: center; }
    .btn.btn-round .icon {
      top: 7px; }
  .btn.apple, .btn.androad {
    -webkit-border-radius: 3px !important;
    -moz-border-radius: 3px !important;
    border-radius: 3px !important;
    padding: 9px 28px;
    height: 82px; }
    .btn.apple img, .btn.androad img {
      width: 35px;
      height: 100%;
      float: left; }
    .btn.apple .icon, .btn.androad .icon {
      font-size: 60px;
      float: left; }
    .btn.apple span, .btn.androad span {
      display: block;
      -moz-transition: color 0.3s ease;
      -o-transition: color 0.3s ease;
      -webkit-transition: color 0.3s ease;
      transition: color 0.3s ease; }
    .btn.apple .group, .btn.androad .group {
      float: right; }
    .btn.apple .big,
    .btn.apple .small, .btn.androad .big,
    .btn.androad .small {
      text-align: left;
      margin-left: 7px;
      line-height: 30px; }
    .btn.apple .big, .btn.androad .big {
      font-size: 24px;
      font-weight: 400; }
    .btn.apple .small, .btn.androad .small {
      font-size: 16px; }

.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
  outline: thin dotted;
  outline: 0px auto -webkit-focus-ring-color !important;
  outline-offset: -2px; }

.btn-text-link {
  padding: 50px 0 0 0;
  text-align: center; }
  .btn-text-link a {
    margin-left: 10px; }

/**
 * -----------------
 * Social Icon Style
 * -----------------
 */
.social-icon {
  display: inline-block; }
  .social-icon li {
    list-style: none;
    float: left;
    margin-bottom: 0px;
    margin-right: 8px; }
    .social-icon li a {
      text-align: center;
      width: 45px;
      height: 45px;
      padding: 10px;
      border-radius: 50%; }
    .social-icon li:last-child a {
      margin-right: 0px; }


/**
 * -----------------------------------
 * Subscription and contact  "MESSAGE"
 * -----------------------------------
 */
.subscription-success,
.subscription-failed,
.email-success,
.email-failed,
.email-loading {
  font-size: 15px;
  display: none;
  text-align: center !important;
  padding: 10px !important; }

.email-loading {
  color: #52B8FF; }
  .email-loading img {
    width: 15px;
    position: relative;
    top: -2px; }

.subscription-failed,
.email-failed {
  color: #FF5252 !important; }
  .subscription-failed .icon,
  .email-failed .icon {
    font-size: 20px;
    position: relative;
    top: 5px; }

.subscription-success,
.email-success {
  color: #56CC35; }

.subscription-failed .icon,
.email-failed .icon,
.subscription-success .icon,
.email-success .icon {
  font-size: 20px;
  position: relative;
  top: 5px; }


#resultMessage {
    color: green;
    background-color: #ccffcc;
    padding: 10px;
    margin-top: 10px;
    border-radius: 5px;
    display: none; /* Start hidden */
}

/**
 * ------------------
 * list
 * ------------------
 */
ul {
  margin: 0;
  padding: 0; }
  ul li {
    list-style-type: none; }

.f-top{
  padding: 15px;
  font-size: 0.85em;
}

/**
 * =================
 * CONTAINER HALF CONTENT
 * =================
 */
.content-half {
  position: relative; }

.container-half-left {
  left: 0;
  background-position: center right; }

.container-half-right {
  right: 0;
  background-position: center left; }

.vertical-middle-content {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
  flex-direction: row;
  -webkit-flex-direction: row; }

/**
 * ---------------------------------
 *  Section Background Size Property
 * ---------------------------------
 */
.bg-cover {
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: 50% 50%;
  background-attachment: initial;
  background-repeat: no-repeat; }

.dark-bg {
  background-color: #202026; }

.section-separator {
  padding: 20px 0; }

.section-separator-second {
  padding-bottom: 20px;
}

.home-section-separator {
  padding-top: 20px;
  padding-bottom: 20px; }

.bg-black {
  background-color: #000; }

.form-control {
  -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.16), 0 0px 2px 0 rgba(255, 255, 255, 0.12);
  -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.16), 0 0px 2px 0 rgba(255, 255, 255, 0.12);
  box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.16), 0 0px 2px 0 rgba(255, 255, 255, 0.12);
  background-color: transparent;
  border-color: transparent;
  margin-bottom: 20px;
  height: 50px;
  line-height: 50px; }
  .form-control:focus {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.16), 0 0px 2px 0 rgba(255, 255, 255, 0.12);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.16), 0 0px 2px 0 rgba(255, 255, 255, 0.12);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.16), 0 0px 2px 0 rgba(255, 255, 255, 0.12);
    background-color: transparent; }

.p-200 {
  padding: 0 200px; }

.img-overlay {
  background-image: url(../images/footer-bg.png);
  background-size: cover;
  background-size: cover;
  background-repeat: no-repeat;
  margin: 0 auto;
  background-position: center center; }

.image-bg {
  background-size: cover;
  background-size: cover;
  background-repeat: no-repeat;
  margin: 0 auto;
  background-position: center center; }

.home-2-img {
  background-image: url(../images/home-bg-img.jpg); }

.featured-img-one {
  background-image: url(../images/home-bg-img.jpg); }

.award-img{
  background-image: url(../images/award.jpg);
}

.featured-img-two {
  background-image: url(../images/extra-feature-bg.jpg); }

.mt-30 {
  margin-top: 30px; }

button {
  outline: 0; }
  button:hover {
    outline: 0; }
  button:focus {
    outline: 0; }

.btn {
  outline: 0; }
  .btn:hover {
    outline: 0; }
  .btn:focus {
    outline: 0; }

.round-image {
  border-radius: 50%; }

.form-control {
  padding: 20px;
  -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
  .form-control:focus {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    border-color: transparent; }

.contact-message {
  -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  background-color: transparent;
  border-color: transparent;
  margin-bottom: 20px;
  width: 100%;
  padding: 20px;
  outline: 0; }
  .contact-message:focus {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    border-color: transparent; }

/**
 * -----------------
 * General CSS
 * -----------------
 */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-weight: bold; }

.white-vertion.black-bg {
  background-color: #fff; }
.white-vertion .section-loader {
  background: #fff; }
.white-vertion ::placeholder {
  color: #000; }
.white-vertion a {
  color: #000; }
.white-vertion h2 {
  color: #000; }
.white-vertion h3 {
  color: #000; }
.white-vertion h4 {
  color: #000; }
.white-vertion h5 {
  color: #000; }
.white-vertion h6 {
  color: #000; }
.white-vertion p {
  color: #000; }
.white-vertion address {
  color: #000; }
.white-vertion span {
  color: #000; }
.white-vertion ul li {
  color: #000; }
.white-vertion div {
  color: #000; }
.white-vertion .form-control {
  color: #fff; }
.white-vertion .contact-message {
  color: #fff; }
.white-vertion .nav-strict {
  background-color: #fff; }
.white-vertion .img-color-overlay {
  background-color: rgba(255, 255, 255, 0.9); }
.white-vertion .dark-bg {
  background-color: #fff; }
.white-vertion .mh-home .mh-header-info .mh-promo span {
  color: #fff; }
.white-vertion .mh-project-gallery .grid-item figure figcaption a {
  color: #fff; }
.white-vertion .mh-project-gallery .grid-item figure figcaption .title {
  color: #fff; }
.white-vertion .mh-project-gallery .grid-item figure figcaption .sub-title {
  color: #fff; }
.white-vertion .mh-portfolio-modal {
  background: #fff; }
.white-vertion .page-item.active .page-link {
  background-color: #fff;
  border-color: #fff;
  color: #1089ff; }
.white-vertion .navbar-toggler .icon,
.white-vertion .navbar-toggler .icon::after,
.white-vertion .navbar-toggler .icon::before {
  background-color: #000; }
.white-vertion .mh-header .navbar-nav li a {
  color: #000;
  opacity: 0.8; }
.white-vertion .mh-home .mh-header-info .social-icon li .fa:hover {
  background-color: #000; }
.white-vertion h1, .white-vertion h2, .white-vertion h3, .white-vertion h4, .white-vertion h5, .white-vertion h6, .white-vertion p, .white-vertion address, .white-vertion span, .white-vertion q {
  opacity: 0.8; }
.white-vertion .mh-header .navbar-nav li.active a {
  padding-right: 0;
  padding-left: 0;
  border-color: #000; }
.white-vertion .mh-header.nav-3 .navbar-nav li.active a {
  border-color: transparent; }
.white-vertion .mh-footer .form-control {
  -webkit-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  -moz-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  color: #000; }
  .white-vertion .mh-footer .form-control:focus {
    -webkit-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
    -moz-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
    box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8); }
.white-vertion .mh-footer .contact-message {
  -webkit-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  -moz-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  color: #000; }
  .white-vertion .mh-footer .contact-message:focus {
    -webkit-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
    -moz-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
    box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8); }
.white-vertion .mh-footer-2 .form-control {
  -webkit-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  -moz-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8); }
  .white-vertion .mh-footer-2 .form-control:focus {
    -webkit-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
    -moz-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
    box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8); }
.white-vertion .mh-footer-2 .contact-message {
  -webkit-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  -moz-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
  box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8); }
  .white-vertion .mh-footer-2 .contact-message:focus {
    -webkit-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
    -moz-box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8);
    box-shadow: 0 0px 1px 0 rgba(40, 40, 40, 0.8), 0 0px 1px 0px rgba(40, 40, 40, 0.8); }
.white-vertion .mh-blog .mh-blog-item .blog-inner h2 a {
  color: #000; }
.white-vertion .shadow-1 {
  box-shadow: 0px 10px 20px 4px #00000015; }
.white-vertion .mh-pricing .mh-pricing {
  box-shadow: 0px 10px 20px 4px #00000015; }
.white-vertion .mh-blog .mh-blog-item {
  box-shadow: 0px 10px 20px 4px #00000015; }
.white-vertion .mh-experince .mh-education-deatils .mh-education-item {
  box-shadow: 0px 10px 20px 4px #00000015; }
.white-vertion .mh-work .mh-experience-deatils .mh-work-item {
  box-shadow: 0px 10px 20px 4px #00000015; }

.dark-vertion {
  opacity: 0.9; }
  .dark-vertion.black-bg {
    background-color: #100e17; }
  .dark-vertion .section-loader {
    background: #100e17; }
  .dark-vertion ::placeholder {
    color: #100e17; }
  .dark-vertion a {
    color: #100e17; }
  .dark-vertion h2 {
    color: #100e17; }
  .dark-vertion h3 {
    color: #100e17; }
  .dark-vertion h4 {
    color: #100e17; }
  .dark-vertion h5 {
    color: #100e17; }
  .dark-vertion h6 {
    color: #100e17; }
  .dark-vertion p {
    color: #100e17; }
  .dark-vertion address {
    color: #100e17; }
  .dark-vertion span {
    color: #100e17; }
  .dark-vertion div {
    color: #100e17; }
  .dark-vertion ul li {
    color: #100e17; }
  .dark-vertion .form-control {
    color: #100e17; }
  .dark-vertion .contact-message {
    color: #100e17; }
  .dark-vertion .nav-strict {
    background-color: #202026; }
  .dark-vertion .img-color-overlay {
    background-color: rgba(0, 0, 0, 0.9); }
  .dark-vertion .mh-home .mh-header-info .social-icon li .fa:hover {
    background-color: #fff; }
  .dark-vertion .page-item.active .page-link {
    background-color: #fff;
    border-color: #fff;
    color: #1089ff; }
  .dark-vertion .navbar-toggler .icon,
  .dark-vertion .navbar-toggler .icon::after,
  .dark-vertion .navbar-toggler .icon::before {
    background-color: #fff; }
  .dark-vertion .mh-header .navbar-nav li.active a {
    border-color: #fff;
    padding-right: 0;
    padding-left: 0; }
  .dark-vertion .mh-header.nav-3 .navbar-nav li.active a {
    border-color: transparent; }
  .dark-vertion .mh-footer .form-control {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
    .dark-vertion .mh-footer .form-control:focus {
      -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
      -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
      box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
  .dark-vertion .mh-footer .contact-message {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
    .dark-vertion .mh-footer .contact-message:focus {
      -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
      -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
      box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
  .dark-vertion .mh-footer-2 .form-control {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
    .dark-vertion .mh-footer-2 .form-control:focus {
      -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
      -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
      box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
  .dark-vertion .mh-footer-2 .contact-message {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
    .dark-vertion .mh-footer-2 .contact-message:focus {
      -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
      -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
      box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
  .dark-vertion .mh-work .mh-experience-deatils .mh-work-item {
    -webkit-box-shadow: -1rem 0 3rem #000;
    box-shadow: -1rem 0 3rem #000; }
  .dark-vertion .mh-pricing .mh-pricing {
    -webkit-box-shadow: -1rem 0 3rem #000;
    box-shadow: -1rem 0 3rem #000; }
  .dark-vertion .mh-blog .mh-blog-item {
    -webkit-box-shadow: -1rem 0 3rem #000;
    box-shadow: -1rem 0 3rem #000; }
  .dark-vertion .mh-footer-address .mh-address-footer-item {
    -webkit-box-shadow: -1rem 0 3rem #000;
    box-shadow: -1rem 0 3rem #000; }
  .dark-vertion .mh-experince .mh-education-deatils .mh-education-item {
    -webkit-box-shadow: -1rem 0 3rem #000;
    box-shadow: -1rem 0 3rem #000; }
  .dark-vertion .mh-service .mh-service-item {
    -webkit-box-shadow: -1rem 0 3rem #000;
    box-shadow: -1rem 0 3rem #000; }

  .dark-vertion .mh-home .profile-img img {
    border: 20px solid rgba(0, 0, 0, 0.4); }
  .dark-vertion .mh-home .img-border {
    border: 20px solid rgba(0, 0, 0, 0.9); }

  .dark-vertion .candidatos .parcial .progressBar {
    background: rgba(199, 198, 198, 0.6); }
  .dark-vertion .mh-progress path:nth-child(1) {
    stroke: rgba(255, 255, 255, 0.5); }

.mh-rtl {
  text-align: right; }
  .mh-rtl .mh-work .mh-experience-deatils
  .mh-work-item .work-responsibility
  li .fa {
    margin-left: 10px; }
  .mh-rtl .mh-blog-post-info ul li strong {
    margin-left: 6px; }
  .mh-rtl .mh-footer .form-control {
    text-align: right; }
  .mh-rtl .mh-footer .contact-message {
    text-align: right; }

body {
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s; }


/*
  ================
   Background Particles Animation
  ================
*/

#particles-js{
      height: 100%;
      position: fixed;
      top: 0%;
      right: 0%;
      bottom: 0%;
      left: 0%;
      z-index: -1;

  }

  /*
    ================
     Back to top button
    ================
  */
#topButton{
  text-align: center;
  vertical-align:middle;
  display:inline-block;
  position: fixed;
  bottom: 4%;
  right: 4%;
  font-size: 90%;
  width: 50px;
  height: 50px;
  background-color: #1089ff;
  background-repeat:no-repeat;
  color: #fff;
  border-radius: 100%;
  border-color: transparent;
  cursor: pointer;
  display: none;
}

.fa-arrow-up{
  line-height: inherit;
}

/*
    ==============
    Navigation
    ==============
*/
/*---------------------------------------------------------------------*/
/* Loader
/*---------------------------------------------------------------------*/
.section-loader {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  z-index: 9999999; }

.section-loader .loader {
  position: relative; }

.section-loader .loader div {
  box-sizing: content-box;
  position: absolute;
  border-width: 4px;
  border-style: solid;
  opacity: 1;
  border-radius: 50%;
  -webkit-animation: loader 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
  animation: loader 1s cubic-bezier(0, 0.2, 0.8, 1) infinite; }

.section-loader .loader div:nth-child(1) {
  border-color: #1089ff; }

.section-loader .loader div:nth-child(2) {
  border-color: #e5e5e5;
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s; }

.section-loader .loader {
  width: 200px !important;
  height: 200px !important;
  -webkit-transform: translate(-100px, -100px) scale(1) translate(100px, 100px);
  transform: translate(-100px, -100px) scale(1) translate(100px, 100px); }

@keyframes loader {
  0% {
    top: 94px;
    left: 94px;
    width: 0;
    height: 0;
    opacity: 1; }
  100% {
    top: 57px;
    left: 57px;
    width: 74px;
    height: 74px;
    opacity: 0; } }
@-webkit-keyframes loader {
  0% {
    top: 94px;
    left: 94px;
    width: 0;
    height: 0;
    opacity: 1; }
  100% {
    top: 57px;
    left: 57px;
    width: 74px;
    height: 74px;
    opacity: 0; } }
/*
    ==============
       Navigation
    ==============
*/
.mh-nav {
  width: 100%; }

.mh-header {
  padding: 20px 0;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 1000;
 }
  .mh-header.nav-strict {
    padding: 15px 0;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s; }
  .mh-header .navbar-nav li {
    margin: 0 20px; }
    .mh-header .navbar-nav li a {
      border-bottom: 1px solid transparent;
      font-weight: bold;
      font-family: "Roboto Slab", sans-serif;
      font-size: 18px;
      opacity: 1;
      line-height: 30px; }
      .mh-header .navbar-nav li a.nav-link {
        padding-left: 0;
        padding-right: 0; }
      .mh-header .navbar-nav li a:hover {
        color: #1089ff; }


.nav-3 .navbar-dark .navbar-nav .nav-link a {
  color: rgba(255, 255, 255, 0.7); }
.nav-3 .navbar-dark .navbar-nav .nav-link.active a {
  color: rgba(255, 255, 255, 0.7); }
.nav-3 .navbar-nav {
  padding-top: 30px; }

.home-padding {
  padding: 50px 0; }

/*
    ==============
       Navigation
    ==============
*/
.mh-home-2 .mh-header-info {
  text-align: center;
  padding-top: 100px; }
  .mh-home-2 .mh-header-info .profile-img {
    margin-bottom: 30px; }
    .mh-home-2 .mh-header-info .profile-img img {
      border: 0px solid #fff;
      border-radius: 50%; }
  .mh-home-2 .mh-header-info h2 {
    font-size: 50px;
    font-weight: 600;
    line-height: 60px;
    margin-top: 10px;
    margin-bottom: 0px;
    opacity: 0.9; }
  .mh-home-2 .mh-header-info h4 {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 20px;
    opacity: 0.9; }
  .mh-home-2 .mh-header-info p {
    padding: 0 120px;
    font-weight: 300; }
  .mh-home-2 .mh-header-info ul li {
    margin: 10px 6px; }
  .mh-home-2 .mh-header-info ul.mh-home-contact {
    margin-bottom: 15px; }
    .mh-home-2 .mh-header-info ul.mh-home-contact li {
      display: inline-block;
      margin: 10px 15px; }
      .mh-home-2 .mh-header-info ul.mh-home-contact li .fa {
        margin-right: 10px; }
      .mh-home-2 .mh-header-info ul.mh-home-contact li:hover .fa {
        color: #1089ff; }
  .mh-home-2 .mh-header-info .mh-about-tag {
    width: 60%;
    margin: 0 auto; }
    .mh-home-2 .mh-header-info .mh-about-tag ul li {
      margin: 6px; }

/*
    ==============
       HOME
    ==============
*/

.mh-rtl .mh-home .mh-header-info ul li .fa {
    margin: 0 10px;
}
.mh-home .mh-header-info {
  padding-top: 10px; }
  .mh-home .mh-header-info .mh-promo {
    margin-bottom: 30px; }
    .mh-home .mh-header-info .mh-promo span {
      background-color: #1089ff;
      font-size: 14px;
      line-height: 24px;
      letter-spacing: 1px;
      font-weight: bold;
      padding: 10px 30px;
      border-top-left-radius: 20px;
      border-top-right-radius: 20px;
      border-bottom-right-radius: 20px;
      border-bottom-left-radius: 0px; }
  .mh-home .mh-header-info h2 {
    font-size: 60px;
    font-weight: 600;
    line-height: 65px;
    margin-top: 10px;
    margin-bottom: 10px; }
  .mh-home .mh-header-info h4 {
    font-size: 26px;
    line-height: 34px;
    margin-bottom: 30px; }
  .mh-home .mh-header-info ul {
    margin-top: 20px; }
    .mh-home .mh-header-info ul li {
      margin: 10px 0; }
      .mh-home .mh-header-info ul li .fa {
        margin-right: 15px;
        display: inline-block; }
      .mh-home .mh-header-info ul li address {
        display: inline-block; }
      .mh-home .mh-header-info ul li:hover .fa {
        color: #1089ff; }
  .mh-home .mh-header-info .social-icon {
    margin-top: 0; }
    .mh-home .mh-header-info .social-icon li .fa {
      font-size: 18px;
      line-height: 30px;
      padding: 4px 14px;
      margin-right: 10px;
      -moz-transition: 0.3s;
      -o-transition: 0.3s;
      -webkit-transition: 0.3s;
      transition: 0.3s;
      border-radius: 3px; }
      .mh-home .mh-header-info .social-icon li .fa:hover {
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        -webkit-transition: 0.3s;
        transition: 0.3s; }
    .mh-home .mh-header-info .social-icon li a {
      font-size: 25px;
      text-align: center;
      width: 30px;
      height: 30px;
      padding: 0;
      margin-right: 0;
      border-radius: 50%; }
.mh-home .profile-img {
  margin: 0 auto;
  float: none;
  margin-top: 30px;
  text-align: center; }

  /* First Profile Image frame */
  /* .mh-home .profile-img img {
    margin: 0 auto;
    float: none;
    text-align: center;
    border: 15px solid rgba(5, 108, 226, 0.17);
    border-radius: 50%; } */

.myintrotext{
  font-size: 13px;
  text-align: justify;
  text-justify: inter-word;
}

.mh-home .img-border {
  height: 350px;
  width: 350px;
  border: 6px solid rgba(16, 136, 255, 0.527);
  margin: 0 auto;
  border-radius: 50%;
  position: relative; }

/* ── Instagram-style story ring ─────────────────────────────────────────────
   Only active once stories.js finds entries in STORIES; otherwise the plain
   blue border above is left untouched. */
.mh-home .img-border.has-story img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%; }

.mh-home .img-border.has-story {
  border-color: transparent;
  cursor: pointer; }

.mh-home .img-border.has-story::before,
.mh-home .img-border.has-story::after {
  content: '';
  position: absolute;
  border-radius: 50%; }

/* The gradient ring itself */
.mh-home .img-border.has-story::before {
  top: -9px; right: -9px; bottom: -9px; left: -9px;
  z-index: 0;
  background: conic-gradient(from 0deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888, #f09433);
  animation: story-ring-spin 6s linear infinite; }

/* The gap between the ring and the photo */
.mh-home .img-border.has-story::after {
  top: -3px; right: -3px; bottom: -3px; left: -3px;
  z-index: 1;
  background: #fff; }

/* Already viewed — dull, static ring */
.mh-home .img-border.has-story.is-seen::before {
  background: #d3d3d3;
  animation: none; }

.mh-home .img-border.has-story:focus-visible {
  outline: none; }

.mh-home .img-border.has-story:focus-visible::before {
  box-shadow: 0 0 0 3px rgba(16, 136, 255, 0.5); }

@keyframes story-ring-spin {
  to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .mh-home .img-border.has-story::before { animation: none; } }

.mh-featured-project-img img {
  width: inherit !important;
  margin: 0 auto; }

.mh-single-project-slide-by-side {
  margin: 0 auto; }

/*
    ==============
       ABOUT
    ==============
*/
.mh-about .mh-about-inner {
  padding-left: 50px; }
  .mh-about .mh-about-inner h2 {
    margin-bottom: 20px;
    margin-top: 20px; }
  .mh-about .mh-about-inner p {
    margin-bottom: 30px; }
  .mh-about .mh-about-inner .btn {
    margin-top: 20px; }
    .mh-about .mh-about-inner .btn .fa {
      margin-left: 10px; }

.mh-about-tag {
  word-break: break-all;
  margin-bottom: 10px;
  margin-top: 10px; }
  .mh-about-tag ul li {
    margin: 0px 6px;
    border-radius: 4px;
    margin-bottom: 10px;
    padding: 4px 0px;
    display: inline-block; }
    .mh-about-tag ul li span {
      border: 2px solid #1089ff;
      padding: 4px 10px;
      border-radius: 4px; }
      .mh-about-tag ul li span:hover {
        background-color: transparent !important; }


/*
    ==============
       SKILLS
    ==============
*/
.mh-skills .mh-professional-skill {
  padding-right: 60px; }
  .mh-skills .mh-professional-skill h3 {
    font-size: 30px;
    line-height: 40px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 60px; }

.mh-professional-skills {
  padding-left: 20%; }
  .mh-professional-skills h3 {
    font-size: 30px;
    line-height: 40px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 60px; }

.mh-professional-progress li {
  display: inline-block;
  margin: 0 auto;
  float: none;
  width: 48%;
  margin-bottom: 30px;
  text-align: center; }

.mh-progress {
  margin-bottom: 10px;
  margin-inline: 20px;
  font: 900 1.1428571429em/1 Cinzel, cursive; }
  .mh-progress .progressbar-text {
    color: inherit !important; }

.progress.progress-line {
  height: 10px;
  margin-right: 60px; }

.progress.progress-line .progressbar-text {
  position: absolute;
  top: 50%;
  left: 100%;
  width: 60px;
  -webkit-transform: translateY(-35%);
  -ms-transform: translateY(-35%);
  transform: translateY(-35%);
  text-align: center; }

.mh-progress .mh-progress-circle {
  display: inline-block;
  width: 100px;
  height: 100px; }

.mh-progress path:nth-child(1) {
  stroke: rgba(0, 0, 0, 0.7); }

.mh-progress path:nth-child(2) {
  stroke: #1089ff; }

.candidatos {
  position: relative;
  margin-bottom: 15px; }
  .candidatos .parcial {
    display: inline-block;
    width: 100%;
    vertical-align: middle; }
    .candidatos .parcial .info {
      position: relative; }
      .candidatos .parcial .info .nome {
        position: absolute;
        top: 0;
        left: 0;
        font-size: 15px;
        font-weight: 600;
        opacity: 0.9; }
      .candidatos .parcial .info .eleito, .candidatos .parcial .info .segundo-turno {
        padding: 0 5px 2px 5px;
        border-radius: 2px; }
      .candidatos .parcial .info .percentagem-num {
        position: absolute;
        top: 0;
        right: 0;
        font-size: 14px;
        font-weight: normal; }
    .candidatos .parcial .progressBar {
      position: relative;
      width: 100%;
      height: 7px;
      margin: 30px 0 2px;
      border-radius: 10px;
      background: rgba(0, 0, 0, 0.5); }
    .candidatos .parcial .percentagem {
      position: absolute;
      top: 0;
      left: 0;
      height: 7px;
      border-top-left-radius: 10px;
      border-bottom-left-radius: 10px;
      border-top-right-radius: 10px;
      border-bottom-right-radius: 10px;
      background: #1089ff;
      transition: 3s all;
      animation-duration: 3s;
      animation-name: animationProgress; }
    .candidatos .parcial .partidas {
      font-size: 10px;
      font-weight: 600;
      text-transform: uppercase; }

.percentual {
  animation-name: animationProgress; }

@-webkit-keyframes animationProgress {
  from {
    width: 0; } }
@keyframes animationProgress {
  from {
    width: 0; } }
/*
    ==============
      EXPERIENCES
    ==============
*/
.mh-experince h3 {
  font-size: 30px;
  line-height: 40px;
  font-weight: bold;
  margin-bottom: 60px; }
.mh-experince .mh-education-deatils .mh-education-item {
  margin-bottom: 30px;
  padding: 26px 30px;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }
  .mh-experince .mh-education-deatils .mh-education-item:last-child {
    margin-bottom: 0; }
  .mh-experince .mh-education-deatils .mh-education-item h4 {
    font-size: 20px;
    line-height: 30px;
    font-weight: 600; }
    .mh-experince .mh-education-deatils .mh-education-item h4 a {
      font-style: italic;
      margin-left: 4px;
      color: #1089ff; }
  .mh-experince .mh-education-deatils .mh-education-item .mh-eduyear {
    margin: 10px 0;
    color: #1089ff; }
  .mh-experince .mh-education-deatils .mh-education-item p {
    font-size: 14px;
    line-height: 23px;
    margin-bottom: 0; }

/*
    ==============
      EDUCATION
    ==============
*/
.mh-education {
  padding-right: 30px; }

.mh-work {
  padding-left: 30px; }
  .mh-work h3 {
    font-size: 30px;
    line-height: 40px;
    font-weight: bold;
    margin-bottom: 60px; }
  .mh-work .mh-experience-deatils .mh-work-item {
    margin-bottom: 30px;
    padding: 20px 30px;
    border-radius: 4px;
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }
    .mh-work .mh-experience-deatils .mh-work-item:last-child {
      margin-bottom: 0; }
    .mh-work .mh-experience-deatils .mh-work-item h4 {
      font-size: 20px;
      line-height: 30px;
      font-weight: 600; }
      .mh-work .mh-experience-deatils .mh-work-item h4 a {
        color: #1089ff; }
    .mh-work .mh-experience-deatils .mh-work-item .mh-eduyear {
      margin: 10px 0;
      color: #1089ff; }
    .mh-work .mh-experience-deatils .mh-work-item span {
      font-size: 12px;
      line-height: 22px; }
    .mh-work .mh-experience-deatils .mh-work-item .work-responsibility li {
      font-size: 14px;
      line-height: 23px;
      margin: 2px 0; }
      .mh-work .mh-experience-deatils .mh-work-item .work-responsibility li .fa {
        font-size: 10px;
        line-height: 23px;
        margin-right: 10px; }

/*
    ==============
      Portfolio
    ==============
*/
.portfolio-nav {
  margin: 0 auto;
  margin-bottom: 40px; }
  .portfolio-nav ul {
    margin: 0 auto;
    float: none;
    text-align: center; }
    .portfolio-nav ul li {
      display: inline-block;
      margin: 0 10px;
      cursor: pointer; }
      .portfolio-nav ul li:hover {
        color: #1089ff; }
      .portfolio-nav ul li.active {
        color: #1089ff; }

.mh-portfolio-modal {
  display: none;
  background: #282828; }

.mh-portfolio-modal-inner {
  max-height: 500px;
  overflow-y: scroll;
  margin-right: 20px; }
  .mh-portfolio-modal-inner::-webkit-scrollbar-track {
    border: 1px solid #000;
    padding: 2px 0;
    background-color: #fff; }
  .mh-portfolio-modal-inner::-webkit-scrollbar {
    width: 10px; }
  .mh-portfolio-modal-inner::-webkit-scrollbar-thumb {
    border-radius: 10px;
    box-shadow: inset 0 0 10px #000; }
  .mh-portfolio-modal-inner h2 {
    margin-top: 10px;
    margin-bottom: 20px; }

.mh-portfolio-modal-img img {
  margin-bottom: 20px; }

.mix {
  display: none; }

/*
    ==============
       Pricing
    ==============
*/
.mh-pricing .mh-pricing {
  padding: 30px 0;
  text-align: center;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  margin-bottom: 30px; }
  .mh-pricing .mh-pricing:hover {
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s; }
    .mh-pricing .mh-pricing:hover .btn {
      -moz-transition: 0.3s;
      -o-transition: 0.3s;
      -webkit-transition: 0.3s;
      transition: 0.3s;
      background-color: #132743; }
  .mh-pricing .mh-pricing .fa {
    font-size: 30px;
    line-height: 36px;
    margin-bottom: 20px;
    color: #1089ff; }
  .mh-pricing .mh-pricing h4 {
    margin-bottom: 10px;
    margin-top: 20px; }
  .mh-pricing .mh-pricing h5 {
    font-size: 36px;
    line-height: 40px;
    color: #1089ff;
    margin-bottom: 20px;
    margin-top: 20px; }
  .mh-pricing .mh-pricing span {
    opacity: 0.8; }
  .mh-pricing .mh-pricing ul {
    margin: 30px 0; }
    .mh-pricing .mh-pricing ul li {
      margin: 2px 0; }
  .mh-pricing .mh-pricing .btn {
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s; }

/*
    ==============
       BLOG
    ==============
*/
.blog-page-heading{
  color: #000;
  font-size: 5rem;
  font-family: "Roboto Slab", sans-serif;
  font-weight: bold;
  padding-bottom: 5rem;
}

.sidebar-heading-title{
  color: #000;
  font-size: 2rem;
  font-family: "Roboto Slab", sans-serif;
  font-weight: bold;

}

.blog-post-style{
  color: #000;
  font-size: 1rem;
}



.mh-blog .mh-blog-item {
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 10px 10px 0px 0px;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  margin-bottom: 30px;
 }
  .mh-blog .mh-blog-item:hover {
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s; }
  .mh-blog .mh-blog-item .blog-inner {
    padding: 0px 20px;
    padding-bottom: 30px; }
    .mh-blog .mh-blog-item .blog-inner h2 h1 a {
      color: #000; }
    .mh-blog .mh-blog-item .blog-inner a {
      color: #000; }
  .mh-blog .mh-blog-item img {
    margin-bottom: 30px; }
  .mh-blog .mh-blog-item h2 {
    font-size: 24px;
    line-height: 32px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #000; }
    .mh-blog .mh-blog-item h2 a {
      color: #000; }
      .mh-blog .mh-blog-item .blog-inner h2 a:hover {
        color: #1089ff; }


.sidebar-catagory{
  text-align: center;
}

/*
    ==============
       MH VIDEO
    ==============
*/
.mh-video .each-video {
  padding-top: 30px;
  padding-bottom: 30px; }
  .mh-video .each-video p {
    margin-top: 20px;
    padding: 0 160px; }
  .mh-video .each-video .fa {
    background-color: #000;
    border-radius: 50%;
    color: black;
    height: 40px;
    width: 40px;
    margin-top: 20px;
    line-height: 40px;
    text-align: center; }

/*
    ==============
       QUATES
    ==============
*/
.mh-quates .each-quates {
  padding-top: 30px;
  padding-bottom: 30px; }
  .mh-quates .each-quates p {
    margin-top: 20px; }
  .mh-quates .each-quates .fa {
    background-color: #fff;
    border-radius: 50%;
    color: black;
    height: 40px;
    width: 40px;
    margin-top: 20px;
    line-height: 40px;
    text-align: center; }

/*
    ==============
       VIDEO
    ==============
*/
.mh-video .each-video {
  padding: 30px 0; }
  .mh-video .each-video p {
    margin-top: 20px; }
  .mh-video .each-video .fa {
    background-color: #fff;
    border-radius: 50%;
    color: black;
    height: 40px;
    width: 40px;
    margin-top: 20px;
    line-height: 40px;
    text-align: center; }

/*
    ============================
      BLOG (created by alif)
    ============================
*/

/*
    =================
       TESTIMONIAL
    =================
*/
.mh-testimonial.mh-single-testimonial .mh-client-item p {
  padding: 0 160px;
  margin: 60px 0; }
.mh-testimonial.mh-2-testimonial .mh-client-item p {
  padding: 0 0px;
  margin: 20px 0; }
.mh-testimonial .mh-client-item {
  margin: 0 auto;
  float: none;
  text-align: center;
  padding: 30px;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }
  .mh-testimonial .mh-client-item img {
    width: inherit;
    float: none;
    margin: 0 auto;
    border: 5px solid #1089ff;
    margin: 0 auto;
    margin-bottom: 20px;
    border-radius: 50%; }
  .mh-testimonial .mh-client-item p {
    margin: 10px 0; }
    .mh-testimonial .mh-client-item p::before {
      content: open-quote;
      margin-right: 6px;
      font-size: 20px; }
    .mh-testimonial .mh-client-item p::after {
      content: close-quote;
      margin-left: 6px;
      font-size: 20px; }
  .mh-testimonial .mh-client-item h4 {
    font-size: 16px;
    line-height: 25px;
    margin-top: 30px;
    margin-bottom: 0; }
  .mh-testimonial .mh-client-item span {
    font-size: 14px;
    line-height: 24px; }
.mh-testimonial .each-client-item {
  margin: 30px 20px; }
.mh-testimonial .owl-controls .owl-nav {
  display: none !important; }
.mh-testimonial .owl-controls .owl-dots {
  padding-left: 15px;
  margin-top: 30px;
  text-align: center; }
.mh-testimonial .owl-controls .owl-dots .owl-dot {
  height: 15px;
  width: 15px;
  border: 1px solid #1089ff;
  display: inline-block;
  border-radius: 50%;
  margin-right: 10px; }
.mh-testimonial .owl-controls .owl-dots .owl-dot.active {
  background-color: #1089ff; }

/*
    ==============
      CERTIFICATE
    ==============
*/


/* Prev/next arrows. Scoped to this carousel so any future Bootstrap carousel keeps
   the stock chevrons. --cert-arrow-top is written by assets/myjs/certificates.js and
   equals half the active image's height, which centres the buttons on the image
   rather than on the image + caption + indicator stack. */
#carouselExampleIndicators .carousel-control-prev,
#carouselExampleIndicators .carousel-control-next {
  /* Required. Bootstrap 4 gives the controls no z-index — it relies on them coming
     after .carousel-inner in document order. We set order:1 on .carousel-inner below
     (to move the indicator row under the slide), and flex items paint in
     order-modified document order, which puts the slide image back on top and hides
     the arrows. Bootstrap 5 fixed this upstream by giving the controls a z-index. */
  z-index: 5;
  top: var(--cert-arrow-top, 50%);
  bottom: auto;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  opacity: 1;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
  transition: background 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

#carouselExampleIndicators .carousel-control-prev { left: 10px; }
#carouselExampleIndicators .carousel-control-next { right: 10px; }

#carouselExampleIndicators .carousel-control-prev:hover,
#carouselExampleIndicators .carousel-control-next:hover {
  background: #fff;
  opacity: 1;
  box-shadow: 0 4px 14px rgba(16, 137, 255, 0.32);
}

#carouselExampleIndicators .carousel-control-prev-icon,
#carouselExampleIndicators .carousel-control-next-icon {
  width: auto;
  height: auto;
  background-image: none;
  line-height: 1;
}

#carouselExampleIndicators .carousel-control-prev-icon:after,
#carouselExampleIndicators .carousel-control-next-icon:after {
  font-size: 32px;
  font-weight: 700;
  color: #1089ff;
}

#carouselExampleIndicators .carousel-control-prev-icon:after { content: '\2039'; }
#carouselExampleIndicators .carousel-control-next-icon:after { content: '\203A'; }

/* No slide in that direction — the carousel is data-wrap="false". */
#carouselExampleIndicators .carousel-control-prev.cert-nav-disabled,
#carouselExampleIndicators .carousel-control-next.cert-nav-disabled {
  opacity: 0.25;
  pointer-events: none;
  box-shadow: none;
}

.carousel-indicators li.active{
  background: #1089ff;
}

#carouselExampleIndicators {
  max-width: 70%;
  margin-left: auto;
  margin-right: auto;
}

/* Category tabs — reuses .proj-filters / .proj-filter-btn styling */
.cert-filters {
  margin-bottom: 30px;
}

/* Move the indicators out from on top of the slide so they don't collide with
   the caption, and give the inactive dots contrast against the page (Bootstrap
   defaults them to translucent white, meant for overlaying an image). */
#carouselExampleIndicators {
  display: flex;
  flex-direction: column;
}

#carouselExampleIndicators .carousel-inner {
  order: 1;
}

#carouselExampleIndicators .carousel-indicators {
  order: 2;
  position: static;
  flex-wrap: wrap;
  gap: 6px;
  margin: 22px 0 0;
}

#carouselExampleIndicators .carousel-indicators li {
  margin-left: 0;
  margin-right: 0;
  background-color: rgba(0, 0, 0, 0.22);
}

/* Restated at this specificity so it still beats the rule above. */
#carouselExampleIndicators .carousel-indicators li.active {
  background-color: #1089ff;
}

/* Slide caption */
.cert-caption {
  padding: 18px 12px 0;
  text-align: center;
}

.cert-caption h5 {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 6px;
  color: #2a2a2a;
}

.cert-caption .cert-issuer {
  font-size: 13px;
  color: rgba(0, 0, 0, 0.55);
  margin: 0 0 10px;
}

.cert-caption .cert-cat {
  display: inline-block;
  margin: 0 3px;
  padding: 4px 12px;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #1089ff;
  background: rgba(16, 137, 255, 0.1);
}

@media (max-width: 767px) {
  #carouselExampleIndicators {
    max-width: 100%;
  }
  .cert-caption h5 { font-size: 14px; }
  .cert-caption .cert-issuer { font-size: 12px; }

  #carouselExampleIndicators .carousel-control-prev,
  #carouselExampleIndicators .carousel-control-next {
    width: 38px;
    height: 38px;
  }
  #carouselExampleIndicators .carousel-control-prev { left: 6px; }
  #carouselExampleIndicators .carousel-control-next { right: 6px; }
  #carouselExampleIndicators .carousel-control-prev-icon:after,
  #carouselExampleIndicators .carousel-control-next-icon:after {
    font-size: 26px;
  }
}


/*
    ==============
      FOOTER ONE
    ==============
*/
.mh-footer ::placeholder {
  opacity: 0.9; }
.mh-footer .form-control {
  padding: 20px;
  -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
  .mh-footer .form-control:focus {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    border-color: transparent; }
.mh-footer .contact-message {
  -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  background-color: transparent;
  border-color: transparent;
  border-radius: 4px;
  margin-bottom: 20px;
  width: 100%;
  padding: 20px;
  outline: 0; }
  .mh-footer .contact-message:focus {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    border-color: transparent; }


/*
    ============
    Footer Address
    ==============
*/
.mh-footer-address {
  margin-bottom: 60px; }
  .mh-footer-address .mh-address-footer-item {
    padding: 20px;
    text-align: center;
    margin-bottom: 20px; }
    .mh-footer-address .mh-address-footer-item h4 {
      margin-bottom: 20px; }
    .mh-footer-address .mh-address-footer-item address {
      margin-bottom: 0; }
    .mh-footer-address .mh-address-footer-item .each-icon {
      margin-bottom: 30px; }
      .mh-footer-address .mh-address-footer-item .each-icon .fa-solid {
        text-align: center;
        width: 100px;
        height: 100px;
        border: 1px solid;
        border-radius: 50%;
        line-height: 100px;
        font-size: 20px;
        border-color: #1089ff; }

/*
====================
    Subpage
====================
*/
.mh-page-title {
  padding-top: 100px; }
  .mh-page-title h2 {
    font-size: 40px;
    line-height: 46px;
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 10px; }

.nav-strict {
  z-index: 99;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

.mh-fixed-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0; }

/*
====================
    FOOTER 3
====================
*/
.mh-footer-2 .form-control {
  -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  background-color: transparent;
  border-color: transparent;
  margin-bottom: 20px;
  height: 50px;
  line-height: 50px; }
  .mh-footer-2 .form-control:focus {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    background-color: transparent; }
.mh-footer-2 .contact-message {
  -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
  .mh-footer-2 .contact-message:focus {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    background-color: transparent; }

.mh-copyright {
  margin-top: 60px; }

/*
==================
    FOOTER 3
=================
*/
.mh-footer-3 .mh-footer-address .mh-address-footer-item {
  padding: 10px 30px;
  text-align: center;
  margin-bottom: 15px; }
  .mh-footer-3 .mh-footer-address .mh-address-footer-item h4 {
    margin-bottom: 10px;
    margin-top: 10px; }
  .mh-footer-3 .mh-footer-address .mh-address-footer-item .each-info {
    padding-left: 40px;
    text-align: left; }
.mh-footer-3 .form-control {
  -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  background-color: transparent;
  border-color: transparent;
  margin-bottom: 20px;
  height: 50px;
  line-height: 50px; }
  .mh-footer-3 .form-control:focus {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    background-color: transparent; }
.mh-footer-3 .contact-message {
  -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8); }
  .mh-footer-3 .contact-message:focus {
    -webkit-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    -moz-box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    box-shadow: 0 0px 2px 0 rgba(255, 255, 255, 0.8), 0 0px 1px 1px rgba(255, 255, 255, 0.8);
    background-color: transparent; }

/*
===============
    Mobile Nav
==============
*/


/*  Navigation Menu */
  .old .navbar-collapse {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 320px;
    left: 0;
    z-index: 990;
    margin-top: 0px;
    padding: 0;
    background-color: #1089ff;
    transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-y: none; }
  .old .navbar-collapse.show {
    transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1); }
  .old .collapse {
    display: block; }
  .old .navbar-fixed-bottom .navbar-collapse,
  .old .navbar-fixed-top .navbar-collapse {
    max-height: inherit; }
  .old .navbar-header {
    position: fixed;
    z-index: 999;
    width: 100%;
    margin-top: 0px;
    left: 0;
  }
  .old .navbar-toggler .icon {
    transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1); }
  .old .navbar-toggler .icon,
  .old .navbar-toggler .icon::after,
  .old .navbar-toggler .icon::before {
    width: 22px;
    height: 2px;
    position: absolute;
    background-color: #fff;
    border-radius: 2px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .old .navbar-toggler .icon::after,
  .old .navbar-toggler .icon::before {
    content: '';
    top: 0;
    right: 0;
    -webkit-transition: all 0.6s ease-out;
    -moz-transition: all 0.6s ease-out;
    -o-transition: all 0.6s ease-out;
    -ms-transition: all 0.6s ease-out;
    transition: all 0.6s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .old .navbar-toggler .icon::after {
    transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1); }
  .old .navbar-toggler .icon::before {
    transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1); }
  .old .navbar-toggler.active .icon::after {
    transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1);
    -o-transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1);
    -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1);
    -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1);
    -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1); }
  .old .navbar-toggler.active .icon::before {
    transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1);
    -o-transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1);
    -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1);
    -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1);
    -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1); }
  .old .navbar-toggler.active .icon::after,
  .old .navbar-toggler.active .icon::before {
    background-color: #fff; }
  .old .navbar-toggler.active .icon {
    background-color: transparent; }
  .old .navbar-toggler:focus {
    outline: 0 !important; }
  .old .strict {
    background-color: rgba(0, 0, 0, 0.9);
    padding-bottom: 65px; }
  .old .navbar-toggler {
    padding: 15px;
    margin-right: 15px;
    margin-left: 20%;
    margin-top: 15px;
    z-index: 1000;
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block; }
  .old .navbar-header .navbar-toggler .icon-bar {
    background-color: #1089ff;
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .old .navbar-header .navbar-toggler.active .icon-bar {
    background-color: #fff; }
  .old .overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 3; }
  .old .overlay.active {
    display: block; }
  .old .navbar-collapse {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 320px;
    left: 0;
    z-index: 990;
    margin-top: 0px;
    padding: 0;
    background-color: #1089ff;
    transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-y: none; }
  .old .navbar-collapse .nav {
    margin-top: 75px;
    border-top: 1px solid;
    border-top-color: rgba(255, 255, 255, 0.1);
    padding: 20px; }
  .old .navbar-collapse .nav li {
    text-align: center;
    margin-bottom: 0px;
    width: 100%;
    display: block;
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate3d(-20px, -10px, 0); }
  .old .navbar-collapse .nav li a {
    background-color: transparent;
    text-transform: uppercase;
    font-size: 17px;
    line-height: 26px; }
  .old .navbar-collapse .nav li a:hover {
    color: white !important;
    background: transparent; }
  .old .navbar-collapse .nav li a.active {
    color: #fff; }
  .old .navbar-collapse .nav li.active {
    color: #fff; }
  .old .navbar-collapse.active {
    transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1); }
  .old .collapse.in {
    background-color: rgba(0, 0, 0, 0.9); }
  .old .navbar-dark .navbar-toggler {
    border-color: transparent; }
  .old .navbar-dark .navbar-toggler-icon {
    background-image: inherit; }

.new {
  z-index: 99;
  /*-------------------------------*/
  /*            Overlay            */
  /*-------------------------------*/
  /*  Navigation Menu */ }
  .new .nav-btn .navbar-toggler.active {
    display: none; }
  .new .navbar-collapse {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 320px;
    left: 0;
    z-index: 990;
    margin-top: 0px;
    padding: 0;
    background-color: #1089ff;
    transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-y: none; }
  .new .navbar-collapse.active {
    transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1); }
  .new .collapse {
    display: block; }
  .new .navbar-fixed-bottom .navbar-collapse,
  .new .navbar-fixed-top .navbar-collapse {
    max-height: inherit; }
  .new .navbar-header {
    position: fixed;
    z-index: 999;
    width: 100%;
    margin-top: 0px;
    left: 0; }
  .new .navbar-toggler .icon {
    transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(-50%) translateY(-50%) translateZ(0) rotate(0deg) scale(1); }
  .new .navbar-toggler .icon,
  .new .navbar-toggler .icon::after,
  .new .navbar-toggler .icon::before {
    width: 22px;
    height: 2px;
    position: absolute;
    background-color: #fff;
    border-radius: 2px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .new .navbar-toggler .icon::after,
  .new .navbar-toggler .icon::before {
    content: '';
    top: 0;
    right: 0;
    -webkit-transition: all 0.6s ease-out;
    -moz-transition: all 0.6s ease-out;
    -o-transition: all 0.6s ease-out;
    -ms-transition: all 0.6s ease-out;
    transition: all 0.6s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .new .navbar-toggler .icon::after {
    transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(0) translateY(6px) translateZ(0) rotate(0deg) scale(1); }
  .new .navbar-toggler .icon::before {
    transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(0) translateY(-6px) translateZ(0) rotate(0deg) scale(1); }
  .new .navbar-toggler.active .icon::after {
    transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1);
    -o-transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1);
    -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1);
    -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1);
    -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(138deg) scale(1); }
  .new .navbar-toggler.active .icon::before {
    transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1);
    -o-transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1);
    -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1);
    -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1);
    -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(-135deg) scale(1); }
  .new .navbar-toggler.active .icon::after,
  .new .navbar-toggler.active .icon::before {
    background-color: #fff; }
  .new .navbar-toggler.active .icon {
    background-color: transparent; }
  .new .navbar-toggler:focus {
    outline: 0 !important; }
  .new .strict {
    background-color: rgba(0, 0, 0, 0.9);
    padding-bottom: 65px; }
  .new .navbar-toggler {
    padding: 15px;
    margin-right: 15px;
    margin-left: 20%;
    margin-top: 15px;
    z-index: 1000;
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block; }
  .new .navbar-header .navbar-toggler .icon-bar {
    background-color: #1089ff;
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .new .navbar-header .navbar-toggler.active .icon-bar {
    background-color: #fff; }
  .new .overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 3; }
  .new .overlay.active {
    display: block; }
  .new .navbar-collapse {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 320px;
    left: 0;
    z-index: 990;
    margin-top: 0px;
    padding: 0;
    background-color: #1089ff;
    transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(-100%) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-y: none; }
  .new .navbar-collapse .nav {
    margin-top: 75px;
    border-top: 1px solid;
    border-top-color: rgba(255, 255, 255, 0.1);
    padding: 20px; }
  .new .navbar-collapse .nav li {
    text-align: center;
    margin-bottom: 0px;
    width: 100%;
    display: block;
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate3d(-20px, -10px, 0); }
  .new .navbar-collapse .nav li a {
    background-color: transparent;
    text-transform: uppercase;
    font-size: 17px;
    line-height: 26px; }
  .new .navbar-collapse .nav li a:hover {
    color: white !important;
    background: transparent; }
  .new .navbar-collapse .nav li a.active {
    color: #fff; }
  .new .navbar-collapse .nav li.active {
    color: #fff; }
  .new .navbar-collapse.active {
    transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -o-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
    -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1); }
  .new .collapse.in {
    background-color: rgba(0, 0, 0, 0.9); }
  .new .navbar-dark .navbar-toggler {
    border-color: transparent; }
  .new .navbar-dark .navbar-toggler-icon {
    background-image: inherit; }

/*
====================
   PORTFOLIO
===================
*/
.grid-item {
  margin-bottom: 20px; }

.portfolio-nav {
  text-align: center;
  margin-bottom: 50px; }
  .portfolio-nav ul li {
    display: inline-block;
    margin: 0 20px;
    cursor: pointer; }
    .portfolio-nav ul li span {
      padding: 15px 0;
      border-bottom: 2px solid transparent; }
    .portfolio-nav ul li.current span {
      border-bottom: 2px solid #1089ff; }

.mh-project-gallery .grid-item figure {
  position: relative;
  overflow: hidden;
  border-radius: 10px; }
  .mh-project-gallery .grid-item figure img {
    position: relative;
    width: 100%;
    display: block; }
  .mh-project-gallery .grid-item figure figcaption {
    position: absolute;
    padding: 15px;
    height: 100%;
    width: 100%;
    top: auto;
    left: 0;
    color: #fff;
    bottom: 0;
    z-index: 10;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    .mh-project-gallery .grid-item figure figcaption:after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      -webkit-transition: all 0.4s ease-out;
      -moz-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      -ms-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(0.95);
      -o-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(0.95);
      -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(0.95);
      -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(0.95);
      -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(0.95);
      z-index: -1;
      opacity: 0; }
    .mh-project-gallery .grid-item figure figcaption .fa {
      margin: 0;
      padding: 0;
      font-size: 24px;
      font-weight: 400;
      line-height: 35px;
      position: absolute;
      text-align: center;
      width: 100%;
      left: 0;
      top: 45%;
      margin-top: -22px;
      transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -o-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -ms-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -moz-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -webkit-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      opacity: 0;
      letter-spacing: 0px; }
    .mh-project-gallery .grid-item figure figcaption .title {
      margin: 0;
      padding: 0;
      position: absolute;
      text-align: center;
      width: 100%;
      left: 0;
      right: 0;
      font-size: 18px;
      line-height: 30px;
      text-transform: capitalize;
      top: 50%;
      margin-top: 30px;
      margin-top: -2px;
      transform: translateX(80px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -o-transform: translateX(80px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -ms-transform: translateX(80px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -moz-transform: translateX(80px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -webkit-transform: translateX(80px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -webkit-transition: all 0.4s ease-out;
      -moz-transition: all 0.4s ease-out;
      -o-transition: all 0.4s ease-out;
      -ms-transition: all 0.4s ease-out;
      transition: all 0.4s ease-out;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      opacity: 0;
      letter-spacing: 0px; }
    .mh-project-gallery .grid-item figure figcaption .sub-title {
      margin: 0;
      padding: 0;
      position: absolute;
      text-align: center;
      width: 100%;
      left: 0;
      font-size: 13px;
      top: 50%;
      margin-top: 30px;
      transform: translateX(-70px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -o-transform: translateX(-70px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -ms-transform: translateX(-70px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -moz-transform: translateX(-70px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -webkit-transform: translateX(-70px) translateY(0) translateZ(0) rotate(0deg) scale(1);
      -moz-transition: 0.5s;
      -o-transition: 0.5s;
      -webkit-transition: 0.5s;
      transition: 0.5s;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      opacity: 0;
      letter-spacing: 0px; }
    .mh-project-gallery .grid-item figure figcaption a {
      position: absolute;
      z-index: 1111;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      text-indent: -99999px; }
  .mh-project-gallery .grid-item figure:hover {
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -ms-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    .mh-project-gallery .grid-item figure:hover figcaption {
      color: #fff;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      background: rgba(16,137,255,0.6); }
      .mh-project-gallery .grid-item figure:hover figcaption:after {
        opacity: 1;
        transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -o-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -ms-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -moz-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -webkit-transform: translateX(0) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -webkit-transition: all 0.4s ease-out;
        -moz-transition: all 0.4s ease-out;
        -o-transition: all 0.4s ease-out;
        -ms-transition: all 0.4s ease-out;
        transition: all 0.4s ease-out;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
      .mh-project-gallery .grid-item figure:hover figcaption .fa {
        transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -o-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -ms-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -moz-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -webkit-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -moz-transition: 0.2s;
        -o-transition: 0.2s;
        -webkit-transition: 0.2s;
        transition: 0.2s;
        opacity: 1; }
      .mh-project-gallery .grid-item figure:hover figcaption .title {
        transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -o-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -ms-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -moz-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -webkit-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -moz-transition: 0.4s;
        -o-transition: 0.4s;
        -webkit-transition: 0.4s;
        transition: 0.4s;
        opacity: 1; }
      .mh-project-gallery .grid-item figure:hover figcaption .sub-title {
        transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -o-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -ms-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -moz-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -webkit-transform: translateX(0px) translateY(0) translateZ(0) rotate(0deg) scale(1);
        -moz-transition: 0.6s;
        -o-transition: 0.6s;
        -webkit-transition: 0.6s;
        transition: 0.6s;
        opacity: 1; }

.home-ov-img {
  background-image: url(../images/header-bg-2.png);
  background-size: cover;
  background-size: cover;
  background-repeat: no-repeat;
  margin: 0 auto;
  background-position: center center; }

.mh-featured-project .mh-featured-item {
  margin: 30px 0; }
  .mh-featured-project .mh-featured-item .mh-featured-project-content .project-category {
    font-size: 14px;
    color: #1089ff;
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px; }
  .mh-featured-project .mh-featured-item .mh-featured-project-content h2 {
    letter-spacing: 2px;
    margin-top: 12px;
    margin-bottom: 12px;
    text-transform: uppercase; }
  .mh-featured-project .mh-featured-item .mh-featured-project-content span {
    text-transform: uppercase; }
  .mh-featured-project .mh-featured-item .mh-featured-project-content p {
    text-align: left;
    margin-top: 10px;
    margin-bottom: 20px; }
  .mh-featured-project .mh-featured-item .mh-featured-project-content .mh-testimonial blockquote {
    padding: 0;
    margin: 0;
    margin-top: 30px; }
    .mh-featured-project .mh-featured-item .mh-featured-project-content .mh-testimonial blockquote q {
      font-style: italic; }
      .mh-featured-project .mh-featured-item .mh-featured-project-content .mh-testimonial blockquote q::before {
        content: open-quote; }
      .mh-featured-project .mh-featured-item .mh-featured-project-content .mh-testimonial blockquote q::after {
        content: close-quote; }
    .mh-featured-project .mh-featured-item .mh-featured-project-content .mh-testimonial blockquote cite {
      display: block;
      font-size: 16px;
      font-style: normal;
      font-weight: 600;
      margin-top: 10px;
    }

.mh-single-project-slide .owl-controls .owl-nav {
  display: none !important; }
.mh-single-project-slide .owl-controls .owl-dots {
  padding-left: 15px;
  margin-top: 30px;
  text-align: center; }
.mh-single-project-slide .owl-controls .owl-dots .owl-dot {
  height: 15px;
  width: 15px;
  border: 1px solid #1089ff;
  display: inline-block;
  border-radius: 50%;
  margin-right: 10px; }
.mh-single-project-slide .owl-controls .owl-dots .owl-dot.active {
  background-color: #1089ff; }

.mh-single-project-slide-by-side .owl-next {
  position: absolute;
  border-radius: 50%;
  top: 48%;
  height: 50px;
  width: 50px;
  right: -10%; }
.mh-single-project-slide-by-side .owl-next .fa {
  font-size: 40px;
  margin-left: 15px; }
.mh-single-project-slide-by-side .owl-prev {
  position: absolute;
  border-radius: 50%;
  top: 48%;
  left: -10%;
  height: 50px;
  width: 50px; }
.mh-single-project-slide-by-side .owl-prev .fa {
  font-size: 40px;
  margin-left: 10px; }

.section-title h3 {
  margin-bottom: 60px; }
.section-title h2 {
  margin-bottom: 60px; }

/*
    ==============
       SERVICES
    ==============
*/

.mh-service .mh-service-item {
  padding: 20px; }
  .mh-service .mh-service-item .fa {
    font-size: 30px;
    margin-bottom: 20px;
    margin-top: 16px; }
    .mh-service .mh-service-item .fa.orange-color {
      color: #ff7e67; }
    .mh-service .mh-service-item .fa.blue-color {
      color: #3e64ff; }
    .mh-service .mh-service-item .fa.sky-color {
      color: #2796e2; }
      .mh-service .mh-service-item .fa.sgreen-color {
        color: #4CAF50; }
  .mh-service .mh-service-item h3 {
    margin-bottom: 18px;
    font-size: 25px;
    line-height: 34px; }
  .mh-service .mh-service-item a {
    color: #1089ff; }
    .mh-service .mh-service-item a .fa {
      font-size: 16px;
      line-height: 27px;
      margin-left: 6px; }

/*
=================
BLOG Single Post Pagination
=============
*/
.mh-pagination {
  margin: 40px 0; }
  .mh-pagination ul li {
    margin: 0 10px; }
  .mh-pagination .page-link {
    position: relative;
    display: block;
    padding: 12px 16px;
    margin-left: -1px;
    border-radius: 50%;
    line-height: 14px;
    background-color: transparent;
    border: 1px solid #000;
    font-weight: bold; }
    .mh-pagination .page-link:hover {
      color: #1089ff; }
  .mh-pagination .page-item:last-child .page-link {
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%; }
  .mh-pagination .page-item:first-child .page-link {
    margin-left: 0;
    border-top-left-radius: 50%;
    border-bottom-left-radius: 50%; }

.mh-blog-sidebar {
  padding: 0 20px; }

.sidebar-item {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  margin-bottom: 30px;
  padding: 20px 10px; }
  .sidebar-item h3 {
    font-size: 24px;
    line-height: 30px;
    margin-bottom: 10px; }

.mh-author-info {
  text-align: center; }
  .mh-author-info h2 {
    font-size: 24px;
    line-height: 34px;
    margin: 0; }
  .mh-author-info h4 {
    font-size: 14px;
    margin: 0;
    line-height: 24px;
    font-weight: normal;
    margin-bottom: 10px; }
  .mh-author-info .mh-author-img {
    margin: 0 auto;
    margin-bottom: 10px;
    float: none;
    text-align: center; }
    .mh-author-info .mh-author-img img {
      margin: 0 auto;
      text-align: center;
      border: 10px solid rgba(0, 0, 0, 0.17);
      border-radius: 50%; }
  .mh-author-info .img-border {
    height: 130px;
    width: 130px;
    border: 10px solid rgba(0, 0, 0, 0.07);
    margin: 0 auto;
    border-radius: 50%; }
  .mh-author-info .social-icon li a:hover {
    color: #1089ff; }

.mh-blog-category h4 {
  margin: 0;
  margin-bottom: 10px; }
.mh-blog-category ul li {
  display: block;
  margin: 2px 0; }
  .mh-blog-category ul li a:hover {
    color: #1089ff; }

.mh-blog-insta ul li {
  width: 48%;
  display: inline-block;
  margin-bottom: 10px; }
  .mh-blog-insta ul li img {
    padding-right: 4px; }

.mh-blog-post-info {
  margin-bottom: 10px; }
  .mh-blog-post-info ul li {
    display: inline-block;
    margin: 0 6px;
    margin-left: 0; }
    .mh-blog-post-info ul li strong {
      margin-right: 6px; }

.mh-blog .mh-blog-item.blog-single h2 {
  font-size: 36px;
  line-height: 40px;
  font-weight: bold; }
.mh-blog .mh-blog-item.blog-single h3 {
  margin-bottom: 10px; }
.mh-blog .mh-blog-item.blog-single ul {
  padding-left: 30px;
  margin-bottom: 20px; }
  .mh-blog .mh-blog-item.blog-single ul li {
    list-style-type: circle; }

.mh-blog-next-prev-post a {
  color: #1089ff; }
  .mh-blog-next-prev-post a .fa {
    margin: 0 4px; }

.shadow-one {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

.mh-related-post {
  padding: 30px;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  margin: 0;
  margin-bottom: 30px; }

.blog-form-inner {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  padding: 30px; }
  .blog-form-inner h3 {
    margin-top: 0px;
    margin-bottom: 20px;
    font-size: 26px;
    line-height: 34px; }

.comments {
  margin-top: 20px;
  overflow: hidden;
  margin-bottom: 30px; }

.comment-deatils span {
  color: #1089ff; }

.single-comment {
  overflow: hidden;
  margin-top: 30px;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

.post-comment {
  margin-top: 30px;
  padding: 30px; }

#msgSubmit {
  margin-top: 20px;
  font-size: 22px;
  line-height: 30px;
  margin-bottom: 30px; }



  /*
  =================
  BLOG Posts Pagination
  =============
  */

  .BlogHeadingStyle, h3, a:hover{
    color: #1089ff;
  }

  .single-blog.timeline {
    background: #FFFFFF;
    border: 1px solid #EEEEEE;
    border-bottom: 0;
    position: relative;
    padding-bottom: 0;
  }

  .timeline .post-content {
    padding: 20px 20px 0;
  }

  .post-thumb{
    margin: -1px -1px 0;
    position: relative;
    overflow: hidden;
  }

  .timeline .post-thumb img {
    width: 100%;
  }

  .post-thumb iframe{
    width: 100%;
    min-height: 270px;
    border: 0;
  }

  .post-overlay{
    position: absolute;
    top: 50%;
    display: none;
    width: 94px;
    height: 140px;
    margin-top: -70px;
    overflow: hidden;
  }

  .post-overlay span{
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -60px;
    -webkit-animation: fadeInUp 400ms;
    animation: fadeInUp 400ms;
    z-index: 9;
  }


  .post-overlay span:before{
    position: absolute;
    bottom: 0;
    border-style: solid;
    border-width: 60px;
    content: "";
    border-color: transparent transparent #0884d5 transparent;
    z-index: -1;
    cursor: initial;
  }

  .post-overlay span a{
    font-size: 30px;
    color: #fff;
    background: transparent;
    padding: 0;
    margin-left: 50px;
  }

  .single-blog:hover .post-overlay{
    display: block;
    -webkit-animation: fadeIn 300ms;
    animation: fadeIn 300ms;
  }

  .timeline-divider{
    position: relative;
    padding-top: 50px;
  }

  .timeline-divider:before{
    position: absolute;
    top: 0;
    content: "";
    border-left-style: solid;
    border-left-width: 1px;
    height: 100%;
    border-left-color: #0099AE;
    left: 50%;
    margin-left: -2px;
  }

  .timeline-blog .col-sm-6.padding-top{
    padding-top: 70px;
  }

  .post-content{
    padding: 20px 0;
  }

  .timeline-date .btn-common{
    font-size: 18px;
    color: #4a4a4a;
    font-weight: 300;
    border-radius: 0;
    padding: 17px 40px;
  }

  .arrow-right{
    position: relative;
  }

  .arrow-right:after{
    position: absolute;
    right: 1px;
    content: "";
    top: 15px;
    background: url(../images/blog/left.png);
    width: 43px;
    height: 54px;
  }

  .arrow-left{
    position: relative;
  }

  .arrow-left:before{
    position: absolute;
    left: -2px;
    content: "";
    top: 86px;
    background: url(../images/blog/right.png);
    width: 43px;
    height: 54px;
  }

  .post-title {
    margin-top: 0;
  }

  .post-title a,
  .comments-number a{
    color: #686868;
  }

  .post-content .post-author{
    margin-top: 0;

  }

  .post-content  .post-author a{
    font-weight: 300;
    font-size: 14px;
    color: #0099AE;
  }

  a.read-more{
    color: #0099AE;
    font-weight: 300;
  }

  a.read-more:hover{
    color: #01707F
  }

  .post-bottom{
    border-top: 1px solid #eeeeee;
    padding-top: 10px;
    margin-top: 20px;
    margin: 20px -20px 0;
    padding: 20px 20px 0;
  }


  /*****************************
  Blog with right sidebar
  *****************************/

  .single-blog{
    padding-bottom: 30px;
  }

  .single-blog .post-bottom{
    border-bottom: 1px solid #eeeeee;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .single-blog .post-overlay span{
    left: 0;
    top: 0;
    margin-left: 0;
    width: 94px;
    height: 140px;
    background: url(../images/date-arrow.png);
    -webkit-animation: fadeInLeft 400ms;
    animation: fadeInLeft 400ms;
  }

  .single-blog .post-overlay span a{
    margin-left: 8px;
    font-weight: 700;
    font-size: 36px;
    line-height: 18px;
    position: absolute;
    top: 50px;
  }

  .single-blog .post-overlay span a small{
    font-size: 16px;
    font-weight: 300;
    margin-left: 5px;
  }

  .single-blog .post-overlay span:before{
    border-color: transparent;
    border-width: 0;
  }



  .blog-padding-right{
    padding-right:35px;
  }

  .blog-pagination {
    text-align: center;
    padding-top: 10px;
    padding-bottom: 55px;
  }


  .pagination li{
  display: inline-block;
  margin: 0 10px;
}

.pagination li a{
  color: #000;
  padding: 5px 10px;
  border-radius: 5px;
  border: 1px solid #fff;
}



.pagination li a:hover,
.pagination .active a,
.pagination a:active,
.pagination .active a:hover,
.pagination .active a:focus,
.pagination a:focus {
  background: transparent;
  border-color: #1089ff;
  color: #1089ff;
}

  /*****************************
  Blog with right sidebar
  *****************************/
  .masonery_area .single-blog .post-thumb{
    height: auto;
  }

  .masonery_area .single-blog .post-title{
    margin-top: 5px;
  }

  .masonery_area .single-blog .post-title a{
    font-size: 20px;
  }

  .masonery_area .single-blog .post-thumb img{
    height:auto;
  }

  .masonery_area .single-blog .post-bottom{
    border-top:0;
    padding-top:0;
    margin-top:15px;
  }


/* ---- Skills & Tech Stack ---- */
.mh-skills-stack {
  padding: 0;
}

.stack-section-title {
  font-weight: 600;
  margin-top: 20px;
  margin-bottom: 24px;
}

/* Tab bar */
.stack-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.stack-tab {
  flex-shrink: 0;
  background: transparent;
  border: 2px solid rgba(0, 0, 0, 0.18);
  color: rgba(0, 0, 0, 0.62);
  border-radius: 24px;
  padding: 7px 18px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
  white-space: nowrap;
  outline: none;
}
.stack-tab:hover {
  border-color: #1089ff;
  color: #1089ff;
  background: rgba(16, 137, 255, 0.06);
}
.stack-tab.active {
  background: #1089ff;
  border-color: #1089ff;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(16, 137, 255, 0.28);
}
.stack-tab .tab-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  vertical-align: text-bottom;
  margin-right: 6px;
}

/* Panels */
.stack-panels {
  min-height: 340px;
}
.stack-panel {
  display: none;
}
.stack-panel.active {
  display: block;
  animation: panelFadeIn 0.28s ease both;
}

@keyframes panelFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Certification badges panel */
.stack-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: flex-start;
  padding: 8px 0;
}
.cert-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  width: 150px;
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease;
}
.cert-badge:hover {
  transform: translateY(-4px);
  color: inherit;
  text-decoration: none;
}
.cert-badge img {
  width: 144px;
  height: 144px;
  object-fit: contain;
}
.cert-badge span {
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.3;
}

/* Skill grid — 4 columns on large screens */
.stack-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

/* Skill card */
.skill-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: rgba(0, 0, 0, 0.025);
  border: 1.5px solid rgba(0, 0, 0, 0.09);
  border-radius: 14px;
  padding: 22px 10px 18px;
  text-align: center;
  transition: background 0.22s ease, border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
  cursor: default;
}
.skill-chip:hover {
  background: rgba(16, 137, 255, 0.06);
  border-color: #1089ff;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(16, 137, 255, 0.16);
}
.skill-chip i {
  font-size: 38px;
  line-height: 1;
}
.skill-img {
  width: 38px;
  height: 38px;
  object-fit: contain;
}
.skill-chip > span:not(.skill-badge) {
  font-size: 11.5px;
  color: rgba(0, 0, 0, 0.6);
  font-weight: 500;
  line-height: 1.3;
}

.skill-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 30px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.5px;
  line-height: 1;
}

/* Tablet — 2 columns */
@media (max-width: 991px) {
  .stack-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .stack-panels {
    min-height: 280px;
  }
}

/* Mobile — 1 column, horizontal card layout */
@media (max-width: 767px) {
  .mh-skills-stack {
    margin-bottom: 40px;
  }
  .stack-panels {
    min-height: auto;
  }
  .stack-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .skill-chip {
    flex-direction: row;
    justify-content: flex-start;
    padding: 14px 18px;
    gap: 16px;
    border-radius: 12px;
    text-align: left;
  }
  .skill-chip i {
    font-size: 28px;
    flex-shrink: 0;
  }
  .skill-img {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
  }
  .skill-chip > span:not(.skill-badge) {
    font-size: 13px;
  }
  .skill-badge {
    flex-shrink: 0;
  }
}

/* ---- Role typing animation ---- */
#role-typing {
  background: linear-gradient(90deg, #0047ab 0%, #1089ff 30%, #56b4ff 60%, #1089ff 80%, #0047ab 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: role-gradient-shift 4s linear infinite;
  font-weight: 600;
}

@keyframes role-gradient-shift {
  0%   { background-position: 0%   center; }
  100% { background-position: 200% center; }
}

/* ---- Hero location line ---- */
.hero-location {
  margin-top: 22px;
  margin-bottom: 0;
  font-size: 15px;
  color: #2c3e50;
  opacity: 0.85;
}

.hero-location-place {
  text-decoration: underline;
  text-decoration-color: #1089ff;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
}

/* ---- Hero CTA buttons ---- */
.hero-cta-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.hero-cta-primary,
.hero-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 11px 26px;
  border-radius: 32px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  cursor: pointer;
}

.hero-cta-primary {
  background: #1089ff;
  color: #fff;
  border: 2px solid #1089ff;
}

.hero-cta-primary:hover {
  background: #0070e0;
  border-color: #0070e0;
  color: #fff;
  box-shadow: 0 6px 18px rgba(16, 137, 255, 0.32);
  transform: translateY(-2px);
  text-decoration: none;
}

.hero-cta-secondary {
  background: transparent;
  color: #2c3e50;
  border: 2px solid rgba(44, 62, 80, 0.4);
}

.hero-cta-secondary:hover {
  background: rgba(44, 62, 80, 0.06);
  border-color: rgba(44, 62, 80, 0.6);
  color: #2c3e50;
  transform: translateY(-2px);
  text-decoration: none;
}

/* ---- Hero fun stats widget ---- */
.hero-stats {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}

.hero-stat-card {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 9px 14px;
  background: rgba(16, 137, 255, 0.05);
  border: 1px solid rgba(16, 137, 255, 0.14);
  border-radius: 12px;
  min-width: 0;
  opacity: 1 !important;
}

.hero-stat-top {
  display: flex;
  align-items: baseline;
  gap: 5px;
}

.hero-stat-emoji {
  font-size: 14px;
  line-height: 1;
}

.hero-stat-num {
  font-size: 20px;
  font-weight: 700;
  color: #1089ff;
  line-height: 1;
  -webkit-text-fill-color: #1089ff;
}

.hero-stat-label {
  font-size: 10.5px;
  color: #5a6a7a;
  opacity: 1;
  line-height: 1.3;
  white-space: nowrap;
}

.role-cursor {
  display: inline-block;
  color: #1089ff;
  -webkit-text-fill-color: #1089ff;
  font-weight: 300;
  animation: role-cursor-blink 0.7s step-end infinite;
  margin-left: 1px;
}

@keyframes role-cursor-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

/* =============================================
   Professional Development Timeline
   ============================================= */

.prodev-title {
  font-size: 28px;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 48px;
  text-align: center;
  letter-spacing: 0.5px;
}

.tl-wrapper {
  position: relative;
  padding: 8px 0 24px;
}

.tl-wrapper::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, #1089ff 0%, rgba(16,137,255,0.15) 100%);
  transform: translateX(-50%);
  z-index: 0;
}

.tl-item {
  display: grid;
  grid-template-columns: 1fr 52px 1fr;
  align-items: flex-start;
  margin-bottom: 32px;
}

.tl-node {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 14px;
  z-index: 1;
}

.tl-dot {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.work-dot {
  background: #1089ff;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(16,137,255,0.18), 0 2px 8px rgba(16,137,255,0.28);
}

.edu-dot {
  background: #fff;
  color: #1089ff;
  border: 2.5px solid #1089ff;
  box-shadow: 0 0 0 4px rgba(16,137,255,0.12), 0 2px 8px rgba(0,0,0,0.08);
}

.tl-card {
  background: #fff;
  border-left: 4px solid #1089ff;
  border-radius: 14px;
  padding: 22px 26px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.08);
  transition: box-shadow 0.22s ease, transform 0.22s ease;
}

.tl-card:hover {
  box-shadow: 0 8px 28px rgba(16,137,255,0.15);
  transform: translateY(-2px);
}

.tl-item.tl-right .tl-card {
  margin-left: 18px;
}

.tl-item.tl-left .tl-card {
  margin-right: 18px;
}

.tl-card h4 {
  font-size: 16px;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 6px;
  line-height: 1.4;
}

.tl-card h4 a {
  color: #1089ff;
  text-decoration: none;
}

.tl-card h4 a:hover {
  text-decoration: underline;
}

.tl-card p {
  font-size: 14px;
  color: #555;
  line-height: 1.65;
  margin-bottom: 0;
}

.tl-card .mh-eduyear {
  display: inline-block;
  background: rgba(16,137,255,0.08);
  color: #1089ff;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 10px;
  letter-spacing: 0.3px;
}

.tl-empty {
  /* intentionally empty — fills opposite grid cell */
}

/* Tablet: narrow the side margins slightly */
@media (max-width: 991px) {
  .tl-item {
    grid-template-columns: 1fr 44px 1fr;
  }
  .tl-item.tl-right .tl-card { margin-left: 12px; }
  .tl-item.tl-left  .tl-card { margin-right: 12px; }
}

/* Mobile: single column, line on the left */
@media (max-width: 767px) {
  .tl-wrapper::before {
    left: 20px;
    transform: none;
  }

  .tl-item,
  .tl-item.tl-left,
  .tl-item.tl-right {
    grid-template-columns: 44px 1fr;
  }

  .tl-item.tl-right .tl-node,
  .tl-item.tl-left  .tl-node {
    grid-column: 1;
    grid-row: 1;
  }

  .tl-item.tl-right .tl-card,
  .tl-item.tl-left  .tl-card {
    grid-column: 2;
    grid-row: 1;
    margin-left: 12px;
    margin-right: 0;
  }

  .tl-item.tl-right .tl-empty,
  .tl-item.tl-left  .tl-empty {
    display: none;
  }
}

/* Achievement timeline entries */
.achievement-dot {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(245,158,11,0.18);
}

.tl-card.tl-card-achievement {
  border-left-color: #f59e0b;
}

.tl-card.tl-card-achievement:hover {
  box-shadow: 0 8px 28px rgba(245,158,11,0.18);
}

.tl-card-img-wrap {
  margin: 0 -26px 18px;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.tl-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.32s ease;
}

.tl-card.tl-card-achievement:hover .tl-card-img {
  transform: scale(1.04);
}

.tl-card.tl-card-achievement .mh-eduyear {
  background: rgba(245,158,11,0.1);
  color: #d97706;
}

.tl-view-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: #1089ff;
  text-decoration: none;
  border: 1.5px solid rgba(16,137,255,0.3);
  padding: 6px 14px;
  border-radius: 20px;
  transition: background 0.22s, color 0.22s, border-color 0.22s;
}

.tl-view-more:hover {
  background: #1089ff;
  color: #fff;
  border-color: #1089ff;
  text-decoration: none;
}

/* =============================================
   Projects — card grid redesign
   ============================================= */

/* Filter buttons */
.proj-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 40px;
}

.proj-filter-btn {
  padding: 8px 20px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.22s ease;
  border: 2px solid rgba(0,0,0,0.18);
  background: transparent;
  color: rgba(0,0,0,0.62);
  letter-spacing: 0.3px;
}

.proj-filter-btn:hover {
  border-color: #1089ff;
  color: #1089ff;
}

.proj-filter-btn.active {
  background: #1089ff;
  border-color: #1089ff;
  color: #fff;
  box-shadow: 0 4px 12px rgba(16,137,255,0.28);
}

/* Card grid */
.proj-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* Individual card */
.proj-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(0,0,0,0.07);
  border: 1.5px solid rgba(0,0,0,0.07);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}

.proj-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(16,137,255,0.18);
  border-color: #1089ff;
}

/* Card thumbnail */
.proj-card-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #f5f7fa;
  flex-shrink: 0;
}

.proj-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.proj-card:hover .proj-card-img {
  transform: scale(1.05);
}

/* Hover overlay */
.proj-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(16,137,255,0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.proj-card:hover .proj-card-overlay {
  opacity: 1;
}

.proj-view-btn {
  background: #fff;
  color: #1089ff;
  border: none;
  padding: 10px 24px;
  border-radius: 24px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transform: translateY(10px);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  letter-spacing: 0.3px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.14);
}

.proj-card:hover .proj-view-btn {
  transform: translateY(0);
}

/* Card content */
.proj-card-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.proj-card-title {
  font-size: 16px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0 0 8px;
  line-height: 1.35;
}

.proj-card-desc {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
  margin: 0 0 14px;
  flex: 1;
}

.proj-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
}

.proj-tag {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 12px;
  background: rgba(16,137,255,0.08);
  color: #1089ff;
  letter-spacing: 0.2px;
}

/* Hidden (filtered-out) cards */
.proj-card.proj-hidden {
  display: none;
}

/* Hidden by show-more collapse */
.proj-card.proj-hidden-more {
  display: none;
}

/* Show More / Less button */
.proj-show-more-wrap {
  text-align: center;
  margin-top: 36px;
}

.proj-show-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 36px;
  border-radius: 32px;
  border: 2px solid #1089ff;
  background: transparent;
  color: #1089ff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.22s, color 0.22s, box-shadow 0.22s, transform 0.22s;
}

.proj-show-more-btn:hover {
  background: #1089ff;
  color: #fff;
  box-shadow: 0 6px 20px rgba(16,137,255,0.28);
  transform: translateY(-2px);
}

/* =============================================
   Blog section (homepage)
   ============================================= */

.blog-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

/* Blog listing page filters */
.blog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 40px;
}

.blog-filter-btn {
  padding: 8px 20px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.22s ease;
  border: 2px solid rgba(0,0,0,0.18);
  background: transparent;
  color: rgba(0,0,0,0.62);
  letter-spacing: 0.3px;
}

.blog-filter-btn:hover {
  border-color: #1089ff;
  color: #1089ff;
}

.blog-filter-btn.active {
  background: #1089ff;
  border-color: #1089ff;
  color: #fff;
  box-shadow: 0 4px 12px rgba(16,137,255,0.28);
}

.blog-card.blog-hidden {
  display: none;
}

.blog-empty {
  text-align: center;
  color: #999;
  font-size: 15px;
  margin-top: 30px;
}

.blog-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 2px 14px rgba(0,0,0,0.07);
  border: 1.5px solid rgba(0,0,0,0.07);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.blog-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(16,137,255,0.18);
  border-color: #1089ff;
  text-decoration: none;
}

.blog-card-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #f5f7fa;
  flex-shrink: 0;
}

.blog-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.blog-card:hover .blog-card-img {
  transform: scale(1.06);
}

.blog-card-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.blog-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.blog-card-tag {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 12px;
  background: rgba(16,137,255,0.08);
  color: #1089ff;
  letter-spacing: 0.2px;
}

.blog-card-date {
  font-size: 11px;
  color: #999;
  white-space: nowrap;
}

.blog-card-date i {
  margin-right: 3px;
}

.blog-card-title {
  font-size: 16px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0 0 8px;
  line-height: 1.35;
}

.blog-card-desc {
  font-size: 13px;
  color: #666;
  line-height: 1.6;
  margin: 0 0 14px;
  flex: 1;
}

.blog-card-readmore {
  font-size: 13px;
  font-weight: 600;
  color: #1089ff;
  margin-top: auto;
  transition: gap 0.2s ease;
}

.blog-card-readmore i {
  margin-left: 5px;
  transition: transform 0.22s ease;
}

.blog-card:hover .blog-card-readmore i {
  transform: translateX(4px);
}

.blog-viewall-wrap {
  text-align: center;
  margin-top: 40px;
}

.blog-viewall-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 36px;
  border-radius: 32px;
  border: 2px solid #1089ff;
  background: transparent;
  color: #1089ff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.22s, color 0.22s, box-shadow 0.22s, transform 0.22s;
}

.blog-viewall-btn:hover {
  background: #1089ff;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(16,137,255,0.28);
  transform: translateY(-2px);
}

.blog-viewall-btn i {
  transition: transform 0.22s ease;
}

.blog-viewall-btn:hover i {
  transform: translateX(4px);
}

@media (max-width: 991px) {
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 575px) {
  .blog-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* =============================================
   Project Detail Modal
   ============================================= */

.proj-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
}

.proj-modal-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.proj-modal {
  background: #fff;
  border-radius: 18px;
  width: 100%;
  max-width: 720px;
  max-height: 90vh;
  overflow: hidden;
  position: relative;
  transform: translateY(24px) scale(0.97);
  transition: transform 0.28s ease;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 60px rgba(0,0,0,0.22);
}

.proj-modal-backdrop.is-open .proj-modal {
  transform: translateY(0) scale(1);
}

.proj-modal-close {
  position: absolute;
  top: 13px;
  right: 14px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.9);
  color: #333;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.18s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

.proj-modal-close:hover {
  background: #fff;
  color: #1089ff;
}

.proj-modal-scroll {
  overflow-y: auto;
  flex: 1;
}

.proj-modal-carousel-wrap {
  width: 100%;
  background: #f0f4f8;
  line-height: 0;
}

.proj-modal-main-img {
  width: 100%;
  max-height: 340px;
  object-fit: cover;
  display: block;
}

.proj-modal-body {
  padding: 28px 30px 32px;
}

.proj-modal-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.proj-modal-title {
  font-size: 22px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0;
  flex: 1;
  min-width: 0;
}

.proj-modal-badge {
  display: inline-block;
  background: rgba(16,137,255,0.1);
  color: #1089ff;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 13px;
  border-radius: 20px;
  white-space: nowrap;
  margin-top: 4px;
  flex-shrink: 0;
}

.proj-modal-desc {
  font-size: 14.5px;
  color: #555;
  line-height: 1.72;
  margin: 0 0 22px;
}

.proj-modal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 26px;
}

.proj-modal-tag {
  font-size: 12px;
  font-weight: 600;
  padding: 5px 13px;
  border-radius: 14px;
  background: rgba(16,137,255,0.07);
  color: #1089ff;
  border: 1px solid rgba(16,137,255,0.2);
}

.proj-modal-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.proj-modal-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 11px 24px;
  border-radius: 28px;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
  border: 2px solid transparent;
}

.proj-modal-btn-primary {
  background: #1089ff;
  color: #fff;
  border-color: #1089ff;
  box-shadow: 0 4px 14px rgba(16,137,255,0.3);
}

.proj-modal-btn-primary:hover {
  background: #0070e0;
  border-color: #0070e0;
  color: #fff;
  text-decoration: none;
}

.proj-modal-btn-secondary {
  background: transparent;
  color: #1089ff;
  border-color: #1089ff;
}

.proj-modal-btn-secondary:hover {
  background: #1089ff;
  color: #fff;
  text-decoration: none;
}

/* Responsive */
@media (max-width: 991px) {
  .proj-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 575px) {
  .proj-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .proj-modal-body {
    padding: 20px 18px 24px;
  }
  .proj-modal-title {
    font-size: 18px;
  }
  .proj-modal-main-img {
    max-height: 220px;
  }
}

/* =============================================
   Contact Section — Side accent layout
   ============================================= */

/* Transparent section — lets page background show through */
.ct-section-bg {
  background: transparent;
  padding: 0;
}

.mh-footer .ct-section-bg {
  background: transparent;
}

/* Two-column open grid — no card, no shadow */
.ct-wrapper {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 60px;
  min-height: 0;
}

/* ── Left info column ─────────────────────────────── */

.ct-info-panel {
  background: transparent;
  padding: 4px 0 4px 28px;
  border-left: 3px solid #1089ff;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: visible;
}

/* remove decorative circles */
.ct-info-panel::before,
.ct-info-panel::after {
  content: none;
}

.ct-panel-heading {
  font-size: 30px;
  font-weight: 700;
  color: #1089ff;
  margin: 0 0 14px;
}

.ct-tagline {
  font-size: 14.5px;
  color: rgba(44,62,80,0.68);
  line-height: 1.72;
  margin: 0 0 38px;
}

/* Contact detail rows */
.ct-details {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.ct-detail-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(16,137,255,0.14);
}

.ct-detail-row:first-child {
  border-top: 1px solid rgba(16,137,255,0.14);
}

/* Light blue tint badge — airy, not filled */
.ct-detail-icon {
  width: 42px;
  height: 42px;
  background: rgba(16,137,255,0.09);
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: #1089ff;
  flex-shrink: 0;
}

.ct-detail-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-top: 2px;
}

.ct-detail-label {
  font-size: 10.5px;
  font-weight: 700;
  color: rgba(16,137,255,0.7);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.ct-detail-text a,
.ct-detail-text span:not(.ct-detail-label) {
  font-size: 14px;
  color: #2c3e50;
  text-decoration: none;
  transition: color 0.18s;
  word-break: break-word;
}

.ct-detail-text a:hover {
  color: #1089ff;
  text-decoration: underline;
}

/* Bottom social buttons — light blue tint */
.ct-social {
  display: flex;
  gap: 10px;
  margin-top: 30px;
}

.ct-social-btn {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: rgba(16,137,255,0.09);
  color: #1089ff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.ct-social-btn:hover {
  background: #1089ff;
  color: #fff;
  transform: translateY(-3px);
  text-decoration: none;
}

/* ── Right form column ────────────────────────────── */

.ct-form-panel {
  background: transparent;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.ct-form-heading {
  font-size: 22px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0 0 36px;
}

/* Floating label field wrapper */
.ct-field {
  position: relative;
  margin-bottom: 32px;
}

/* Override legacy mh-footer styles for inputs/textarea */
.ct-form-panel .contact-name,
.ct-form-panel .contact-subject,
.ct-form-panel .contact-message {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid rgba(0,0,0,0.13) !important;
  border-radius: 0 !important;
  padding: 22px 0 8px !important;
  font-size: 15px !important;
  color: #333 !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  resize: none;
  display: block;
  transition: border-color 0.22s ease !important;
  line-height: 1.5;
}

.ct-form-panel .contact-name:focus,
.ct-form-panel .contact-subject:focus,
.ct-form-panel .contact-message:focus {
  border-bottom-color: #1089ff !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  background: transparent !important;
}

.white-vertion .ct-form-panel .contact-name,
.white-vertion .ct-form-panel .contact-subject,
.white-vertion .ct-form-panel .contact-message,
.white-vertion .ct-form-panel .contact-name:focus,
.white-vertion .ct-form-panel .contact-subject:focus,
.white-vertion .ct-form-panel .contact-message:focus {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  background: transparent !important;
}

/* Floating label */
.ct-field label {
  position: absolute;
  left: 0;
  top: 22px;
  font-size: 15px;
  color: rgba(0,0,0,0.38);
  pointer-events: none;
  transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
}

.ct-field input:focus ~ label,
.ct-field input:not(:placeholder-shown) ~ label,
.ct-field textarea:focus ~ label,
.ct-field textarea:not(:placeholder-shown) ~ label {
  top: 1px;
  font-size: 11px;
  color: #1089ff;
  font-weight: 700;
  letter-spacing: 0.6px;
}

/* Submit button — intentionally solid, retains weight */
.ct-submit-btn {
  width: 100%;
  background: #1089ff;
  color: #fff;
  border: none;
  border-radius: 32px;
  padding: 14px 28px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  transition: background 0.22s ease, box-shadow 0.22s ease, transform 0.18s ease;
  box-shadow: 0 6px 20px rgba(16,137,255,0.32);
  margin-top: 6px;
  letter-spacing: 0.3px;
}

.ct-submit-btn:hover {
  background: #0070e0;
  box-shadow: 0 10px 28px rgba(16,137,255,0.42);
  transform: translateY(-1px);
  color: #fff;
}

.ct-submit-btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 14px rgba(16,137,255,0.28);
}

/* Success message */
#resultMessage {
  margin-top: 18px;
  padding: 14px 18px;
  background: rgba(16,137,255,0.07);
  border-left: 4px solid #1089ff;
  border-radius: 6px;
  color: #1089ff;
  font-weight: 600;
  font-size: 14px;
}

/* Copyright bar */
.ct-copyright {
  text-align: center;
  padding-top: 28px;
  margin-top: 0 !important;
}

.ct-copyright p {
  color: rgba(0,0,0,0.38);
  font-size: 13px;
  margin: 0;
}

.ct-copyright p a {
  color: rgba(0,0,0,0.38);
  text-decoration: none;
}

.ct-copyright p a:hover {
  color: #1089ff;
}

/* Tablet */
@media (max-width: 991px) {
  .ct-wrapper {
    grid-template-columns: 1fr 1.3fr;
    gap: 40px;
  }
}

/* Mobile: stack vertically */
@media (max-width: 767px) {
  .ct-wrapper {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ct-panel-heading {
    font-size: 24px;
  }
  .ct-tagline {
    margin-bottom: 28px;
  }
}

/* =============================================
   GenAI Stack — Visual Pyramid
   ============================================= */

.genai-subheading {
  font-size: 15px;
  color: rgba(44,62,80,0.58);
  margin: -6px 0 0;
}

/* Pyramid wrapper */
.genai-pyramid-wrap {
  width: 100%;
  overflow: visible;
  margin: 28px 0 0;
}

/* Each tier row */
.genai-pyr-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: var(--row-bg, transparent);
  overflow: visible;
}

.genai-pyr-row:first-child { border-radius: 14px 14px 0 0; }
.genai-pyr-row:last-child  { border-radius: 0 0 14px 14px; }

/* Individual tool block */
.genai-pyr-block {
  position: relative;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  z-index: 1;
}

.genai-pyr-block:hover,
.genai-pyr-block:focus {
  transform: translateY(-5px) scale(1.14);
  box-shadow: 0 10px 22px rgba(0,0,0,0.16);
  z-index: 20;
}

/* Logo image */
.genai-pyr-logo {
  width: 38px;
  height: 38px;
  object-fit: contain;
  display: block;
  pointer-events: none;
}

/* Fallback letter */
.genai-pyr-logo-fb {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: #1089ff;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

/* Tooltip — appears above block on hover */
.genai-pyr-block::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: rgba(20,20,30,0.84);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  padding: 4px 9px;
  border-radius: 5px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s, transform 0.15s;
  z-index: 50;
  letter-spacing: 0.2px;
}

.genai-pyr-block::before {
  content: '';
  position: absolute;
  bottom: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  border: 4px solid transparent;
  border-top-color: rgba(20,20,30,0.84);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s, transform 0.15s;
  z-index: 50;
}

.genai-pyr-block:hover::after,
.genai-pyr-block:hover::before,
.genai-pyr-block:focus::after,
.genai-pyr-block:focus::before {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Tier legend below pyramid */
.genai-pyr-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 28px;
}

.genai-legend-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: rgba(44,62,80,0.7);
  line-height: 1.4;
}

.genai-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}

.genai-legend-text strong {
  font-weight: 700;
  color: #2c3e50;
}

/* Modal */
.genai-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9600;
  background: rgba(0,0,0,0.58);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.26s;
}

.genai-modal-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.genai-modal {
  background: #fff;
  border-radius: 20px;
  max-width: 560px;
  width: 100%;
  max-height: 88vh;
  overflow: hidden;
  position: relative;
  transform: translateY(22px) scale(0.97);
  transition: transform 0.28s;
  box-shadow: 0 24px 64px rgba(0,0,0,0.22);
}

.genai-modal-backdrop.is-open .genai-modal {
  transform: translateY(0) scale(1);
}

.genai-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(0,0,0,0.07);
  color: #555;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  transition: background 0.2s;
}

.genai-modal-close:hover {
  background: rgba(0,0,0,0.14);
}

.genai-modal-scroll {
  overflow-y: auto;
  max-height: 88vh;
}

.genai-modal-head {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 28px 28px 20px;
  border-bottom: 1px solid rgba(0,0,0,0.07);
}

.genai-modal-logo-wrap {
  width: 68px;
  height: 68px;
  background: #f8fafc;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.genai-modal-logo {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.genai-modal-logo-fb {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: #1089ff;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  align-items: center;
  justify-content: center;
}

.genai-modal-head-info {
  flex: 1;
  min-width: 0;
}

.genai-modal-name {
  font-size: 20px;
  font-weight: 700;
  color: #2c3e50;
  margin: 0 0 8px;
  padding-right: 44px;
  line-height: 1.3;
}

.genai-modal-tier-pill {
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  padding: 4px 12px;
  border-radius: 14px;
  display: inline-block;
}

.genai-modal-body {
  padding: 22px 28px 32px;
}

.genai-modal-section {
  margin-bottom: 22px;
}

.genai-modal-section:last-child {
  margin-bottom: 0;
}

.genai-modal-sec-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #1089ff;
  margin-bottom: 10px;
}

.genai-modal-section p {
  font-size: 14px;
  color: rgba(44,62,80,0.78);
  line-height: 1.72;
  margin: 0;
}

.genai-modal-cases {
  padding-left: 18px;
  margin: 0;
}

.genai-modal-cases li {
  font-size: 14px;
  color: rgba(44,62,80,0.78);
  line-height: 1.72;
  margin-bottom: 5px;
}

.genai-modal-cases li:last-child {
  margin-bottom: 0;
}

/* Pyramid responsive */

/* lg (992–1199px) — slightly smaller blocks */
@media (max-width: 1199px) {
  .genai-pyr-block { width: 48px; height: 48px; border-radius: 10px; }
  .genai-pyr-logo { width: 32px; height: 32px; }
  .genai-pyr-logo-fb { width: 32px; height: 32px; font-size: 15px; }
  .genai-pyr-row { gap: 6px; padding: 10px 16px; }
}

/* md (768–991px) — compact blocks that still fit 17 in a row */
@media (max-width: 991px) {
  .genai-pyr-block { width: 40px; height: 40px; border-radius: 9px; }
  .genai-pyr-logo { width: 26px; height: 26px; }
  .genai-pyr-logo-fb { width: 26px; height: 26px; font-size: 12px; }
  .genai-pyr-row { gap: 4px; padding: 9px 10px; }
}

/* sm — mobile: wrap rows, show tier label above each row */
@media (max-width: 767px) {
  .genai-pyr-row {
    flex-wrap: wrap;
    gap: 7px;
    padding: 10px 14px;
    border-radius: 0;
  }

  .genai-pyr-row:first-child { border-radius: 12px 12px 0 0; }
  .genai-pyr-row:last-child  { border-radius: 0 0 12px 12px; }

  /* Tier label injected via CSS above each mobile row */
  .genai-pyr-row::before {
    content: attr(data-tier-label);
    display: block;
    width: 100%;
    font-size: 10px;
    font-weight: 700;
    color: rgba(44,62,80,0.48);
    text-transform: uppercase;
    letter-spacing: 0.9px;
    margin-bottom: 4px;
  }

  .genai-pyr-block { width: 44px; height: 44px; border-radius: 10px; }
  .genai-pyr-logo { width: 30px; height: 30px; }
  .genai-pyr-logo-fb { width: 30px; height: 30px; font-size: 13px; }

  .genai-pyr-legend { gap: 10px; }
  .genai-legend-pill { font-size: 11px; }

  .genai-modal-head { padding: 22px 20px 16px; }
  .genai-modal-body { padding: 18px 20px 24px; }
}

/* ==============================================================
   DARK MODE
   Toggled by adding "dark-mode" class to <body>.
   All rules prefixed with body.dark-mode to scope overrides.
   ============================================================== */

/* ── Theme toggle button ──────────────────────────────────────── */
.theme-toggle-btn {
  position: fixed;
  top: 14px;
  right: 20px;
  z-index: 9999;
  background: none;
  border: none;
  padding: 4px;
  color: #f59e0b;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.22s ease, transform 0.2s ease;
  outline: none;
}
.theme-toggle-btn:hover {
  color: #fbbf24;
  transform: scale(1.15);
}
body.dark-mode .theme-toggle-btn {
  color: #f59e0b;
}
body.dark-mode .theme-toggle-btn:hover {
  color: #fbbf24;
}

/* ── Base ─────────────────────────────────────────────────────── */
body.dark-mode,
body.dark-mode.white-vertion.black-bg {
  background-color: #0d1117;
  color: #c9d1d9;
}

/* Cancel white-vertion's 0.8 opacity on all text elements */
body.dark-mode.white-vertion h1,
body.dark-mode.white-vertion h2,
body.dark-mode.white-vertion h3,
body.dark-mode.white-vertion h4,
body.dark-mode.white-vertion h5,
body.dark-mode.white-vertion h6,
body.dark-mode.white-vertion p,
body.dark-mode.white-vertion address,
body.dark-mode.white-vertion span,
body.dark-mode.white-vertion q { opacity: 1; }

/* Override white-vertion colour: #000 globals */
body.dark-mode.white-vertion h1,
body.dark-mode.white-vertion h2,
body.dark-mode.white-vertion h3,
body.dark-mode.white-vertion h4,
body.dark-mode.white-vertion h5,
body.dark-mode.white-vertion h6 { color: #e6edf3; }
body.dark-mode.white-vertion p,
body.dark-mode.white-vertion address,
body.dark-mode.white-vertion ul li { color: #c9d1d9; }
body.dark-mode.white-vertion a { color: #c9d1d9; }
body.dark-mode.white-vertion span { color: #c9d1d9; }
body.dark-mode.white-vertion div { color: #c9d1d9; }

/* Preserve intentionally coloured spans / divs */
body.dark-mode .mh-promo span           { color: #fff !important; }
body.dark-mode .role-cursor             { color: #1089ff !important; -webkit-text-fill-color: #1089ff !important; }
body.dark-mode .hero-stat-num           { color: #1089ff !important; -webkit-text-fill-color: #1089ff !important; }
body.dark-mode .hero-cta-primary        { color: #fff !important; }
body.dark-mode .achievement-dot i,
body.dark-mode .work-dot i              { color: #fff !important; }
body.dark-mode .edu-dot                 { background: #0d1117 !important; }
body.dark-mode .edu-dot i               { color: #1089ff !important; }

/* ── Navigation ───────────────────────────────────────────────── */
body.dark-mode .mh-header {
  background-color: #161b22 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}
body.dark-mode .mh-header .navbar-nav li a {
  color: #c9d1d9 !important;
  opacity: 1 !important;
}
body.dark-mode .mh-header .navbar-nav li a:hover { color: #1089ff !important; }
body.dark-mode .mh-header .navbar-nav li.active a {
  color: #1089ff !important;
  border-color: #1089ff !important;
}
body.dark-mode .navbar-toggler .icon,
body.dark-mode .navbar-toggler .icon::before,
body.dark-mode .navbar-toggler .icon::after { background-color: #e6edf3 !important; }

/* ── Hero section ─────────────────────────────────────────────── */
body.dark-mode .mh-header-info h2 { color: #e6edf3 !important; }

body.dark-mode .hero-location { color: #8b949e !important; opacity: 1 !important; }
body.dark-mode .hero-location-place { text-decoration-color: #1089ff; }

body.dark-mode .hero-cta-secondary {
  color: #c9d1d9 !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}
body.dark-mode .hero-cta-secondary:hover {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
  color: #e6edf3 !important;
}

body.dark-mode .hero-stat-card {
  background: rgba(16, 137, 255, 0.09) !important;
  border-color: rgba(16, 137, 255, 0.22) !important;
  opacity: 1 !important;
}
body.dark-mode .hero-stat-label { color: #8b949e !important; }

/* ── About / Skills ───────────────────────────────────────────── */
body.dark-mode .mh-about-inner p { color: #c9d1d9 !important; }
body.dark-mode .stack-section-title { color: #e6edf3 !important; }

body.dark-mode .stack-tab {
  background: #21262d !important;
  color: #8b949e !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
body.dark-mode .stack-tab:hover {
  background: #30363d !important;
  color: #c9d1d9 !important;
}
body.dark-mode .stack-tab.active {
  background: #1089ff !important;
  color: #fff !important;
  border-color: #1089ff !important;
}

body.dark-mode .skill-chip {
  background: #21262d !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
body.dark-mode .skill-chip span { color: #c9d1d9 !important; }
body.dark-mode .skill-chip:hover {
  background: #1a2336 !important;
  border-color: rgba(16, 137, 255, 0.5) !important;
  box-shadow: 0 8px 24px rgba(16, 137, 255, 0.14) !important;
}

/* ── Experience / Timeline ────────────────────────────────────── */
body.dark-mode .prodev-title { color: #e6edf3 !important; }

body.dark-mode .tl-card {
  background: #161b22 !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4) !important;
}
body.dark-mode .tl-card h4 { color: #e6edf3 !important; }
body.dark-mode .tl-card h4 a { color: #58a6ff !important; }
body.dark-mode .tl-card p { color: #8b949e !important; }
body.dark-mode .tl-card .mh-eduyear {
  background: rgba(16, 137, 255, 0.14) !important;
  color: #58a6ff !important;
}
body.dark-mode .tl-card.tl-card-achievement .mh-eduyear {
  background: rgba(245, 158, 11, 0.14) !important;
  color: #fbbf24 !important;
}

/* ── Projects ─────────────────────────────────────────────────── */
body.dark-mode .section-title h3 { color: #e6edf3 !important; }

body.dark-mode .proj-filter-btn {
  background: #21262d !important;
  color: #8b949e !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
body.dark-mode .proj-filter-btn:hover,
body.dark-mode .proj-filter-btn.active {
  background: #1089ff !important;
  color: #fff !important;
  border-color: #1089ff !important;
}

/* ── Awards & Certificates ────────────────────────────────────── */
body.dark-mode .cert-caption h5 { color: #e6edf3 !important; }
body.dark-mode .cert-caption .cert-issuer { color: #8b949e !important; }
body.dark-mode .cert-caption .cert-cat {
  color: #58a6ff !important;
  background: rgba(88, 166, 255, 0.14) !important;
}
body.dark-mode #carouselExampleIndicators .carousel-indicators li {
  background-color: rgba(255, 255, 255, 0.22) !important;
}
body.dark-mode #carouselExampleIndicators .carousel-indicators li.active {
  background-color: #1089ff !important;
}
body.dark-mode #carouselExampleIndicators .carousel-control-prev,
body.dark-mode #carouselExampleIndicators .carousel-control-next {
  background: rgba(33, 38, 45, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45) !important;
}
body.dark-mode #carouselExampleIndicators .carousel-control-prev:hover,
body.dark-mode #carouselExampleIndicators .carousel-control-next:hover {
  background: #21262d !important;
  box-shadow: 0 4px 14px rgba(16, 137, 255, 0.4) !important;
}
body.dark-mode #carouselExampleIndicators .carousel-control-prev.cert-nav-disabled,
body.dark-mode #carouselExampleIndicators .carousel-control-next.cert-nav-disabled {
  box-shadow: none !important;
}

body.dark-mode .proj-card {
  background: #161b22 !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.35) !important;
}
body.dark-mode .proj-card:hover { border-color: #1089ff !important; }
body.dark-mode .proj-card-img-wrap { background: #21262d !important; }
body.dark-mode .proj-card-title { color: #e6edf3 !important; }
body.dark-mode .proj-card-desc { color: #8b949e !important; }
body.dark-mode .proj-tag {
  background: rgba(16, 137, 255, 0.13) !important;
  color: #58a6ff !important;
}

/* Blog cards (dark) */
body.dark-mode .blog-card {
  background: #161b22 !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.35) !important;
}
body.dark-mode .blog-card:hover { border-color: #1089ff !important; }
body.dark-mode .blog-card-img-wrap { background: #21262d !important; }
body.dark-mode .blog-card-title { color: #e6edf3 !important; }
body.dark-mode .blog-card-desc { color: #8b949e !important; }
body.dark-mode .blog-card-date { color: #6e7681 !important; }
body.dark-mode .blog-card-tag {
  background: rgba(16, 137, 255, 0.13) !important;
  color: #58a6ff !important;
}
body.dark-mode .blog-filter-btn {
  background: #21262d !important;
  color: #8b949e !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
body.dark-mode .blog-filter-btn:hover,
body.dark-mode .blog-filter-btn.active {
  background: #1089ff !important;
  color: #fff !important;
  border-color: #1089ff !important;
}

/* Project modal */
body.dark-mode .proj-modal-backdrop { background: rgba(0, 0, 0, 0.78) !important; }
body.dark-mode .proj-modal {
  background: #161b22 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}
body.dark-mode .proj-modal-close {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #8b949e !important;
}
body.dark-mode .proj-modal-close:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #e6edf3 !important;
}
body.dark-mode .proj-modal-title { color: #e6edf3 !important; }
body.dark-mode .proj-modal-badge {
  background: rgba(16, 137, 255, 0.15) !important;
  color: #58a6ff !important;
}
body.dark-mode .proj-modal-desc { color: #c9d1d9 !important; }
body.dark-mode .proj-modal-tag {
  background: rgba(255, 255, 255, 0.07) !important;
  color: #8b949e !important;
}

body.dark-mode .proj-show-more-btn {
  color: #58a6ff !important;
  border-color: rgba(88, 166, 255, 0.5) !important;
  background: transparent !important;
}
body.dark-mode .proj-show-more-btn:hover {
  background: #1089ff !important;
  color: #fff !important;
  border-color: #1089ff !important;
}

/* ── GenAI section ────────────────────────────────────────────── */
body.dark-mode .genai-subheading { color: #8b949e !important; }

/* Tier row backgrounds — override the inline --row-bg CSS var */
body.dark-mode .genai-pyr-row[data-tier-label^="Tier 1"] { background: rgba(124, 58, 237, 0.18) !important; }
body.dark-mode .genai-pyr-row[data-tier-label^="Tier 2"] { background: rgba(16, 137, 255, 0.16) !important; }
body.dark-mode .genai-pyr-row[data-tier-label^="Tier 3"] { background: rgba(14, 165, 233, 0.15) !important; }
body.dark-mode .genai-pyr-row[data-tier-label^="Tier 4"] { background: rgba(16, 185, 129, 0.15) !important; }
body.dark-mode .genai-pyr-row[data-tier-label^="Tier 5"] { background: rgba(245, 158, 11, 0.14) !important; }
body.dark-mode .genai-pyr-row[data-tier-label^="Tier 6"] { background: rgba(107, 114, 128, 0.12) !important; }

body.dark-mode .genai-pyr-block {
  background: #21262d !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
}
body.dark-mode .genai-pyr-block:hover,
body.dark-mode .genai-pyr-block:focus {
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.55) !important;
}

body.dark-mode .genai-legend-pill { color: #8b949e !important; }

/* GenAI modal */
body.dark-mode .genai-modal-backdrop { background: rgba(0, 0, 0, 0.78) !important; }
body.dark-mode .genai-modal {
  background: #161b22 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}
body.dark-mode .genai-modal-close {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #8b949e !important;
  border: none !important;
}
body.dark-mode .genai-modal-close:hover {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #e6edf3 !important;
}
body.dark-mode .genai-modal-name { color: #e6edf3 !important; }
body.dark-mode .genai-modal-sec-title { color: #58a6ff !important; }
body.dark-mode #genaiModalDesc,
body.dark-mode #genaiModalUsage { color: #c9d1d9 !important; }
body.dark-mode .genai-modal-cases li { color: #c9d1d9 !important; }
body.dark-mode .genai-modal-logo-fb {
  background: #30363d !important;
  color: #8b949e !important;
}

/* ── Contact ──────────────────────────────────────────────────── */
body.dark-mode .ct-panel-heading { color: #e6edf3 !important; }
body.dark-mode .ct-tagline { color: #8b949e !important; }
body.dark-mode .ct-detail-label { color: #8b949e !important; opacity: 1 !important; }
body.dark-mode .ct-detail-text span { color: #c9d1d9 !important; }
body.dark-mode .ct-detail-text a { color: #58a6ff !important; }
body.dark-mode .ct-detail-icon i { color: #1089ff !important; }

body.dark-mode .ct-social-btn {
  background: #21262d !important;
  color: #8b949e !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
body.dark-mode .ct-social-btn:hover {
  background: #1089ff !important;
  color: #fff !important;
}

body.dark-mode .ct-form-heading { color: #e6edf3 !important; }

body.dark-mode .ct-field label {
  color: rgba(255, 255, 255, 0.35) !important;
}
body.dark-mode .ct-field input:focus ~ label,
body.dark-mode .ct-field input:not(:placeholder-shown) ~ label,
body.dark-mode .ct-field textarea:focus ~ label,
body.dark-mode .ct-field textarea:not(:placeholder-shown) ~ label {
  color: #1089ff !important;
}

body.dark-mode .ct-form-panel .contact-name,
body.dark-mode .ct-form-panel .contact-subject,
body.dark-mode .ct-form-panel .contact-message {
  color: #e6edf3 !important;
  border-bottom-color: rgba(255, 255, 255, 0.15) !important;
}
body.dark-mode .ct-form-panel .contact-name:focus,
body.dark-mode .ct-form-panel .contact-subject:focus,
body.dark-mode .ct-form-panel .contact-message:focus {
  border-bottom-color: #1089ff !important;
}
body.dark-mode .ct-form-panel ::placeholder { color: transparent !important; }

/* ── Footer ───────────────────────────────────────────────────── */
body.dark-mode .ct-copyright a { color: #8b949e !important; opacity: 1 !important; }

/* ── Back to Top ──────────────────────────────────────────────── */
body.dark-mode #topButton {
  background-color: #21262d !important;
  color: #c9d1d9 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
body.dark-mode #topButton:hover {
  background-color: #1089ff !important;
  color: #fff !important;
}

/* ==============================================================
   BLOG — theme-aware typography & design
   Light : Poppins headings + Lora serif reading on paper-white
   Dark  : Poppins headings + Poppins sans reading on slate
   (The reading font itself switches with the theme.)
   ============================================================== */

/* ── Hero heading + quote (blog index + post pages) ───────────── */
.blog-page-heading {
  font-family: "Poppins", "Roboto Slab", sans-serif;
  font-weight: 700;
  letter-spacing: -1.5px;
}
.blog-post-style {
  font-family: "Lora", Georgia, serif;
}
.blog-post-style em {
  font-style: italic;
}

/* ── Blog index cards (scoped to #blog so the homepage is untouched) ── */
#blog .blog-card-title {
  font-family: "Poppins", sans-serif;
  letter-spacing: -0.3px;
}
#blog .blog-card-desc {
  font-family: "Lora", Georgia, serif;
}
body.dark-mode #blog .blog-card-desc {
  font-family: "Poppins", sans-serif;
}

/* ── Article reading (post pages) — LIGHT ─────────────────────── */
.mh-blog .mh-blog-item.blog-single h2 {
  font-family: "Poppins", "Roboto Slab", sans-serif;
  font-style: normal;
  letter-spacing: -0.6px;
  color: #1a2533;
}
.mh-blog .mh-blog-item.blog-single .blog-inner p {
  font-family: "Lora", Georgia, serif;
  font-size: 1.12rem;
  line-height: 1.95;
  color: #2d3540;
}
.mh-blog .mh-blog-item.blog-single img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.12);
}

/* ── DARK MODE — colours + reading font swap ──────────────────── */
body.dark-mode .blog-page-heading { color: #e6edf3; }
body.dark-mode .blog-post-style,
body.dark-mode .blog-post-style em { color: #8b949e; }

/* Hero overlay panel: let the dark page show through */
body.dark-mode .img-color-overlay { background-color: transparent; }

/* Article surface */
body.dark-mode .mh-blog .mh-blog-item.blog-single h2,
body.dark-mode .mh-blog .mh-blog-item.blog-single h2 a { color: #e6edf3; }
body.dark-mode .mh-blog .mh-blog-item.blog-single .blog-inner p {
  font-family: "Poppins", -apple-system, "Segoe UI", sans-serif;
  color: #c9d1d9;
}
body.dark-mode .mh-blog .mh-blog-item .blog-inner a { color: #c9d1d9; }
body.dark-mode .mh-blog .mh-blog-item .blog-inner h2 a:hover { color: #58a6ff; }
body.dark-mode .mh-blog-post-info,
body.dark-mode .mh-blog-post-info a { color: #8b949e; }
body.dark-mode .mh-blog .mh-blog-item.blog-single img {
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.5);
}

/* Prev / next + related-post box */
body.dark-mode .mh-blog-next-prev-post a { color: #58a6ff; }
body.dark-mode .mh-related-post,
body.dark-mode .sidebar-item {
  background: #161b22;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.4);
}

/* Sidebar categories */
body.dark-mode .sidebar-catagory,
body.dark-mode .sidebar-item h3 { color: #e6edf3; }
body.dark-mode .sidebar-catagory a,
body.dark-mode .mh-blog-category ul li a { color: #8b949e; }
body.dark-mode .sidebar-catagory a:hover,
body.dark-mode .mh-blog-category ul li a:hover { color: #58a6ff; }

/* Footer (post pages use .mh-footer .mh-copyright) */
body.dark-mode .mh-footer .mh-copyright a { color: #c9d1d9; opacity: 1; }
body.dark-mode .mh-footer .social-icon li a { color: #8b949e; }
body.dark-mode .mh-footer .social-icon li a:hover { color: #58a6ff; }
body.dark-mode .blog-empty { color: #6e7681; }

/* ==============================================================
   READING PAGE — book cards (shares the site card design language)
   ============================================================== */

/* Affiliate disclosure */
.reading-disclosure {
  font-family: "Poppins", sans-serif;
  font-size: 12.5px;
  color: #8a8f98;
  text-align: center;
  margin: 0 auto 34px;
  max-width: 760px;
}
.reading-disclosure i {
  color: #1089ff;
  margin-right: 5px;
}

/* Grid */
.reading-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* Card */
.reading-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.07);
  border: 1.5px solid rgba(0, 0, 0, 0.07);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.reading-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(16, 137, 255, 0.18);
  border-color: #1089ff;
}

/* Cover */
.reading-cover-link {
  display: block;
  text-decoration: none;
}
.reading-cover-wrap {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #eef2f7;
  display: flex;
  align-items: center;
  justify-content: center;
}
.reading-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.reading-card:hover .reading-cover {
  transform: scale(1.04);
}

/* Body */
.reading-card-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.reading-title {
  font-family: "Poppins", "Roboto Slab", sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.3px;
  color: #1a2533;
  margin: 0 0 3px;
  line-height: 1.3;
}
.reading-author {
  font-family: "Lora", Georgia, serif;
  font-style: italic;
  font-size: 13.5px;
  color: #6b7280;
  margin: 0 0 14px;
}

/* Rating block */
.reading-ratings {
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  padding-top: 12px;
  margin-bottom: 14px;
}
.reading-rating-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  color: #555;
  padding: 3px 0;
}
.reading-rating-label {
  color: #6b7280;
}
.reading-rating-val {
  font-weight: 600;
  color: #2c3e50;
}
.reading-rating-overall {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px dashed rgba(0, 0, 0, 0.12);
  font-size: 15px;
}
.reading-rating-overall .reading-rating-label {
  font-weight: 700;
  color: #1a2533;
}
.reading-rating-overall .reading-rating-val {
  font-weight: 800;
  color: #1089ff;
}

/* Notes */
.reading-notes {
  font-family: "Lora", Georgia, serif;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
  margin: 0 0 16px;
  flex: 1;
}

/* Amazon button */
.reading-amazon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  padding: 10px 18px;
  border-radius: 24px;
  background: #1089ff;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.2px;
  transition: background 0.22s, box-shadow 0.22s, transform 0.22s;
}
.reading-amazon-btn:hover {
  background: #0b6fd1;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(16, 137, 255, 0.3);
  transform: translateY(-2px);
}

/* Empty state */
.reading-empty {
  text-align: center;
  color: #999;
  font-size: 15px;
  margin-top: 30px;
}

/* ── Dark mode ── */
body.dark-mode .reading-disclosure { color: #6e7681; }
body.dark-mode .reading-card {
  background: #161b22;
  border-color: rgba(255, 255, 255, 0.07);
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}
body.dark-mode .reading-card:hover { border-color: #1089ff; }
body.dark-mode .reading-cover-wrap { background: #21262d; }
body.dark-mode .reading-title { color: #e6edf3; }
body.dark-mode .reading-author { color: #8b949e; }
body.dark-mode .reading-ratings { border-top-color: rgba(255, 255, 255, 0.08); }
body.dark-mode .reading-rating-row { color: #c9d1d9; }
body.dark-mode .reading-rating-label { color: #8b949e; }
body.dark-mode .reading-rating-val { color: #c9d1d9; }
body.dark-mode .reading-rating-overall { border-top-color: rgba(255, 255, 255, 0.14); }
body.dark-mode .reading-rating-overall .reading-rating-label { color: #e6edf3; }
body.dark-mode .reading-rating-overall .reading-rating-val { color: #58a6ff; }
body.dark-mode .reading-notes { color: #8b949e; }
body.dark-mode .reading-empty { color: #6e7681; }

/* ── Responsive ── */
@media (max-width: 991px) {
  .reading-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (max-width: 575px) {
  .reading-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/**
 * ============================================================
 *  GitHub Activity Widget
 *  Clean card matching the site's design language:
 *  - .proj-card style frame (white / #161b22, 16px radius, soft shadow)
 *  - .hero-stat-card style stat chips (#1089ff accent)
 *  - brand-blue contribution squares, light/dark adaptive
 *  Uses the github-calendar library for live data + the day grid;
 *  stat chips and legend are our own markup, populated by
 *  github-stats.js. Square colours are driven by overriding the
 *  library's --color-calendar-graph-day-* CSS variables.
 * ============================================================ */

.mh-github .prodev-title {
  margin-bottom: 30px;
}

/* ── Outer card (mirrors .proj-card) ── */
.gh-card {
  max-width: 940px;
  margin: 0 auto;
  background: #fff;
  border: 1.5px solid rgba(0, 0, 0, 0.07);
  border-radius: 16px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.07);
  padding: 26px 28px 20px;
  display: flex;
  flex-direction: column;     /* stats → graph → legend, always contained */

  /* Brand-blue square palette — overrides the library defaults for
     every .ContributionCalendar-day descendant and the legend swatches */
  --color-calendar-graph-day-bg:    #ebedf0;
  --color-calendar-graph-day-L1-bg: #c6e0ff;
  --color-calendar-graph-day-L2-bg: #7cb8ff;
  --color-calendar-graph-day-L3-bg: #3d94f6;
  --color-calendar-graph-day-L4-bg: #1089ff;
  --gh-cell-edge: rgba(27, 31, 35, 0.06);
}

/* ── Stat chips (mirror .hero-stat-card) ── */
.gh-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 24px;
}

.gh-stat {
  flex: 1 1 150px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 18px;
  background: rgba(16, 137, 255, 0.05);
  border: 1px solid rgba(16, 137, 255, 0.14);
  border-radius: 12px;
}

.gh-stat-num {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  color: #1089ff !important;
  -webkit-text-fill-color: #1089ff;
}

.gh-stat-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #5a6a7a !important;
  line-height: 1.3;
}

/* ── Calendar mount: library injects here ──
   flex-wrap keeps the graph as its own full-width line so its height
   propagates to the card (prevents the overflow we hit earlier). */
.gh-card .calendar {
  border: none !important;
  border-radius: 0;
  background: transparent;
  text-align: left;
  font-size: 12px;
  color: #57606a;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  margin: 0;
  display: block;
  /* Single scroll container: grid scrolls horizontally, never clips
     vertically (card grows to fit month/weekday labels). */
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 6px;
  scrollbar-width: thin;
  scrollbar-color: #1089ff transparent;
}

/* Thin brand-blue horizontal scrollbar (WebKit) */
.gh-card .calendar::-webkit-scrollbar {
  height: 8px;
}
.gh-card .calendar::-webkit-scrollbar-track {
  background: transparent;
}
.gh-card .calendar::-webkit-scrollbar-thumb {
  background: #1089ff;
  border-radius: 4px;
}
.gh-card .calendar::-webkit-scrollbar-thumb:hover {
  background: #0a6fd6;
}

/* Keep the injected grid at natural size so columns stay 11px and the
   whole table scrolls instead of compressing (which clipped labels). */
.gh-card .calendar table.ContributionCalendar-grid,
.gh-card .calendar .js-calendar-graph table {
  width: max-content;
  border-collapse: separate;
  border-spacing: 3px;
  margin: 0;
}

/* Hide the library's native chrome — we render our own stats + legend */
.gh-card .calendar .contrib-column,
.gh-card .calendar .contrib-footer,
.gh-card .calendar h2.f4,
.gh-card .calendar a.show-on-focus,
.gh-card .calendar a[href^="#year-link-"] {
  display: none !important;
}

.gh-card .calendar div.px-md-5 {
  height: 0;
}

/* Graph wrapper: scrolling now lives on .calendar, so keep this at
   natural width with no nested scrollbar. */
.gh-card .calendar .js-yearly-contributions {
  flex: none;
  width: auto;
  min-height: 0;
  overflow: visible;
}

.gh-card .calendar .js-calendar-graph {
  min-height: 0;
  flex-shrink: 0;
}

.gh-card .calendar .graph-before-activity-overview {
  border: none !important;
  padding: 0 !important;
}

/* Month / weekday labels */
.gh-card .calendar text.wday,
.gh-card .calendar text.month,
.gh-card .calendar .ContributionCalendar-label {
  fill: #57606a !important;
}

/* Table-based labels (month row + weekday column): keep on one line and
   give them room so they never clip against the day grid. */
.gh-card .calendar td.ContributionCalendar-label {
  white-space: nowrap;
  line-height: 1;
  padding: 0 4px 2px 0;
  font-size: 11px;
  color: #57606a !important;
}

/* ── Day cells: solid rounded squares (GitHub-style, blue scale) ──
   Background colour comes from the library's data-level rules, which
   read the --color-calendar-graph-day-* variables overridden above. */
.gh-card .calendar td.ContributionCalendar-day {
  box-sizing: border-box;
  width: 11px !important;
  height: 11px !important;
  padding: 0 !important;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px var(--gh-cell-edge);
}

/* ── Legend: bottom-right, under the graph ── */
.gh-legend {
  align-self: flex-end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
  flex-wrap: nowrap;
  gap: 4px;
  margin-top: 16px;
  margin-left: auto;
  font-size: 11px;
  line-height: 1;
  color: #57606a !important;
}

.gh-legend-label {
  color: #57606a !important;
  margin: 0 3px;
}

.gh-leg {
  display: inline-block;
  box-sizing: border-box;
  width: 11px;
  height: 11px;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px var(--gh-cell-edge);
}
.gh-leg[data-l='0'] { background: var(--color-calendar-graph-day-bg); }
.gh-leg[data-l='1'] { background: var(--color-calendar-graph-day-L1-bg); }
.gh-leg[data-l='2'] { background: var(--color-calendar-graph-day-L2-bg); }
.gh-leg[data-l='3'] { background: var(--color-calendar-graph-day-L3-bg); }
.gh-leg[data-l='4'] { background: var(--color-calendar-graph-day-L4-bg); }

/* ── Profile link (bottom-left) ── */
.gh-link {
  align-self: flex-start;
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  font-weight: 600;
  color: #1089ff !important;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.gh-link:hover { text-decoration: underline; opacity: 0.85; }
body.dark-mode .gh-link { color: #4ba3ff !important; }

/* ── Dark mode (matches the site's #161b22 / #0d1117 dark palette) ── */
body.dark-mode .gh-card {
  background: #161b22;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.4);

  --color-calendar-graph-day-bg:    #21262d;
  --color-calendar-graph-day-L1-bg: #0d335c;
  --color-calendar-graph-day-L2-bg: #15518a;
  --color-calendar-graph-day-L3-bg: #1e7fd4;
  --color-calendar-graph-day-L4-bg: #4ba3ff;
  --gh-cell-edge: rgba(255, 255, 255, 0.05);
}

body.dark-mode .gh-stat {
  background: rgba(16, 137, 255, 0.08);
  border-color: rgba(16, 137, 255, 0.22);
}

body.dark-mode .gh-stat-num {
  color: #1089ff !important;
  -webkit-text-fill-color: #1089ff;
}

body.dark-mode .gh-stat-label {
  color: #8b949e !important;
}

body.dark-mode .gh-card .calendar,
body.dark-mode .gh-legend,
body.dark-mode .gh-legend-label {
  color: #8b949e !important;
}

body.dark-mode .gh-card .calendar {
  scrollbar-color: #4ba3ff transparent;
}
body.dark-mode .gh-card .calendar::-webkit-scrollbar-thumb {
  background: #4ba3ff;
}
body.dark-mode .gh-card .calendar::-webkit-scrollbar-thumb:hover {
  background: #1e7fd4;
}
body.dark-mode .gh-card .calendar td.ContributionCalendar-label {
  color: #8b949e !important;
}

body.dark-mode .gh-card .calendar text.wday,
body.dark-mode .gh-card .calendar text.month,
body.dark-mode .gh-card .calendar .ContributionCalendar-label {
  fill: #8b949e !important;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  .gh-card     { padding: 18px 16px 16px; }
  .gh-stat     { flex: 1 1 calc(50% - 7px); padding: 12px 14px; }
  .gh-stat-num { font-size: 24px; }
}

/* ============================================================
 *  COMPETITIVE PROGRAMMING  (BeeCrowd stats)
 *  Mirrors the GitHub Activity widget: brand-blue (#1089ff)
 *  accent, white card / #161b22 dark card, count-up stat chips.
 * ============================================================ */

.mh-competitive .prodev-title {
  margin-bottom: 30px;
}

/* ── Outer card (mirrors .gh-card) ── */
.cp-card {
  max-width: 940px;
  margin: 0 auto;
  background: #fff;
  border: 1.5px solid rgba(0, 0, 0, 0.07);
  border-radius: 16px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.07);
  padding: 26px 28px 24px;
  display: flex;
  flex-direction: column;
}

/* ── Rank badge: prominent "#1" ── */
.cp-rank-badge {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 26px;
  margin-bottom: 24px;
  border-radius: 14px;
  background: linear-gradient(135deg, #1089ff 0%, #0a6fd6 100%);
  box-shadow: 0 6px 18px rgba(16, 137, 255, 0.28);
}

.cp-rank-num {
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  letter-spacing: -1px;
}

.cp-rank-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cp-rank-title {
  font-size: 18px;
  font-weight: 700;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

.cp-rank-sub {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.85);
}

/* ── Stat cards (mirror .gh-stat, larger) ── */
.cp-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 22px;
}

.cp-stat-card {
  flex: 1 1 150px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 22px 22px;
  background: rgba(16, 137, 255, 0.05);
  border: 1px solid rgba(16, 137, 255, 0.14);
  border-radius: 12px;
}

.cp-stat-num {
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  color: #1089ff !important;
  -webkit-text-fill-color: #1089ff;
}

.cp-stat-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #5a6a7a !important;
  line-height: 1.3;
}

.cp-stat-sub {
  font-size: 11px;
  font-weight: 500;
  color: #8a98a8 !important;
  line-height: 1.3;
}

/* ── External link ── */
.cp-link {
  align-self: flex-start;
  font-size: 14px;
  font-weight: 600;
  color: #1089ff !important;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.cp-link:hover {
  text-decoration: underline;
  opacity: 0.85;
}

/* ── Dark mode (matches #161b22 / #0d1117 palette) ── */
body.dark-mode .cp-card {
  background: #161b22;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.4);
}

body.dark-mode .cp-stat-card {
  background: rgba(16, 137, 255, 0.08);
  border-color: rgba(16, 137, 255, 0.22);
}

body.dark-mode .cp-stat-num {
  color: #1089ff !important;
  -webkit-text-fill-color: #1089ff;
}

body.dark-mode .cp-stat-label {
  color: #8b949e !important;
}

body.dark-mode .cp-stat-sub {
  color: #6e7781 !important;
}

body.dark-mode .cp-rank-badge {
  background: linear-gradient(135deg, #1e7fd4 0%, #0d4f96 100%);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}

body.dark-mode .cp-link {
  color: #4ba3ff !important;
}

/* ── Responsive: 2×2 stat grid under 768px ── */
@media (max-width: 768px) {
  .cp-card        { padding: 20px 18px 18px; }
  .cp-stat-card   { flex: 1 1 calc(50% - 7px); padding: 16px 16px; }
  .cp-stat-num    { font-size: 28px; }
  .cp-rank-badge  { gap: 16px; padding: 18px 20px; }
  .cp-rank-num    { font-size: 44px; }
  .cp-rank-title  { font-size: 16px; }
}

/* ============================================================================
   STORY VIEWER
   Full-screen Instagram-style story player, opened from the hero profile ring.
   ========================================================================== */

.story-backdrop {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0, 0, 0, 0.92);
  z-index: 9500;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.story-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.story-stage {
  position: relative;
  height: 92vh;
  max-height: 900px;
  width: calc(92vh * 9 / 16);
  max-width: 100vw;
  background: #111;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
  transform: scale(0.97);
  transition: transform 0.25s ease;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.story-backdrop.is-open .story-stage {
  transform: scale(1);
}

/* ── Progress bars ── */
.story-bars {
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex;
  gap: 4px;
  padding: 10px;
  z-index: 3;
}

.story-bar {
  flex: 1 1 0;
  height: 3px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.35);
  overflow: hidden;
}

.story-bar-fill {
  height: 100%;
  width: 100%;
  border-radius: 2px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left center;
}

/* ── Header ── */
.story-head {
  position: absolute;
  top: 20px; left: 0; right: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px 24px;
  z-index: 3;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));
  pointer-events: none;
}

.story-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.85);
}

/* !important because the theme's global `span` rules (light and dark) force a
   dark colour and 0.8 opacity onto every span on the page. */
.story-head .story-author {
  color: #fff !important;
  opacity: 1 !important;
  font-size: 14px;
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  margin-right: auto;
}

.story-mute,
.story-close {
  pointer-events: auto;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  padding: 6px 8px;
  cursor: pointer;
  opacity: 0.9;
  transition: opacity 0.2s ease;
}

.story-mute:hover,
.story-close:hover { opacity: 1; }

.story-mute[hidden] { display: none; }

/* ── Media ── */
.story-media {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 1;
  background: #000;
}

.story-media img,
.story-media video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #000;
}

/* ── Invisible tap zones ── */
.story-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.story-nav:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.6);
  outline-offset: -4px;
}

.story-prev { left: 0;  width: 30%; }
.story-next { right: 0; width: 70%; }

/* Dim the chrome while held/paused */
.story-bars,
.story-head {
  transition: opacity 0.2s ease;
}

.story-stage.is-paused .story-bars,
.story-stage.is-paused .story-head {
  opacity: 0.25;
}

/* ── Phones: edge to edge ── */
@media (max-width: 576px) {
  .story-stage {
    height: 100vh;
    height: 100dvh;
    max-height: none;
    width: 100vw;
    border-radius: 0;
  }
}

/* ── Dark mode ── */
body.dark-mode .mh-home .img-border.has-story::after {
  background: #0d1117;
}

body.dark-mode .mh-home .img-border.has-story.is-seen::before {
  background: #4a4a4a;
}
