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


html {
    font-family: 'Lato', sans-serif;
}

@media screen and (min-width: 1600px) and (max-width: 10000px) {
    .pagecontainer {
        padding-left: 20%!important;
        padding-right: 20%!important;
        overflow: visible;
    }
}

* {

    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}
li {
    list-style-type: none;
}

.navbar {
    display: block;
    width: 100%;
    /*min-height: 45px;*/
    max-height: 70px;
    height: 5vh;
    background-color: white;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    position: sticky;
    top: 0;
    z-index: 100;
    /*overflow: hidden;*/
    transition: height .4s ease-in-out;
}

.navbar::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background:  linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 15%,  rgba(50,50,50,.4) 50%, rgba(255,255,255,1) 85%,  rgba(255,255,255,1) 100%);
}

@media screen and (max-width: 1600px) and (max-width: 10000px) {
    .navbar::before {
         background:  linear-gradient(90deg, rgba(255,255,255,1) 0%,  rgba(50,50,50,.4) 50%, rgba(255,255,255,1) 100%);
    }
}
/*.navbar-container {*/
/*    display: block;*/
/*    width: 100%;*/
/*    min-height: 45px;*/
/*    max-height: 70px;*/
/*    height: 5vh;*/
/*    !*background-color: white;*!*/
/*    !*box-shadow: 0 1px 6px grey;*!*/
/*    margin: 0 20% 0 20%;*/
/*    padding: 0 0 0 0;*/
/*    !*position: sticky;*!*/
/*    !*top: 0;*!*/
/*    z-index: 100;*/
/*}*/

nav {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    width: 100%;
}

.navBarItem {
    float: right;
    list-style-type: none;
    height: 100%;
}

a {
  /*display: block;*/

  /*background-color: #dddddd;*/
}

.navButton {
    position: relative;
    font-size: 14pt;
    text-decoration: none;
    color: black!important;
    height: inherit;
    display: flex;
    align-items: center;
    padding-right: 15px;
    padding-left: 15px;
}

.navButton::before {
    content: "";
    background-color: black;
    position: absolute;
    /*right: 14%;*/
    /*bottom: 15%;*/
    width: 0;
    height: 0;
    animation-name: navButtonHoverOut;
    /*transition: width .4s;*/
    animation-duration: .4s;
}

.preload-anim.navButton::before {
    animation-duration: 0s!important;
    transition: all 0s linear!important;
}


@keyframes navButtonHoverOut {
    0% {    right: 14%;
            height: 2px;
            bottom: 15%;
            width: 72%;}
    100% {
            width: 0;
            height: 2px;
            right: 14%;
            bottom: 15%;}
}

.navButton:hover::before {
    content: "";
    background-color: black;
    position: absolute;
    bottom: 15%;
    width: 72%;
    height: 2px;
    animation-name: navButtonHover;
    animation-duration: .4s;
}
@keyframes navButtonHover {
    0% {width: 0;}
    100% {width: 72%}
}

.navLogo {
    cursor: pointer;
    height: 100%;
    padding-left: 15px;
    float: left;
    list-style-type: none;
    font-size: 14pt;
    text-decoration: none;
    color: black;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    /*width: 330px;*/

}

.navLogo > span {
   /* width: 70%;*/
   /*flex-grow: 2;*/
    /*max-height: 25px;*/
    white-space: nowrap;
}

.navLogo:hover {
    color: black;
}

#toggleButton {
    display: none;
}

#menu {
    /*box-shadow: 0 1px 6px grey;*/
    /*box-shadow: 0 2px 4px -1px gray;*/
    position: relative;
    top: 0;
    z-index: 200;
    overflow: hidden;
    width: 100%;
    background-color: white;
    border-bottom: 1px solid rgba(0, 0, 0, 1);
    border-radius: 0 0 15px 15px;
    height: auto;
    max-height: 200px;
    transition: all .4s linear;
}

#menu a{
    color: black;
    text-decoration: none;
    display: inline-block;
    width: 100%;
    text-align: center;
    transition: background-color .3s ease-in-out;
}

