body {
    padding: 0;
    margin: 0;
    background-color:rgb(36, 36, 36);
}
:root {
    --size--pc--text--video: 10rem;
    --size--mobile--text--video: 7rem;
    --header--color: #ffffff;
}
p {
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.5;
    text-align: left;          
}
h1, h2, h3, li {
    margin: 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.container{
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    height: 100%;  
}

.navbar--section {
    position: fixed;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    z-index: 99;                
}

.navbar--block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 32px 32px 0 32px;
    width: 100%;
    height: 128px;
    
}
.navbar--mail {
    padding: 0;
    margin: 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    mix-blend-mode: difference;
}
.header--section {
    display: flex;
    width: 100%;
    height: 100vh;
    
}
.video--overlay--block{
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
    z-index: 10;
    width: 100%;
    height: 80vh;

}
.video--overlay--gradient{
    position: absolute;
    width: 100%;
    height: 50%;
    left: 0;
    bottom: 0;
    background-image: linear-gradient(180deg, rgba(36,36,36,0), rgba(36,36,36,1));
    z-index: 9;
}
.video--h1 {
    margin: 0;
    padding: 40px 0 20px 0;
    font-size: var(--size--pc--text--video);
    font-weight: 900;
    line-height: 0.8;
    color: var(--header--color);
    
}
.video--h1--line {
    border-top: 6px solid rgb(255, 255, 255);
    width: 10%;
}
.video--p {
    margin-bottom: -40px;
    padding: 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 600;
    font-size: calc(var(--size--pc--text--video) / 2);
    line-height: 1.5;
    text-align: center;
    color: var(--header--color); 
     
}
.video--p--italic {
    margin-top: 40px;
    padding: 0 16px 0 16px;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 300;
    font-size: calc(var(--size--pc--text--video) / 3);
    color: #FFF;
    background-color: rgb(111, 0, 255);
}

.video--block{
    position: relative;
    width: 100%;
    height: 100vh;                
}

.video--player {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.video--player--portfolio {
    margin: 100px 0 0 0;
    padding: 20px;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    cursor: pointer;
    background-color: black;
}

.section--line {
    border-top: 2px solid rgb(111, 0, 255);
}
.section--text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    background-color:rgb(36, 36, 36);
    z-index: 11; 
}
.section--text--offer {
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    background-color:rgb(36, 36, 36);
    z-index: 11; 
}
.section--portfolio {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    background-color:rgb(111, 0, 255);
    z-index: 11; 
}
.section--text--warp {
    display: flex;
    flex-direction: column;
    max-width: 1280px;
}
.section--bg--warp {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 900px;
    justify-content: center;
    align-items: center;

}

.section--time--warp {
    padding: 100px 0 100px 0;
    position: relative;
    display: flex;
    justify-content: space-evenly;
    flex-direction: row;
    width: 100%;
    background-color:rgb(36, 36, 36);
}
.items--block {  
    display: flex;
    flex-direction: column;
    justify-items: center;
    padding: 200px 32px 50px 32px; 
    max-width: 1280px;
}
.portfolio--items--block {  
    display: flex;
    flex-direction: column;
    justify-items: center;
    align-items: center;
    padding: 150px 32px 150px 32px; 
    max-width: 1280px;
}
.items--block--timeaxis {
    position: absolute;
    left: 10%;
    top: 73%;                 
    width: 80%;
    border-bottom: 3px solid rgb(255, 255, 255);
    z-index: 10;
}
.timeaxis--block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.box--small {
    display: block;
    border-radius: 50%;
    border: solid 8px rgb(36, 36, 36);
    width: 25px;
    height: 25px;
    background-color: rgb(111, 0, 255);
    z-index: 11;
}
.items--block--row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 50px 0 50px 0;
    column-gap: 20px;
    width: 100%;  
}
.items--element {
    display: flex;
    max-width: 600px;
    height: auto;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex-basis: 0;
    flex-grow: 1;
    padding: 0 32px 32px 32px;
    border-radius: 16px;
    background-image: linear-gradient(180deg, rgba(111,0,255,0) 50%, rgba(111,0,255,0.4)100%);
}

