﻿/*
Most of this was taken from https://www.airpair.com/angularjs
and then expanded on
 */

html {
    font-family: sans-serif;
    height:100%;
    overflow-x:hidden;
    overflow-y:scroll;
    position:relative;
    width:100%;
}

body {
    background-color:#000010;
    color:#FFF;
    font-weight:100;
    margin:0;
    height:100%;
    width:100%;

    /*http://lea.verou.me/css3patterns/#starry-night*/
    background-image:
            radial-gradient(white, rgba(255,255,255,.2) 2px,   transparent 40px),
            radial-gradient(white, rgba(255,255,255,.15) 1px,   transparent 30px),
            radial-gradient(white, rgba(255,255,255,.1) 2px,   transparent 40px),
            radial-gradient(rgba(255,255,255,.4),       rgba(255,255,255,.1) 2px, transparent 30px);
    background-size: 550px 550px, 350px 350px, 250px 250px, 150px 150px;
    background-position: 0 0, 40px 60px, 130px 270px, 70px 100px;
}

.flex-column{
    display: flex;
    flex-direction:column;
    align-items: center;
}

.main {
    height: 100%;
}

a img {
    border:none;
}


.title {
    text-align: center;
}

.tabletitle {
    text-align: center;
    font-weight: bold;
    margin: 0;
}

table {
    max-width: 90%;
    margin: 10px;
    text-align: center;
    margin: 0 auto 10px auto;
}

td {
    padding: 2px 10px;
}

.topic .title-row .title {
    font-size: 36px;
}

.title-row{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.topic {
    min-height: 100%;
    /*padding: 30px 0px 50px 0px;*/
    margin: 0px 0px 100px 0px;
}

.content-row{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content:center;
    width:100%;
}

.content-row .content{
    width:30%;
    display:flex;
    flex-direction:column;
    margin: 15px 15px 0px 15px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.75);
    border-radius: 5px;
    align-items:center;
}

.content p{
    width:100%;
    font-size: 1em;
}

.content > img {
    object-fit: contain;
    width:95%;
}

.wider {
    width: 45% !important;
}

.ninth {
    width: 30%;
    float: left;
    margin: 1.5%;
}

.ninth > img {
    width:100%;
}

.content .title{
    font-size: 24px;
}

.about-text{
    font-size: 16px;
    padding-left: 10px;
}

#solar-wind{
    background: url("https://svs.gsfc.nasa.gov/vis/a000000/a004300/a004370/Mars_vs_Solar_Storm_print.jpg") center no-repeat;
    background-size: cover;

}

#moon{
    background:url("https://i.ytimg.com/vi/23NPIQZQkF0/maxresdefault.jpg") center no-repeat;
    background-size: cover;
}

#alerts{
    background: url("../images/spaceinvaders.png") center no-repeat;
    background-size: cover;
    margin: 0;
}

.parallax {
    height: 100%;
    background-attachment: fixed;
}

.loader {
    border: 16px solid #FF1F59;
    border-radius: 50%;
    border-top: 16px solid #820082;
    border-bottom: 16px solid #820082;
    width: 120px;
    height: 120px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

p {
    font-size: 1em;
}
input,textarea {
    -webkit-appearance:none;
    background-color:#f7f7f7;
    border:none;
    border-radius:3px;
    font-size:1em;
    font-weight:100;
}
input:focus,textarea:focus {
    border:none;
    outline:2px solid #7ed7b9;
}
.left {
    float:left;
}
.right {
    float:right;
}
.btn {
    background-color:#fff;
    border-radius:24px;
    color:#595959;
    display:inline-block;
    font-size:1.4em;
    font-weight:400;
    margin:30px 0;
    padding:10px 30px;
    text-decoration:none;
}
.btn:hover {
    opacity:0.8;
}
.wrap {
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    margin:0 auto;
    max-width:1420px;
    overflow:hidden;
    padding:10px 50px;
    position:relative;
    width:100%;
}
.wrap:before {
    content:'';
    display:inline-block;
    height:100%;
    margin-right:-0.25em;
    vertical-align:middle;
}

/* header section */
header {
    background: rgba(0, 0, 0, 0.75);
}


home-link:hover{
    text-decoration:none;
}

header a, #home-link:hover{
    text-decoration:none;
    color: #fff;
}