#menu a:hover {
    background-color: rgba(128, 128, 128, 0.2);
}

#menu::before {
    content: "";
    background-color: black;
    position: absolute;
    top: 0;
    left: 10px;
    width: 95%;
    height: 1px;
    transition: all .4s linear;
}


@media screen and (max-width: 600px) and (min-width: 100px)  {
    .navBarItem {
        display: none;
    }

    .menuToggle {
        cursor: pointer;
    }

    #toggleButton {

        background-color: black;
        display: flex;
        height: 1px;
        align-items: center;
        float: right;
        margin-right: 15px;
        margin-left: 15px;
        width: 25px;
        transition: transform .3s;
    }
    #toggleButton::before {
        content: "";
        position: absolute;
        background-color: black;
        height: 1px;
        top: calc(50% + 9px);
        width: 25px;
        transition: transform .3s;
    }
    #toggleButton::after {
        content: "";
        position: absolute;
        background-color: black;
        height: 1px;
        top: calc(50% - 9px);
        width: 25px;
        transition: transform .3s ease-in-out .3s;
    }

    #toggleButton.animateMenuButton  {
        transform: rotate(45deg);
        transition: transform .3s;
    }
    .move_rel > #toggleButton::before  {
        transform: rotate(-90deg) translateX(10px);
         transition: transform .3s;

    }
    .move_rel > #toggleButton::after  {
        transform: translateY(9px);
        transition: transform .3s ease-in-out .3s;
    }



}

#title-page {
    position: relative;
}

.flex-container {
    position: relative;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
}

.gap-25 {
    gap: 25px;
}

.flex-column {
    flex-direction: column;
}

.w-100 {
    width: 100%;
}

.space-around {
    justify-content: space-around!important;
}

.float-right {
    float: right;
}

.center {
    align-items: center;
    justify-content: space-between;
}

.justify-content-center {
    justify-content: center;
}

.align-items-center {
    align-items: center;
}

.hide {
    max-height: 0!important;
}

.hide#menu {
    border-bottom: 1px solid rgba(0, 0, 0, 0);
}

.hide#menu::before {
    /*display: none!important;*/
    background-color: rgba(0, 0, 0, 0);
}

#logo {

    height: 100%;
    max-height: 60px;
    padding-top:4px;
    /*padding-left: 100px;*/
    /*width: 100px;*/
    /*max-width: 100px;*/
    /*margin-right: 5%;*/
    margin-left: 20px;
    /*object-fit: contain;*/
    transform: rotate(15deg) scale(150%);
    z-index: 20;
}

#title-page > div > img:hover {
    animation: bouncy .3s ease-in-out;
}

#title {
    margin-top: 80px;
    font-size: 34pt;
    margin-left: 10%;
    width: 600px;
    text-align: right;
    margin-right: 10%;
    /*padding-right: 150px;*/
    transform: translateX(-100px);
}

@media screen and (max-width: 1100px) and (min-width: 100px) {
    #title {
        transform:translateX(0px);
    }
}


.title-section {
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(0,115,255,1) 80%, rgba(0,115,255,1) 100%);
    justify-content: space-around;
    align-content: center;
    min-height: 300px;
    /*height: 70vh;*/
    /*max-height: 350px;*/
}



#first-section {
    position: relative;
}

#first-section #background{
    z-index: 0;
    position: absolute;
    bottom: -50%;
}

.content_illustration {
    width: 70px;
    height: 70px;
}

.text_with_image {
    /*max-width: 80%;*/
    min-width: 80%;
    flex: 1;
}

.gear-rotating {
    transform-origin: center;
    position: absolute;
    top: 40px;
    right: 10%;
    width: 70px;
    height: 70px;
    animation: rotate 20s linear infinite;
    opacity: 0.8;
}

.icon_and_text {
    margin-left: 10px;
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    align-items: center;
    gap: 30px;
}

#construction_icon {
    transform: scale(2.4);
    margin-right: 15px;
}

