
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/*==================================================
                    PAGE LOADER
====================================================*/

#page-loader {
    background: #fff;
    height: 100%;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999;
}

.loader-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loader-text {
    font-family: 'Saira Extra Condensed', serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-color);
    z-index: 2;
}

.loader-icon {
    position: absolute;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 4px solid transparent;
    border-top-color: var(--primary-color);
    animation: spin 1.5s linear infinite;
    z-index: 1;
}

.loader-icon::before {
    content: '';
    position: absolute;
    top: 5px;
    right: 5px;
    bottom: 5px;
    left: 5px;
    border-radius: 50%;
    border: 4px solid transparent;
    border-top-color: var(--hover-color);
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/*==================================================
                    SCROLL TO TOP
====================================================*/

.back-to-top {
    position: fixed;
    bottom: 25px;
    right: 25px;
    display: none;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 1;
    font-size: 1.5rem;
    background: var(--primary-color);
    color: #fff;
    transition: all 0.4s;
}

.back-to-top i {
    line-height: 36px;
}

.back-to-top:hover {
    background: #fff;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}

/*GENERAL STYLE*/

body {
    font-family: 'Poppins', sans-serif;
    padding-top: 54px;
    color: var(--secondary-text-color);
    background-color: var(--body-bg);
    transition: background-color 0.3s, color 0.3s;
}

@media (min-width: 992px) {
    body {
        padding-top: 0;
        padding-left: 17rem;
    }
}

:root {
    --primary-color: #2196f3;
    --hover-color: rgba(54, 160, 245, 0.73);
    --body-bg: #fff;
    --text-color: #343a40;
    --secondary-text-color: #5c5e5f;
    --section-bg: #f5f5f5;
    --card-bg: #fff;
    --border-color: #dee2e6;
    --nav-bg: #2196f3;
    --nav-text: #fff;
}

body.dark-mode {
    --body-bg: #121212;
    --text-color: #fff;
    --secondary-text-color: #adb5bd;
    --section-bg: #1e1e1e;
    --card-bg: #2c2c2c;
    --border-color: #495057;
    --nav-bg: #1a1a1a;
    --nav-text: #f8f9fa;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Saira Extra Condensed', serif;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-color);
}

h1 {
    font-size: 6rem;
    line-height: 5.5rem;
}

h2 {
    font-size: 3.5rem;
}

a {
    color: var(--primary-color);
}

a:hover,
a:focus,
a:active {
    color: #0f72c1;
}

.subheading {
    text-transform: uppercase;
    font-weight: 500;
    font-family: 'Saira Extra Condensed', serif;
    font-size: 1.35rem;
    color: #fff;
}

/*==================================================
                  SOCIAL-ICON
====================================================*/
  .list-social-icons a {
      color: #495057;
  }

  .list-social-icons a:hover {
      color: var(--primary-color);
  }

  .list-social-icons a .fa-lg {
      font-size: 1.75rem;
  }

  .list-icons {
      font-size: 3rem;
  }

  .list-icons .list-inline-item i:hover {
      color: var(--primary-color);
  }

/*==================================================
                    NAV-BAR
====================================================*/
  #sideNav .navbar-nav .nav-item .nav-link {
      font-weight: 600;
      text-transform: uppercase;
  }

  .mobile-logo img{
    border-radius: 50%;
    width: 60px;
    height: 60px;
  }

  .mobile-logo{
    font-size: 25px;
    font-weight: 600;
    color: #fff;
  }

  @media (min-width: 992px) {
      #sideNav {
          text-align: center;
          position: fixed;
          top: 0;
          left: 0;
          display: flex;
          flex-direction: column;
          width: 17rem;
          height: 100vh;
      }
      #sideNav .navbar-brand {
          display: flex;
          margin: auto auto 0;
          padding: 0.5rem;
      }
      #sideNav .navbar-brand .img-profile {
          max-width: 10rem;
          max-height: 10rem;
          border: 0.5rem solid rgba(255, 255, 255, 0.2);
      }
      #sideNav .navbar-collapse {
          display: flex;
          align-items: flex-start;
          flex-grow: 0;
          width: 100%;
          margin-bottom: auto;
      }
      #sideNav .navbar-collapse .navbar-nav {
          flex-direction: column;
          width: 100%;
      }
      #sideNav .navbar-collapse .navbar-nav .nav-item {
          display: block;
      }
      #sideNav .navbar-collapse .navbar-nav .nav-item .nav-link {
          display: block;
      }
  }