.section--h1 {
    margin: 0;
    padding: 0 0 20px 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    font-size: calc(var(--size--pc--text--video) / 2.5);
    line-height: 1.1;
    color: #FFF;
    
}
.portfolio--h1 {
    margin: 0;
    padding: 0 0 20px 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    font-size: calc(var(--size--pc--text--video) / 2.5);
    line-height: 1.1;
    color: #FFF;
    
}
.section--color--bold {
    color: rgb(111, 0, 255);
}
.section--p {
    margin: 0;
    padding: 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    font-size: calc(var(--size--pc--text--video) / 5);
    color: #FFF;
}
.info--h {
    margin: 100px 0 100px 0;
    padding: 0 32px 0 32px;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: italic;
    font-weight: 400;
    font-size: calc(var(--size--pc--text--video) / 2.5);
    color: #FFF;
    text-align: center;
}
.portfolio--p {
    margin: 0;
    padding: 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    text-align: center;
    font-size: calc(var(--size--pc--text--video) / 5);
    color: #FFF;
}
.footer--p {
    margin: 0;
    padding: 50px 0 20px 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    text-align: center;
    font-size: calc(var(--size--pc--text--video) / 10);
    color: #FFF; 
}
.section--items--h1{
    margin: 0;
    padding: 60px 0 0 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    font-size: calc(var(--size--pc--text--video) / 4.5);
    color: #FFF;
}
.section--items--p{
    margin: 0;
    padding: 80px 0 0 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    font-size: calc(var(--size--pc--text--video) / 8);
    color: #FFF;
}
.offer--items--h1{
    margin: 0;
    padding: 30px 0 0 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 700;
    font-size: calc(var(--size--pc--text--video) / 4.5);
    color: #FFF;
}
.offer--items--p{
    margin: 0;
    padding: 30px 0 0 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    font-size: calc(var(--size--pc--text--video) / 8);
    color: #FFF;
}
.timeaxis--p{
    margin: 0;
    padding: 0 0 40px 0;
    font-family: "Source Sans 3", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    line-height: 1.8;
    font-size: calc(var(--size--pc--text--video) / 8);
    color: #FFF;
}
.section--offer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    background-color: rgb(36, 36, 36);
}
.offer--block{
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 32px;
    max-width: 1216px;
    z-index: 11;
}
.offer--text{
    
    display: flex;
    flex-direction: column;
    justify-content: left;
    flex-basis: 0;
    flex-grow: 1;
}
.tag--row {
    padding: 30px 0 0 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
ul > li {
    list-style: none;
    font-size: calc(var(--size--pc--text--video) / 8);
    padding: 8px 12px 8px 12px;
    margin: 0 8px 8px 0;
    width: fit-content;
    border: 2px solid rgb(111, 0, 255);
    border-radius: 14px;
    color: rgb(255, 255, 255);
}
.offer--img {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-basis: 0;
    flex-grow: 1;
    
}
.offer--abs--bg{
    display: block;
    position: absolute;
    top: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    
    z-index: -1;
}

.offer--wrap {
    display: flex;
    flex-direction: row;
    justify-content: right;
    width: 100%;
    
}

.section--text--offer .section--bg--warp:nth-child(even) .offer--block .offer--img {
    order: -1;
}
.section--text--offer .section--bg--warp:nth-child(even) .offer--abs--bg .offer--bg--style {
    transform: scaleX(-1);
}

.underline--color {
    
    color: rgb(111, 0, 255)
}

/* style img */
.logo {
    width: 150px;
}
.items--img--style{
    max-width: 90%;
    object-fit: cover;
    display: block;
}
.ico--img--style{
    margin-bottom: 50px;
    width: 132px;
    object-fit: cover;
    display: block;
}
.offer--img--style{
    padding: 0 32px 0 32px; 
    max-width: 100%;
    object-fit: cover;
    display: block;
}
.offer--bg--style{
    
    padding: 0; 
    width:100%;
    height: 100%;
    object-fit:cover;
    display: block;
}




@media only screen and (max-width: 1080px){
    .logo {
        width: 200px;
    }
    .navbar--mail {
        
        font-size: 2.5rem;
    }
    .video--h1 {
    padding:  20px 0 20px 0;
    font-size: var(--size--mobile--text--video);
    font-weight: 900;
    color: var(--header--color);
    }
    .video--p {
        margin-bottom: -20px;
        font-size: calc(var(--size--mobile--text--video) / 2)
    }
    .video--p--italic {
        margin-top: 20px;
        font-size: calc(var(--size--mobile--text--video) / 2);
        
    }
    .items--block--row{
        flex-direction: column;
        align-items: center;
    }
    .items--element {
        max-width: 900px;
        margin-bottom: 100px;
        background-image: linear-gradient(180deg, rgba(111,0,255,0) 60%, rgba(111,0,255,0.4)100%);
    }
    .section--text--offer {
        padding: 100px 0 0 0;
    }
    .section--bg--warp {
        height: auto;
    }
    .section--text--offer .section--bg--warp:nth-child(even) .offer--block .offer--img {
        order: 1;
    }
    .items--block{
        padding: 100px 32px 50px 32px;
    }
    .section--h1{
        font-size: calc(var(--size--pc--text--video) / 1.7);
    }
    .section--items--h1{
        
        font-size: calc(var(--size--pc--text--video) / 2.5);
        
    }
    .section--items--p{
        
        font-size: calc(var(--size--pc--text--video) / 5);
        
    }
    .offer--block{
        
        flex-direction: column;
        padding: 32px;
        max-width: 850px;
        padding: 0 32px 150px 32px;
        
    }
    .offer--items--h1{
        font-size: calc(var(--size--pc--text--video) / 3);
    }
    .offer--items--p{
        font-size: calc(var(--size--pc--text--video) / 5);
    }
    ul > li {
        font-size: calc(var(--size--pc--text--video) / 5);
        border: 4px solid rgb(111, 0, 255);
    }
    .offer--img{
        margin: 50px 0 50px 0;
    }
    .offer--img--style{
        width: 95%;
        padding: 0;
    }

    .section--time--warp {
        justify-content: space-evenly;
        flex-direction: column;
        row-gap: 100px;
    }
    .timeaxis--block {
        position: relative;
        justify-content: right;
        flex-direction: row;
        padding-right: 80px;
        
        
     }
     .timeaxis--p {
        padding: 0 20px 0 0;
        font-size: calc(var(--size--pc--text--video) / 5);

     }
     
     .items--block--timeaxis {
        top:0;
        left: 0%;
        right: 99px;
        width:unset;
        height: 100%;
        border-bottom: none;
        border-right: 3px solid rgb(255, 255, 255);
       
    }
    .items--img--style{
        width: 400px;
    }
    .ico--img--style{
        position: absolute;
        right: 500px;
        margin-bottom: 0; 
    }
    .footer--p {
        
        font-size: calc(var(--size--pc--text--video) / 5);
        
    }    
}