#deployment_icon {
    transform: scale(1.3);
    margin-right: 15px;
}

#eye_icon {
    transform: scale(1.3);
}

#loupe_icon {
    transform: scale(1.3);
}

.red-card {
    overflow: hidden;
    position: relative;
    margin-left: 20px;
    border-radius: 40px 40px 40px 40px;
    background: rgba(255,60,0,0.94);
    background-blend-mode: normal;
    display: flex;
    flex-direction: column;
    max-width: 55%;
}

.blue-card {
    overflow: hidden;
    position: relative;
    margin-right: 20px;
    border-radius: 40px 40px 40px 40px;
    background:  rgba(0,115,255,1);
    background-blend-mode: normal;
    display: flex;
    flex-direction: column;
    max-width: 45%;
}

@media screen and (max-width: 800px) and (min-width: 100px) {
    .blue-card {
        margin-left: 20px;
        border-radius: 40px 40px 40px 40px;
    }
    .red-card {
        margin-right: 20px;
        border-radius: 40px 40px 40px 40px;
    }
}

.card-content {
    position: relative;
    margin: 40px 20px 40px 20px;
    z-index: 10;
    /*text-shadow: 0 0 0.3px black;*/
   text-shadow: 0 1px rgba(100,100,100,0.5);
    font-weight: 400;
}

.card-content p{
    font-size: 13pt;
}

.card-content h1{
    font-size: 25pt;
}

.row-reverse {
    flex-direction: row-reverse;
    flex-wrap: wrap-reverse;
}

.wrap-reverse {
    flex-wrap: wrap-reverse;
}

@media screen and (max-width: 800px) and (min-width: 100px) {
    .red-card {
        max-width: 100%;
        margin-right: 20px;
        border-radius: 40px 40px 40px 40px;
    }
}

.decoration-red-card::after {
    content: "";
    display: block;
    position: relative;
    top: 0;
    left: 0;
    background-color: rgba(211,211,211,0.38);
    width: 1000px;
    height: 60px;
    animation: barAnimation2 150s linear;
    transform: translateX(-67%) translateY(-80%) rotate(-50deg);
    z-index: 0;
}

.decoration-blue-card::after {
    content: "";
    display: block;
    position: relative;
    top: 0;
    left: 0;
    background-color:  rgba(211,211,211,0.38);
    width: 1000px;
    height: 60px;
    transform: translateX(-60%) translateY(-50%) rotate(-50deg);
    z-index: 0;
    animation: barAnimation1 150s linear;
}

@keyframes barAnimation2 {
    0%{
        transform: translateX(-67%) translateY(-80%) rotate(-50deg);
    }
    25% {
        transform: translateX(-65%) translateY(calc(-80% - 35px)) rotate(-52deg);
    }
    50% {
        transform: translateX(-69%) translateY(calc(-80% + 25px)) rotate(-48deg);
    }
    75% {
        transform: translateX(-66%) translateY(calc(-80% - 15px)) rotate(-49deg);
    }
    100%{
        transform: translateY(-67%) translateX(-80%) rotate(45deg);
    }
}

@keyframes barAnimation1 {
    0%{
        transform: translateY(-60%) translateX(-50%) rotate(-50deg);
    }
    25% {
        transform: translateX(-58%) translateY(calc(-50% - 35px)) rotate(-52deg);
    }
    50% {
        transform: translateX(-63%) translateY(calc(-50% + 25px)) rotate(-48deg);
    }
    75% {
        transform: translateX(-59%) translateY(calc(-50% - 15px)) rotate(-49deg);
    }
    100%{
        transform: translateY(-60%) translateX(-50%) rotate(45deg);
    }
}


@media screen and (max-width: 800px) and (min-width: 100px) {
    .decoration-red-card::after {
        transform: translateX(-67%) translateY(-300%) rotate(-50deg);
    }
    .blue-card {
        max-width: 100%;
        margin-left: 20px;
        border-radius: 40px 40px 40px 40px;
    }
}
.mt-2 {
    margin-top: 5px;
}

