* { box-sizing: border-box ;}
html, body {
   font-family: 'Nunito Sans', Arial, sans-serif;
   font-size: 17px;
   font-weight: 200;
}

html, body, h1, h2, h3, p, a, ul, li, small {
   margin: 0;
   padding: 0;
}

img { width: 100%; height: auto; } 

body {
   background: url(../assets/bg.jpg);
   background-size: cover;
   background-repeat: no-repeat;
   min-height: 100vh;
}

header {
   background: linear-gradient(to bottom, #d6d6d6, #ffffff);
   height: 100px;
   overflow: hidden;
   display: flex;
   justify-content: center;
   align-items: center;
   box-shadow: 0 0 30px rgba(0, 0, 0, 0.25) ;
}

header img {
   height: 45px;
   width: auto;
}

header h1 {
   color: #0073af;
   font-weight: 400;
}

.constrained {
   width: 100%;
   max-width: 1300px;
   margin: 0 auto;
   padding: 0 50px;
}

.flex {
   display: flex;
   flex-wrap: nowrap;
   align-items: flex-start;
}

@media screen and (max-width: 768px) {
   .flex {
      flex-wrap: wrap;
   }
}

header .constrained {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
}

header .constrained img {
   max-width: 300px;
}

section#main .constrained {
   padding: 100px 50px;
}

section#main .constrained .app {
   width: 100%;
   margin: 0 30px 30px 0;
}
@media screen and (max-width: 768px) {
   section#main .constrained .app {
      width: 100%;
      margin: 0 0 30px 0;
   }
}

section#main .constrained .app img {
   max-width: 120px;
   border-radius: 15px;
   box-shadow: 0 0 25px rgba(0, 0, 0, 0.15);
   margin-right: 30px;
}

section#main .app h3 {
   color: #008CCC;
   margin-bottom: 10px;
}

section#main .app p {
   color: #333333;
   font-size: .95rem;
   font-weight: 400;
   margin-bottom: 20px;
}

section#main .app a {
   background: #008CCC;
   font-size: .95rem;
   font-weight: 400;
   text-transform: uppercase;
   text-decoration: none;
   color: #fff;
   padding: 6px 30px 6px 15px;
   border-radius: 5px;
   position: relative;
}

section#main .app a span {
   font-size: 2.125rem;
   font-weight: 200;
   line-height: 0.7;
   position: absolute;
   top: 2px;
   right: 10px;
}

section#main .app .content {
    width: 100%;
    max-width: 300px;
}
@media screen and (max-width: 768px) {
   section#main .app .content {
      width: calc(100% - 180px);
      max-width: unset;
   }
}

input {
   padding: 9px 10px;
   border: 1px solid #aaa;
   border-radius: 5px;
   display: block;
   margin-bottom: 15px;
}

.message {
   color: red !important;
   margin-top: 15px;
}

footer {
   background: linear-gradient(to bottom, #d6d6d6, #ffffff);
   width: 100%;
   height: 40px;
   text-align: center;
   font-size: 14px;;
   overflow: hidden;
   display: flex;
   justify-content: center;
   align-items: center;
   box-shadow: 0 0 30px rgba(0, 0, 0, 0.35) ;
   position: fixed;
   bottom: 0;
}