:root {
    --dnps-primary: #2939f8;
    --dnps-primary-hover: #0024c7;
    --dnps-primary-disabled: #657ff5;
    --dnps-light: #ffffff;
    --dnps-light-hover: #ebeef5;
    --dnps-light-disabled: #fafcfc;
    --dnps-secondary-100: #6cf0c2;
    --dnps-secondary-80: #84f0ca;
    --dnps-secondary-60: #9cf0d3;
    --dnps-secondary-40: #b4f0db;
    --dnps-secondary-20: #ccf0e3;
    --dnps-neutral: #f0f3fA;
    --dnps-alt-color: #e2fcf3ff;
    --dnps-dinapsio-icon-size: 90px;
    --dnps-spacing: 48px;
    --dnps-half-spacing: 24px;
    --dnps-quarter-spacing: 12px;
    --dnps-shade-box: 1px 1px 17px -6px darkgrey;
}

@font-face {
    font-family: "Titillium";
    src: url(/fonts/TitilliumWeb-Regular.ttf);
}

@font-face {
    font-family: "Titillium Bold";
    src: url(/fonts/TitilliumWeb-Bold.ttf);
}

@font-face {
    font-family: "Titillium SemiBold";
    src: url(/fonts/TitilliumWeb-SemiBold.ttf);
}

@font-face {
    font-family: "Roboto Mono";
    src: url(/fonts/RobotoMono-VariableFont_wght.ttf);
}

* {
    font-family: "Titillium", system-ui;
    font-size: 18px;
}

h1, h2, h3, h4 {
    font-family: "Titillium Bold", system-ui;
}

h5 {
    font-family: "Titillium SemiBold", system-ui;
}

h6 {
    font-family: "Titillium", system-ui;
}

.dnps-background-cover {
    background-image: url(/images/home.jpg);
    background-size: cover;
}

@media (max-width: 767px) {
    .dnps-background-cover {
        margin-top: 304px;
    }
}

#dnps-main-title-section > h1 {
    font-size: 6rem;
    color: var(--dnps-light);
}

@media (min-width: 320px) {
    #dnps-main-title-section {
        margin-top: 64px;
    }
}

#dnps-main-title-section > h2 {
    font-size: 2.5rem;
    color: var(--dnps-light);
}

#dnps-navbar {
    border-bottom: 1px solid #e1e1e1;
}

#dnps-navbar-logo {
    padding-top: var(--dnps-quarter-spacing);
    padding-bottom: var(--dnps-quarter-spacing);
}

#dnps-navbar-logo-image {
    height: 24px;
}

@media (min-width: 992px) {
    .dnps-navbar-language {
        margin-left: 90px;
    }
}

.dnps-icon {
    width: 24px;
}

#dnps-user-login-icon {
    width: 1.5rem;
}

#dnps-user-login {
    text-decoration: none;
}

@media (min-width: 600px) {
    #dnps-user-login {
        margin-left: var(--dnps-half-spacing);
    }
}

#dnps-user-login:hover {
    border-color: var(--dnps-primary-hover);
    color: var(--dnps-primary-hover);
}

#dnps-user-login:hover > #dnps-login-icon {
    background-image: url(/images/icons/login_hover.svg);
}

.dpns-user-login-button-description {
    padding-left: 4px;
}

@media (max-width: 600px) {
    .dpns-user-login-button-description {
        display: none;
    }
}

footer {
    background-color: var(--dnps-secondary-100);
    padding-top: 15px;
    padding-bottom: 15px;
}

footer div {
    font-size: 13px;
}

.active-nav-item {
    border-bottom: 3px solid var(--dnps-secondary-100);
}

.dnps-button-secondary {
    text-decoration: none;
    font-size: 18px;
    padding: 8px 24px;
    border-radius: 28px;
    font-weight: bold;
    color: var(--dnps-primary);
    background-color: var(--dnps-light);
    border: 2px solid var(--dnps-primary);
}

.dnps-button-secondary:hover {
    color: var(--dnps-primary-hover);
    border-color: var(--dnps-primary-hover);
    background-color: var(--dnps-light);
}

.dnps-section {
    padding-top: var(--dnps-half-spacing);
    padding-bottom: var(--dnps-half-spacing);
}

.dnps-section-header {
    position: relative;
}

.dnps-section-header .dnps-section-header-column {
    color: var(--dnps-light);
    height: 400px;
}

.dnps-section-header .dnps-section-header-image {
    background-size: cover;
    width: 50%;
    height: 100%;
    position: absolute;
    left: 50%;
    background-position: center;
}

.dnps-first-section {
    padding-bottom: var(--dnps-half-spacing);
    padding-top: 0;
}

@media (min-width: 320px) {
    .dnps-first-section {
        margin-top: 304px;
    }
}

@media (min-width: 768px) {
    .dnps-first-section {
        margin-top: 256px;
    }
}

