* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0 0 20px 0;
}

/* Header  */


/* Jumbotron  */
h1 {
  position: absolute;
  color: #ba60db;
  font-weight: 800 !important;
  font-size: 140px !important;
  line-height: 143px !important;
  letter-spacing: -4px !important;
  z-index: 1;
  left: 80px;
  top: 100px;
  text-align: left;
  font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;

}

h2 {
  font-size: 1.8em;
  font-weight: 800;
}

h3 {
  width: 50%;
  font-size: 1.5em;
  font-weight: 800;
}

p {
  margin: 0 0 20px 0;
  font-size: 1.1em;
}

a {
  text-decoration: none;
}

.page-wrapper {
  background: linear-gradient(to bottom, #efe5f3 0, #efe5f3 100%) no-repeat;
  background-size: calc(100% - 590px) calc(100%);
  /* Reduce width of background by 100px */
  padding: 0;
}

.row.rowMain {
  width: calc(100% - 15px);
}

/* -------Nav styles-------- */
.customNav {
  position: fixed !important;
  top: 100px;
  right: 100px;
  font-size: 1.3rem;
}

/* Jumbotron styles */

.jumbotron {
  height: 100vh;
  background-color: transparent;
  ;
}

.jumboPic {
  background-image: url(../images/profile-shirley-thompson.png);
  background-size: 66%;
  background-position: 100% 15%;
  background-repeat: no-repeat;
  height: calc(100vh - 25px);
}

/* ------Main section styles-----------*/

.container {
  margin-left: 50px !important;
  margin-top: 90px;
}

#descriptionSection {
  padding-left: 0px;
}

/* --------About section--------------- */
.areaAbout {
  display: flex;
  justify-content: flex-end;
}

#imgAbout img {
  height: 250px;
  display: flex;
  justify-content: space-around;
}

#contactAbout a,
row #contactAbout p {
  color: #fff;
  padding: 0 0 20px 0;
}

#contactAbout {
  cursor: pointer;
  position: relative;
  top: 0px;
  background: #ba60db;
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 400px;
}

/* -------------Work section---------------- */
.cardContainer {
  margin-top: 50px;
}

.card {
  margin: 0 auto;
}

.card img {
  border: 1px solid #d6badf;
}

.card-title {
  margin-bottom: 0.75rem;
  position: absolute;
  top: -30px;
  left: 0;
}

.btn-primary {
  color: #fff;
  background-color: #ba60db;
  border-color: #ba60db;
}

.btn-primary:hover,
.btn-primary:active {
  color: #fff;
  background-color: #000 !important;
  border-color: #000 !important;
  box-shadow: 5px 5px 10px #888888 !important;
}

/* ----------Portfolio section------------- */
#html-pf {
  background-image: url("../images/html_img.jpg");
  height: 150px;
}

#git-pf {
  background-image: url("../images/git_img.jpg");
  height: 310px;
}

#gui-pf {
  background-image: url("../images/gui_img.jpg");
  height: 150px;
}

#css-pf {
  background-image: url("../images/css_img.jpg");
  height: 150px;
}

#graphics-pf {
  background-image: url("../images/graphics.jpg");
  height: 150px;
}

.portfolioGridArea {
  background-position: left;
  background-size: cover;
  background-repeat: no-repeat;
  margin: 5px;
  cursor: pointer;
}

#portfolio .heading {
  font-weight: 600;
  font-size: 1.2em;
  background: rgba(255, 255, 255, 0.7);
  padding: 0 10px;
}

.top-row {
  display: flex;
  order: -1;
}

.side-row {
  margin-top: -160px !important;
}

.nest-row {
  padding: 0 !important;
}

/* ------------Contact section---------------*/

#contact.container {
  margin-bottom: 50px;
}

input[type=text],
select,
textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  margin-top: 6px;
  margin-bottom: 16px;
  resize: vertical
    /* Allow  vertical resize of the textarea */
}