.mt-xxl {
    margin-top: 50px;
}

.bubbles {
    position: absolute;
    top: 10%;
    right: 10%;
}

.triangle {
    position: absolute;
    width: 50px;
    height: 50px;
    /*background-color: aquamarine;*/
    color: red;
    opacity: 0.3;
    animation: rotate 20s infinite linear;
}

#stan-decoration {
    right: 15%;
}

#max-decoration {
    left: 20%;
    top: 30%;
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(359deg); }
}
/*.triangle > img {*/
/*    color: red;*/
/*}*/

.bar {
    position: absolute;
    width: 200%;
    top: 33%;
    height: 70px;
    background: rgb(0,155,255);
    background: linear-gradient(102deg, rgba(0,155,255,0.29) 35%, rgba(255,60,0,0.29) 65%);
    transform-origin: center;
    /*transform: translateY(80%) translateX(2px) rotate(45deg);*/
    animation: barAnimation 60s linear infinite;
    z-index: 1;

}

@keyframes barAnimation {
    0%{
        transform: translateY(80%) translateX(2px) rotate(45deg);
    }
    25% {
        transform: translateX(25px) translateY(calc(80% + 35px)) rotate(41deg);
    }
    50% {
        transform: translateX(2px) translateY(calc(80% - 25px)) rotate(46deg);
    }
    75% {
        transform: translateX(-20px) translateY(calc(80% + 15px)) rotate(43deg);
    }
    100%{
        transform: translateY(80%) translateX(2px) rotate(45deg);
    }
}

#transition {
    position: absolute;
    width: 100%;
    top: 80px;
    overflow: hidden;
    z-index: 1;
}

@media screen and (min-width: 1600px) and (max-width: 10000px) {
    #transition {
        width: 80%;
    }
}

.white-background {
    height: 50px;
    width: 100%;
    position: absolute;
    background-color: white;
    z-index: 3;
}

.base-z {
    z-index: 2
}

.transition {
    position: relative;
}


#portfolio {
    z-index: 3;
   /*background-color:  rgba(255,60,0,0.94);*/
    width: 100%;
}

.portfolio-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 40px 20px 30px 20px;
    gap: 20px;
}

.portfolio-element {
    cursor: pointer;
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    border-radius: 15px;
    min-height: 200px;
    height: 30%;
    transition: all .4s cubic-bezier(.86,0,.07,1);
}

.portfolio-element img{
    height: 100%;
    display: block;
    position: absolute;
    object-fit: cover;
    width: 100%;
}

.shine:after {
    content: "";
    position: absolute;
    top: -50%;
    left: -60%;
    width: 20%;
    height: 200%;
    opacity: 0;
    transform: rotate(30deg);
    transition: all .4s cubic-bezier(.86,0,.07,1);
    background: rgba(255, 255, 255, 0.13);
    background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0.13) 0%,
    rgba(255, 255, 255, 0.13) 77%,
    rgba(255, 255, 255, 0.5) 92%,
    rgba(255, 255, 255, 0.0) 100%
    );
}

/* Hover state - trigger effect */
.shine:hover:after {
  opacity: 1;
  left: 130%;
  transition-property: left, top, opacity;
  transition-duration: 0.7s, 0.7s, 0.15s;
  transition-timing-function: ease;
}

.portfolio-element .text-portfolio-el{
    opacity: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-content: center;
    position: absolute;
    top: 0;
    left: -100px;
    text-align: center;
    width: 100%;
    height: 100%;
    color: white;
    font-size: 15pt;
    background-color: rgba(0, 0, 0, .3);
    vertical-align: center;
    transition: all .4s cubic-bezier(.86,0,.07,1);
}


.portfolio-element:hover .text-portfolio-el{
    opacity: 1;
    left: 0;
    transition: all .4s cubic-bezier(.86,0,.07,1);
}

.portfolio-element:hover {
    transform: scale(1.01);
    transition: all .4s cubic-bezier(.86,0,.07,1);
}


