* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Cairo", sans-serif;
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.container {
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}

.disabled {
  opacity: 0.7;
  cursor: not-allowed !important;
  position: relative;
}

.disabled::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 5;
}

/* Small */
@media (min-width: 767px) {
  .container {
    width: 750px;
  }
}

/* Medium */
@media (min-width: 991px) {
  .container {
    width: 970px;
  }
}

/* Large */
@media (min-width: 1199px) {
  .container {
    width: 1170px;
  }
}

.main-heading {
  position: relative;
  font-size: 2em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  text-transform: uppercase;
  margin: 0 auto 60px;
  border: 2px solid #333;
  padding: 7px 26px;
  border-radius: 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 3;
}

.main-heading:hover {
  -webkit-transition-delay: 0.46s;
          transition-delay: 0.46s;
  color: white;
  border-color: #2196f3;
}

.main-heading::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #2196f3;
  left: -40px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  z-index: -1;
}

.main-heading:hover::before {
  -webkit-animation: "left-move" 0.5s linear forwards;
          animation: "left-move" 0.5s linear forwards;
}

.main-heading::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #2196f3;
  right: -40px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  z-index: -1;
}

.main-heading:hover::after {
  -webkit-animation: "right-move" 0.5s linear forwards;
          animation: "right-move" 0.5s linear forwards;
}

.spikes {
  position: relative;
}

.spikes::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 30px;
  right: 0;
  z-index: 1;
  background-image: linear-gradient(135deg, #f9f9f9 25%, transparent 25%), linear-gradient(228deg, #f9f9f9 25%, transparent 25%);
  background-size: 30px 30px;
}

header {
  background-color: #fff;
  color: white;
  -webkit-box-shadow: 0px 0px 15px #ddd;
          box-shadow: 0px 0px 15px #ddd;
  min-height: 73px;
}

header .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