h1, header a {
    font-size:3.5em;
    font-weight:100;
}

header .wrap {
    height:100%;

}
header .logo {
    margin-top:1px;
}
header nav {
    float:right;
    margin-top:17px;
}
header nav ul {
    margin:1em 0;
    padding:0;
}
header nav ul li {
    display:block;
    float:left;
    margin-right:20px;
}
header nav ul li a {
    border-radius:24px;
    color:#aaa;
    font-size:1.4em;
    font-weight:400;
    padding:10px 27px;
    text-decoration:none;
}
header nav ul li a.active {
    background-color:#820082;
    color:#fff;
    text-decoration:none;
}
header nav ul li a.active:hover {
    background-color:#820082;
    color:#fff;
    text-decoration:none;
}
header nav ul li a:hover,header nav ul li a.activeSmall {
    color:#FF1F59;
    text-decoration:none;
}

/* footer section */
footer .copyright {
    color:#adadad;
    margin-bottom:50px;
    margin-top:50px;
    text-align:center;
}

/* other objects */
.projectObj {
    color:#fff;
    display:block;
}
.projectObj .name {
    float:left;
    font-size:4em;
    font-weight:100;
    position:absolute;
    width:42%;
}
.projectObj .img {
    float:right;
    margin-bottom:5%;
    margin-top:5%;
    width:30%;
}

.paddRow {
    background-color:#dadada;
    color:#818181;
    display:none;
    padding-bottom:40px;
}
.paddRow.aboutRow {
    background-color:#78c2d4;
    color:#FFF !important;
    display:block;
}
.paddRow .head {
    font-size:4em;
    font-weight:100;
    margin:40px 0;
}
.paddRow .close {
    cursor:pointer;
    position:absolute;
    right:50px;
    top:80px;
    width:38px;
}

.about {
    color:#818181;
}
.about section {
    margin:0 0 10%;
}
.about .head {
    font-size:4em;
    font-weight:100;
    margin:3% 0;
}
.about .subHead {
    font-size:2.5em;
    font-weight:100;
    margin:0 0 3%;
}
.about .txt {
    width:60%;
}
.about .image {
    width:26%;
}
.about .flLeft {
    float:left;
}
.about .flRight {
    float:right;
}

.projectHead.product {
    background-color:#87b822;
}
.projectHead .picture {
    margin-bottom:6%;
    margin-top:6%;
}
.projectHead .picture.right {
    margin-right:-3.5%;
}
.projectHead .text {
    position:absolute;
    width:49%;
}
.projectHead .centerText {
    margin:0 auto;
    padding-bottom:24%;
    padding-top:6%;
    text-align:center;
    width:55%;
}

.image {
    text-align:center;
}
.image img {
    vertical-align:top;
    width:100%;
}

.contactForm {
    width:50%;
}

.input {
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    margin:1% 0;
    padding:12px 14px;
    width:47%;
}
.input.email {
    float:right;
}

button {
    border:none;
    cursor:pointer;
}
.textarea {
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    height:200px;
    margin:1% 0;
    overflow:auto;
    padding:12px 14px;
    resize:none;
    width:100%;
}

::-webkit-input-placeholder {
    color:#a7a7a7;
}
:-moz-placeholder {
    color:#a7a7a7;
}
::-moz-placeholder { /* FF18+ */
    color:#a7a7a7;
}
:-ms-input-placeholder {
    color:#a7a7a7;
}