/*==================================================
                  BUTTON (Generic)
====================================================*/

.btn-general {
    background-color: transparent;
    text-align: center;
    border-width: 1px;
    border-radius: 0px;
    font-size: 16px;
    padding: 10px 15px;
    font-weight: 400;
    text-transform: uppercase;
}

.btn-white {
    border-color: var(--primary-color);
    background-color: var(--primary-color);
    color: #fff;
    border-radius: 8px;
}

.btn-white:hover,
.btn-white:focus {
    background-color: transparent;
    color: var(--primary-color);
    cursor: pointer;
}

.btn-green {
    border-color: var(--primary-color);
    color: var(--primary-color);
    border-radius: 8px;
}

.btn-green:hover,
.btn-green:focus {
    background-color: var(--primary-color);
    color: #fff;
    cursor: pointer;
}

/*==================================================
                  THEME SWITCH
====================================================*/

.switch {
  font-size: 17px;
  position: relative;
  display: inline-block;
  width: 4em;
  height: 2.2em;
  border-radius: 30px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #2a2a2a;
  transition: 0.4s;
  border-radius: 30px;
  overflow: hidden;
}

.slider:before {
  position: absolute;
  content: "";
  height: 1.2em;
  width: 1.2em;
  border-radius: 20px;
  left: 0.5em;
  bottom: 0.5em;
  transition: 0.4s;
  transition-timing-function: cubic-bezier(0.81, -0.04, 0.38, 1.5);
  box-shadow: inset 8px -4px 0px 0px #fff;
}

.switch input:checked + .slider {
  background-color: #00a6ff;
}

.switch input:checked + .slider:before {
  transform: translateX(1.8em);
  box-shadow: inset 15px -4px 0px 15px #ffcf48;
}

.star {
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  width: 5px;
  transition: all 0.4s;
  height: 5px;
}

.star_1 {
  left: 2.5em;
  top: 0.5em;
}

.star_2 {
  left: 2.2em;
  top: 1.2em;
}

.star_3 {
  left: 3em;
  top: 0.9em;
}

.switch input:checked ~ .slider .star {
  opacity: 0;
}

.cloud {
  width: 3.5em;
  position: absolute;
  bottom: -1.4em;
  left: -1.1em;
  opacity: 0;
  transition: all 0.4s;
}

.switch input:checked ~ .slider .cloud {
  opacity: 1;
}

/*==================================================
                  SECTION (Generic)
====================================================*/
  .heading-border {
      width: 60px;
      height: 10px;
      background-color: var(--primary-color);
      margin: 0 auto 20px auto;
  }

  section.resume-section {
      border-bottom: 1px solid var(--border-color);
      padding-top: 5rem !important;
      padding-bottom: 5rem !important;
  }

  section.resume-section .resume-item .resume-date {
      min-width: none;
  }

  .resume-item h4 span{
    font-weight: 300;
    font-size: 23px;
  }

  .resume-item p{
 color: var(--secondary-text-color);
  }

  @media (min-width: 768px) {
      section.resume-section {
          /* min-height: 100vh; */
      }
      section.resume-section .resume-item .resume-date {
          min-width: 18rem;
      }
  }

  @media (min-width: 992px) {
      section.resume-section {
          padding-top: 3rem !important;
          padding-bottom: 3rem !important;
      }
  }

  .bg-primary {
      background-color: var(--primary-color) !important;
  }

  .text-primary {
      color: var(--primary-color) !important;
  }

