/*
Colors used:
text (black): #1B1C20;
card background (lightgrey): #EFEFEF;
link (grey): #A0A1A8;
backgound (white): #FAFAFA;
accent (bluemarine): #1BBDD4;
*/
* {
  box-sizing: border-box;
}

.ancor {
  margin-top: -80px;
}

.ancor-header {
  margin-top: 80px;
}

body {
  background-color: #fafafa;
  font-family: 'Quicksand', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #1b1c20;
}

html {
  scroll-behavior: smooth;
}

h1 {
  font-size: 1.563em;
  font-weight: 600;
  margin-top: 8px;
  margin-bottom: 0;
}

h2 {
  font-size: 1.25em;
  font-weight: 500;
}

h3 {
  font-size: 1em;
  font-weight: 600;
}

img {
  width: 100%;
}

/* link */
a {
  color: #72737d;
  text-decoration: none;
}

a:visited {
  color: #72737d;
  text-decoration: none;
}

a:hover,
a:focus {
  color: #1bbdd4;
  text-decoration: none;
}

a:active {
  color: #1b1c20;
  text-decoration: none;
}

.social a {
  display: flex;
  text-decoration: none;
  color: #1b1c20;
  font-weight: 600;
  border-radius: 25px;
  border: 1px solid #1bbdd4;
  width: 42px;
  height: 42px;
  justify-content: center;
  align-items: center;
  margin: 0 10px;
  transition-duration: 0.2s;
}

.social {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}

.social a:hover {
  color: #1bbdd4;
}

.copy {
  font-size: 0.8em;
  font-weight: 400;
  margin: 17px 0;
}

.nav_link {
  color: #1b1c20 !important;
  font-weight: 600;
}

/* button */
.button {
  display: inline-block;
  background-color: transparent;
  color: #1b1c20;
  font-weight: 500;
  font-size: 0.7em;
  text-transform: uppercase;
  padding: 12px 24px;
  border-radius: 25px;
  border: 1px solid #1bbdd4;
  transition-duration: 0.2s;
  text-decoration: none;
}

.button:visited {
  color: #1b1c20;
}

.button:hover {
  color: #1bbdd4;
}

.back-to-top {
  position: fixed;
  right: 10px;
  bottom: 30px;
  color: #1b1c20;
  background: rgba(27, 189, 212, 0.2);
  border-radius: 25px;
  width: 42px;
  height: 42px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* header */
header {
  background-color: #fafafa;
  padding: 16px 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.06);
  position: fixed;
  display: inline-block;
  width: 100%;
  z-index: 999;
}

header h2 {
  color: #1b1c20;
  display: inline;
}

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

nav>ul>li>a {
  padding: 10px 15px;
  text-transform: uppercase;
  font-size: 0.75em;
  font-weight: 500;
  color: #72737d !important;
  display: block;
}

nav ul.toc>li>a {
  padding: 10px 15px;
  text-transform: uppercase;
  font-size: 0.75em;
  font-weight: 500;
  color: #72737d !important;
  display: block;
}

.overview nav>ul>li>a {
  padding: 10px 0;
}

nav>ul>li>a:active,
nav>ul>li>a:hover {
  color: #1bbdd4 !important;
}

.navtoggle li:not(:last-child) {
  display: none;
}

.navtoggle,
.navtoggle.responsive {
  position: relative;
}

.navtoggle.responsive {
  height: 100vh;
}

.navtoggle li .icon {
  position: absolute;
  right: 0;
  top: 4px;
  font-size: 18px;
  color: #1bbdd4 !important;
  padding: 0;
}

.navtoggle.responsive nav {
  padding: 24px 0 0;
}

.navtoggle.responsive li {
  display: block;
  padding: 0;
  text-align: center;
  font-size: 18px;
}

.navtoggle.responsive li:last-child {
  padding: 0 0 10px;
}

/* Layout styling */
main {
  padding-top: 64px;
}

.container {
  padding: 0 16px;
}

.row {
  margin: 24px 0;
}

.cover-img {
  border-radius: 5px;
}

.column {
  margin: 0;
}

.section.hero {
  background-color: #fafafa;
  padding: 85px 0 0;
  display: inline-block;
  text-align: center;
  width: 100%;
}

.work {
  text-align: left;
  padding-top: 85px;
}

.work .row {
  background: #efefef;
  border-radius: 5px;
  text-align: center;
  margin: 16px 0;
  padding: 24px;
}

.work .column {
  display: block;
  border-radius: 5px;
  margin: 0;
}

.work p {
  margin-top: 8px;
}

.work h3 {
  margin: 8px 0;
}

picture {
  display: block;
  line-height: 0;
}

/* footer */
#contact {
  text-align: center;
}

#contact .container {
  border-top: 1px solid #d2d3d5;
  padding: 24px;
}

/* CSS Animations example */
svg {
  width: 100%;
  max-width: 100%;
  height: auto;
}

@keyframes color-change {
  0% {
    fill: #edc655;
  }

  50% {
    fill: #fcffad;
  }

  100% {
    fill: #f76414;
  }
}