@media (max-width: 768px) {
  header .container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media (max-width: 768px) {
  header .logo {
    margin-top: 10px;
    margin-bottom: 20px;
  }
}

header .logo img {
  width: 50px;
  height: 50px;
  border-radius: 10px;
  display: block;
}

header .main-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

header .main-menu > li > a::after {
  content: "";
  position: absolute;
  height: 3px;
  width: 0;
  background-color: #2196f3;
  left: 0;
  top: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

header .main-menu > li > a:hover::after {
  width: 100%;
}

header .main-menu li a {
  color: #2196f3;
  font-size: 1.2em;
  padding: 25px 10px;
  display: block;
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  header .main-menu li a {
    padding: 10px;
  }
}

header .main-menu li a::before {
  content: "";
  position: absolute;
  background-color: #f9f9f9;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

header .main-menu li a:hover::before {
  width: 100%;
}

header .main-menu li:hover > .mega-menu {
  top: calc(100% + 2px);
  opacity: 1;
  z-index: 1;
}

header .main-menu .mega-menu {
  position: absolute;
  top: calc(100% + 50px);
  left: 0;
  width: 100%;
  padding: 30px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  border: 1px solid #f9f9f9;
  background-color: #fff;
  border-bottom: 5px solid #2196f3;
  -webkit-box-shadow: 0px 3px 15px #ddd;
          box-shadow: 0px 3px 15px #ddd;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  z-index: -1;
}

@media (max-width: 768px) {
  header .main-menu .mega-menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

header .main-menu .mega-menu .image img {
  display: block;
  max-width: 400px;
}

@media (max-width: 992px) {
  header .main-menu .mega-menu .image {
    display: none;
  }
}

header .main-menu .mega-menu .links {
  min-width: 240px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

header .main-menu .mega-menu .links li {
  border-bottom: 2px solid #f9f9f9;
}

header .main-menu .mega-menu .links li a {
  padding: 15px;
}

header .main-menu .mega-menu .links li a i {
  margin-right: 10px;
}

/* Start Landing*/
.landing {
  position: relative;
  overflow: hidden;
}

.landing::before {
  content: "";
  position: absolute;
  background-color: #f9f9f9;
  width: 200%;
  height: 100%;
  top: 40%;
  left: 50%;
  -webkit-transform: translateX(-40%) skew(0deg, -10deg);
          transform: translateX(-40%) skew(0deg, -10deg);
  border-radius: 50%;
  z-index: -1;
  -webkit-animation: waving 7s ease-in-out infinite alternate;
          animation: waving 7s ease-in-out infinite alternate;
}

.landing .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  height: calc(100vh - 73px);
}

.landing .container .text {
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .landing .container .text {
    text-align: center;
  }
}

.landing .container .text h2 {
  color: #2196f3;
}

.landing .container .text p {
  line-height: 1.6em;
  text-indent: 20px;
  font-size: 1.3em;
}

@media (max-width: 768px) {
  .landing .container .text p {
    font-size: 1em;
  }
}

.landing .container .image img {
  display: block;
  max-width: 500px;
  position: relative;
  -webkit-animation: "up-down" 2s ease-in-out infinite;
          animation: "up-down" 2s ease-in-out infinite;
}

@media (max-width: 992px) {
  .landing .container .image {
    display: none;
  }
}

.landing .container .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px;
  gap: 20px;
}

.landing .container .links a:first-of-type {
  padding: 10px 16px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 10px;
  min-width: 100px;
  text-align: center;
  cursor: pointer;
  color: #fff;
  background-color: #2196f3;
  border: 2px solid #2196f3;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.landing .container .links a:first-of-type:hover {
  background-color: #1797e0;
  color: #fff;
}

.landing .container .links a:last-of-type {
  padding: 10px 16px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 10px;
  min-width: 100px;
  text-align: center;
  cursor: pointer;
  color: #2196f3;
  background-color: #fff;
  border: 2px solid #2196f3;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.landing .container .links a:last-of-type:hover {
  background-color: #2196f3;
  color: #fff;
}

/* End Landing*/
/* Start features*/
.features {
  background-color: #f9f9f9;
  padding-top: 60px;
  padding-bottom: 60px;
}

.features .box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(300px, 1fr))[auto-fill];
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 40px 30px;
  padding-top: 50px;
}

.features .box .item {
  -webkit-box-shadow: 0px 0px 12px #ddd;
          box-shadow: 0px 0px 12px #ddd;
  border-radius: 15px;
  background-color: #fff;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-align: center;
  padding: 10px;
  border: 3px solid rgba(33, 150, 243, 0.4);
}

.features .box .item:hover {
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
}

.features .box .item span {
  display: block;
  padding: 50px 0 5px;
}

.features .box .item span i {
  color: #2196f3;
}

.features .box .item h3 {
  font-size: 1.6em;
  margin-top: 20px;
  margin-bottom: 10px;
}

.features .box .item p {
  color: #666;
  font-size: 1.2em;
  line-height: 1.6em;
}

.features .box .item:nth-child(2) {
  top: -30px;
}

@media (max-width: 992px) {
  .features .box .item:nth-child(2) {
    top: 0;
  }
}

/* End features*/
/* Start Projects*/
.projects {
  background-color: #f9f9f9;
  padding-top: 60px;
  padding-bottom: 60px;
}

.projects .paragraph {
  line-height: 1.6em;
  font-size: 1.2em;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
}

.projects .tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  padding: 10px;
  margin: 20px 0 50px;
}

.projects .tabs li {
  background-color: #ece8e8;
  padding: 10px 16px;
  border-radius: 9px;
  font-size: 1.1em;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.projects .tabs li.active, .projects .tabs li:hover {
  background-color: #2196f3;
  color: white;
}

.projects .box {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(300px, 1fr))[auto-fill];
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px 20px;
}

.projects .box .item {
  -webkit-box-shadow: 0px 0px 12px #ddd;
          box-shadow: 0px 0px 12px #ddd;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.projects .box .item:hover {
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
}

.projects .box .item img {
  display: block;
  width: 100%;
}

.projects .box .item .info {
  padding: 15px;
}

.projects .box .item .info .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}