/*==================================================
                      ABOUT
====================================================*/
  #about {
      background-image: linear-gradient(rgba(0, 0, 0, 0.516), rgba(0, 0, 0, 0.522)), url(../img/profile-banner.webp); 
      background-size: cover;
      background-position: center bottom;
      background-repeat: no-repeat;
      height: 100vh;
  }

  #about h1 {
    /*font-size: 100%;*/
    color: #ffffff;
  }

  #about p{
    color: #ffffff;
    font-weight: 300;
    text-align: justify;
  }

  .looking-text {
    font-size: 35px;
    color: #ffffff;
    margin-bottom: 1rem;
    font-weight: 500;
}

.role-title{
    /* background-color: #fff; */
    padding: 5px 10px;
    border-radius: 5px;
    color: #ffffff;
}

/*==================================================
                    EXPERIENCE
====================================================*/  
  #experience {
    background: var(--section-bg);
  }

  #experience .card h4{
    font-family: 'Roboto Condensed', sans-serif;
    text-transform: none;
    color: var(--text-color);
  }

  .card{
    border-radius: 16px;
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
  }

 

/*====================================================
                   PORTFOLIO
======================================================*/

#portfolio{
    padding:100px 0;
} 

.port-head-cont{
    margin:20px auto 40px auto;
    text-align: center;
}

.port-head-cont button{
    margin:5px 2px;
}

#portfolio .portfolio-item {
    right: 0;
    margin: 0 0 15px;
}

#portfolio .portfolio-item .portfolio-link {
    position: relative;
    display: block;
    max-width: 400px;
    margin: 0 auto;
    cursor: pointer;
}

#portfolio .portfolio-item .portfolio-link .caption-port {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-transition: all ease 0.5s;
    -moz-transition: all ease 0.5s;
    transition: all ease 0.5s;
    opacity: 0;
    background: var(--hover-color);
}

#portfolio .portfolio-item .portfolio-link .caption-port:hover {
    opacity: 1;
}

#portfolio .portfolio-item .portfolio-link .caption-port .caption-port-content {
    font-size: 20px;
    position: absolute;
    top: 50%;
    width: 100%;
    height: 20px;
    margin-top: -12px;
    text-align: center;
    color: white;
}

#portfolio .portfolio-item .portfolio-link .caption-port .caption-port-content i {
    margin-top: -12px;
}

#portfolio .portfolio-item .portfolio-link .caption-port .caption-port-content h3,
#portfolio .portfolio-item .portfolio-link .caption-port .caption-port-content h4 {
    margin: 0;
}

#portfolio * {
    z-index: 2;
}

.portfolio-item img {
    height: 260px;
    width: 100%;
    object-fit: cover;
}

@media (min-width: 767px) {
    #portfolio .portfolio-item {
        margin: 0 0 30px;
    }
}
.carousel-control-prev-fa , .carousel-control-next-fa{
color: white;
background-color: var(--primary-color);
padding: 10px;
border-radius: 50%;
}
.carousel-indicators li{
    background-color: var(--primary-color);
}
.carousel-indicators li.active{
    background-color: rgb(0, 55, 174);
}

.portfolio-modal .modal-dialog .modal-content{
    background-color: var(--section-bg);
}

