﻿/* Display */

.clear-both {
    clear: both;
}

.hidden,
.hiddenstuff {
    display: none;
}

.show,
.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.inline {
    display: inline;
}

.hide-desktop {
    display: none;
}

.hide-tablet {
    display: block;
}

.hide-mobile {
    display: block;
}

@media only screen and (max-width: 768px) {
    .hide-desktop {
        display: block;
    }

    .hide-tablet {
        display: none;
    }

    .hide-mobile {
        display: block;
    }
}

@media only screen and (max-width: 600px) {
    .hide-desktop {
        display: block;
    }

    .hide-tablet {
        display: block;
    }

    .hide-mobile {
        display: none;
    }
}

/* Position */

.relative {
    position: relative;
}

.center {
    display: block;
    margin: auto;
}

.absolute-center,
.fixed-center {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.absolute-center {
    position: absolute;
}

.fixed-center {
    position: fixed;
}

.left {
    float: left;
}

.right {
    float: right;
}

.clearboth {
    clear: both
}

/* Width */

.width-25 {
    width: 25%;
}

.width-33 {
    width: 33%;
}

.width-50 {
    width: 50%;
}

.width-66 {
    width: 66%;
}

.width-75 {
    width: 75%;
}

.width-100 {
    max-width: 100%;
    width: 100% !important;
}

.width-s {
    max-width: 500px;
    margin: auto;
}

.width-m {
    max-width: 850px;
    margin: auto;
}

.width-l {
    max-width: 1366px;
    margin: auto;
}

/* Height */

.height-100 {
    max-height: 100%;
    height: 100%;
}

.height-50 {
    height: 50%;
}

/* Margin */

.margin-0 {
    margin: 0;
}

.margin-xs {
    margin: 8px;
}

.margin-s {
    margin: 12px;
}

.margin {
    margin: 16px;
}

.margin-m {
    margin: 32px;
}

.margin-l {
    margin: 48px;
}

.margin-xl {
    margin: 64px
}

.margin-xs-top {
    margin-top: 8px;
}

.margin-s-top {
    margin-top: 12px;
}

.margin-top {
    margin-top: 16px;
}

.margin-m-top {
    margin-top: 32px;
}

.margin-l-top {
    margin-top: 48px;
}

.margin-xl-top {
    margin-top: 64px
}

.margin-xs-left {
    margin-left: 8px;
}

.margin-s-left {
    margin-left: 12px;
}

.margin-left {
    margin-left: 16px;
}

.margin-m-left {
    margin-left: 32px;
}

.margin-l-left {
    margin-left: 48px;
}

.margin-xl-left {
    margin-left: 64px
}

.margin-xs-right {
    margin-right: 8px;
}

.margin-s-right {
    margin-right: 12px;
}

.margin-right {
    margin-right: 16px;
}

.margin-m-right {
    margin-right: 32px;
}

.margin-l-right {
    margin-right: 48px;
}

.margin-xl-right {
    margin-right: 64px
}

.margin-xs-bottom {
    margin-bottom: 8px;
}

.margin-s-bottom {
    margin-bottom: 12px;
}

.margin-bottom {
    margin-bottom: 16px;
}

.margin-m-bottom {
    margin-bottom: 32px;
}

.margin-l-bottom {
    margin-bottom: 48px;
}

.margin-xl-bottom {
    margin-bottom: 64px
}

/* Padding */

.padding-0 {
    padding: 0;
}

.padding-xs {
    padding: 8px;
}

.padding-s {
    padding: 12px;
}

.padding {
    padding: 16px;
}

.padding-m {
    padding: 32px;
}

.padding-l {
    padding: 48px;
}

.padding-xl {
    padding: 64px;
}

.padding-xs-top {
    padding-top: 8px;
}

.padding-s-top {
    padding-top: 12px;
}

.padding-top {
    padding-top: 16px;
}

.padding-m-top {
    padding-top: 32px;
}

.padding-l-top {
    padding-top: 48px;
}

.padding-xl-top {
    padding-top: 64px
}

.padding-xs-left {
    padding-left: 8px;
}

.padding-s-left {
    padding-left: 12px;
}

.padding-left {
    padding-left: 16px;
}

.padding-m-left {
    padding-left: 32px;
}

.padding-l-left {
    padding-left: 48px;
}

.padding-xl-left {
    padding-left: 64px
}

.padding-xs-right {
    padding-right: 8px;
}

.padding-s-right {
    padding-right: 12px;
}

.padding-right {
    padding-right: 16px;
}

.padding-m-right {
    padding-right: 32px;
}

.padding-l-right {
    padding-right: 48px;
}

.padding-xl-right {
    padding-right: 64px
}

.padding-xs-bottom {
    padding-bottom: 8px;
}

.padding-s-bottom {
    padding-bottom: 12px;
}

.padding-bottom {
    padding-bottom: 16px;
}

.padding-m-bottom {
    padding-bottom: 32px;
}

.padding-l-bottom {
    padding-bottom: 48px;
}

.padding-xl-bottom {
    padding-bottom: 64px
}

/* Row */

.row::after {
    content: "";
    clear: both;
    display: table;
}

/* Colunm */

[class*="col-"] {
    float: left;
}

/* Colunm - Desktop */

.col-1 {
    width: 8.33%;
}

.col-2 {
    width: 16.66%;
}

.col-3 {
    width: 25%;
}

.col-4 {
    width: 33.33%;
}

.col-5 {
    width: 41.66%;
}

.col-6 {
    width: 50%;
}

.col-7 {
    width: 58.33%;
}

.col-8 {
    width: 66.66%;
}

.col-9 {
    width: 75%;
}

.col-10 {
    width: 83.33%;
}

.col-11 {
    width: 91.66%;
}

.col-12 {
    width: 100%;
}

/* Colunm - Tablet */

@media only screen and (max-width: 768px) {
    .col-s-1 {
        width: 8.33%;
    }

    .col-s-2 {
        width: 16.66%;
    }

    .col-s-3 {
        width: 25%;
    }

    .col-s-4 {
        width: 33.33%;
    }

    .col-s-5 {
        width: 41.66%;
    }

    .col-s-6 {
        width: 50%;
    }

    .col-s-7 {
        width: 58.33%;
    }

    .col-s-8 {
        width: 66.66%;
    }

    .col-s-9 {
        width: 75%;
    }

    .col-s-10 {
        width: 83.33%;
    }

    .col-s-11 {
        width: 91.66%;
    }

    .col-s-12 {
        width: 100%;
    }
}

/* Colunm - Mobile */

@media only screen and (max-width: 600px) {
    [class*="col-"] {
        width: 100%;
    }
}

.header-action-area {
    float: right;
    display: flex;
    gap: 10px;
    align-items: center;
    z-index: 100;
}

.header-action-area .largecta.demo {
    float: none !important;
    border: 2px solid var(--third-color-light) !important;
}

.header-action-area .largecta.demo:hover {
    border-color: var(--third-color-dark) !important;
}

.dropdown-container {
    position: relative;
}

#pricingCalculatorBtn {
    float: none !important;
    width: 100%;
    text-align: center;
    white-space: nowrap;
    box-sizing: border-box;
    background-color: transparent !important;
    border: 2px solid var(--third-color-light) !important;
    color: var(--third-color-light) !important;
}

