/* Fonts */
@font-face {
    font-family: Quicksand-Light;
    src: url('fonts/Quicksand-Light.ttf');
}

@font-face {
    font-family: Quicksand-Regular;
    src: url('fonts/Quicksand-Regular.ttf');
}

@font-face {
    font-family: Quicksand-Medium;
    src: url('fonts/Quicksand-Medium.ttf');
}

@font-face {
    font-family: Quicksand-SemiBold;
    src: url('fonts/Quicksand-SemiBold.ttf');
}

@font-face {
    font-family: Quicksand-Bold;
    src: url('fonts/Quicksand-Bold.ttf');
}

/* Animations */
@keyframes fade-in {
    from {opacity: 0;}
    to {opacity: 1;}
}
@-moz-keyframes fade-in {
    from {opacity: 0;}
    to {opacity: 1;}
}
@-webkit-keyframes fade-in {
    from {opacity: 0;}
    to {opacity: 1;}
}
@-o-keyframes fade-in {
    from {opacity: 0;}
    to {opacity: 1;}
}

@keyframes fade-in-up {
    0% {transform: translateY(0px); opacity: 0}
    1% {transform: translateY(50px);}
    55% {opacity: 0}
    100% {transform: translateY(0px); opacity: 1}
}
@-moz-keyframes fade-in-up {
    0% {transform: translateY(0px); opacity: 0}
    1% {transform: translateY(50px);}
    55% {opacity: 0}
    100% {transform: translateY(0px); opacity: 1}
}
@-webkit-keyframes fade-in-up {
    0% {transform: translateY(0px); opacity: 0}
    1% {transform: translateY(50px);}
    55% {opacity: 0}
    100% {transform: translateY(0px); opacity: 1}
}
@-o-keyframes fade-in-up {
    0% {transform: translateY(0px); opacity: 0}
    1% {transform: translateY(50px);}
    55% {opacity: 0}
    100% {transform: translateY(0px); opacity: 1}
}

@keyframes fade-in-down {
    0% {transform: translateY(0px); opacity: 0}
    1% {transform: translateY(-50px);}
    55% {opacity: 0}
    100% {transform: translateY(0px); opacity: 1}
}
@-moz-keyframes fade-in-down {
    0% {transform: translateY(0px); opacity: 0}
    1% {transform: translateY(-50px);}
    55% {opacity: 0}
    100% {transform: translateY(0px); opacity: 1}
}
@-webkit-keyframes fade-in-down {
    0% {transform: translateY(0px); opacity: 0}
    1% {transform: translateY(-50px);}
    55% {opacity: 0}
    100% {transform: translateY(0px); opacity: 1}
}
@-o-keyframes fade-in-down {
    0% {transform: translateY(0px); opacity: 0}
    1% {transform: translateY(-50px);}
    55% {opacity: 0}
    100% {transform: translateY(0px); opacity: 1}
}

@keyframes fade-in-left {
    0% {transform: translateX(0px); opacity: 0}
    1% {transform: translateX(50px);}
    55% {opacity: 0}
    100% {transform: translateX(0px); opacity: 1}
}
@-moz-keyframes fade-in-left {
    0% {transform: translateX(0px); opacity: 0}
    1% {transform: translateX(50px);}
    55% {opacity: 0}
    100% {transform: translateX(0px); opacity: 1}
}
@-webkit-keyframes fade-in-left {
    0% {transform: translateX(0px); opacity: 0}
    1% {transform: translateX(50px);}
    55% {opacity: 0}
    100% {transform: translateX(0px); opacity: 1}
}
@-o-keyframes fade-in-left {
    0% {transform: translateX(0px); opacity: 0}
    1% {transform: translateX(50px);}
    55% {opacity: 0}
    100% {transform: translateX(0px); opacity: 1}
}

@keyframes fade-in-right {
    0% {transform: translateX(0px); opacity: 0}
    1% {transform: translateX(-50px);}
    55% {opacity: 0}
    100% {transform: translateX(0px); opacity: 1}
}
@-moz-keyframes fade-in-right {
    0% {transform: translateX(0px); opacity: 0}
    1% {transform: translateX(-50px);}
    55% {opacity: 0}
    100% {transform: translateX(0px); opacity: 1}
}
@-webkit-keyframes fade-in-right {
    0% {transform: translateX(0px); opacity: 0}
    1% {transform: translateX(-50px);}
    55% {opacity: 0}
    100% {transform: translateX(0px); opacity: 1}
}
@-o-keyframes fade-in-right {
    0% {transform: translateX(0px); opacity: 0}
    1% {transform: translateX(-50px);}
    55% {opacity: 0}
    100% {transform: translateX(0px); opacity: 1}
}

@keyframes float {
    0% {transform: translateY(0px);}
    50% {transform: translateY(10px);}
    100% {transform: translateY(0px);}
}
@-moz-keyframes float {
    0% {transform: translateY(0px);}
    50% {transform: translateY(10px);}
    100% {transform: translateY(0px);}
}
@-webkit-keyframes float {
    0% {transform: translateY(0px);}
    50% {transform: translateY(10px);}
    100% {transform: translateY(0px);}
}
@-o-keyframes float {
    0% {transform: translateY(0px);}
    50% {transform: translateY(10px);}
    100% {transform: translateY(0px);}
}

.fade-in-text {
    animation: fade-in linear 0.8s;
    -webkit-animation: fade-in linear 0.8s;
    -moz-animation: fade-in linear 0.8s;
    -o-animation: fade-in linear 0.8s;
}

.fade-in-up-text {
    animation: fade-in-up ease-out 1s;
    -webkit-animation: fade-in-up ease-out 1s;
    -moz-animation: fade-in-up ease-out 1s;
    -o-animation: fade-in-up ease-out 1s;
}