.sun {
  animation-duration: 4s;
  animation-name: color-change;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: linear;
}

@keyframes cloud-move {
  from {
    transform: translate(0, 50px);
  }

  to {
    transform: translate(200px, 50px);
  }
}

.cloud-front {
  animation-duration: 24s;
  animation-name: cloud-move;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: linear;
}

@keyframes cloud-move-reverse {
  from {
    transform: translate(446px, 48px);
  }

  to {
    transform: translate(100px, 48px);
  }
}

.cloud-back {
  animation: 29s cloud-move-reverse infinite alternate linear;
}

/* About */
.about .profile {
  background-color: #efefef;
  display: flex;
  justify-content: center;
  padding: 16px;
}

.about .avatar {
  min-width: 200px;
  max-width: 250px;
}

#about-page .container {
  margin-bottom: 48px;
}

/* House Hunters */
#projct img {
  max-width: 80%;
}

#project p {
  margin: 8px 0;
}

#project h2 {
  font-weight: 600;
}

.section.cover {
  background: linear-gradient(270deg, rgba(0, 194, 203, 0.6) 0%, rgba(0, 112, 240, 0.6) 100%);
  color: #fff;
  text-align: center;
  padding: 0;
  margin: 0;
  align-items: center;
}

.cover .rows:first-child {
  padding-top: 24px;
}

.cover .rows:last-child {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  padding-bottom: 8px;
}

.cover p {
  margin-bottom: 24px !important;
}

.section.overview {
  background: #f2f2f3;
  padding: 24px 0;
}

.overview .container {
  max-width: 400px;
}

.toc i {
  margin-right: 10px;
}

.overview .rows {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  text-align: center;
}

.external {
  display: flex;
  justify-content: flex-end;
}

.external a {
  display: flex;
  text-decoration: none;
  color: #1b1c20;
  font-weight: 600;
  border-radius: 25px;
  border: 1px solid #1bbdd4;
  width: 48px;
  height: 48px;
  justify-content: center;
  align-items: center;
  margin: auto 8px;
  transition-duration: 0.2s;
}

.section.persona {
  background: #f2f2f3;
  padding: 24px 0;
  text-align: center;
}

.persona .column {
  text-align: left;
}

.persona .persona-pic {
  border-radius: 5px;
  max-width: 400px;
}

.icons {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

.section.visual {
  padding: 24px 0;
  text-align: center;
}

.laptop {
  margin-bottom: -60px;
}

.visual .column {
  text-align: left;
  padding: 8px;
}

.section.moodboard {
  background: #e6f1fe;
  padding: 24px 0;
}

.section.userflow {
  text-align: center;
  padding: 24px;
}

.userflow .column {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.section.wireframes {
  background: #f2f2f3;
  text-align: center;
  padding: 24px 0;
}

.wireframes a {
  color: #1bbdd4;
  font-size: 1.25em;
  font-weight: 500;
}

.wireframes p {
  margin-bottom: 48px !important;
}

.section.uistyle {
  text-align: center;
  padding: 24px;
}

.uistyle h2 {
  margin-bottom: 48px;
}

.uistyle.column {
  max-width: 850px;
}

.section.ui {
  background: url("../img/househunters/ui-elements2x.jpg");
  background-size: cover;
  padding: 24px 0;
}

.section.responsive {
  padding: 0;
  text-align: center;
  align-content: center;
}

.responsive .column {
  text-align: left;
}

.wireframes .column {
  text-align: left;
}

.section.property {
  background: #e6f1fe;
}

.section.search {
  background: url("../img/househunters/girl-with-laptop@2x.jpg");
  background-size: cover;
  padding: 24px;
}

.section.final {
  background: linear-gradient(270deg, rgba(54, 209, 220, 0.2) 0%, rgba(91, 134, 229, 0.2) 100%);
  padding: 24px 0;
  padding-top: 62px;
  align-items: center;
}

.section.last {
  background: linear-gradient(270deg, rgba(0, 194, 203, 0.6) 0%, rgba(0, 112, 240, 0.6) 100%);
  text-align: center;
  color: #f2f2f3;
  padding-top: 70px;
  padding-bottom: 70px;
}

.visual .row {
  margin-bottom: 0;
}

/* Gale weather forecasts */
#gale img {
  max-width: 100%;
}

#gale p {
  margin: 8px 0;
}

#gale h2 {
  font-weight: 600;
}

#gale h1 {
  color: #0770e3;
}

#gale .row {
  margin: 32px 0;
}

.section.one {
  margin-top: 0 !important;
}

.one .container {
  background: url("../img/gale/gale-cover@1x.jpg");
  background-size: cover;
  height: 350px;
  background-position: 45%;
  padding: 24px;
  color: #2b5f6d;
  font-weight: 500;
  line-height: 1;
}

.one .row {
  margin: 0;
}

.one picture {
  max-width: 120px !important;
  min-width: 100px !important;
  margin-left: 150px !important;
}

.one h1 {
  margin-left: 0 !important;
  color: #2b5f6d !important;
}

.two .rows {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  text-align: center;
}