.projects .box .item .info .tags span {
  background-color: #f5f5f5;
  padding: 10px 16px;
  border-radius: 9px;
  font-size: 1.1em;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.projects .box .item .info h3 {
  color: #2196f3;
  font-size: 1.5em;
  margin: 10px 0 20px;
}

.projects .box .item .info p {
  font-size: 1.2em;
  line-height: 1.6em;
  color: #5b5959;
}

.projects .box .item .info .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 30px;
}

.projects .box .item .info .links a {
  padding: 10px 16px;
  display: block;
  font-size: 1.2em;
  border-radius: 5px;
  min-width: 130px;
  text-align: center;
  color: #2196f3;
  border: 2px solid #2196f3;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.projects .box .item .info .links a:hover {
  background-color: #2196f3;
  color: white;
}

.projects .more {
  padding: 10px 16px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 10px;
  min-width: 100px;
  text-align: center;
  cursor: pointer;
  color: #2196f3;
  background-color: #fff;
  border: 2px solid #2196f3;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  margin: 40px auto 0px;
  cursor: pointer;
}

.projects .more:hover {
  background-color: #2196f3;
  color: #fff;
}

/* End Projects*/
/* Start Resume */
.resume {
  background-color: #fff;
  padding-top: 60px;
  padding-bottom: 60px;
}

.resume .paragraph {
  line-height: 1.6em;
  font-size: 1.2em;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
}

.resume .time-line {
  padding-left: 50px;
  position: relative;
}

@media (min-width: 991px) {
  .resume .time-line {
    padding-left: 0;
  }
}

.resume .time-line::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 100%;
  background-color: #ddd;
  left: 10px;
  top: 0;
  border-radius: 10px;
}

