
*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body {
   min-height: 100vh;
   margin:0;
   scroll-behavior: smooth;
   line-height: 1.5;
   background-color: #fff;
   color: #000;
   font-family: 'Poppins', sans-serif;
}

img {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

h1 {
   font-size: 3.8em;
   font-weight: 400;
   line-height: 1.2em;
   margin:0;
}

h3 {
   font-size: 1.4em;
   color: #666;
   margin:0;
}

a {
  text-decoration: none;
  color: #333;
}

a:hover {
   color: rgb(4,135,255);
}

.bannerImg {
   background-color: rgb(4,135,255);
   min-height: 300px;
   background-image: url("../images/hero.webp");
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   position: relative;
   margin-bottom: 4em;
}

.bannerText {
   text-align: center;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%,-50%);
   color: #fff;
   background-color: rgba(40, 40, 55, 0.6);
   padding: 0.5em;
}

.subheadItalic {
   font-weight: 400;
   font-size: 1.5em;
   font-style: italic;
   margin: 0;
   color: #ccc;
   /* background-color: rgba(255, 255, 255, 0.5); */
}

.about {
   max-width: 960px;
   font-size: 1.2em;
   margin: 0 auto;
   padding-bottom: 3em;

}

p {
   margin: 16px;
   font-size: 1.1em;
   line-height: 1.6em;
}

.about h3 {
   margin-left: 16px;
}

.skills {
   margin: 0 auto;
   max-width: 960px;
   padding-bottom: 2em;
}

.skills ul {
   list-style: none;
   padding: 0;
}

.skills li {
   font-size: 1.05em;
}

.flex-grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.col {
  flex: 1;
  width: 32%;
  min-width: 220px;
  margin: 5px; 
  color: #333;
  background-color: rgba(140, 125, 160, 0.05);
  padding: 1em;
  border-radius: 3px;
  line-height: 2em;
  letter-spacing: 1px;
}


.contact {
   margin: 0 auto;
   font-size: 1.2em;
   background-color: #eee;
   padding: 1em;
}

.contactBlock {
   max-width: 320px;
   margin: 0 auto;
   text-align: center;
   font-size: 1.2em;
}

.socialBlock {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
}

.linkButton {
   display: inline-block;
   color: #333;
   /* background: rgb(223,80,182);
   background: linear-gradient(90deg, rgba(223,80,182,1) 80%, rgba(4,135,255,1) 120%);  */
   width: 310px;
   text-decoration: none;
   padding: 25px;
   border: 4px solid #494949 !important;
   transition: all 0.7s;
   font-weight: bold;
   text-align: center;
   margin: 0 auto;
   margin-bottom: 25px;
   display: block;
}

.linkButton:hover {
   color:rgb(223,80,182);
}

.emailButton {
   display: inline-block;
   color: #333;
   background-color: #fff;
   width: 100%;
   text-decoration: none;
   padding: 25px;
   border: 4px solid #494949 !important;
   transition: all 0.7s;
   font-weight: bold;
}

.emailButton:hover {
   color: #000;
   transform: scale(1.1);
   background: rgb(223,80,182);
}

.socialButton {
   color: #000;
   border: 4px solid #333 !important;
   text-align: center;
   padding: 20px 25px 20px 25px;
   margin: 10px 0 10px 0;
   font-size: 1.3em;
   transition: all 0.7s;
}

.socialButton:hover {
   background-color: rgb(4,135,255);
   color: #fff;
   transition: all 0.7s;
}

.divbar {
   background: rgb(223,80,182);
   background: linear-gradient(90deg, rgba(223,80,182,1) 23%, rgba(4,135,255,1) 100%); 
   width: 100%;
   height: 8px;
}

.copyright {
   text-align: center;
   font-size: 0.9em;
   font-style: italic;
   margin: 3em;
}

::selection {
   background-color:rgba(52, 232, 235, 0.5);
}