@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300&display=swap');

/*Custom Properties are properties that are reapeted wihtin the css and can be put in the variables and accessed 
through a scope in this case a root socpe and the syntax for ucstom properties is the following */
:root {
    --primary-color:rgba(0,0,0,0.8);
    --secondary-color:#1c3fa8;
    --dark-color:#002240;
    --light-color:#f4f4f4;
    --success-color: #5cb85c;
    --error-color: #d9534f;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* this allows us to add padding and borders without having to add with on the element*/
}

/*-------------------------------------------------- Typography ------------------------------------------------------------------------------------*/
body {
    font-family: 'Lato', sans-serif;
    color: #333;
    line-height: 1.6;
}

/*-------------------------------------------------- Layout ------------------------------------------------------------------------------------*/


h1, h2, h3{
    font-weight: 300; /* this will make it a little less bold */
    line-height: 1.2;
    margin-left: 10px 0; /* margin top and bottom 10 px and left and right 0*/
}


p {
    margin: 10px 0; /* margin on the top and bottom of the paragraphs so that you can tell that they are not squished together */
}


/* --------------------------------------------------------------------------- NAVLINKS ------------------------------------------------*/

.main-body {
    height: 50vh;
    background-color: var(--primary-color);
    color:  white;
}
  
.features-head .container,
.features-sub-head .container,
.docs-sub-head .container,
.docs-head .container,
.docs-main .container {
    max-width: 1100px;
}


nav {
    height: 8vh;
    background: var(--primary-color);
}

.nav-links {
    display: flex;
    list-style: none;
    width: 30%;
    height: 100%;
    align-items: center;
    margin-left: auto;
}

.nav-links li a:hover,
.nav-links li a:focus {
    border-bottom: 2px #fff solid;
}

.nav-links li a {
    color: white;
    text-decoration: none;
    font-size: 15px;
    color: #fff;
    padding: 10px;
    margin: 0 5px;
}



.presentation h1{
    font-size: 60px;
    animation: slideInFromLeft 1s ease-in-out;
}

.presentation h2 {
    font-size: 30px;
    animation: slideInFromRight 1s ease-in-out;
}

.presentation p {
    animation: fade-in 1.5s ease-in-out;
}

/* ---- particles.js container ---- */

#particles-js{
    width: 100%;
    height: 1000px;
    background-color: var(--primary-color);
    background-image: url('');
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.presentation {
    padding-top: 200px;
    background-color: transparent;
    color: white;
    text-align: center;
}

canvas {
    animation: fade-in 1s ease-in;
}

/*------------------------------ACCOUNT----------------------------------*/
.container.account {
	text-align: center;
    color: white;
    background: black;
}

.container.account i {
    padding: 20px;
    border-radius: 100%;
}

.transactions-main {
    height: 100vh;
}

.transaction-summary {
    height: 100vh;
}

.transaction-summary h3 {
    padding-top: 50px;
}
.to-hide {
    display:none;
}
.account .btn.btn-outline {
    color: black;
    border-color: black;
}
.container.account .user-main {
    padding-top: 30px;
}

#account-mine {
    margin-top: 30px;
    color: white;
    border-color: white;
}

.account .btn.btn-outline:hover {
    background-image: linear-gradient(45deg,rgb(255, 167, 4),rgba(209, 255, 4, 0.829));
}

.animation-area {
	background: linear-gradient(to left, rgba(0,0,0,0.8), black);
	width: 100%;
	height: 100vh;
    position: relative;
}

.box-area {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.box-area li {
	position: absolute;
	display: block;
	list-style: none;
	width: 25px;
	height: 25px;
	background: rgba(255, 255, 255, 0.2);
	animation: animate 20s linear infinite;
	bottom: -150px;
}
.box-area li:nth-child(1) {
	left: 86%;
	width: 80px;
	height: 80px;
	animation-delay: 0s;
}
.box-area li:nth-child(2) {
	left: 12%;
	width: 30px;
	height: 30px;
	animation-delay: 1.5s;
	animation-duration: 10s;
}
.box-area li:nth-child(3) {
	left: 70%;
	width: 100px;
	height: 100px;
	animation-delay: 5.5s;
}
.box-area li:nth-child(4) {
	left: 42%;
	width: 150px;
	height: 150px;
	animation-delay: 0s;
	animation-duration: 15s;
}
.box-area li:nth-child(5) {
	left: 65%;
	width: 40px;
	height: 40px;
	animation-delay: 0s;
}
.box-area li:nth-child(6) {
	left: 15%;
	width: 110px;
	height: 110px;
	animation-delay: 3.5s;
}


/*---------------------------------------------- BLOCKCHAIN----------------------------*/
.container.grid.blockchain .card.flex {
    height: 700px;
}

.alert-error{
    padding-top:20px;
    position: relative;
}

.alert-error h1{
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%);
    padding-top: 240px;
}