/* Submit button */
input[type=submit] {
  background-color: #ba60db;
  outline: none;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/* Hovering over button changes colour */
input[type=submit]:hover,
input[type=submit]:active {
  background-color: #000 !important;
  box-shadow: 5px 5px 10px #888888 !important;
}

/*--------------- Footer section-------------- */
footer {
  position: absolute;
  width: 100%;
  line-height: 60px;
}

footer .container {
  margin: 0 auto !important;
}

footer .flex-row {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  list-style-type: none;
  padding-left: 0;
  margin-top: 0px;
}

footer a.nav-link {
  color: #fff;
}

a.nav-link:hover,
a.nav-link:active {
  color: #ba60db !important;


}

footer .nav-link {
  padding: 0;
}

footer .sTcopyright {
  display: flex;
  justify-content: center;
  background-color: #ba60db;
  color: #fff;
}

/*---------- Smartphones (portrait and landscape) ----------- */
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {

  h1 {
    font-size: 40px !important;
    line-height: 43px !important;
    letter-spacing: 1px !important;
    left: 60px;
  }

  h2 {
    font-size: 1.4em;
  }

  h3 {
    width: 100%;
    font-size: 1.2em;
  }

  /* ------------Mobile Header styles------------ */

  .row.rowMain {
    width: calc(100% + 30px);
  }

  /* ------------Mobile Nav styles------------ */
  .customNav {
    position: fixed !important;
    top: 0px;
    right: 10px;
    max-width: 100%;
    width: 100%;
    height: 100px;
    padding: 20px;
    overflow: hidden;
    background: azure;
    z-index: 40;
    font-size: 1rem;
  }

  nav ul.flex-column {
    display: flex !important;
    flex-direction: row !important;
    padding-left: 0;
  }

  nav ul li {
    padding: 0 15px 0 0;
  }

  /* ----------Mobile jumbotron styles -------*/

  .jumbotron {
    height: 70vh;
  }

  .jumboPic {
    background-position: 50% 0%;
    margin-right: 0;
    background-size: cover;
    height: 70vh;
  }

  /* ---------Mobile Main section styles ------*/

  .container {
    margin-left: 0 !important;
    margin-top: 0 !important;
  }

  #descriptionSection {
    padding-left: 0px;
    margin-top: 110px;
  }

  /* -------Mobile About section styles -------*/
  #contactAbout {
    width: 100%;
  }

  #imgAbout img {
    margin-right: -30px !important;
  }


  /* Mobile Work section styles */
  .card {
    margin: 10px auto 40px auto;
  }

  /*------- Mobile Portfolio section styles ------*/
  .top-row {
    display: block;
    order: -1;
  }

  .side-row {
    margin-top: 0 !important;
  }


}

/* iPads (portrait and landscape) ----------- */
@media only screen and (min-device-width : 480px) and (max-device-width : 811px) {


  h1 {
    font-size: 80px !important;
    line-height: 85px !important;
    letter-spacing: 1px !important;
    left: 60px;
    top: 100px;
  }

  h3 {
    width: 100%;
    font-size: 1.4em;
  }

  .page-wrapper {
    background-size: 100% 100% !important;
  }

  /*-------iPad Nav styles -------------*/
  .customNav {
    position: fixed !important;
    top: 0px !important;
    right: 10px !important;
    max-width: 100%;
    width: 100%;
    height: 100px;
    padding: 20px;
    overflow: hidden;
    padding: 20px;
    background: azure;
    z-index: 300;
    font-size: 1.1rem;
  }

  nav ul.flex-column {
    display: flex !important;
    flex-direction: row !important;
    padding-left: 0;
    justify-content: space-around;
  }

  nav ul li {
    padding: 0 30px 0 0;
    font-size: bigger;
  }


  /*---------iPad Jumbotron styles---------- */
  .jumbotron {
    height: 70vh;
  }

  .jumboPic {
    background-position: 50% 0%;
    margin-right: 0;
    background-size: cover;
    height: 70vh;
  }

  /*-----------iPad Main styles ---------------*/
  #descriptionSection {
    padding-left: 0px;
    margin-top: 110px;
  }

  /*------iPad Portfolio styles --------------*/
  .side-row {
    margin-top: 0px !important;
  }

  #git-pf {
    height: 150px !important;
  }
}