:root {
    --color-dark-blue: #0177BE;
    --color-light-blue: #7ECEE4;
    --color-dark: #28444F;
    --color-darkest-blue: #0139A7;
    --color-navy-blue: #1985FC;
    --color-yellow: #FFCB03;
    --color-white: #F9FBFD;
    --padding: 2.5rem;
}

@font-face {
    font-family: "HelveticaNeue";
    font-weight: bolder;
    src: url("/styles/fonts/bolder.woff2") format('woff2');
}
@font-face {
    font-family: "HelveticaNeue";
    font-weight: bold;
    src: url("/styles/fonts/bold.woff2") format('woff2');
}
@font-face {
    font-family: "HelveticaNeue";
    font-weight: normal;
    src: url("/styles/fonts/normal.woff2") format('woff2');
}
@font-face {
    font-family: "HelveticaNeue";
    font-weight: lighter;
    src: url("/styles/fonts/light.woff2") format('woff2');
}

html {
    scroll-behavior: smooth;
}

body {
    padding: 0;
    margin: 0;
    color: var(--color-dark);
}

* {
    font-family: "HelveticaNeue";
    font-weight: normal;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: var(--color-navy-blue);
}
strong {
    font-weight: bold;
}

.gradient {
    background: linear-gradient(160deg, var(--color-navy-blue), var(--color-light-blue));
    min-height: 100vh;
    position: sticky;
    display: flex;
    top: 0;
    padding-top: 4rem;
    z-index: 0;
}
.gradient-content {
    color: var(--color-white);
    width: 100%;
    max-width: 1080px;
    padding: 0 var(--padding);
    margin: auto;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

.gradient-center {
    margin: auto;
    width: 100%;
}

.header {
    padding: 1rem 0;
    position: fixed;
    width: 100%;
    z-index: 10;
    top: 0;
    transition: background-color 250ms;
}

.header.white {
    background-color: var(--color-white);
}
.header.white .menu a {
    color: var(--color-dark);
}
.header .logo-white {
    display: block;
}
.header .logo-black {
    display: none;
}
.header.white .logo-white {
    display: none;
}
.header.white .logo-black {
    display: block;
}

.header-content {
    width: 100%;
    max-width: 1080px;
    padding: 0 var(--padding);
    margin: auto;
    display: flex;
    justify-content: space-between;
}
.header .logo {
    width: 160px;
    max-width: 100%;
}
.header .logo img {
    width: 100%;
}

.menu {
    display: flex;
    gap: 2rem;
    padding: 0.5rem 0;
}
.menu a {
    color: var(--color-white);
}

.cover {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 3rem;
}
.cover-text {
    width: 55%;
}
.cover-text h2 {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 2rem;
}
.cover-text p {
    font-size: 1.25rem;
    line-height: 1.3;
    padding-bottom: 2rem;
    width: 90%;
}

.cover-photo {
    width: 45%;
    text-align: center;
}
.cover-photo img {
    max-width: 240px;
}

.text-yellow {
    color: var(--color-yellow);
    font-weight: bold;
}

.picto {
    margin-top: 2rem;
    display: flex;
    justify-content: space-between;
}
.picto li {
    list-style: none;
    text-align: center;
    width: 20%;
}
.picto li img {
    width: 25%;
}

/*************************************************************************************************/

.page-rest {
    position: relative;
    background-color: var(--color-white);
    z-index: 1;
}

.page-rest-content {
    max-width: 1080px;
    padding: 0 var(--padding);
    margin: auto;
}

.karakteristike {
}

.karakteristike-text {
    padding-top: 7rem;
}
.karakteristike-text h2 {
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
}
.karakteristike-text p {
    line-height: 1.3;
    text-align: center;
    width: 100%;
    max-width: 720px;
    margin: auto;
}

/*************************************************************************************************/

.karakteristike-items {
    margin-top: 5rem;
    display: flex;
    gap: 1.5rem;
    justify-content: center;
}
.karakteristike-items li {
    list-style: none;
    filter: drop-shadow(-5px 7px 17px #77cfe21a);
}
.karakteristike-items li .title {
    background-color: var(--color-darkest-blue);
    color: var(--color-white);
    border-top-left-radius: 1.5rem;
    border-top-right-radius: 1.5rem;
    text-align: right;
    font-size: 1.25rem;
    position: relative;
    display: flex;
    justify-content: end;
    align-items: center;
    height: 6rem;
    padding: 0 2rem;
}
.karakteristike-items li .title::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 1.5rem;
    background-image: url("/assets/images/mycosens/kapi.svg");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 7rem;
    height: 7rem;
}
.karakteristike-items li .title span {
    display: block;
    max-width: 120px;
}

.karakteristike-items li .desc {
    display: flex;
    border-bottom-left-radius: 1.5rem;
    border-bottom-right-radius: 1.5rem;
    overflow: hidden;
}
.karakteristike-items li .desc .vertical-text {
    background-color: var(--color-white);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5rem;
}
.karakteristike-items li .desc .vertical-text span {
    display: block;
    transform-origin: center;
    transform: rotate(-90deg);
    font-weight: bold;
}

.karakteristike-items li .desc .icon-text {
    flex: 1;
    background-color: var(--color-navy-blue);
    text-align: center;
    color: var(--color-white);
    padding-top: 2rem;
    padding-bottom: 3rem;
}
.karakteristike-items li .desc .icon-text img {
    width: 8rem;
    margin-bottom: 1rem;
}
.karakteristike-items li .desc .icon-text p {
    width: 80%;
    margin: auto;
}

/*************************************************************************************************/

.part-users {
    margin-top: 7rem;
}
.part-users h3 {
    font-size: 2rem;
    text-align: center;
    font-weight: bold;
}
.part-users > p {
    max-width: 720px;
    text-align: center;
    margin: auto;
}

.big-numbers {
    display: flex;
    gap: 4rem;
    margin-top: 4rem;
}
.big-numbers li {
    list-style: none;
    text-align: center;
}
.big-numbers li p {
    width: 80%;
    margin: auto;
    margin-top: 0.5rem;
    font-weight: bold;
}

.big-number, .big-number span {
    font-size: 4rem;
    font-weight: bold;
    color: var(--color-light-blue);
}

/*************************************************************************************************/

.faq {
    padding-top: 7rem;
    padding-bottom: 7rem;
}
.faq h2 {
    font-size: 2.5rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 4rem;
}

.faq-items {

}
.faq-items li {
    padding: 1rem 0;
    list-style: none;
    border-bottom: 1px solid #28444f11;
}
.faq-items li.show p {
    height: auto;
}
.faq-items li h3 {
    font-weight: normal;
    position: relative;
    cursor: pointer;
    font-weight: bold;
    padding-right: 3rem;
}
.faq-items li h3::before {
    content: '';
    background-image: url("icons8-plus.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    font-size: 2rem;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    transition: transform 250ms;
    transform-origin: center center;
}
.faq-items li.show h3::before {
    transform: translateY(-50%) rotate(45deg);
}
.faq-items li p {
    height: 0;
    overflow: hidden;
    padding: 0;
    margin: 0;
    transition: all 250ms;
    max-width: 90%;
    line-height: 1.4;
}
/*************************************************************************************************/

.blue-button {
    display: inline-block;
    color: var(--color-white);
    padding: 1rem 2rem;
    border-radius: 2rem;
    background-color: var(--color-darkest-blue);
    transform-origin: center;
    transition: transform 250ms;
    font-size: 1.25rem;
}
.blue-button:hover {
    transform: scale(1.05, 1.05);
}

.page-text {
    padding-top: 4rem;
    padding-bottom: 4rem;
    line-height: 1.4;
}
.page-text h1 {
    text-align: center;
    font-weight: bold;
}