/*!
  * Theme: ThePRO
  * Description: Personal Portfolio Wordpress Theme
  * Author: ThemeREC
  * Author URI:	https://www.templatemonster.com/authors/themerec/
  * Version: v1.0.0
  * License: TemplateMonster Website Templates Licenses: https://www.templatemonster.com/licenses
  */

:root {
  --thepro-primary-color: #101010;
  --thepro-secondary-color: #ffffff;
  --nav-menu-bg-color: #191919;
  --nav-bar-bg-color: rgb(0 0 0 / 80%);
  --bg-lines-color: rgb(255 255 255 / 8%);
  --blocks-bg-color: #161616;
}

:focus {
  outline: 0;
}
::-moz-focus-inner {
  border: 0;
}
html {
  background-color: transparent !important;
}
html, body {
  background-color: var(--thepro-primary-color); /* #111 */
  color: #9f9f9f;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.95;
  position: relative;
  overflow-x: hidden;
}
i.icon {
  line-height: 100%;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--thepro-secondary-color);
}
b {
  font-weight: 700;
}
blockquote {
  border-left: 2px solid;
  padding-left: 1.3rem;
}

/* LINK */
a {
  text-decoration: none;
  transition: all 0.15s ease-in-out;
}
a:focus,
a:hover {
  text-decoration: none;
}

/* BUTTON */
.button-main {
  background-color: var(--thepro-secondary-color);
  border: 1px solid var(--thepro-secondary-color);
  border-radius: 0;
  color: #222;
  font-size: 14px;
  padding: 10px 35px;
}
.button-main:focus {
  background-color: #bfbfbf;
  border: 1px solid var(--thepro-secondary-color);
  box-shadow: none;
}
.button-main.button-scheme {
  color: var(--thepro-secondary-color);
}

