* {
  padding: 0;
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  color: black;
  overflow-x: hidden;
}

html {
  height: fit-content;
  scroll-behavior: smooth;
}
b {
  font-weight: 900;
}

button {
  cursor: pointer;
}

.introduce,
.intro,
.blog,
.work,
.contact {
  height: 100vh !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}

div.intro {
  background-image: url(../img/intro.png);
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

div.introFlex {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  min-height: 30%;
}

.introFlex > div {
  width: 50%;
}

h1 {
  font-size: 42px;
}
h2 {
  font-size: 36px;
  margin: 20px 0;
  font-weight: 500;
}

button.startAProj {
  font-size: 16px;

  background-color: transparent;

  padding: 12px;
  padding-left: 18px;
  padding-right: 18px;

  color: #ffffff;

  border: 2px solid #ffffff;
  border-radius: 25px;

  transition-duration: 500ms;
}

button.startAProj:hover {
  border-color: #ce3232;
  background-color: #ce3232;
}

iframe {
  width: 50%;
  height: 350px;
  border-radius: 5px;
}

div.introduce {
  padding: 60px 15px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.introduce > div {
  display: flex;
  flex-wrap: wrap;
}

.introduce > div > div {
  width: 49%;
}

div.introduceText {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

div.introduceSkill {
  display: flex;
  justify-content: center;
  align-items: center;
}

tr.skill {
  width: 33%;
}
td.skillA {
  color: black;
  padding: 8px;
  width: 100%;
}
td.skillB {
  color: black;
  padding: 8px;
  width: 25%;
}
td.skillC {
  color: black;
  padding: 4px;
}

div.blog {
  position: relative;
  width: 100%;
  height: 100% !important;
  padding-top: 36px;
  background-color: #f0f0f0;
  padding-bottom: 36px;
  text-align: center;
  margin: 0 auto;
}

div.blogContainer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
  gap: 20px;
}

table.blogElement {
  margin: 20px;

  background-color: #ffffff;

  border-width: 0;
}

img.blogElement {
  display: flex;
  align-items: left;
}

h3.blogDate {
  color: red;
  font-size: 16px;
  font-weight: 700;
  text-align: left;

  padding: 8px;
}

h3.blogTitle {
  font-weight: 500;
  margin-top: 16px;
  text-align: left;

  padding: 8px;

  transition-duration: 1s;
}

h3.blogTitle:hover {
  color: #d13e3e;
}

h3.blogText {
  color: gray;
  font-size: 17px;
  font-weight: 700;
  line-height: 24px;
  margin-top: 8px;
  text-align: left;

  padding: 8px;
}

button.readArticle {
  background-color: #f0f0f0;
  border-radius: 26px;
  border: 0px;
  font-weight: 700;
  margin-top: 15px;
  padding: 16px;
}

@keyframes a {
  25% {
    background: linear-gradient(90deg, #047bdf, #00ee64);
  }
  100% {
    background: linear-gradient(90deg, #047bdf, #00ee64);
    color: #f0f0f0;
  }
}

button.readArticle:hover {
  animation-name: a;
  animation-duration: 375ms;
  animation-fill-mode: forwards;
}

div.work {
  position: relative;
  width: 100%;
  height: 100% !important;

  padding-top: 36px;
  padding-bottom: 36px;

  background-color: #ffffff;

  text-align: center;
  align-items: center;

  margin: 0 auto;
}

div.workContainer {
  width: 100%;
  height: fit-content;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

div.workDiv {
  width: 49%;
  height: auto;
  position: relative;
  cursor: pointer;
}

img.workImg {
  width: 100%;
  height: 100%;
  border-radius: 2px;
}

.workDiv .redBox {
  position: absolute;
  top: 0;
  left: 0;
  background-color: hsl(0, 100%, 50%, 45%);
  width: 100%;
  height: 99%;
  border-radius: 2px;
  opacity: 0%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 10px;
}

.redBox h4 {
  font-size: 1.5rem;
  color: #fff;
}

.redBox p {
  color: #fff;
}

.workDiv:hover .redBox {
  opacity: 1;
}

p {
  color: black;
}

.navbar {
  position: absolute;
  z-index: 99;
  margin: 0 auto;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  transition: 0.3s ease-in-out all;
}

.navbar a {
  color: #fff;
}

.navbar a:hover {
  color: red;
}

.sticky a {
  color: #000;
}

.navbar > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

nav ul {
  display: flex;
  gap: 10px;
}

nav ul li {
  color: #ffffff;
  font-weight: 500;
}

.navbar .right {
  display: flex;
  justify-content: flex-end;
  gap: 25px;
  align-items: center;
}

.navbar .right ul {
  display: flex;
  gap: 10px;
}

.right ul li svg > path {
  fill: #fff !important;
}

.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  transition: 0.3s ease-in-out all;
}

.sticky {
  background: #ffffffe3;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.sticky nav ul li {
  color: black;
}

.sticky .right ul li svg > path {
  fill: #000 !important;
}

#btnNav {
  background-color: red;
  color: #ffffff;
  border-width: 0;
}

.blogElement {
  display: flex;
  width: 48%;
}

.blogImg {
  background-image: url(../img/blog-image1.jpg);
  background-size: cover;
  width: 40%;
  height: 300px;
}

.blogTxt {
  background-color: #ffffff;
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.blogTxt h3 {
  text-align: center;
  display: flex;
  align-items: center;
}

.blog > h2 {
  color: #393939;
  margin-bottom: 30px;
}

#img2 {
  background-image: url(../img/blog-image2.jpg);
}
#img3 {
  background-image: url(../img/blog-image3.jpg);
}
#img4 {
  background-image: url(../img/blog-image4.jpg);
}

.contact {
  background: #00f260; /* fallback for old browsers */
  background: -webkit-linear-gradient(
    to right,
    #0575e6,
    #00f260
  ); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(
    to right,
    #0575e6,
    #00f260
  ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.contact .section-title h2 {
  color: #ffffff;
}

.google-map {
  display: flex;
  justify-content: center;
  overflow: hidden;
  margin: 0 auto;
}

.google-map iframe {
  border: 0;
  width: 100%;
  height: 300px;
}

.contact .form-control {
  border: 0;
  border-radius: 5px;
  box-shadow: none;
  color: rgba(20, 20, 20, 0.5);
  font-size: 14px;
  font-weight: normal;
  margin-bottom: 15px;
}

.contact input,
.contact select {
  height: 55px;
}

.contact select {
  color: rgba(20, 20, 20, 0.5);
}

.contact input[type="submit"] {
  background: #ce3232;
  border-radius: 100px;
  color: #ffffff;
  font-weight: 500;
}

.contact {
  display: flex;
  flex-wrap: wrap;
}

.allForms {
  width: 40%;
}

.contact .container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact .container > div {
  width: 49%;
}

#contact-form {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.form-control {
  width: 48%;
}

textarea.form-control {
  width: 100%;
}

input.form-btn {
  width: 100%;
  cursor: pointer;
}

#toTop {
  padding: 15px;
  background: #000;
  color: #fff;
  position: fixed;
  bottom: 0;
  right: 10px;
  display: none;
}

#toTop:hover {
  cursor: pointer;
}