@media (min-width: 1024px) {
    .dnps-first-section {
        margin-top: 92px;
    }
}

.dnps-headed-section {
    background-color: var(--dnps-primary);
}

.dnps-primary {
    color: var(--dnps-primary);
}

.dnps-quarter-padded {
    padding: var(--dnps-quarter-spacing);
}

.dnps-padded-top {
    padding-top: var(--dnps-spacing);
}

.dnps-half-padded-top {
    padding-top: var(--dnps-half-spacing);
}

.dnps-half-padded-bottom {
    padding-bottom: var(--dnps-half-spacing);
}

.dnps-quarter-padded-left {
    padding-left: var(--dnps-quarter-spacing) !important;
}

.dnps-margin-top {
    margin-top: var(--dnps-spacing);
}

.dnps-textbox {
    padding: 20px 40px 20px;
}

.dnps-pseudo-tag {
    color: var(--dnps-primary);
    font-weight: normal;
    font-size: 0.8em;
    border: 2px solid var(--dnps-secondary-100);
    border-radius: 4px;
    padding-left: 8px;
    padding-right: 8px;
}

.dnps-section-subtitle {
    font-size: 2rem;
    font-weight: bold;
}

#dnps-home-logo {
    height: 80px;
    filter: invert(1);
}

@media (max-width: 600px) {
    #dnps-home-logo {
        height: 50px;
    }
}

#dnps-dinapsio-accordion button.accordion-button {
    box-shadow: none;
    padding-left: 0;
}

#dnps-dinapsio-accordion button.accordion-button::after {
    background-image: url(/images/icons/minus.svg);
}

#dnps-dinapsio-accordion button.accordion-button.collapsed::after {
    background-image: url(/images/icons/plus.svg);
}

#dnps-dinapsio-accordion button.accordion-button:not(.collapsed) {
    background-color: inherit;
    color: var(--dnps-primary);
}

#dnps-dinapsio-accordion .accordion-body {
    padding-left: 0
}

#dnps-features-section {
    background-color: var(--dnps-neutral);
}

.dnps-dinapsio-icon {
    width: 150px;
    margin-bottom: 12px;
}

.dnps-circle-container {
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    border-radius: 50%;
    height: 250px;
    width: 250px;
    margin: 0 auto;
}

.dnps-dinapsio-section-title {
    color: var(--dnps-primary);
    font-size: 21px;
}

.dnps-dinapsio-textbox {
    margin: var(--dnps-quarter-spacing) auto;
}

.dnps-dinapsio-textbox-text {
    box-shadow: var(--dnps-shade-box);
    flex: 1;
    padding: 24px 24px 24px 70px;
    margin-left: 45px;
    background-color: var(--dnps-light);
    border-radius: 7px;
}

.dnps-dinapsio-icon-small {
    width: var(--dnps-dinapsio-icon-size);
    position: absolute;
}

.dnps-case-studies-navbar-element {
    color: var(--dnps-neutral);
    background-color: var(--dnps-primary);
    text-transform: uppercase;
    font-weight: bold;
    border-radius: 8px;
}

.dnps-case-studies-navbar-element:hover {
    background-color: var(--dnps-secondary-100);
    color: var(--dnps-primary);
}

.nav-item .dnps-nav-item:hover {
    background-color: var(--dnps-secondary-100);
    color: var(--dnps-primary);
}

#dnps-contacts-section {
    background-color: var(--dnps-neutral);
}

#dnps-contacts-section a {
    color: var(--dnps-primary);
}

#dnps-contacts-form {
    font-family: 'Titillium', system-ui;
    font-size: 14px;
    color: var(--dnps-primary);
}

#dnps-contacts-form input {
    border-color: var(--dnps-primary);
}

#dnps-contacts-form input[type=checkbox] {
    margin-right: 4px;
}

#dnps-contacts-form input[type=submit] {
    text-decoration: none;
    padding: 8px 24px;
    border: none;
    border-radius: 28px;
    font-weight: bold;
    color: var(--dnps-light);
    background-color: var(--dnps-primary);
    text-transform: uppercase;
    font-size: 0.95em;
}

#dnps-contacts-form input[type=submit]:hover {
    color: var(--dnps-light-hover);
    background-color: var(--dnps-primary-hover);
}

.dnps-contacts-form-error {
    color: red;
}

.dnps-website-cookie-banner {
    display: none;
    flex-direction: column;
    row-gap: 4px;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 2147483645;
    box-sizing: border-box;
    width: 100%;
    min-height: 128px;
    padding: 16px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    background-color: #F1F6F4;
}

.dnps-close-cookie-banner-button {
    all: unset;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 40px;
    min-width: 40px;
    cursor: pointer;
    border: 1px solid var(--dnps-primary);
    border-radius: 4px;
    padding-right: 16px;
    padding-left: 16px;
    color: var(--dnps-primary);
    background-color: #fbfcfc;
    text-transform: uppercase;
}