.container.grid.blockchain .btn.btn-outline {
    color: black;
    border-color: black;
}

.container.grid.blockchain .btn.btn-outline:hover {
    background-image: linear-gradient(45deg,rgb(255, 167, 4),rgba(209, 255, 4, 0.829));
}
/* ------------------------------------------------------SOURCE CODE ------------------------*/

.how-it-works, 
.how-it-works-head {
    height: 60vh;
}

.how-it-works-main {
    height: 110vh;
}

.how-it-works-head .btn {
    width: 180px;
}

.how-it-works .container{
    color: black;
}
/* ------------------------------------------------------FOOTER ------------------------*/

.footer .social a {
    margin: 0 10px;
}
  
  .fa-github:hover {
    color: #000000;
}
  
  .fa-facebook:hover {
    color: #1773EA;
}
  
  .fa-instagram:hover {
    color: #B32E87;
}
  
  .fa-twitter:hover {
    color: #1C9CEA;
}
  

/* --------------------------------------------------------------- Media Queries -----------------------------------------------*/
/* tablet view and under */
@media (max-width:768px){
    .showcase .grid,
    .stats .grid,
    .clid .grid,
    .cloud .grid,
    .features-main .grid,
    .docs-main .grid,
    .grid {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr; /* this is used to make everything stack on top of each other as such we select all the grids */
    }

    .showcase {
        height: auto; /* by setting this to auto it will take the amount of the container */
    }

    .showcase-text {
        text-align: center;
        margin-top: 40px; /* this is to push it down a bit */
    }

    .showcase-form {
        justify-self: center;
        margin: auto;
    }

    .cli .grid > *:first-child { /* this is so thhat the grid first child element will occupy one column and one row */
        grid-column: 1; 
        grid-row: 1;
    }
    .cli .grid {
        padding-top: 300px;
        height: 50vh;
    }

    .features-head,
    .features-sub-head,
    .docs-head {
        text-align: center; 
    }

    .features-sub-head img,
    .docs-head img{
        justify-self: center; /* this is to make sure that the images within the head section of each page is aligned to the center when we shrink */
    }

    .features-head .grid > *:first-child,
    .features-sub-head .grid > *:nth-child(2) {
        grid-column: 1;
    }

    .line {
        animation: fade-in 1s ease-in-out;
        width: 30px;
        height: 3px;
        background: white;
        margin: 5px;
    }

    nav {
        position: relative;
    }

    .nav-links li {
        padding: 20%;
    }

    /* ANIMATION */

    .hamburger.open {
        padding-right: 35px;
    }

    .hamburger.open .midll{
        animation: fade-out 1.5s ease-in-out;
        transform: translateX(-50px);
        background: transparent;
        box-shadow: none;
    }
    .hamburger.open .top{
        animation: fade-in 1s ease-in-out;
        transform: rotate(45deg) translate(35px, -25px);
    }
    .hamburger.open .bottm{
        animation: fade-in 1s ease-in-out;
        transform: rotate(-45deg) translate(35px, 25px);
    }

    .hamburger {
        animation: fade-in 1s ease-in-out;
        position: absolute;
        cursor: pointer;
        right: 5%;
        top: 50%;
        transform: translate(-5%, -50%);
        z-index: 100; 
    }

    .nav-links {
        animation: fade-in 1s ease-in-out;
        position: fixed;
        background: rgba(0,0,0,0.8);
        height: 100%;
        width: 100%;
        flex-direction: column;
        transform: translateX(150%);
        clip-path: circle(100px at 90% -10%);
        -webkit-clip-path: circle(100px at 90% -10%);
        transition: all 1s ease-out;
        pointer-events: none;
        z-index: 90;
    }

    .nav-links.open {
        clip-path: circle(1000px at 90% -10%);
        -webkit-clip-path: circle(1100px at 90% -10%);
        pointer-events: all;
        transform: translateX(0%);
        width: 100%;
    }

    .nav-links li {
        opacity: 0;
    }

    .nav-links li a {
        font-size: 15px;
    }

    .nav-links.open li {
        animation: addRemoveBox 1.5s ease-in-out;
        padding: 8%;
    }

    .nav-links li:nth-child(1) {
        transition: all 0.5s ease 0.2s;
    }

    .nav-links li:nth-child(2) {
        transition: all 0.5s ease 0.4s;
    }

    .nav-links li:nth-child(3) {
        transition: all 0.5s ease 0.6s;
    }

    li.fade {
        opacity: 1;
    }

    #particles-js {
        height: 120vh;
    }
    
    .account {
        justify-self: center;
        margin: auto;
    }

    .account.showcase-form.card {
        height: 300px;
        width: 250px;
    }

    .dataframe {
        display: none;
    }

    .transaction-summary {
        text-align: center;
        margin: auto;
        height: 100%;
        max-width: 350px;
        padding-top: 350px;
        padding-bottom: 200px; 
    }

    .transaction-summary h3 {
        word-break: break-all;
    }

    .transactions-main {
        height: 400px;
    }
    
    .transaction-summary {
        height: auto;
    }

    .transactions-main .container{
        display: grid;
        grid-template-columns: 0fr 2fr;
        grid-template-rows: 0fr 2fr;
        overflow: hidden;
    }
    
    .to-hide {
        display:inline;
    }

    .features-head.bg-primary.py-3 .container.grid{
        overflow: hidden;
    }

    .features-sub-head.bg-light.py-3 .container.grid{
        overflow: hidden;
    }

    .container.grid.blockchain {
        overflow-x: hidden;
    }

    .container.grid.blockchain .card {
        margin-top: 100px;
        padding: 240px 60px;
        transform: translateX(-33%);
    }

    .container.grid.blockchain i {
        display: none;
    }

    .container.grid.blockchain .card p {
        word-break: break-all;
        font-size: 0.8rem;
    }

    .how-it-works, .how-it-works-head {
        height: 110vh;
    }

    .cloud .text-center .lg {
        font-size: 2rem;
        word-break: keep-all;
    }
}

