@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;500;700&display=swap');

:root {
    --primaryFontSize: 32px;
    --secondaryFontSize: 18px;
    --ternaryFontSize: 12px;

    --red: #d71f2d;
    --white: white;
    --black: #1e1e1e;
    --blackSecondary: #141414;
}

* {
    font-family: 'Source Code Pro', monospace;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    list-style: none;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
  }
::-webkit-scrollbar-track {
    border-radius: 10px;
    background: rgba(0,0,0,0.1);
  }
::-webkit-scrollbar-thumb{
    border-radius: 10px;
    background: rgba(0,0,0,0.2);
  }
::-webkit-scrollbar-thumb:hover{
  	background: rgba(0,0,0,0.4);
  }
::-webkit-scrollbar-thumb:active{
  	background: var(--red);
  }

h1 {
    font-size: var(--primaryFontSize);
    color: var(--white);
}

h2 {
    margin-top: 10px;
    font-size: var(--secondaryFontSize);
    color: var(--white);
}

h3 {
    margin-top: 10px;
    font-size: var(--ternaryFontSize);
    color: white;
}

p {
    font-size: var(--ternaryFontSize);
    color: var(--white);
}

a {
    text-decoration: none;
    color: var(--white);
    transition: .2s;
}


.primaryButton {
    padding: 7px 14px;
    height: fit-content;
    font-size: var(--secondaryFontSize);
    color: var(--red);

    background-color: var(--black);
    border: 1px solid var(--red);
    border-radius: 10px;
    box-shadow: 0px 0px 17px 0px rgba(215,31,45,0.75);
    -webkit-box-shadow: 0px 0px 17px 0px rgba(215,31,45,0.75);
    -moz-box-shadow: 0px 0px 17px 0px rgba(215,31,45,0.75);
    cursor: pointer;
    transition: 0.2s;
}

.primaryButton:hover {
    background-color: var(--white);
    transition: 0.2s;
}

.secondaryButton {
    padding: 5px 10px;
    position: relative;
    width: 100%;
    font-size: var(--secondaryFontSize);
    color: var(--white);

    background-color: var(--red);
    border-radius: 10px;
    box-shadow: 0px 0px 17px 0px rgba(215,31,45,0.75);
    -webkit-box-shadow: 0px 0px 17px 0px rgba(215,31,45,0.75);
    -moz-box-shadow: 0px 0px 17px 0px rgba(215,31,45,0.75);
    cursor: pointer;
    transition: 0.2s;
}

