

/*** Slanted stuff ***/
.slanted-shadow{
    filter: drop-shadow(0 0 2rem rgba(0,0,0,0.9));
}

.slanted-n {
    -webkit-clip-path: polygon(0 75px, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 75px, 100% 0, 100% 100%, 0 100%);

    padding-top:100px;
    
    margin-top:2rem;
}
.slanted-s {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 75px), 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 75px), 0 100%);

    padding-bottom:100px;
    
    margin-bottom:2rem;
}

.slanted-y{
    -webkit-clip-path: polygon(0 0, 100% 75px, 100% 100%, 0 calc(100% - 75px));
    clip-path: polygon(0 0, 100% 75px, 100% 100%, 0 calc(100% - 75px));

    padding-top:100px;
    padding-bottom:100px;
    
    margin-top:2rem;
    margin-bottom:2rem;
}
.slanted-y-inverted{
    -webkit-clip-path: polygon(0 75px, 100% 0, 100% calc(100% - 75px), 0 100%);
    clip-path:polygon(0 75px, 100% 0, 100% calc(100% - 75px), 0 100%);
    
    padding-top:100px;
    padding-bottom:100px;
    
    margin-top:2rem;
    margin-bottom:2rem;
}

/*** Background colours ***/
.vex-grad-primary{
    background-color: var(--primary-1);
    background-image: linear-gradient(135deg, var(--primary-1) 0%, var(--secondary-1) 100%);
}
.vex-grad-secondary{
    background-color: var(--secondary-1);
    background-image: linear-gradient(135deg, var(--secondary-1) 0%, var(--tertiary-1) 100%);
}

/*** Base animations ***/

/* Invert Colour */
.invert-colour{
    animation-name: invert-colour;
    animation-duration: 3.5s;
    animation-fill-mode: forwards;
}

@keyframes invert-colour{
    from{
        filter: invert(1);
    }
    
    to{
        filter: invert(0);
    }
}

/* Floating box animation */
.box-area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    margin:0;
    height:100%;
}
.box-area li {
    position: absolute;
    display: block;
    list-style: none;
    width: 1.5rem;
    height: 1.5rem;
    background: rgba(255, 255, 255, 0.2);
    animation: box-area 20s linear infinite;
    bottom: -12rem
}
.box-area li:nth-child(1) {
    left: 86%;
    width: 5rem;
    height: 5rem;
    animation-delay: 0s;
}
.box-area li:nth-child(2) {
    left: 12%;
    width: 2rem;
    height: 2rem;
    animation-delay: 1.5s;
    animation-duration: 10s;
}
.box-area li:nth-child(3) {
    left: 70%;
    width: 6.25rem;
    height: 6.25rem;
    animation-delay: 5.5s;
}
.box-area li:nth-child(4) {
    left: 42%;
    width: 7rem;
    height: 7rem;
    animation-delay: 0s;
    animation-duration: 15s;
}
.box-area li:nth-child(5) {
    left: 65%;
    width: 2.5rem;
    height: 2.5rem;
    animation-delay: 0s;
}
.box-area li:nth-child(6) {
    left: 15%;
    width: 8.75rem;
    height: 8.75rem;
    animation-delay: 3.5s;
}
@keyframes box-area {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translateY(-50rem) rotate(360deg);
        opacity: 0;
    }
}

/*** Content structures ***/
div.basic-content{
    text-align: center;
    padding-left:10%;
    padding-right:10%;
}
div.basic-content h2{
    color:var(--primary-1);
}

@media only screen and (max-width: 670px) {
    div.basic-content{
        padding-left:10%;
        padding-right:10%;
    }
}

div.full-height{
    min-height:calc(100vh - 2rem);
    padding-left:3rem;
    padding-right:3rem;
    padding-top: 1rem;
    padding-bottom:1rem;
}

@media only screen and (max-width: 425px) {
    div.full-height{
        padding-left:1.5rem;
        padding-right:1.5rem;
    }
}
@media only screen and (max-width: 375px) {
    div.full-height{
        padding-left:1rem;
        padding-right:1rem;
    }
}
@media only screen and (max-width: 320px) {
    div.full-height{
        padding-left:0.5rem;
        padding-right:0.5rem;
    }
}

a.button{
    color:white;
    border-radius: 1rem;
    padding:0.5rem;
    padding-left:1rem;
    padding-right:1rem;
    text-decoration: none;
    display:block;
    max-width:15rem;

    margin-top:1rem;

    text-align: center;

    cursor: pointer;
    position:relative;
}
a.primary{
    background-color: var(--primary-1);
}
a.secondary{
    background-color: var(--secondary-1);
}
a.tertiary{
    background-color: var(--tertiary-1);
}

@media only screen and (max-width: 500px) {
    a.button{
        font-size:14px;
    }
}
@media only screen and (max-width: 300px) {
    a.button{
        font-size:12px;
    }
}
/***  ***/
.center-x{
    left:50%;
    transform: translate(-50%, 0);
}