#about-us #background{
    /*background-color:  #0071ff;*/
    background-repeat: no-repeat;
    background-size: cover;
    object-fit: cover;
    width: 100%;
    overflow: visible;

}

#about-us #background {
    transform: translateY(150px);
    position: absolute;
    z-index: -2;

}

@media screen and (min-width: 1600px) and (max-width: 10000px) {
    #about-us #background {
        transform: translateY(70px) scale(0.8);
    }
}

@media screen and (max-width: 800px) and (min-width: 100px) {
     #about-us #background {
        transform: rotate(90deg) translateX(550px) scale(2);
    }
}

.about-us-title {
    display: block;
    /*width: 100%;*/
    position: absolute;
    top: -15px;
    left: 0;
    padding-left: 30px;
    /*text-align: center;*/
    font-weight: 510;
}
.about-us-title::before {
    content: "";
    width: 80%;
    position: absolute;
    bottom: 0;
    height: 2px;
    background-color: black;
}



#about-us {
    position: relative;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 0 20px 50px 20px;
    padding-top: 50px;
}

.profile {
    position: relative;
    background-color: rgba(255,60,0,0.7);
    border-radius: 10px;
    padding: 10px 10px 10px 10px;
    display: flex;
    justify-content: start!important;
    flex-direction: column;
    /*border: 2px rgba(255,60,0,0.94) solid;*/
    width: 100%;
    margin: 0 0 40px 0;
    transform: scale(1);
    height: 100%;
}

#maxime_pp {
    transform: scale(1.4) translateX(10px);
}

#stan_pp {
    /*transform: translateX(-17px) translateY(30px) scale(1.4);*/
}

.profile:hover {
    animation: bouncy .3s ease-in-out;
}

@keyframes bouncy {
    0% {transform: scale(1)}
    50% {transform: scale(1.05)}
    100% {transform: scale(1)}
}

.profile:last-child {
    margin-left: 0;
}

.profile:first-child {
    margin-right: 0;
}

@media screen and (max-width: 800px) and (min-width: 100px) {
    #about-us {
        grid-template-rows: 1fr;
        grid-template-columns: 2fr;
    }
    .profile {
        width: 100%;
        /*margin: 40px 60px 40px 60px!important;*/
        /*margin-right: 60px;*/
        /*margin-left: 60px;*/
     }

}

.profile_pic {
    position: relative;
    aspect-ratio: 1/1;
    width: 150px;
    overflow: hidden;
    margin-top: 40px;
    border-radius: 50%;
    margin-bottom: 30px;
}

.profile_pic > img {
    width: 100%;
    height: 100%;
    object-fit: cover;

}

#contact-form {
    position: relative;
    z-index:4;
    background-color: #0071ff;
}

#contact-form-title {
    font-size: 20pt;
    font-weight: 510;
}

#contact-form > form > fieldset > div > label {

    font-size: 13pt;
    font-weight: 550;
}

.subtitle_label {
    font-size: 13pt;
    font-weight: 550;
}

.form-control:focus {
    outline: 2px rgb(129, 129, 129) solid!important;
}

.form-group-inputs {
    z-index: 4;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /*align-items: center;*/
    /*flex-direction: column;*/
}

.form-group-submit {
    display: flex;
    justify-content: flex-end;
    width: 90%;
    transform: translateX(6%);
}

.form-title {
    font-size: 15pt;
    padding-top: 15px;
    padding-left: 40px;
    display: flex;
    flex-direction: row;
    width: 100%;
}

.form-title::before {
    margin-left: 45px;
    content: "";
    position: absolute;
    top: 50px;
    left: 0;
    width: 15rem;
    height: 2px;
    background: black;
}

#div_id_first_name {

    padding-left: 10px;
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
    width:47.5%;
}

#div_id_last_name {

    padding-left: 10px;
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
    width:47.5%;
}

#div_id_email {
    padding-left: 10px;
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
    width:95%;
}

#div_id_message {
    padding-left: 10px;
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
    width:95%;
}