#pricingCalculatorBtn:hover {
    background-color: var(--third-color-light) !important;
    color: #fff !important;
}

#pricingDropdownContent {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #fff;
    min-width: 100%;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 100;
    border-radius: 4px;
    overflow: hidden;
    margin-top: 2px;
    border: 1px solid #ccc;
}

.dropdown-item {
    color: var(--first-color) !important;
    padding: 12px 16px;
    text-decoration: none !important;
    display: block;
    font-size: 14px;
    font-family: var(--first-font);
    font-weight: bold;
    transition: background-color 0.2s, color 0.2s;
}

.dropdown-item.border-bottom {
    border-bottom: 1px solid #eee;
}

#pricingDropdownContent a:hover {
    background-color: #f1f1f1 !important;
    color: #000 !important;
    text-decoration: none !important;
}

@media only screen and (max-width: 768px) {
    .header-action-area {
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
        gap: 4px;
        height: calc(90.4px - 16px); /* strict vertical containment */
        max-width: calc(50vw - 65px - 5px); /* keeps buttons right of the centered 130px logo */
        margin: 0;
    }

    .header-action-area .dropdown-container {
        order: 2;
        flex: 1 1 50%;
        display: flex;
        min-height: 0;
    }

    .header-action-area .largecta.demo {
        order: 1;
        flex: 1 1 50%;
        min-height: 0;
    }

    .header-action-area .largecta {
        font-size: clamp(10px, 3vw, 14px);
        padding: 0 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        box-sizing: border-box;
        white-space: nowrap;
    }

    #pricingCalculatorBtn {
        width: auto !important;
    }
}