@media (max-width:1300px) {
    .nav-links {
        display: flex;
        list-style: none;
        width: 50%;
        height: 100%;
        align-items: center;
        margin-left: auto;
    }
    
    .nav-links li a:hover,
    .nav-links li a:focus {
        border-bottom: 2px #fff solid;
    }
    
    .nav-links li a {
        color: white;
        text-decoration: none;
        font-size: 15px;
        color: #fff;
        padding: 10px;
        margin: 0 5px;
    }
    
}


@media (max-width:620px) {
    .features-head img {
        display: none;
    } 
}

@media (max-width:720px) {
    .cli .grid{
        display: none;
    }
}





/* --------------------------------------------------------------- Key Frames and Animations-----------------------------------------------*/

@keyframes slideInFromLeft {
    0% {
      transform: translateX(-100%);
    }
  
    100% {
      transform: translateX(0);
    }
}
  
@keyframes slideInFromRight {
    0% {
      transform: translateX(100%);
    }
  
    100% {
      transform: translateX(0);
    }
}
  
@keyframes slideInFromBottom {
    0% {
      transform: translateY(100%);
    }
  
    100% {
      transform: translateX(0);
    }
}

@keyframes slideInFromTop {
    0% {
      transform: translateY(-100%);
    }
  
    100% {
      transform: translateX(0);
    }
}

@keyframes fade-in{
    from {
        opacity: 0;
    }
    
    to {
        opacity: 1;
    }
};

@keyframes slide-out-left{
    from{
    transform: translate3d(0, 0, 0);
    }
    to{
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
    }
    }

@keyframes addRemoveBox {

        from{
            border: 1px solid white;
        }

        to {
            border: transparent;
        }
        
}
    
@keyframes animate {
        0% {
            transform: translateY(0) rotate(0deg);
            opacity: 1;
        }
        100% {
            transform: translateY(-800px) rotate(360deg);
            opacity: 0;
        }
}
    