.loader {
    -moz-animation:loader_rot 1.3s linear infinite;
    -o-animation:loader_rot 1.3s linear infinite;
    -webkit-animation:loader_rot 1.3s linear infinite;
    animation:loader_rot 1.3s linear infinite;
    height:80px;
    width:80px;
}
@-moz-keyframes loader_rot {
    from {
        -moz-transform:rotate(0deg);
    }
    to {
        -moz-transform:rotate(360deg);
    }
}
@-webkit-keyframes loader_rot {
    from {
        -webkit-transform:rotate(0deg);
    }
    to {
        -webkit-transform:rotate(360deg);
    }
}
@keyframes loader_rot {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }
}

.view-enter,.view-leave {
    -moz-transition:all .5s;
    -o-transition:all .5s;
    -webkit-transition:all .5s;
    transition:all .5s;
}
.view-enter {
    left:20px;
    opacity:0;
    position:absolute;
    top:0;
}
.view-enter.view-enter-active {
    left:0;
    opacity:1;
}
.view-leave {
    left:0;
    opacity:1;
    position:absolute;
    top:0;
}
.view-leave.view-leave-active {
    left:-20px;
    opacity:0;
}

/* responsive rules */

@media (max-width: 1200px) {
    body {
        font-size:90%;
    }
    h1 {
        font-size:4.3em;
    }
    p {
        font-size:1.3em;
    }
    header {
        height:80px;
    }
    header .logo {
        margin-top:12px;
        width:200px;
    }
    header nav {
        margin-top:11px;
    }
    header nav ul li {
        margin-right:12px;
    }
    header nav ul li a {
        border-radius:23px;
        font-size: 1.3em;
        padding:10px 12px;
    }
    .wrap {
        padding:0 30px;
    }
    .paddRow .close {
        right:30px;
    }
}

@media (max-width: 900px) {
    .contactForm {
        width:100%;
    }
}

@media (max-width: 768px) {
    body {
        font-size:80%;
        margin:0;
    }
    h1 {
        font-size:4em;
    }
    header {
        height:70px;
    }
    header .logo {
        margin-top:20px;
        width:70px;
    }
    header nav {
        margin-top:8px;
    }
    header nav ul li {
        margin-right:5px;
    }
    header nav ul li a {
        border-radius:20px;
        font-size:1.1em;
        padding:8px;
    }
    .wrap {
        padding:0 15px;
    }
    .projectObj .name {
        font-size:3em;
    }
    .paddRow {
        padding-bottom:30px;
    }
    .paddRow .head {
        font-size:3em;
        margin:30px 0;
    }
    .paddRow .close {
        right:20px;
        top:60px;
        width:30px;
    }
    .projectHead .picture {
        width:67%;
    }
    .projectHead .picture.right {
        margin-right:16.5%;
    }
    .projectHead .text {
        position:static;
        width:100%;
    }
    .projectHead .centerText {
        width:70%;
    }
    .view-enter,.view-leave {
        -webkit-transform:translate3d(0,0,0);
        transform:translate3d(0,0,0);
    }
}

@media (max-width: 480px) {
    body {
        font-size:70%;
        margin:0;
    }
    header {
        height:50px;
    }
    header .logo {
        display:none;
    }
    header nav {
        margin-top:3px;
    }
    header nav ul li {
        margin-right:3px;
    }
    header nav ul li a {
        border-radius:20px;
        font-size:1.3em;
        padding:5px 14px;
    }
    #contactBtn {
        display:none;
    }
    .wrap {
        padding:0 10px;
    }
    .paddRow {
        padding-bottom:20px;
    }
    .paddRow .head {
        margin:20px 0;
    }
    .paddRow .close {
        right:10px;
        top:45px;
        width:20px;
    }
    .about .image {
        margin:10% auto;
        width:60%;
    }
    .about .abIcon {
        display:inline;
    }
    .projectHead .centerText {
        width:90%;
    }
    .about .txt,.input {
        width:100%;
    }
    .about .flLeft,.about .flRight,.input.email {
        float:none;
    }
}