.portfolio-modal .modal-dialog {
    max-width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
    text-align: left;
    border: none;
    border-radius: 0;
    background-clip: border-box;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.portfolio-modal .title-bar {
    padding: 0 0 50px 0;
}

.portfolio-modal .title-bar h1{
    visibility: initial;
    animation-name: initial;
}

.portfolio-modal .modal-dialog .modal-content {
    padding: 10px 0 100px 0;
    border: 0;
    border-radius: 0;
} 

.portfolio-modal .modal-dialog .modal-content img {
    margin-bottom: 30px;
}

.portfolio-modal .modal-dialog .modal-content .item-details {
    margin: 30px 0;
}
 
.portfolio-modal .close-modal {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 75px;
    height: 75px;
    cursor: pointer;
    background-color: transparent;
}

.portfolio-modal .close-modal:hover {
    opacity: 0.3;
}

.portfolio-modal .close-modal .lr {
    /* Safari and Chrome */
    z-index: 1051;
    width: 1px;
    height: 75px;
    margin-left: 35px;
    /* IE 9 */
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    background-color: #2C3E50;
}

.portfolio-modal .close-modal .lr .rl {
    /* Safari and Chrome */
    z-index: 1052;
    width: 1px;
    height: 75px;
    /* IE 9 */
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    background-color: #2C3E50;
}

.portfolio-modal .modal-backdrop {
    display: none;
    opacity: 0;
}

@media (max-width: 850px){
    .portfolio-modal .close-modal{
        display: none;
    }
}  

/*====================================================
                      SKILLS
======================================================*/

#skills {
    background-image: url("../img/bg-stats.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.skill-cover {
    background-color: rgba(31, 31, 31, 0.68); 
}

.skill-cover h3{
  font-family: "hind", sans-serif;
  font-size: 35px;
  margin-bottom: 40px;
}

.skill-item {
    padding: 20px;
    margin-bottom: 30px;
    background: rgba(255, 255, 255, 0.19);
    border-radius: 16px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(7.7px);
    -webkit-backdrop-filter: blur(7.7px);
}

.skill-item i {
    color: var(--primary-color);
    background-color: var(--card-bg);
    padding: 30px;
    border-radius: 50%;
    font-size: 50px;
}

.skill-item h2 {
    color: #fff;
    font-size: "hind", sans-serif;
    font-size: 35px;
    font-weight: 700;
    margin-top: 15px;
    margin-bottom: 1px;
}

.skill-item > p {
    color: #fff;
    font-family: "hind", sans-serif;
    /*text-transform: uppercase;*/
    font-weight: 400;
    margin-top: 0;
    font-size: 23px;
}

.skill-tags span{
    padding: 10px;
    background-color: var(--primary-color);
    color: white;
    border-radius: 6px;
}

.skill-tags p{
    padding: 10px;
    background-color: var(--primary-color);
    color: white;
    border-radius: 6px;
    display: inline-block;
    margin-bottom: 3px;
    font-weight: 600;

}

/*====================================================
                      AWARD
======================================================*/
 
#awards {
    background: var(--section-bg);
}

#award-box {
    overflow: hidden;
    position: relative;
    padding: 60px 0;
}

#award-box:before {
    content: "";
    width: 1px;
    height: 100%;
    background: #cfcdcd;
    position: absolute;
    top: 0;
    left: 50%;
}

#award-box .award {
    width: 50%;
    clear: both;
    position: relative;
}

#award-box .award:before,
#award-box .award:after {
    content: "";
    display: block;
    clear: both;
}

#award-box .award:first-child:before,
#award-box .award:last-child:before {
    content: "";
    width: 11px;
    height: 11px;
    background: #cfcdcd;
    box-sizing: content-box;
    border: 5px solid #fff;
    box-shadow: 0 0 0 2px #cfcdcd;
    position: absolute;
    top: -54px;
    right: -11px;
    transform: rotate(45deg);
}

#award-box .award:last-child:before {
    top: auto;
    bottom: -54px;
}

#award-box .award:last-child:nth-child(even):before {
    right: auto;
    left: -11px;
}

#award-box .award-icon {
    width: 24px;
    height: 24px;
    background: #fff;
    border: 1px solid #cfcdcd;
    position: absolute;
    top: 17px;
    right: -13px;
    z-index: 1;
    transform: rotate(45deg);
}

#award-box .award-icon:before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: background-color 0.2s ease 0s;
}

#award-box .award:hover .award-icon:before {
    background: var(--primary-color);
}

#award-box .award-content {
    width: 85%;
    padding: 18px 30px;
    background: var(--card-bg);
    text-align: right;
    float: left;
    border: 1px solid transparent;
    position: relative;
    transition: all 0.3s ease 0s;
    border-radius: 16px;
}

#award-box .award:hover .award-content {
    border: 1px solid #cfcdcd;
}

#award-box .award-content:before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: #fff;
    border: 1px solid #cfcdcd;
    position: absolute;
    top: 21px;
    right: -7.3px;
    transform: rotate(45deg);
    transition: all 0.2s ease 0s;
}

#award-box .award:hover .award-content:before {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