.content-title {
  line-height: 1.5;
  margin-bottom: 12px;
}
.element-cover-bg {
  background-color: rgba(0, 0, 0, 0.85);
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
.element-cover-bg:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/* 
  ===================
    TINY SLIDER CSS
  ===================
*/
.tns-nav {
  margin: 10px 0;
  text-align: center;
}
.tns-nav > [aria-controls] {
  background: #ddd;
  border: 0;
  border-radius: 50%;
  height: 9px;
  margin: 0 5px;
  padding: 0;
  width: 9px;
}
.tns-nav > .tns-nav-active {
  background: #999;
}

/* 
  =====================
    LITY LIGHTBOX CSS
  =====================
*/
.lity {
  z-index: 99990;
}
.lity-wrap {
  z-index: 99990;
}
.lity-loader {
  z-index: 99991;
}
.lity-container {
  z-index: 99992;
}
.lity-content {
  z-index: 99993;
}
.lity-close,
.lity-close:active,
.lity-close:focus,
.lity-close:hover,
.lity-close:visited {
  z-index: 99994;
}
.lity {
  transition: opacity 0.15s ease;
}
.lity-loader {
  transition: opacity 0.15s ease;
}
.lity-content {
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
}
.lity-close {
  -ms-flex-direction: column;
  -ms-flex-pack: justify;
  -ms-flex-pack: center;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 19px;
  justify-content: space-between;
  justify-content: center;
  position: relative;
  position: fixed;
  right: 25px;
  top: 25px;
  width: 30px;
  width: 22px;
}
.lity-close .btn-line,
.lity-close:after,
.lity-close:before {
  -ms-flex-item-align: end;
  align-self: flex-end;
  background-color: gray;
  height: 3px;
  width: 100%;
}
.lity-close:before {
  content: "";
  width: 85%;
}
.lity-close:after {
  content: "";
}
.lity-close .btn-line {
  width: 55%;
}
.lity-close .btn-line,
.lity-close:after,
.lity-close:before {
  background-color: var(--thepro-secondary-color);
  position: absolute;
  width: 100%;
}
.lity-close .btn-line {
  display: none;
}
.lity-close:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.lity-close:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.lity-close:active {
  top: 25px;
}
.lity-close .btn-line,
.lity-close:after,
.lity-close:before {
  background-color: var(--thepro-secondary-color);
  height: 2px;
}
@media (max-width: 575.98px) {
  .lity-close {
      right: 15px;
  }
}

/* 
  ===================
    HEADING SECTION
  ===================
*/
.section-heading > .section-title {
  display: inline-block;
  font-size: 38px;
  font-weight: 700;
  letter-spacing: -0.25px;
  line-height: 100%;
  margin-bottom: 0;
  position: relative;
  z-index: 9;
}
.section-heading > .section-title .title-bg {
  position: absolute;
  left: -6px;
  color: transparent;
  font-size: 110px;
  font-weight: 900;
  opacity: .2;
  line-height: 1;
  max-width: 100%;
  white-space: nowrap;
  -webkit-text-stroke: 1px var(--thepro-secondary-color);
  -webkit-user-select: none;
  bottom: -30px;
  z-index: -1;
  text-transform: uppercase;
}
.section-heading.page-heading {
  text-align: center;
}
.section-heading.page-heading > .section-title {
  font-size: 46px;
  margin-bottom: 37px;
}
.section-heading.page-heading > .animated-bar {
  background-color: var(--thepro-secondary-color);
  content: "";
  display: block;
  height: 4px;
  left: 0;
  margin: 0 auto 0 auto;
  position: relative;
  right: 0;
  width: 75px;
  overflow: hidden;
}
.section-heading.page-heading > .animated-bar:after,
.section-heading.page-heading > .animated-bar:before {
  -webkit-animation-duration: 3s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-name: barAnimation;
  -webkit-animation-timing-function: linear;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-name: barAnimation;
  animation-timing-function: linear;
  background-color: var(--thepro-primary-color);
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  width: 4px;
}
.section-heading.page-heading > .animated-bar:before {
  left: 8px;
}
.section-heading.page-heading > .animated-bar:after {
  left: 0;
}
@-webkit-keyframes barAnimation {
  from {
      -webkit-transform: translateX(0);
      transform: translateX(0);
  }
  to {
      -webkit-transform: translateX(75px);
      transform: translateX(75px);
  }
}
@keyframes barAnimation {
  from {
      -webkit-transform: translateX(0);
      transform: translateX(0);
  }
  to {
      -webkit-transform: translateX(75px);
      transform: translateX(75px);
  }
}
.section-heading > .section-description {
  font-size: 15px;
  margin-bottom: 17px;
}
@media (max-width: 991.98px) {
  .single-section:not(:last-child) {
      margin-bottom: 100px;
  }
  .section-heading > .section-title {
      font-size: 36px;
  }
  .section-heading > .section-description {
      font-size: 14px;
  }
  .section-heading.page-heading > .section-title {
      font-size: 42px;
  }
}
@media (max-width: 767.98px) {
  .section-heading > .section-description {
      font-size: 14px;
  }
}
@media (max-width: 575.98px) {
  .section-heading > .section-title {
      font-size: 34px;
  }
  .section-heading.page-heading > .section-title {
      font-size: 36px;
  }
}

/* HEADING SECTION: PAGES */
.section-heading.page-heading {
  margin-top: 8rem;
  margin-bottom: 6rem;
}

/* HEADING SECTION: SINGLE PAGES */
.single .section-heading.page-heading .section-post-info {
  font-size: 15px;
  margin-bottom: 22px;
  color: var(--thepro-secondary-color);
}
.single .section-heading.page-heading .section-post-info a {
  color: var(--thepro-secondary-color);
}
.single .section-heading.page-heading .section-post-info .icon {
  margin-right: .5rem;
  margin-left: 20px;
  font-size: 16px;
}
.single .section-heading.page-heading > .section-title {
  margin-bottom: 33px;
}

/* 
  =============
    PRELOADER
  =============
*/
.preloader {
  background-color: #101010;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99999;
}
.loader-bar {
  content: '';
  position: absolute;
  display: block;
  top: 50%;
  left: 33.3%;
  width: 33.3%;
  height: 1px;
  background-color: #ffffff;
  z-index: 99999;
  transform-origin: left;
  transform: scaleX(0);
  animation: loaderbar 2s infinite alternate;
}
@keyframes loaderbar {
  0% {
    transform: translateX(0) scaleX(0);
    transform-origin: left;
    left: 33.3%;
    right: auto;
  }
  45% {
    transform: translateX(0) scaleX(1);
    transform-origin: left;
    left: 33.3%;
    right: auto;
  }
  50% {
    transform: translateX(0) scaleX(1);
    transform-origin: right;
    left: auto;
    right: 33.3%;
  }
  100% {
    transform: translateX(0) scaleX(0);
    transform-origin: right;
    left: auto;
    right: 33.3%;
  }
}

/* 
  ==========
    NAVBAR
  ==========
*/
.navbar {
  background-color: transparent;
  padding: 23px 0;
  transition: all .2s ease;
}
.navbar * li {
  list-style: none;
}
.navbar-scrolled {
  padding: 17px 0;
  background-color: var(--nav-bar-bg-color);
  box-shadow: 0 0 10px rgb(0 0 0 / 8%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  -moz-backdrop-filter: blur(10px);
  -ms-backdrop-filter: blur(10px);
}
.navbar .navbar-brand:hover,
.navbar .navbar-brand:focus {
  filter: none;
}
.navbar .navbar-brand span {
  color: var(--thepro-secondary-color);
  text-transform: uppercase;
}
.navbar .navbar-brand img {
  width: 110px;
}
.navbar .navbar-menu {
  display: none;
}
.navbar .navbar-nav .nav-link {
  color: var(--thepro-secondary-color);
  opacity: .7;
  font-size: 15px;
  padding: 0.5rem 0.3rem;
}
.navbar .navbar-nav .nav-link:hover {
  opacity: 1;
}
.navbar .navbar-nav .nav-item .nav-link {
  margin: 0 16px;
}

/* NAVBAR: Dropdown Menu */
.navbar .dropdown:hover > .dropdown-menu {
  display: block; /* this makes the dropdown menu stay open while hovering it */
  min-width: auto;
  animation: fadeDropdown 0.5s; /* required for the fade animation */
}
@keyframes fadeDropdown {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
.navbar .dropdown-toggle:focus { /* removes dropdown outline on focus  */
  outline: 0;
}
.navbar .dropdown-menu {
  margin-top: 0;
  border: none;
  border-radius: 0;
  background-color: var(--nav-menu-bg-color);
  box-shadow: 0 2px 8px 0 rgb(0 0 0 / 10%);
  width: 10rem;
}
.navbar .dropdown-menu::before {
  content: '';
  position: absolute;
  left: 10px;
  top: -12px;
  border: 6px solid transparent;
  border-bottom: 6px solid var(--nav-menu-bg-color);
}
.navbar .dropdown-item {
  color: var(--thepro-secondary-color);
  opacity: .7;
  text-decoration: none;
  font-size: 14px;
}
.navbar .dropdown-item:hover {
  background-color: transparent;
  color: var(--thepro-secondary-color);
  opacity: 1;
}
/* NAVBAR: End Dropdown Menu */

@media (max-width: 767.98px) {
  .navbar .navbar-brand img {
      width: 90px;
  }
  .navbar .navbar-menu {
      -ms-flex-direction: column;
      -ms-flex-pack: justify;
      cursor: pointer;
      display: -ms-flexbox;
      display: flex;
      flex-direction: column;
      height: 19px;
      justify-content: space-between;
      position: relative;
      width: 30px;
  }
  .navbar .navbar-menu .btn-line,
  .navbar .navbar-menu:after,
  .navbar .navbar-menu:before {
      -ms-flex-item-align: end;
      align-self: flex-end;
      background-color: gray;
      height: 3px;
      width: 100%;
  }
  .navbar .navbar-menu:before {
      content: "";
      width: 85%;
  }
  .navbar .navbar-menu:after {
      content: "";
  }
  .navbar .navbar-menu .btn-line {
      width: 55%;
  }
  .navbar .navbar-menu .btn-line,
  .navbar .navbar-menu:after,
  .navbar .navbar-menu:before {
      background-color: var(--thepro-secondary-color);
  }
  .navbar .navbar-collapse .navbar-nav {
      background-color: var(--nav-menu-bg-color);
      box-shadow: 0 2px 8px 0 rgb(0 0 0 / 10%);
      padding: 8px 20px;
      position: relative;
      top: 8px;
      z-index: 2;
  }
  .navbar .navbar-collapse .navbar-nav-scrolled {
      background-color: transparent;
      padding: 8px 0;
      box-shadow: none;
  }
  .navbar .navbar-collapse .navbar-nav .nav-link {
      opacity: 1;
      font-size: 14px;
      letter-spacing: 0.35px;
      padding: 7px 0;
  }
  .navbar .navbar-collapse .navbar-nav .nav-link:focus,
  .navbar .navbar-collapse .navbar-nav .nav-link:hover {
      color: var(--thepro-secondary-color);
  }
  /* Dropdown Menu */
  .navbar .dropdown-menu {
    background-color: transparent;
    box-shadow: none;
  }
  .navbar .dropdown-menu::before {
    display: none;
  }
  .navbar .dropdown-item {
    opacity: 1;
  }
}

/* 
  =============
    SCROLL UP
  =============
*/
.scroll-up {
  background-color: var(--thepro-primary-color);
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  border: 1px solid var(--thepro-secondary-color);
  width: 45px;
  height: 45px;
  text-align: center;
  line-height: 47px;
  cursor: pointer;
  opacity: 0;
  transition: background-color .3s, opacity .4s, visibility .4s;
  z-index: 1;
}
.scroll-up i {
  color: var(--thepro-secondary-color);
  font-size: 18px;
}
.scroll-up.show {
  opacity: 1;
}
@media (max-width: 576px) {
  .scroll-up {
    display: none;
  }
}

/* 
  =====================
    SOCIAL MEDIA ICONS
  ===================== 
*/
.social-icons {
  position: fixed;
  left: 2rem;
  top: 50%;
  z-index: 1;
}
.social-icons .follow-label {
  padding-right: 75px;
  position: absolute;
  bottom: 100%;
  right: 0;
  color: var(--thepro-secondary-color);
  font-size: 13px;
  line-height: 24px;
  height: 24px;
  white-space: nowrap;
  transform-origin: 100% 0;
  text-align: right;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
.social-icons .follow-label::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 50px;
  height: 1px;
  background-color: var(--thepro-secondary-color);
}
.social-icons .list-social-icons > li {
  line-height: 100%;
  margin-bottom: 15px;
  text-align: center;
}
.social-icons i.icon {
  color: var(--thepro-secondary-color);
  font-size: 17px;
  line-height: 100%;
}
@media (max-width: 1080px) {
  .social-icons {
    display: none;
  }
}

/* 
  ==========
    HEADER
  ========== 
*/
.header {
  height: 100vh;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .header {
    height: 100%;
    display: block;
    padding-top: 8rem;
  }
}

/* HEADER: TYPEWRITER */
.header .typed-cursor {
  font-weight: 400;
}

/* HEADER: Button */
.header .button-header {
  background-color: #009e66;
  border: 1px solid #009e66;
  color: #ffffff;
  border-radius: 0;
  padding: 10px 30px;
  font-size: 18px;
}
.header .button-header:hover {
  background-color: #005235;
  border: 1px solid #005235;
}
.header .button-header:focus {
  box-shadow: none !important;
}
@media (max-width: 500px) {
  .header .button-header {
    font-size: 16px;
  }
}

/* HEADER: CONTACT INFO */
.header .contact-info {
  position: absolute;
  bottom: 1rem;
}
.header .contact-info ul {
  display: inline-block;
  position: relative;
  width: 100%;
}
.header .contact-info ul li {
  width: auto;
  float: left;
  border-left-width: 1px;
  border-left-style: solid;
  border-color: var(--thepro-secondary-color);
  padding: 0 2.5rem;
}
.header .contact-info ul li:first-child {
  padding-left: 0;
  border-left-width: 0;
}
.header .contact-info .label-info {
  font-size: 19px;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  .header .contact-info {
    position: initial;
    margin-top: 3rem;
  }
  .header .contact-info ul {
    display: block;
  }
  .header .contact-info ul li {
    float: none;
    padding: 0 2rem;
    margin-bottom: 2rem;
  }
  .header .contact-info ul li:first-child {
    padding-left: 2rem;
    border-left-width: 1px;
  }
}
@media (min-width: 767px) {
  .header .contact-info ul li:last-child {
    padding-right: 0;
    border-right: none;
  }
}

/* HEADER: SCROLL DOWN */
@-webkit-keyframes bounce-mouse {
  0% {
      transform: translateY(-5px);
  }
  50% {
      transform: translateY(10px);
  }
  100% {
      transform: translateY(-5px);
  }
}
@keyframes bounce-mouse {
  0% {
      transform: translateY(-5px);
  }
  50% {
      transform: translateY(10px);
  }
  100% {
      transform: translateY(-5px);
  }
}
@-webkit-keyframes altura {
  0% {
      height: 50px;
  }
  50% {
      height: 0px;
  }
  60% {
      height: 0px;
  }
  100% {
      height: 50px;
  }
}
@-moz-keyframes altura {
  0% {
      height: 50px;
  }
  50% {
      height: 0px;
  }
  60% {
      height: 0px;
  }
  100% {
      height: 50px;
  }
}
@-o-keyframes altura {
  0% {
      height: 50px;
  }
  50% {
      height: 0px;
  }
  60% {
      height: 0px;
  }
  100% {
      height: 50px;
  }
}
@keyframes altura {
  0% {
      height: 50px;
  }
  50% {
      height: 0px;
  }
  60% {
      height: 0px;
  }
  100% {
      height: 50px;
  }
}

.header .scroll-down {
  position: absolute;
  right: 4rem;
  margin-left: -9px;
  bottom: 30px;
  height: 100px;
  cursor: pointer;
  z-index: 9;
}
.header .scroll-down .scroll-mouse {
  height: 38px;
  width: 25px;
  border: 2px solid var(--thepro-secondary-color);
  border-radius: 50px;
  box-sizing: border-box;
  -webkit-animation: bounce-mouse 2s infinite ease-in-out;
  -o-animation: bounce-mouse 3s infinite ease-in-out;
  -ms-animation: bounce-mouse 3s infinite ease-in-out;
  -moz-animation: bounce-mouse 3s infinite ease-in-out;
  animation: bounce-mouse 3s infinite ease-in-out;
}
.header .scroll-down .scroll-mouse::before {
  position: absolute;
  top: 8px;
  left: 50%;
  content: '';
  width: 2px;
  height: 8px;
  margin-left: -1px;
  background-color: var(--thepro-secondary-color);
  border-radius: 50rem;
  box-sizing: border-box;
}
.header .scroll-down .scroll-line {
  width: 1px;
  height: 50px;
  background-color: var(--thepro-secondary-color);
  margin: 0 auto;
  margin-top: 15px;
  display: block;
  -webkit-animation: altura 3s infinite ease 1.5s;
  -moz-animation: altura 3s infinite ease 1.5s;
  -o-animation: altura 3s infinite ease 1.5s;
  animation: altura 3s infinite ease 1.5s;
}
@media (max-width: 767px) {
  .header .scroll-down {
    display: none;
  }
}

/* 
  ============
    SERVICES
  ============
*/
.services-section .single-service {
  background-color: var(--blocks-bg-color);
  border-bottom: 2px solid transparent;
  box-shadow: 0 2px 8px 0 rgb(0 0 0 / 10%);
  margin-bottom: 30px;
  padding: 38px 42px;
  transition: all 0.15s ease-in-out;
}
.services-section .single-service .service-icon {
  display: inline-block;
  font-size: 58px;
  margin-bottom: 22px;
}
.services-section .single-service .service-title {
  color: var(--thepro-secondary-color);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.5px;
  margin-bottom: 14px;
}
.services-section .single-service .service-description {
  margin-bottom: 0;
}

/* 
  ================
    TESTIMONIALS
  ================
*/
.testimonials-section .single-review {
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  background-color: var(--blocks-bg-color);
  border: 1px solid rgb(0 0 0 / 10%);
  padding: 48px 40px;
  text-align: left;
  user-select: none;
}
.testimonials-section .single-review .review-header {
  margin-bottom: 23px;
}
.testimonials-section .single-review .review-client {
  -ms-flex-direction: row;
  flex-direction: row;
  text-align: left;
}
.testimonials-section .single-review .review-client .client-avatar {
  margin-right: 14px;
  width: 54px;
  height: 54px;
  object-fit: cover;
}
.testimonials-section .single-review .review-client .client-details {
  -ms-flex-item-align: center;
  align-self: center;
  line-height: 100%;
}
.testimonials-section .single-review .review-client .client-name {
  color: var(--thepro-secondary-color);
  font-size: 15px;
  font-weight: 400;
  margin-bottom: 7px;
}
.testimonials-section .single-review .review-client .client-role {
  color: #888;
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
}
.testimonials-section .single-review .review-icon {
  display: inline-block;
  font-size: 50px;
}
.testimonials-section .single-review .review-content {
  font-size: 15px;
  margin-bottom: 0;
}
.testimonials-section .tns-outer {
  position: relative;
}
.testimonials-section .tns-nav {
  margin-bottom: 0;
  margin-top: 30px;
}
@media (max-width: 991.98px) {
  .testimonials-section .single-review {
      padding: 45px 40px;
  }
  .testimonials-section .single-review .review-client .client-avatar {
      width: 50px;
      height: 50px;
  }
  .testimonials-section .single-review .review-client .client-role {
      font-size: 13px;
  }
  .testimonials-section .single-review .review-icon {
      display: inline-block;
      font-size: 47px;
  }
}
@media (max-width: 767.98px) {
  .testimonials-section .single-review .review-content {
      font-size: 14px;
  }
}
@media (max-width: 362px) {
  .testimonials-section .single-review .review-icon {
      display: none;
  }
}

/* 
  ===========
    PRICING
  ===========
*/
.pricing-section .single-plan {
  background-color: var(--blocks-bg-color);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
  padding: 50px 0;
  text-align: center;
}
.pricing-section .single-plan .plan-icon {
  display: inline-block;
  font-size: 54px;
  margin-bottom: 27px;
}
.pricing-section .single-plan .plan-type {
  color: var(--thepro-secondary-color);
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 14px;
}
.pricing-section .single-plan .plan-price {
  color: var(--thepro-secondary-color);
  font-size: 24px;
  font-weight: 300;
  margin-bottom: 22px;
}
.pricing-section .single-plan .plan-list {
  margin-bottom: 18px;
}
.pricing-section .single-plan .plan-list li {
  color: #9f9f9f;
  padding: 8px;
}
@media (max-width: 991.98px) {
  .pricing-section .single-plan {
      padding: 50px 0;
  }
}

/* 
  ==========
    RESUME 
  ==========
*/
.resume-section .col-block.education {
  margin-right: 20px;
}
.resume-section .col-block.experience {
  margin-left: 20px;
}
.resume-section .col-title {
  font-size: 26px;
  margin-bottom: 20px;
}
.resume-section .resume-items-wrapper {
  box-shadow: 0 0 20px 0 rgb(0 0 0 / 5%);
}
.resume-section .resume-item {
  background-color: var(--blocks-bg-color);
  border-left: 2px solid transparent;
  padding: 32px 48px;
  position: relative;
}
.resume-section .resume-item:not(:last-child) {
  border-bottom: 1px solid #313131;
}
.resume-section .resume-item:last-child {
  margin-bottom: 0;
}
.resume-section .resume-item .item-arrow {
  left: 0;
  margin-top: 2px;
  position: absolute;
}
.resume-section .resume-item .item-arrow:after,
.resume-section .resume-item .item-arrow:before {
  content: "";
  display: block;
  position: absolute;
}
.resume-section .resume-item .item-arrow:before {
  height: 16px;
  left: 0;
  width: 16px;
}
.resume-section .resume-item .item-arrow:after {
  border: 8px solid transparent;
  left: 16px;
}
.resume-section .resume-item .item-title {
  line-height: 100%;
  margin-bottom: 9px;
}
.resume-section .resume-item .item-details {
  display: inline-block;
  margin-bottom: 7px;
}
.resume-section .resume-item .item-description {
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .resume-section .resume-item {
      padding-right: 20px;
  }
  .resume-section .col-block.education,
  .resume-section .col-block.experience {
      margin-left: 0;
      margin-right: 0;
  }
  .resume-section .col-12:last-child .resume-item:last-child {
      margin-bottom: 0;
  }
  .resume-section .col-12:first-child .resume-item:last-child {
      margin-bottom: 60px;
  }
}

/* 
  ==================
    SKILL PROGRESS
  ==================
*/
.skills-section .single-skill:not(:last-child) {
  margin-bottom: 42px;
}
.skills-section .single-skill .skill-info {
  -ms-flex-pack: justify;
  color: inherit;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  justify-content: space-between;
  margin-bottom: 4px;
}
.skills-section .single-skill .skill-info .skill-name {
  display: inline-block;
  white-space: nowrap;
}
.skills-section .single-skill .skill-progress {
  background-color: rgb(255 255 255 / 14%);
  border-radius: 1px;
  font-size: 15px;
  height: 9px;
  overflow: visible;
}
.skills-section .single-skill .skill-progress .progress-bar {
  position: relative;
  overflow: visible;
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.skills-section .single-skill .skill-progress .progress-bar .skill-percentage {
  position: absolute;
  top: -35px;
  right: 0;
  font-size: 16px;
  color: #9f9f9f;
}
@media (max-width: 767.98px) {
  .skills-section .single-skill:not(:last-child) {
      margin-bottom: 40px !important;
  }
  .skills-section [class*="col-"]:not(:last-child) .single-skill {
      margin-bottom: 40px !important;
  }
}

/* 
  =============
    PORTFOLIO
  =============
*/
.portfolio-section .single-item a {
  filter: none !important;
}
.portfolio-section .filter-control {
  margin-bottom: 1.5rem;
  text-align: center;
}
.portfolio-section .filter-control > li {
  border-bottom: 1px solid transparent;
  color: var(--thepro-secondary-color);
  cursor: pointer;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.3px;
  position: relative;
  transition: all 0.1s ease-in-out;
}
.portfolio-section .filter-control > li {
  margin-right: 16px;
}
.portfolio-section .filter-control > li.tab-active:before,
.portfolio-section .filter-control > li:hover:before {
  bottom: 0;
  content: "";
  height: 1px;
  position: absolute;
  width: 100%;
}
.portfolio-section .portfolio-grid .portfolio-wrapper {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative;
}
.portfolio-section .portfolio-grid .portfolio-wrapper:before {
  background-color: rgba(0, 0, 0, 0.9);
  bottom: 0;
  content: "";
  height: 100%;
  opacity: 0;
  position: absolute;
  transition: all 0.15s ease-in-out;
  visibility: hidden;
  width: 100%;
  z-index: 1;
}
.portfolio-section .portfolio-grid .portfolio-wrapper > .img-fluid {
  width: 100%;
}
.portfolio-section .portfolio-grid .portfolio-wrapper .item-content {
  left: 0;
  opacity: 0;
  padding: 3px 18px;
  position: absolute;
  text-align: center;
  transition: all 0.15s ease-in-out;
  visibility: hidden;
  width: 100%;
  z-index: 2;
}
.portfolio-section .portfolio-grid .portfolio-wrapper .item-content .content-title {
  color: #ffffff;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  margin-bottom: 10px;
}
.portfolio-section .portfolio-grid .portfolio-wrapper .item-content .icon {
  display: block;
  font-size: 25px;
  margin-bottom: 15px;
}
.portfolio-section .portfolio-grid .portfolio-wrapper .item-content .quick-view {
  display: inline-block;
  font-weight: 600;
}
.portfolio-section .portfolio-grid .portfolio-wrapper:hover:before {
  opacity: 1;
  visibility: visible;
}
.portfolio-section .portfolio-grid .portfolio-wrapper:hover .item-content {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 767.98px) {
  .portfolio-section .filter-control > li {
      font-size: 14px;
  }
}
@media (max-width: 575.98px) {
  .portfolio-section .portfolio-grid .portfolio-wrapper .item-content .content-title {
      font-size: 14px;
  }
}
.portfolio-section .portfolio-title-card a {
  color: var(--thepro-secondary-color);
}

/* PORTDOLIO: CONTENT POPUP */
.mfp-scale-portfolio.mfp-bg {
  opacity: 1;
  background-color: rgba(0,0,0,0.9);
  transition: all 0.12s ease-out;
}
.mfp-scale-portfolio.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-scale-portfolio.mfp-wrap {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  transition: all 0.12s ease-out;
}
.mfp-scale-portfolio.mfp-wrap.mfp-ready {
  -webkit-transform: scale(1);
  opacity: 1;
  transform: scale(1);
}
.mfp-scale-portfolio.mfp-wrap.mfp-removing {
  -webkit-transform: scale(0.8);
  opacity: 0;
  transform: scale(0.8);
}
.mfp-close-btn-in .mfp-close {
  color: #fff;
  opacity: 1;
  font-size: 32px;
  transition: all 0.1s ease-in-out;
}


.mfp-portfolio .item-popup {
  padding: 60px 0;
}
.mfp-portfolio .item-popup .popup-category {
  color: #fff;
  font-size: 15px;
  margin-bottom: 3px;
}
@media (max-width: 992px) {
  .mfp-portfolio .item-popup .popup-category {
    margin-top: 20px;
  }
}
.mfp-portfolio .item-popup .popup-title {
  color: #fff;
  margin-bottom: 25px;
  font-size: 40px;
}
.mfp-portfolio .item-popup .popup-image img {
  width: 100%;
  height: auto;
}

/* 
  ==============
    BLOG CARDS
  ==============
*/
.blog-section .single-post {
  background-color: transparent;
  border: none;
  margin-bottom: 70px;
}
.blog-section .single-post a.post-img:hover,
.blog-section .single-post a.post-img:focus {
  filter: none;
}
.blog-section .single-post .post-img {
  height: 100%;
  position: relative;
}
.blog-section .single-post .post-img .card-img-top {
  height: auto;
}
.blog-section .single-post .content-date {
  display: inline-block;
  color: #ffffff;
  padding: 0 14px;
  width: fit-content;
}
.blog-section .single-post .post-img .content-date {
  position: absolute;
  bottom: 0;
  left: 0;
}
.blog-section .single-post .post-content {
  padding: 13px 0 0 0;
}
.blog-section .single-post .post-content .content-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1px;
  margin-bottom: 6px;
}
.blog-section .single-post .post-content .content-description {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
}
@media (max-width: 991.98px) {
  .blog-section .single-post {
      margin-bottom: 40px;
  }
  .blog-section .single-post .post-content .content-title {
      font-size: 20px;
  }
}

/* 
  ==============
    PAGINATION
  ==============
*/
.pagination {
  margin-bottom: 7rem;
  display: block;
  text-align: center;
}
.pagination ul {
  list-style: none;
  display: flex;
  justify-content: center;
  text-align: center;
  align-content: center;
  align-items: center;
  font-weight: 500;
}

.pagination ul li a,
.pagination ul li span {
  background-color: transparent;
  color: var(--thepro-secondary-color);
  padding: 12px 20px;
  margin: auto 5px;
}

.pagination span.page-numbers.dots:hover {
  background-color: transparent;
  color: var(--thepro-secondary-color);
}

/* 
  ========
    PAGE
  ========
*/
.page {
  font-size: 15px;
}
/* 
  ===============
    SINGLE POST
  =============== 
*/
.post-thumbnail img {
  width: 100%;
  margin-bottom: 2rem;
}
.post-content {
  font-size: 15px;
}
.post-tags {
  padding-top: 2rem;
  padding-bottom: 4rem;
}
.post-tags a {
  padding: 3px 10px;
  border-radius: 50px;
  margin-right: 8px;
  margin-bottom: 10px;
  font-size: 13px;
  display: inline-block;
}

/* 
  ==================
    POST PAGINATION
  ================== 
*/
.post-pagination::after {
  display: block;
  clear: both;
  content: "";
}
.post-pagination {
  border-top: 1px solid #d3d3d4;
  padding-bottom: 2.5rem;
  padding-top: 2.5rem;
}
.post-pagination .prev-post {
  float: left;
  text-align: left;
}
.post-pagination .next-post {
  float: right;
  text-align: right;
}
@media (max-width: 767.98px) {
  .post-tags {
    margin-bottom: 1rem;
  }
  .post-pagination {
    padding-bottom: 1rem;
    padding-top: 1rem;
  }
  .post-pagination .pagination-title {
    display: none;
  }
  .post-pagination .prev-post span .icon {
    margin-right: 8px;
  }
  .post-pagination .next-post span .icon {
    margin-left: 8px;
  }
}

/* 
  ================
    CONTACT FORM
  ================ 
*/
.wpcf7 .wpcf7-form .form-group {
  margin-bottom: 25px;
}
.wpcf7 .wpcf7-form .form-group .form-control {
  background-color: rgb(255 255 255 / 5%);
  border: none;
  border-bottom: 1px solid #545454;
  border-radius: 0;
  font-size: 15px;
  height: 44px;
  padding: 9px 14px;
}
.wpcf7 .wpcf7-form .form-group .form-control:-webkit-autofill,
.wpcf7 .wpcf7-form .form-group .form-control:-webkit-autofill:active,
.wpcf7 .wpcf7-form .form-group .form-control:-webkit-autofill:focus,
.wpcf7 .wpcf7-form .form-group .form-control:-webkit-autofill:hover {
  -webkit-box-shadow: 0 0 0 1000px #0b0b0b inset;
  -webkit-text-fill-color: #777 !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}
.wpcf7 .wpcf7-form .form-group .form-control::-webkit-input-placeholder {
  color: #777;
}
.wpcf7 .wpcf7-form .form-group .form-control::-moz-placeholder {
  color: #777;
}
.wpcf7 .wpcf7-form .form-group .form-control:-ms-input-placeholder {
  color: #777;
}
.wpcf7 .wpcf7-form .form-group .form-control::-ms-input-placeholder {
  color: #777;
}
.wpcf7 .wpcf7-form .form-group .form-control,
.wpcf7 .wpcf7-form .form-group .form-control::placeholder {
  color: #777;
}
.wpcf7 .wpcf7-form .form-group .form-control:focus {
  box-shadow: none;
}
.wpcf7 .wpcf7-form .form-group.form-message .form-control {
  height: auto;
}
.wpcf7 .wpcf7-form .form-submit .btn {
  padding: 10px 26px;
}
.wpcf7 .wpcf7-form .wpcf7-spinner {
  top: 8px;
}
.wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
  margin-top: 0.375rem;
  font-size: 0.8rem;
  line-height: 1.125rem;
}

@media (max-width: 1199.98px) {
  .wpcf7 .wpcf7-form .form-group {
      margin-bottom: 35px;
  }
}
@media (max-width: 991.98px) {
  .wpcf7 .wpcf7-form {
      margin-bottom: 45px;
  }
}

/* 
  ===========
    COMMENT
  ===========
*/
.post-comments {
  border-top: 1px solid #d3d3d4;
  padding-top: 3rem;
}

/* 
  ================
    COMMENT LIST
  ================ 
*/
.commets-count h3 {
  font-weight: 600;
  margin-bottom: 2rem;
}
.comments {
  list-style: none;
  padding: 0;
}
.comments .children {
  list-style: none;
}
.comment-box {
  display: flex;
  position: relative;
  width: 100%;
}
.comment-box .comment-avatar-bg {
  background-color: rgb(255 255 255 / 5%);
}
.comment-box .comment-avatar-bg .comment-avatar {
  background-color: var(--thepro-primary-color);
  height: 100%;
  border-radius: 0 15px 0 0;
  padding-right: 20px;
}
.comment-box .comment-avatar .avatar {
  border-radius: 10rem;
}
@media (max-width: 576px) {
  .comment-box .comment-avatar .avatar {
    width: 65px;
    height: 65px;
  }
}
.comment-box .comment-core {
  background-color: rgb(255 255 255 / 5%);
  padding: 14px;
  margin-bottom: 1.4rem;
  width: 100%;
  border-radius: 0 5px 5px 5px;
}
.comment-box .comment-info {
  display: flex;
  justify-content: space-between;
}
.comment-box .comment-info .comment-author {
  color: var(--thepro-secondary-color);
  font-size: 16px;
  font-weight: 600;
}
.comment-box .comment-info .comment-date {
  color: var(--thepro-secondary-color);
  font-size: 13px;
  margin-top: -5px;
  margin-bottom: 10px;
}
.comment-reply .comment-reply-link::before {
  margin-right: 7px;
  content: "\f4c7";
  display: inline-block;
  vertical-align: middle;
  font-family: 'Ionicons';
  font-size: 15px;
  line-height: 14px;
  font-weight: 900;
}

/* 
  ================
    COMMENT FORM
  ================ 
*/
.comment-from {
  margin: 1rem 0 0;
}
.comment-from .comment-reply-title {
  font-size: 25px;
}
.comment-from .comment-reply-title small {
  float: right;
  font-size: 16px;
  margin-top: 4px;
}
.comment-from .form-group {
  margin-bottom: 25px;
}
.comment-from .form-group .form-control {
  background-color: rgb(255 255 255 / 5%);
  border: none;
  border-bottom: 1px solid #545454;
  border-radius: 0;
  font-size: 15px;
  height: 44px;
  padding: 9px 14px;
}
.comment-from .form-group .form-control:-webkit-autofill,
.comment-from .form-group .form-control:-webkit-autofill:active,
.comment-from .form-group .form-control:-webkit-autofill:focus,
.comment-from .form-group .form-control:-webkit-autofill:hover {
  -webkit-box-shadow: 0 0 0 1000px #0b0b0b inset;
  -webkit-text-fill-color: #777 !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}
.comment-from .form-group .form-control::-webkit-input-placeholder {
  color: #777;
}
.comment-from .form-group .form-control::-moz-placeholder {
  color: #777;
}
.comment-from .form-group .form-control:-ms-input-placeholder {
  color: #777;
}
.comment-from .form-group .form-control::-ms-input-placeholder {
  color: #777;
}
.comment-from .form-group .form-control,
.comment-from .form-group .form-control::placeholder {
  color: #777;
}
.comment-from .form-group .form-control:focus {
  box-shadow: none;
}
.comment-from .form-group.form-message .form-control {
  height: auto;
}
.comment-from .form-submit .btn {
  padding: 10px 26px;
}
.comment-from .wpcf7-spinner {
  top: 8px;
}
.comment-from .wpcf7-not-valid-tip {
  margin-top: 0.375rem;
  font-size: 0.8rem;
  line-height: 1.125rem;
}
@media (max-width: 1199.98px) {
  .comment-from .form-group {
      margin-bottom: 35px;
  }
}
@media (max-width: 991.98px) {
  .comment-from {
      margin-bottom: 10px;
  }
}

/* 
  ====================
    LINES BACKGROUND
  ====================
*/
.lines-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  font-size: 0;
  pointer-events: none;
  z-index: -1;
}
.lines-bg .lines-list {
  margin-left: -712px;
  position: absolute;
  left: 50%;
  top: 0;
  width: 1424px;
}
.lines-bg .line-col {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 20%;
  height: 100vh;
}
.lines-bg .line-col:first-child:before {
  background: transparent;
}
.lines-bg .line-col:first-child:after {
  left: auto;
  right: 0;
  width: 1000%;
}
.lines-bg .line-col:first-child .line {
  display: none;
}
.lines-bg .line-col:last-child:after {
  left: 0;
  right: auto;
  width: 1000%;
}
.lines-bg .line-col:nth-child(1):before {
  -o-transition-delay: 1.9s;
  -webkit-transition-delay: 1.9s;
  transition-delay: 1.9s;
}
.lines-bg .line-col:nth-child(1):after {
  top: 0;
  bottom: auto;
  -webkit-transition-delay: 0.7s;
  -o-transition-delay: 0.7s;
  transition-delay: 0.7s;
}
.lines-bg .line-col:nth-child(2):before {
  -o-transition-delay: 1.7s;
  -webkit-transition-delay: 1.7s;
  transition-delay: 1.7s;
}
.lines-bg .line-col:nth-child(2):after {
  top: auto;
  bottom: 0;
  -webkit-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  transition-delay: 0.5s;
}
.lines-bg .line-col:nth-child(3):before {
  -o-transition-delay: 1.2s;
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}
.lines-bg .line-col:nth-child(3):after {
  top: 0;
  bottom: auto;
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}
.lines-bg .line-col:nth-child(4):before {
  -o-transition-delay: 1.5s;
  -webkit-transition-delay: 1.5s;
  transition-delay: 1.5s;
}
.lines-bg .line-col:nth-child(4):after {
  top: auto;
  bottom: 0;
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}
.lines-bg .line-col:nth-child(5):before {
  -o-transition-delay: 2s;
  -webkit-transition-delay: 2s;
  transition-delay: 2s;
}
.lines-bg .line-col:nth-child(5):after {
  top: 0;
  bottom: auto;
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
}
.lines-bg .line-col:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 0%;
  background: var(--bg-lines-color);
  transition: height 0.65s cubic-bezier(0.165, 0.85, 0.45, 1) 0s;
  -moz-transition: height 0.65s cubic-bezier(0.165, 0.85, 0.45, 1) 0s;
  -webkit-transition: height 0.65s cubic-bezier(0.165, 0.85, 0.45, 1) 0s;
  -o-transition: height 0.65s cubic-bezier(0.165, 0.85, 0.45, 1) 0s;
}
.lines-bg .line-col:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  z-index: 12;
  transition: height 0.65s cubic-bezier(0.165, 0.85, 0.45, 1) 0s;
  -moz-transition: height 0.65s cubic-bezier(0.165, 0.85, 0.45, 1) 0s;
  -webkit-transition: height 0.65s cubic-bezier(0.165, 0.85, 0.45, 1) 0s;
  -o-transition: height 0.65s cubic-bezier(0.165, 0.85, 0.45, 1) 0s;
}
.lines-bg .line-col:before {
  height: 100%;
}
.lines-bg .line-col:after {
  height: 0%;
}
@media (max-width: 1199px) {
  .lines-bg .line-col {
    width: 33.333%;
  }

  .lines-bg .line-col:nth-child(4),
  .lines-bg .line-col:nth-child(5) {
    display: none;
  }
}
@media (max-width: 720px) {
  .lines-bg .line-col {
    width: 50%;
  }
  .lines-bg .line-col:nth-child(3),
  .lines-bg .line-col:nth-child(4),
  .lines-bg .line-col:nth-child(5) {
    display: none;
  }
}

/* 
  ==============
    Breadcrumb
  ==============
*/
.breadcrumb {
  justify-content: center;
}
.breadcrumb a {
  color: var(--thepro-secondary-color) !important;
}
.breadcrumb-item.active,
.breadcrumb-item + .breadcrumb-item::before {
  color: inherit;
}


/* 
  ========================
    NOT FOUND PAGE (404)
  ========================
*/
.not-found {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.not-found p {
  color: var(--thepro-secondary-color);
  font-size: 17px;
}

/* 
  ==========
    SEARCH
  ==========
*/
.search-not-found {
  text-align: center;
}
.search-not-found .icon {
  color: var(--thepro-secondary-color);
  font-size: 55px;
}
.search-not-found h2 {
  font-weight: 600;
  margin-top: 1rem;
}

/* 
  ==========
    FOOTER
  ==========
*/
.footer .copyright p {
  margin: 0;
}

/* 
  ==============
    SCROLL BAR
  ==============
*/
::-webkit-scrollbar {
  width: 10px;
  background-color: var(--thepro-primary-color);
}
::-webkit-scrollbar-thumb {
  background-color: rgb(84 84 84 / 50%);
}
::-webkit-scrollbar-thumb:hover {
  background-color: rgba(84, 84, 84, 70%);
}

/* 
  ==============
    ELEMENTOR
  ==============
*/
.elementor-editor-active.logged-in .elementor-edit-area {
  padding-top: 105px;
}

/* Elementor library : Remove Header/Footer from Elementor Canvas */
body.single-elementor_library .navbar,
body.single-elementor_library .footer {
	display:none !important;
}