#toTop path {
  color: #fff;
}

footer {
  background: #000000; /* fallback for old browsers */
  background: -webkit-linear-gradient(
    to right,
    #434343,
    #000000
  ); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(
    to right,
    #434343,
    #000000
  ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  position: relative;
  padding-top: 80px;
  padding-bottom: 60px;
}

footer h2 {
  color: #ffffff;
}

.footer-link {
  margin: 0;
  padding: 0;
}

.footer-link li {
  display: block;
  list-style: none;
  margin: 5px 10px 5px 0;
}

footer p,
footer span,
.footer-link li a {
  color: #d9d9d9;
}

.copyright-text p,
.footer-bottom .phone-contact p {
  font-size: 14px;
}

.footer-info p {
  margin-right: 4em;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 5em;
  padding-top: 3em;
}

.footer-bottom .phone-contact,
.footer-bottom .social-icon {
  display: inline-block;
  vertical-align: top;
}

.footer-bottom .phone-contact {
  margin-right: 40px;
}

.footer-bottom .phone-contact span {
  font-weight: 500;
  display: inline-block;
  margin-left: 10px;
}

footer .container {
  display: flex;
  flex-wrap: wrap;
}

footer .container > div {
  width: 33%;
}

footer .container > .footer-bottom {
  width: 100%;
}

.introduce h2 {
  width: 100%;
  text-align: center;
}

footer h2 {
  width: 100%;
}

.contact h2 {
  width: 100%;
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 820px) {
  .blog {
    height: 100% !important;
  }
  div.workDiv {
    width: 100%;
  }
  div.introFlex {
    flex-direction: column;
    gap: 40px;
  }
  .introFlex > div {
    width: 100%;
  }
  iframe {
    width: 100%;
  }
  .introduce > div {
    width: 100%;
    flex-direction: column;
    gap: 20px;
  }
  .introduce > div > div {
    width: 100%;
  }
  .blogElement {
    width: 100%;
  }
  .contact .container,
  footer .container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  div.blogContainer {
    padding: 0;
  }
  .work {
    height: 100% !important;
  }
  .contact {
    height: 100% !important;
  }

  .contact .container {
    margin-bottom: 60px;
  }
  .form-control {
    width: 100%;
  }
  .contact .container > div {
    width: 100%;
  }
  footer .container > div {
    width: 100%;
  }

  .introduceText {
    text-align: center;
  }
  #btnNav {
    display: none;
  }
  .navbar {
    padding: 20px 0;
  }
}