.secondaryButton::before {
    content: '';
    width: 25px;
    height: 25px;
    position: absolute;
    top: 0;
    right: 0;
    background: url('./images/spider-web.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;

    border-radius: 0 10px 0 0;
    z-index: 50;
}


.fade-in {
    opacity: 0;
    transition: 0.5s;
}

.fade-in.active {
    opacity: 1;
}

.fade-left {
    transform: translate(-50%, 0%);
    opacity: 0;
    transition: 0.5s;
}

.fade-left.active {
    transform: translate(0, 0);
    opacity: 1;
}

.fade-right {
    transform: translate(50%, 0%);
    opacity: 0;
    transition: 0.5s;
}

.fade-right.active {
    transform: translate(0, 0);
    opacity: 1;
}

.fade-bottom {
    transform: translate(0%, 50%);
    opacity: 0;
}

.fade-bottom.active {
    transform: translate(0%, 0%);
    opacity: 1;
    transition: 1s;
}

.page {
    height: 100vh;
    background-image: radial-gradient(#461519 0%, #111111 50%);
}

.topbar {
    display: flex ;
    justify-content: space-between;
    align-items: center;
    padding: 20px 40px;
}

.topbar-icon {
    flex: 1;
}

.topbar-navigation-list  {
    flex: 3;
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 40px;
    
    transition: 1s ease;
}



.topbar-navigation-list-item {
    font-size: var(--secondaryFontSize);
    letter-spacing: 3px;
    text-transform: uppercase;
    color:  var(--white);
    font-weight: 550;
}

.topbar-navigation-list-item a:hover {
    color:var(--red);
    transition: 0.2s;
}

.topbar-navigation-list-item-active {
    color: var(--red);
    position: relative;
}

.topbar-navigation-list-item-active:before {
    content: "";
    width: 5px;
    height: 5px;
    position: absolute;
    top: 130%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background-color: var(--red);
}


.topbar-phone {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.topbar-phone-number {
    color: white;
    font-size: var(--secondaryFontSize);
}

.topbar-phone-icon {
    width: 30px;
    height: 30px;
    background-color: black;
    border-radius: 50%;
    border: 1px solid var(--red);
    padding: 5px;

    box-shadow: 0px 0px 17px 0px rgba(215,31,45,0.75);
-webkit-box-shadow: 0px 0px 17px 0px rgba(215,31,45,0.75);
-moz-box-shadow: 0px 0px 17px 0px rgba(215,31,45,0.75);
}

.page-content {
    overflow: hidden;
    padding: 5vw 10vw;

}
.main-content {
    position: relative;
    display: flex;
}


.main-content-left {
    flex: 1;

    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

.email {
    margin-top: 20px;
    text-align: center;
}

.experience {
    margin-top: 30vh;
    position: relative;
    display: flex;
    gap: 10px;
    align-items: center;

    transition: 1s ease;
}

.experience-number {
    color: var(--red);
}

.experience-text {
    margin-top: 0;
    text-transform: uppercase;
}

.experience-line {
    position: absolute;
    top: 115%;
    left: 0;
    width: 100%;
    height: 10px;
}

.main-content-center {
    flex: 1;
}

.main-content-center-photo {
    width: 25vw;
}


.main-content-right {
    flex: 1;
    align-self:flex-start;
}

.research {
    margin: auto;
    margin-top: 15vh;
    display: block;
    height: 60px;
    width: 60px;
    padding: 5px;
    border-radius: 50%;
    border: 1px solid var(--white);

    box-shadow: 0px 0px 17px 0px rgba(255,255,255,0.75);
-webkit-box-shadow: 0px 0px 17px 0px rgba(255,255,255,0.75);
-moz-box-shadow: 0px 0px 17px 0px rgba(255,255,255,0.75);
}

.research-text {
    margin-top: 15vh;
    text-transform: uppercase;
    text-align: center;
}

.statistics-content {
    margin-top: 50px;
}

.main-plates {
    display: grid;
    grid-auto-flow: column;
    gap: 10px;
    align-items: center;
}

.plate {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%;
    background-color:var(--black);

    padding: 20px;
    border-radius: 10px;
    cursor: pointer;
    transition: 0.2s;
}

.plate:hover {
    background-color: black;

    transform: scale(1.03);
    transition: .5s;
}

.plate:hover  .plate-footer{
    color: var(--white);
    transition: 0.2s;
}

.plate:hover .plate-footer::before{
    border-color: var(--white);
    color: var(--white)
}

.plate:hover .plate-footer::after{
    border-color: var(--white);
    color: var(--white)
}

.plate-icon  {
    width: 70px;
    height: 70px;
}

.plate-title {
    margin-top: 20px;
}

.plate-desc {
    margin-top: 10px;
}

.plate-footer  {
    display: block;
    width: fit-content;
    margin-top: 20px;
    text-transform: uppercase;
    color: var(--red);
    position: relative;
}

.plate-footer::before{
    content: '';
    width: 5px;
    height: 5px;
    left: 140%;
    top: 50%;
    position: absolute;
    transform: translate(-50%, -50%) rotate(45deg);
    border-top: 2px solid var(--red);
    border-right: 2px solid var(--red);
    transition: 0.2s;
}

.plate-footer::after{
    position: absolute;
    width: 20px;
    left: calc(140% + 3px);
    top: calc(50% + 1px);
    border-top: 2px solid var(--red);
    transform: translate(-100%, -100%);
    transition: 0.2s;
    content: "";
}

.secondary-plates {
    display: flex;
    gap: 10px;
}

.secondary-plate {
    margin-top: 10px;
    background-color: var(--black);
    padding: 73px 80px;
    border-radius: 10px;
    text-align: center;

    display: flex;
    flex-flow: column;
    justify-content: center;
}

.secondary-plate-title {
    color: var(--red);
    font-size: 52px;
}

.secondary-plate-desc {
    margin-top: 20px;
    color: var(--white);
    text-transform: uppercase;
}

.ternary-plates {
    flex: 2.5;
}

.ternary-plates-list {
    display: flex;
    justify-content: stretch;
    gap: 10px;
}

.ternary-plate {
    flex: 1;
    margin-top: 10px;
    background-color: var(--black);
    padding: 30px 30px;
    border-radius: 10px;
    text-align: center;
}

.ternary-plate-title {
    color: var(--red);
}

.ternary-plate-desc {
    color: var(--white);
    text-transform: uppercase;
}

.experience-content {
  margin-top: 40px;
}

.experience-content-title {
    text-align: center;
    margin: 50px 0 20px 0;
}

.experience-list {
    position: relative;
}

.experience-list::before {
    content: '';
    position: absolute;
    left: calc(50% - 20px);
    top: calc(100% + 42px);
    width: 15px;
    height: 15px;

    border: 1px dashed var(--red);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;

}

.experience-list-item, .experience-box {
    display: flex;

}

.experience-list-item-left, .experience-box-left {
    flex: 1;
    position: relative;
    margin: 0 0 0 -10vw;
    padding: 30px 0 0 10vw;
    min-height: 40px;
    background-color: var(--black);
}
.experience-list-item-right, .experience-box-right {
    flex: 1;
    position: relative;
    margin: 0 -10vw 0 0;
    padding: 30px 10vw 0 40px;
    min-height: 40px;
    background-color: var(--blackSecondary);
}

.experience-list-item-left::before {
    content: '';
    position: absolute;
    left: calc(100% - 0.5px);
    top: calc( var(--secondaryFontSize)/1.5 + 38px);
    width: 0px;
    height: calc(100% - 18px);
    z-index: 1;

    border: 1px dashed var(--red);
}



.experience-list-item-right::before {
    content: '';
    width: 15px;
    height: 15px;
    position: absolute;

    left: 0;
    top: calc(var(--secondaryFontSize)/1.5 + 30px);

    border: 1px dashed var(--red)   ;
    border-radius: 50%;

    transform: translate(-50%, -50%);
}

.experience-list-item-right::after {
    content: '';
    width: 7px;
    height: 7px;
    position: absolute;

    left: 0;
    top: calc(var(--secondaryFontSize)/1.5 + 30px);
    background-color: var(--red);

    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.experience-list-item-left-period {
    margin-top: 10px;
    color: grey;
}

.experience-list-item-right-desc {
    margin-top: 20px;
}

.best-works-content {
    margin-top: 40px;
}
.best-works-content-header {
    display: flex;
    justify-content: space-between;
    align-items: top;
}

.best-works-category {
    margin-top: 40px;
}

.best-works-category-header {
    display: flex;
    gap: 20px;
}
.best-works-category-title {
    color: var(--red);
    text-transform: uppercase;
}

.best-works-category-list {
    margin-top: 10px;

    display: flex;
    gap: 10px;
}

.best-works-category-list-item {
    flex: 1;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    padding: 10px;
    background-color: var(--black);
    border-radius: 10px;
    cursor: pointer;
    transition: 0.2s;
}

.best-works-category-list-item:hover {
    background-color: var(--red);
    transition: 0.2s;

}

.best-works-category-list-item-img {
    width: 100%;
    border-radius: 10px;
} 

.best-works-category-list-item-more {
    position: relative;
    font-size: var(--ternaryFontSize);
    color: var(--red);
}

.best-works-category-list-item:hover .best-works-category-list-item-more {
    color: var(--white);
    transition: 0.2s;
}

.best-works-category-list-item:hover .best-works-category-list-item-more::before {
    border-top: 2px solid var(--white);
    border-right: 2px solid var(--white);
}
.best-works-category-list-item:hover .best-works-category-list-item-more::after {
    border-top: 2px solid var(--white);
}

.best-works-category-list-item-more::before{
    content: '';
    width: 5px;
    height: 5px;
    left: 120%;
    top: 50%;
    position: absolute;
    transform: translate(-50%, -50%) rotate(45deg);
    border-top: 2px solid var(--red);
    border-right: 2px solid var(--red);
    transition: 0.2s;
}

.best-works-category-list-item-more::after{
    position: absolute;
    width: 10px;
    left: calc(120% + 3px);
    top: calc(50% + 1px);
    border-top: 2px solid var(--red);
    transform: translate(-100%, -100%);
    transition: 0.2s;
    content: "";
}

.feedback-content {
    margin-top: 60px;
}

.feedback-content-title {
    text-align: center;
}

.glider {
    padding: 40px 20px;
    gap: 20px;
}

.glider-dot.active {
    background-color: var(--red) !important;
}

.glider-slide {
    margin: 0 5px;
  }
.slider-item {
    position: relative;
    display: flex;
    flex-flow: column;
    justify-content: flex-end !important;

    gap: 20px;
    align-items: center;
    padding: 40px 20px 20px 20px;
    background-color: var(--black);
    border-radius: 10px;
}

.slider-item-img {
    position: absolute;
    width: 40px !important;
    height: 40px !important;
    top: 0;
    left: 50%;

    object-fit: cover !important;
    transform: translate(-50%, -50%);
    border: 2px solid var(--red);
    border-radius: 50%;
}

.slider-item-desc {
    text-align: center;
}

.slider-item-footer {
    width: 100%;
}

.slider-item-hr {
    margin: 0 20px;
    border: 1px dashed var(--white);
}

.slider-item-name {
    text-align: center;

}

.slider-item-position {
    margin-top: 0;
    color: grey;
    text-align: center;
}

.story-content {
    margin-top: 50px;
}

.story-content-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.story-content-desc {
    margin-top: 20px;
}

.contact-content {
    margin-top: 50px;
    padding: 40px 20px;
    position: relative;

    display: flex;
    justify-content: space-between;
    gap: 20px;
    background-image: url('./images/background.jpg');
    background-repeat: none;
    border-radius: 10px;
}

.contact-content-left {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    gap: 15px;
}

.contact-content-left-button {
    width: 100%;
}

.contact-content-left-footer {
    color: var(--red);
    font-size: var(--primaryFontSize);
}

.page-footer {
    padding: 5px 10vw;

    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--black);

}

.page-footer-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.page-footer-left-logo {
    width: 40px;
    height: 40px;
}

.page-footer-left-text {
    margin: 0;
    padding-left: 20px;
    color: grey;

    border-left: 1px solid grey;
}

.page-footer-center {
    display: flex;
    gap: 5px;
    align-items: center;
}

.social-media-icon {
    width: 20px;
    height: 20px;
    cursor: pointer;
}



.page-footer-right-text {
    margin: 0;
    color: grey;
}
.red-text {
    color: var(--red);
}

@media screen and (max-width: 1218px) {
    :root {
        --primaryFontSize: 26px;
        --secondaryFontSize: 12px;
        --ternaryFontSize: 10px;
    
    }

    .primaryButton {
        padding: 5px 10px;
    }
    .secondaryButton::before {
        width: 15px;
        height: 15px;
    }

    .main-logo {
        width: 30px;
        height: 30px;
    }

    .main-content-center-photo {
        width: 35vw;
    }

    .page-footer-left-logo {
        width: 20px;
        height: 20px;
    }

    .social-media-icon {
        width: 15px;
        height: 15px;
    }

    .topbar-phone-icon {
        width: 20px;
        height: 20px;
    }
}

@media screen and (max-width: 750px) {
    :root {
        --primaryFontSize: 15px;
        --secondaryFontSize: 10px;
        --ternaryFontSize: 8px;
    }

    .secondaryButton::before {
        width: 10px;
        height: 10px;
    }

    .topbar-navigation-list-hamburger {
        display: block;
        position: absolute;
        right: 20px;
        top: 35px;
        width: 20px;
        height: 3px;
        background-color: var(--white);
        transition: 0.2s;
        z-index: 101;
    }
    
    .topbar-navigation-list-hamburger::after, .topbar-navigation-list-hamburger::before {
        content: '';
        position: absolute;
        right: 0;
        width: 20px;
        height: 3px;
        background-color: var(--white);
        transition: 0.2s;
    }

    .topbar-navigation-list {
        position: fixed;
        inset: 0 0 0 115%;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(10px);
        z-index: 100;
    }

    @supports(backdrop-filter: blur(10px)) {
        .topbar-navigation-list {
            background: rgba(0, 0, 0, 0.2);
            backdrop-filter: blur(10px);
            
        }
    }

    .topbar-navigation-list.active {
        left: 70%;
    }
    
    .topbar-navigation-list-hamburger::after {
        top: 5px;
    }
    .topbar-navigation-list-hamburger::before {
        top: -5px;
    }
    
    .topbar-navigation-list-hamburger.active {
        position: fixed;
        background: transparent;
    }
    
    .topbar-navigation-list-hamburger.active::after,  .topbar-navigation-list-hamburger.active::before{
        content: '';
    
        width: 20px;
        height: 3px;
    
        background-color: var(--white);
    }
    .topbar-navigation-list-hamburger.active::after {
        transform: rotate(-45deg) ;
        top: 0px;
    }
    .topbar-navigation-list-hamburger.active::before {
        transform: rotate(45deg);
        top: 0px;
    }

    .topbar-phone {
        display: none;
    }

    .main-content {
        display: block;
    }

    .main-content-center-photo {
        position: absolute;
        left: min(80%, 300px);
        top: 0;
        width: 60vw;
        max-width:250px;
        transform: translate(-50%,0%);
    }
    .experience {
        margin-top: 25vh;
    }
    .main-content-right {
        margin-top: 100px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
    }

    .research {
        margin: 0;
        width: 40px;
        height: 40px;
    }
    .research-text {
        margin: 0;
    }
    .secondary-plate {
        padding: 10px 20px;
    }

    .ternary-plate {
        padding: 10px 20px;
    }
    .main-logo {
        width: 30px;
        height: 30px;
    }

    .main-plates {
        display: flex;
    }

    .main-plates, .secondary-plates {
        flex-direction: column;
    }

    .page-footer-left-logo {
        width: 20px;
        height: 20px;
    }

    .page-footer-right-text {
        display: none;
    }


    .topbar-phone-icon {
        width: 20px;
        height: 20px;
    }
    .best-works-category-list-item-more::after, .best-works-category-list-item-more::before, .plate-footer::after, .plate-footer::before {
        display: none;
    }
}