.fade-in-down-text {
    animation: fade-in-down ease-out 1s;
    -webkit-animation: fade-in-down ease-out 1s;
    -moz-animation: fade-in-down ease-out 1s;
    -o-animation: fade-in-down ease-out 1s;
}

.fade-in-left-text {
    animation: fade-in-left ease-out 1s;
    -webkit-animation: fade-in-left ease-out 1s;
    -moz-animation: fade-in-left ease-out 1s;
    -o-animation: fade-in-left ease-out 1s;
}

.fade-in-right-text {
    animation: fade-in-right ease-out 1s;
    -webkit-animation: fade-in-right ease-out 1s;
    -moz-animation: fade-in-right ease-out 1s;
    -o-animation: fade-in-right ease-out 1s;
}

.float-text {
    animation: float ease-in-out 3s infinite;
    -webkit-animation: float ease-in-out 3s infinite;
    -moz-animation: float ease-in-out 3s infinite;
    -o-animation: float ease-in-out 3s infinite;
}

/* Style - Overall */
html,body {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

body {
    font-family: Quicksand-Medium, serif;
    background-color: black;
    color: white;
}

.no-js-msg {
    margin-top: 10px;
    font-size: 25px;
    color: darkorange;
    background-color: rgba(0, 0, 0, 0.4);
}

body.modal-open {
    overflow: auto;
}

body.modal-open[style] {
    padding-right: 0 !important;
}

.modal::-webkit-scrollbar {
    width: 0 !important;
}

.hidden-fade {
    opacity: 0;
}
.hidden-fade-up {
    opacity: 0;
}
.hidden-fade-down {
    opacity: 0;
}
.hidden-fade-left {
    opacity: 0;
}
.hidden-fade-right {
    opacity: 0;
}

/* Style - Nav Bar */
.navbar {
    background: rgba(0, 0, 0, 0.5)
}

#main-navbar .nav-link {
    color: white;
}

#main-navbar .nav-link:hover {
    color: deepskyblue;
}

/* Style - Home */
#home{
    background-size: cover;
    background-image: url("img/home-bg.jpg");
}

.white-border {
    border: white 5px solid;
}

.home-greet {
    font-size: 25px;
}

.home-name {
    margin-top: -35px;
    margin-bottom: -25px;
    font-size: 60px;
}

.home-title {
    font-size: 25px;
}

.social-icons {
    padding: 15px 8px 15px 8px;
    transition: .5s transform cubic-bezier(.15,1.1,.3,1.12),.5s box-shadow,.5s -webkit-transform cubic-bezier(.15,1.1,.3,1.12);
}

.social-icons:hover {
    transform: scale(1.2);
    transition: .5s transform cubic-bezier(.15,1.1,.3,1.12),.5s box-shadow,.5s -webkit-transform cubic-bezier(.15,1.1,.3,1.12);
}

.resume-link {
    margin-bottom: 15px;
}

.home-moreinfo a {
    font-size: 20px;
    color: white;
    text-decoration: none;
}

.home-moreinfo a:hover {
    font-size: 20px;
    color: deepskyblue;
    text-decoration: none;
}

.home-moreinfo-text {
    padding-top: 10px;
}

/* Style - About */
#about {
    background-size: cover;
    background-position: center center;
    background-image: url("img/about-bg.png");
}

.about-paragraph {
    background-color: rgba(0,0,0,0.5);
    font-size: 20px;
}

.about-skills {
    background-color: rgba(0,0,0,0.5);
}

.about-tools {
    font-size: 18px;
    background-color: rgba(0,0,0,0.5);
}

.tierA-skills {
    margin-top: 8px;
    font-size: 24px;
    opacity: 1;
}

.tierB-skills {
    margin-top: 8px;
    font-size: 20px;
    opacity: 0.8;
}

.tierC-skills {
    margin-top: 8px;
    font-size: 16px;
    opacity: 0.6;
}

/* Style - Projects */

#projects {
    background-size: cover;
    background-position: center;
    background-image: url("img/projects-bg.png");
}

.projects-title {
    margin-top: 50px;
}

.card {
    background-color: rgba(0, 0, 0, 0.5);
    border-style: solid;
    border-color: white;
    border-width: 3px;
    border-radius: 25px;
    margin-top: 15px;
    margin-bottom: 15px;
    transition: .5s transform cubic-bezier(.15,1.1,.3,1.12),.5s box-shadow,.5s -webkit-transform cubic-bezier(.15,1.1,.3,1.12);
}

.card:hover {
    transform: scale(1.05);
    transition: .5s transform cubic-bezier(.15,1.1,.3,1.12),.5s box-shadow,.5s -webkit-transform cubic-bezier(.15,1.1,.3,1.12);
}

.card-img {
    border-bottom-style: solid;
    border-bottom-color: white;
    border-bottom-width: 3px;
    border-top-left-radius: 22px;
    border-top-right-radius: 22px;
}

.card-text {
    font-size: 15px;
}

.modal-title {
    color: black;
}

.modal-content {
    color: black;
    text-align: left;
}

/* Style - Contact */
#contact {
    background-size: cover;
    background-position: center center;
    background-image: url("img/contact-bg.png");
}

.contact-text {
    margin-bottom: -6px;
    font-size: 15px;
}

.contact-info {
    margin-left: 25px;
    margin-top: auto;
    margin-bottom: auto;
}

.social-link {
    font-size: 20px;
    color: inherit;
    text-decoration: none;
}

.social-link:hover {
    color: deepskyblue;
}

.contact-container {
    margin-left: auto;
    margin-right: auto;
}

/* Style - Footer */
#footer {
    text-align: center;
    color: silver;
}