#contact_submit {
    margin-bottom: 15px;
    background-color: #0071ff;
    border: none;
    border-radius: .5rem;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .2rem;
    text-align: center;
    outline: none;
    cursor: pointer;
    transition: .2s ease-in-out;
    box-shadow: -6px -6px 14px rgba(0, 0, 0, .01),
              -6px -6px 10px rgba(0, 0, 0, .08),
              6px 6px 8px rgba(0, 0, 0, .1),
              6px 6px 10px rgba(0, 0, 0, .3);
    }
    #contact_submit:hover {
    box-shadow: -2px -2px 6px rgba(0, 115, 255, .6),
              -2px -2px 4px rgba(0, 115, 255, .4),
              2px 2px 2px rgba(0, 115, 255, .05),
              2px 2px 4px rgba(0, 0, 0, .1);
    }

    .invalid-feedback {
        color: rgba(255, 0, 23, 0.92);
        text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.74);
        font-size: 1.1rem;
    }

@media screen and (max-width: 600px) and (min-width: 100px) {
    #div_id_first_name {
    width:95%;
    }


    #div_id_last_name {
        width:95%;
    }
}

#footer {
    margin: 0;
    position: relative;
    height: 281px;
    /*background-color: rgba(255, 0, 23, 0.25);*/
}

.footer-info {
    padding: 50px 15% 20px 15%;
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 4;
}

.footer-info::before {
    position: absolute;
    content: "";
    background-color: grey;
    width: 60%;
    height: 2px;
    top: 50px;
    left: 20%;

}

.footer-info-child {
    width: 45%;
    text-align: center;
}



#footer-right {
    position: absolute;
    top: -1px;
    right: 1px;
    transform: scaleX(-1)
}

#footer-left {
    position: absolute;
    top: -1px;
    left: 0;
}

#copyright {
    /*padding-top: 10px;*/
    position: absolute;
    bottom: -10px;
    width: 100%;

    text-align: center;

    color: white;
}

#webpage_image {
    /*position: absolute;*/
    /*top: 50%;*/
    /*left: 50%;*/
    transform: scale(1.5);
}

.interactivity {
    margin-top: 10px;
    opacity: 1;
    padding: 15px 10px 5px 10px;
    justify-content: center;
    position: absolute;
    background: white;
    top: 0;
    border: 1px black solid;
    border-radius: 6px;
    z-index: 4;
    transition: all 0.3s ease-in-out;
    transition-delay: 0.3s;
    box-shadow: 6px 3px 17px 3px rgba(0,0,0,0.25);
}

@media screen and (min-width: 1600px) and (max-width: 10000px) {
    #contact-form {
        border-radius: 15px 15px 0 0 ;
    }
    .title-section {
        border-bottom-right-radius: 15px;
        border-bottom-left-radius: 15px;
    }
    .red-card {
        border-radius: 40px 40px 40px 40px;
    }
    .blue-card {
        border-radius: 40px 40px 40px 40px;
    }
    .navbar {
        padding: 0 20% 0 20%;
    }
}

@media screen and (max-width: 500px) and (min-width: 100px) {
    .card-content {
        margin: 40px 20px 40px 20px;
    }
    #webpage_image {
        transform: scale(1.2);
    }


}

.simplicity {
    margin-top: 10px;
    opacity: 1;
    padding: 15px 10px 5px 10px;
    justify-content: center;
    position: absolute;
    background: white;
    top: 0;
    right: 10%;
    border: 1px black solid;
    border-radius: 6px;
    z-index: 4;
    transition: all 0.3s ease-in-out;
    transition-delay: 0.3s;
    box-shadow: 6px 3px 17px 3px rgba(0,0,0,0.25);

}

/*.simplicity::before {*/

/*    content: "";*/
/*    position: absolute;*/
/*    bottom: 0;*/
/*    left: 25%;*/
/*    background: black;*/
/*    height: 2px;*/
/*    width: 40px;*/
/*    transform-origin: left;*/
/*    z-index: 1;*/
/*    transform: rotate(60deg);*/
/*}*/