#award-box .award-content:after {
    content: "";
    width: 11%;
    height: 1px;
    background: #cfcdcd;
    position: absolute;
    top: 28px;
    right: -14%;
}

#award-box .date {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--primary-color);
    margin: 0 0 8px;
    transition: all 0.3s ease 0s;
}

#award-box .award:hover .date {
    color: var(--secondary-text-color);
}

#award-box .title {
    font-size: 25px;
    color: var(--text-color);
    margin-top: 0;
    transition: all 0.3s ease 0s;
}

#award-box .award:hover .title {
    color: var(--primary-color);
}

#award-box .description {
    font-size: 16px;
    color: var(--secondary-text-color);
    line-height: 28px;
    margin-top: 8px;
}

#award-box .award:nth-child(2n),
#award-box .award:nth-child(2n) .award-content {
    float: right;
    text-align: left;
}

#award-box .award:nth-child(2n) .award-icon {
    right: 0;
    left: -12px;
}

#award-box .award:nth-child(2n) .award-content:before {
    left: -7.3px;
}

#award-box .award:nth-child(2n) .award-content:after {
    left: -14%;
}
 
@media only screen and (max-width: 767px) {
    #award-box {
        padding-left: 20px;
    }
    #award-box:before {
        left: 20px;
    }
    #award-box .award {
        width: 100%;
    }
    #award-box .award,
    #award-box .award-content {
        float: right;
        padding:5px;
        text-align: left;
    }
    #award-box .award:first-child:before,
    #award-box .award:last-child:nth-child(odd):before {
        right: auto;
        left: -11px;
    }
    #award-box .award-icon {
        right: 0;
        left: -12px;
    }
    #award-box .award-content:before {
        left: -7.3px;
    }
    #award-box .award-content:after {
        left: -14%;
    }
}

/*====================================================
                   CONTACT
======================================================*/

#contact{
  padding: 50px 0;
}

#contact .contact-cont h3{
  color:var(--text-color);
  font-size: 45px;
}

#contact .contact-cont p{
  padding-right: 20px;
  font-size: 15px;
}

#contact .contact-cont2 address,
#contact .contact-cont2 address a{
  color:#666;
}
 
.con-form input {
    border-color: var(--border-color);
    background-color: var(--body-bg);
    color: var(--text-color);
    border-radius: 10px;
    margin-top: 10px; 
    padding: 10px;
}

.con-form textarea {
    width: 100%; 
    height: 200px;
    margin:10px 0;
    border-color: var(--border-color);
    background-color: var(--body-bg);
    color: var(--text-color);
    border-radius: 10px;
    padding: 10px;

}

.contact-side-desc{
    padding-top: 40px;
} 

.contact-box-desc h3{
  color:var(--text-color);
}

.contact-box-desc h3 i{
  color: var(--primary-color);
}

#form-messages .alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
  text-align: center;
  animation: fadeIn 0.5s;
}

#form-messages .alert-success {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}

#form-messages .alert-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}

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


.social-icon-f li{
  display: inline-block;
}

.social-icon-f li i{
  height: 35px;
  width:35px;
  line-height: 35px;
  border:2px solid var(--primary-color);
  text-align: center;
  margin-right: 10px;
  border-radius: 50%;
}  

@media(max-width: 767px){
    #contact-p2 .con-form input{
        margin-bottom: 30px;
    }
    .con-form textarea {
        width: 100%; 
        height: 200px;
        margin:10px 0 30px 0;
        border-color: #ccc;
        border-radius: 0;
        color: #717171;
    }

    .contact-box-desc{
        text-align: center;
    }

    #contact .social-icon-f{
        text-align: center;
    }
}

@media (max-width: 575px){
    #contact .social-icon-f{
            text-align: center;
    }  
    #about{
        height: 100%;
    }  
    #about h1{
        font-size: 80px;
    }
}

@media (max-width: 420px){
    #contact .social-icon-f{
            text-align: center;
    }    
}
 
.map-responsive{
    overflow:hidden;
    padding-bottom:50%;
    position:relative;
    height:0;
}

.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