@media (min-width: 991px) {
  .resume .time-line::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.resume .time-line::after {
  content: "";
  display: block;
  clear: both;
}

.resume .time-line > div {
  position: relative;
  border: 2px solid #2196f3;
  margin-bottom: 30px;
  padding: 20px;
  border-radius: 20px 10px;
}

@media (min-width: 991px) {
  .resume .time-line > div:nth-child(odd) {
    float: right;
    width: calc(50% - 50px);
    clear: both;
  }
  .resume .time-line > div:nth-child(even) {
    width: calc(50% - 50px);
    float: left;
    clear: both;
  }
}

.resume .time-line > div h2 {
  color: #2196f3;
  text-transform: capitalize;
}

.resume .time-line > div .text {
  font-size: 1.3em;
  font-weight: bold;
  line-height: 1.5em;
  text-transform: capitalize;
}

.resume .time-line > div .text i {
  color: #2196f3;
}

.resume .time-line > div .info {
  font-size: 1.3em;
  color: #575757;
  line-height: 1.5em;
  margin-bottom: 10px;
  padding-left: 30px;
}

.resume .time-line > div .info span {
  display: block;
  font-size: 0.8em;
  font-weight: bold;
  margin-top: 10px;
}

.resume .time-line > div .skills-list {
  gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.resume .time-line > div .skills-list ul {
  padding: 0px 10px;
  font-size: 1.3em;
  line-height: 1.5em;
  border-left: 2px solid #f2f2f2;
}

.resume .time-line > div .skills-list ul ul {
  font-size: 0.9em;
  border-left: none;
}

.resume .time-line > div .skills-list ul li.not-done,
.resume .time-line > div .skills-list ul .not-done {
  opacity: 0.5;
  cursor: wait;
}

.resume .time-line > div .skills-list ul li.not-done::after,
.resume .time-line > div .skills-list ul .not-done::after {
  content: "";
}

.resume .time-line > div .skills-list ul li::before {
  content: "\23";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #2196f3;
  padding-right: 10px;
  font-size: 0.8em;
}

.resume .time-line > div::before {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  background-color: #fff;
  border-radius: 20%;
  left: -51px;
  top: 50%;
  border: 5px solid #2196f3;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media (min-width: 991px) {
  .resume .time-line > div:nth-child(even)::before {
    left: unset;
    right: -65px;
  }
}

@media (min-width: 991px) {
  .resume .time-line > div:nth-child(odd)::before {
    left: -65px;
  }
}

.resume .time-line > div::after {
  content: "";
  position: absolute;
  border-width: 15px;
  border-style: solid;
  border-color: transparent #2196f3 transparent transparent;
  left: -30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media (min-width: 991px) {
  .resume .time-line > div:nth-child(even)::after {
    left: unset;
    border-color: transparent transparent transparent #2196f3;
    right: -30px;
  }
}

.resume .resume-download {
  position: relative;
  padding: 10px 16px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 10px;
  min-width: 100px;
  text-align: center;
  cursor: pointer;
  color: #2196f3;
  background-color: #fff;
  border: 2px solid #2196f3;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  margin: 10px auto;
}

.resume .resume-download:hover {
  background-color: #2196f3;
  color: #fff;
}

.resume .resume-download::before {
  content: "";
  border-style: solid;
  border-width: 15px;
  border-color: transparent transparent #2196f3;
  position: absolute;
  top: -30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/* End Resume */
/* Start Footer*/
footer {
  padding-top: 30px;
  padding-bottom: 30px;
  background-color: #222;
  color: white;
}

footer .container .logo {
  display: block;
  width: 60px;
  height: 60px;
  margin: auto;
  border-radius: 10px;
}

footer .container h3 {
  font-size: 2em;
  text-transform: uppercase;
  line-height: 1.3em;
  text-align: center;
}

footer .container h3 span {
  color: #2196f3;
}

footer .container .social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
}

footer .container .social li a {
  color: white;
}

footer .container .social li i {
  background-color: #444;
  padding: 8px;
  width: 50px;
  height: 50px;
  border-radius: 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

footer .container .social li:hover i.fa-github {
  background-color: #111;
}

footer .container .social li:hover i.fa-facebook-f {
  background-color: #1385e0;
}

footer .container .social li:hover i.fa-twitter {
  background-color: #2196f3;
}

footer .container .social li:hover i.fa-paper-plane {
  background-color: #0f8aec;
}

footer .container .social li:hover i.fa-youtube {
  background-color: #f21707;
}

footer .copyright {
  font-size: 1.3em;
  text-align: center;
  padding: 20px;
  margin-top: 20px;
}

footer .copyright i {
  color: #2196f3;
}

/* End Footer*/
/* Animation*/
@-webkit-keyframes up-down {
  0% {
    top: 0;
  }
  50% {
    top: 10px;
  }
  100% {
    top: 0;
  }
}
@keyframes up-down {
  0% {
    top: 0;
  }
  50% {
    top: 10px;
  }
  100% {
    top: 0;
  }
}

@-webkit-keyframes waving {
  from {
    -webkit-transform: translateX(-30%) skew(0deg, -10deg);
            transform: translateX(-30%) skew(0deg, -10deg);
  }
  to {
    -webkit-transform: translateX(-30%) skew(10deg, 0deg);
            transform: translateX(-30%) skew(10deg, 0deg);
  }
}

@keyframes waving {
  from {
    -webkit-transform: translateX(-30%) skew(0deg, -10deg);
            transform: translateX(-30%) skew(0deg, -10deg);
  }
  to {
    -webkit-transform: translateX(-30%) skew(10deg, 0deg);
            transform: translateX(-30%) skew(10deg, 0deg);
  }
}

@-webkit-keyframes left-move {
  50% {
    left: 0;
    width: 20px;
    height: 20px;
  }
  100% {
    left: 0;
    border-radius: 0;
    width: 100%;
    height: 100%;
  }
}

@keyframes left-move {
  50% {
    left: 0;
    width: 20px;
    height: 20px;
  }
  100% {
    left: 0;
    border-radius: 0;
    width: 100%;
    height: 100%;
  }
}

@-webkit-keyframes right-move {
  50% {
    right: 0;
    width: 20px;
    height: 20px;
  }
  100% {
    right: 0;
    border-radius: 0;
    width: 100%;
    height: 100%;
  }
}

@keyframes right-move {
  50% {
    right: 0;
    width: 20px;
    height: 20px;
  }
  100% {
    right: 0;
    border-radius: 0;
    width: 100%;
    height: 100%;
  }
}
/*# sourceMappingURL=main.css.map */