@keyframes tilt-shaking-adjusted {
    0% { transform: rotate(0deg)translateY(50px)  translateX(60px); }
    1% { transform: rotate(10deg) translateY(50px)  translateX(60px); }
    2% { transform: rotate(0deg) translateY(50px)  translateX(60px); }
    3% { transform: rotate(-10deg) translateY(50px)  translateX(60px); }
    4% { transform: rotate(0deg) translateY(50px)  translateX(60px); }
    5%, 100% { transform: rotate(0) translateY(50px)  translateX(60px); }
}

@keyframes tilt-shaking {
    0% { transform: rotate(0deg); }
    1% { transform: rotate(4deg); }
    2% { transform: rotate(0deg); }
    3% { transform: rotate(-4deg); }
    4% { transform: rotate(0deg); }
    5%, 100% { transform: rotate(0); }
}

/*.circle-rotating {*/
/*    opacity: 1;*/
/*    position: absolute;*/
/*    top: 35.3%;*/
/*    left: 25.3%;*/
/*    background: transparent;*/
/*    border-radius: 50%;*/
/*    border: 2px dashed black;*/
/*    width: 40px;*/
/*    height: 40px;*/

/*    transition: opacity 0.3s ease-in-out;*/
/*    transition-delay: 0.3s;*/
/*    animation: rotate 20s infinite;*/
/*}*/


@media screen and (max-width: 800px) and (min-width: 100px)  {
    /*.circle-rotating {*/
    /*    left: 18%;*/
    /*}*/
    .simplicity::before {
        left: 40%;
        width: 50px;
    }
    .interactivity::before {
        width: 78px;

    }
}

@media screen and (max-width: 1100px) and (min-width: 801px) {
    .simplicity::before {
        display: none;
    }
    .interactivity::before {
        display: none;
    }
}

@media screen and (min-width: 1600px) and (max-width: 10000px) {
    .simplicity::before {
        display: none;
    }
    .interactivity::before {
        display: none;
    }
}
/*          Animation   CSS        */



#profile_card {
    transform-origin: 105px 60px;
    /*transform-origin: center center;*/
    animation: tilt-shaking-adjusted 3s infinite;
    position: absolute;
    /*scale: 1;*/
    transition: all 0.3s ease-in-out ;
    transform: translateY(50px)  translateX(60px);

}

#profile_card:hover {
    animation: none;
    transition: all .3s ease-in-out ;
    scale: 1.1;
    transform: translateY(50px)  translateX(60px);
}

#boy_rect {
    animation: tilt-shaking 3s linear infinite;
    animation-delay: 1s;
    position: absolute;
    transition: all 0.3s ease-in-out ;
}

#boy_rect:hover {

    animation: none;
    transition: all 0.3s ease-in-out ;
    transform: scale(1.15) translateX(-20px) translateY(-5px);
}

.hidden {
    transition-delay: 2s;
    opacity: 0!important;
    transition: all 0.3s ease-in-out;
}

.slide-in {
    /*opacity: 1;*/
    animation: slide-in 1s cubic-bezier(.45,.01,.13,1.04);
}

@keyframes slide-in {
    0% { transform: translateY(30%); opacity: 0 }
    100% { transform: translateY(0); opacity: 1}
}



.waviy {
  /*position: relative;*/
    display: flex;
  /*-webkit-box-reflect: below -20px linear-gradient(transparent, rgba(0,0,0,.2));*/
  /*font-size: 60px;*/
}
.waviy span {
  /*position: relative;*/
  display: inline-block;
    margin-left: 0px;
    margin-right: 0px;
    padding: 0 0 0 0;
  animation: waviy 1s forwards;
  animation-delay: calc(.1s * var(--i));
  animation-play-state: initial;
}

.animate-title span {
    animation-play-state: paused!important;
}

@keyframes waviy {
  0%,40%,100% {
    transform: translateY(0)
  }
  20% {
    transform: translateY(-20px)
  }
}


.contact-details {
    text-decoration: none;
    color: black;
}