.four .icon {
  max-width: 100px !important;
  border-radius: 15px !important;
}

.box {
  width: 280px;
  min-height: 200px;
  max-height: 250px;
  background-color: #e1f2fe;
  border-radius: 5px;
  padding: 16px;
  margin: 8px 0;
}

.twelve .box {
  width: 100%;
  min-height: auto;
  max-height: 350px;
}

#gale picture {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

.line {
  color: #b7becc;
}

.eleven .row {
  text-align: center;
  padding: 32px 0;
}

.four .row-flex {
  display: flex;
  justify-content: center;
}

.four .row-flex .column {
  margin: 0 16px;
}

.twelve .row-flex {
  flex-direction: column;
}

.twelve .box {
  margin: 0;
}

.container-flex p {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.twelve .fas {
  margin-left: 45%;
  margin-top: 24px;
  margin-bottom: 24px;
  margin-right: auto;
  color: #0770e3;
}

#gale .section {
  margin: 52px 0;
}

.thirteen picture {
  max-width: 400px !important;
}

.thirteen .column {
  margin-bottom: 52px;
}

.fourteen .column {
  margin: 48px 0;
}

.sixteen .column {
  margin-top: 48px;
}

.seventeen .row {
  text-align: center;
}

.seventeen .column {
  padding: 48px 0;
}

.nineteen {
  text-align: center;
}

.header {
  font-weight: 600;
  font-size: 1.2em;
}

hr {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  background-color: #d2d3d5;
  border: none;
  height: 1px;
}

/* ==============================
Medium devices (640px and larger)
================================= */
@media only screen and (min-width: 640px) {
  header {
    text-align: unset;
    padding: 24px 0;
  }

  nav {
    width: auto;
    float: right;
  }

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

  .overview nav {
    width: auto;
    float: left;
    padding: 0;
    margin: 0;
  }

  .two nav {
    width: auto;
    float: left;
    padding: 0;
    margin: 0;
  }

  .overview nav>ul {
    list-style-type: none;
    display: inline-block;
  }

  nav>ul {
    margin: 0.25em 0;
  }

  main {
    padding-top: 85px;
  }

  body {
    font-size: 18px;
  }

  main h2 {
    font-size: 1.563em;
  }

  .hero span {
    display: block;
    margin-top: 0;
  }

  .col-md-6 {
    width: 50%;
    text-align: left;
  }

  .col-md-4 {
    width: 30%;
    text-align: left;
  }

  .col-md-4 h2 {
    margin: 0;
  }

  .col-md-8 {
    width: 70%;
    text-align: left;
  }

  [class*="col-"] {
    float: left;
    padding: 16px;
  }

  .row::after {
    content: "";
    clear: both;
    display: table;
  }

  .work .row {
    padding: 0;
    display: flex;
  }

  .work .column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }

  .container {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }

  .section.project {
    background: url("../img/househunters/couple-with-laptop@2x.jpg");
    background-size: cover;
    background-position: 40%;
    padding: 24px 0;
  }

  .project .row {
    max-width: 60%;
  }

  .uistyle h2 {
    margin-bottom: 48px;
    font-weight: 600;
  }

  .wireframes .short-row {
    max-width: 730px;
    margin: 56px auto;
  }

  .responsive .row {
    max-width: 730px;
    margin: 56px auto;
  }

  #gale h1 {
    margin-left: 16px;
  }

  .visual .row {
    display: flex;
  }

  .visual .column {
    display: flex;
    align-items: flex-end;
  }

  .two .row {
    max-width: 70%;
    margin-right: 0 !important;
    margin-left: auto !important;
    margin-top: 0 !important;
  }

  .two .rows {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    text-align: center;
    max-width: 70%;
    margin-right: 0 !important;
    margin-left: auto !important;
  }

  .one picture {
    max-width: 130px !important;
    min-width: 100px !important;
    margin-left: 20px !important;
  }

  .one .container {
    height: 400px;
  }

  .row-flex {
    display: flex;
    justify-content: center;
  }

  .six .row-flex {
    justify-content: space-around;
  }

  .twelve .box {
    max-width: 100%;
    min-height: 350px;
  }

  .container-flex {
    display: flex;
    justify-content: space-around;
  }

  .container-flex .row-flex {
    justify-content: flex-start;
    max-width: 45%;
  }

  .thirteen .row {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .thirteen .reverse {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
  }

  .fourteen .row {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .fourteen .reverse {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
  }

  .final .row {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .final .reverse {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
  }

  .navtoggle li:not(:last-child) {
    display: inline-block;
  }

  .navtoggle li:last-child {
    display: none;
  }

  .about p {
    margin: 6 !important;
  }
}

/* ==============================
Large devices (1024px or larger)
================================= */
@media only screen and (min-width: 1024px) {
  .col-lg-7 {
    width: 60%;
  }

  .col-lg-5 {
    width: 40%;
  }

  .container {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }

  .visual .column:first-child {
    align-items: flex-start;
  }

  .one picture {
    max-width: 200px !important;
    min-width: 150px !important;
    margin-left: 30px !important;
  }
}
