@font-face {
    font-family: 'Outfit';
    src: url('/fonts/Outfit[wght].woff2') format('woff2-variations'),
    url('/fonts/Outfit[wght].woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --cnvs-contrast-0: #ffffff;
    --cnvs-contrast-100: #faf8f7;
    --cnvs-contrast-200: #efeae8;
    --cnvs-contrast-300: #e4ddd9;
    --cnvs-contrast-400: #d6cdc8;
    --cnvs-contrast-500: #b8aeaa;
    --cnvs-contrast-600: #78706d;
    --cnvs-contrast-700: #524d4b;
    --cnvs-contrast-800: #3d3937;
    --cnvs-contrast-900: #252221;
    --cnvs-contrast-1000: #000000;
    --cnvs-invert-contrast-0: #000000;
    --cnvs-invert-contrast-100: #252221;
    --cnvs-invert-contrast-200: #3d3937;
    --cnvs-invert-contrast-300: #524d4b;
    --cnvs-invert-contrast-400: #78706d;
    --cnvs-invert-contrast-500: #b8aeaa;
    --cnvs-invert-contrast-600: #d6cdc8;
    --cnvs-invert-contrast-700: #e4ddd9;
    --cnvs-invert-contrast-800: #efeae8;
    --cnvs-invert-contrast-900: #faf8f7;
    --cnvs-invert-contrast-1000: #ffffff;

    --cnvs-portfolio-desc-padding-x: 0;

    --gradient-ease-top: linear-gradient(to bottom, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0.987) 8.1%, hsla(0, 0%, 100%, 0.951) 15.5%, hsla(0, 0%, 100%, 0.896) 22.5%, hsla(0, 0%, 100%, 0.825) 29%, hsla(0, 0%, 100%, 0.741) 35.3%, hsla(0, 0%, 100%, 0.648) 41.2%, hsla(0, 0%, 100%, 0.55) 47.1%, hsla(0, 0%, 100%, 0.45) 52.9%, hsla(0, 0%, 100%, 0.352) 58.8%, hsla(0, 0%, 100%, 0.259) 64.7%, hsla(0, 0%, 100%, 0.175) 71%, hsla(0, 0%, 100%, 0.104) 77.5%, hsla(0, 0%, 100%, 0.049) 84.5%, hsla(0, 0%, 100%, 0.013) 91.9%, hsla(0, 0%, 100%, 0) 100%);
    --gradient-ease-bottom: linear-gradient(to top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0.987) 8.1%, hsla(0, 0%, 100%, 0.951) 15.5%, hsla(0, 0%, 100%, 0.896) 22.5%, hsla(0, 0%, 100%, 0.825) 29%, hsla(0, 0%, 100%, 0.741) 35.3%, hsla(0, 0%, 100%, 0.648) 41.2%, hsla(0, 0%, 100%, 0.55) 47.1%, hsla(0, 0%, 100%, 0.45) 52.9%, hsla(0, 0%, 100%, 0.352) 58.8%, hsla(0, 0%, 100%, 0.259) 64.7%, hsla(0, 0%, 100%, 0.175) 71%, hsla(0, 0%, 100%, 0.104) 77.5%, hsla(0, 0%, 100%, 0.049) 84.5%, hsla(0, 0%, 100%, 0.013) 91.9%, hsla(0, 0%, 100%, 0) 100%);
}

body {
    color: var(--cnvs-contrast-700);
    line-height: 2;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: var(--cnvs-before-heading-font-family);
    font-weight: var(--cnvs-heading-block-font-weight);

}

#footer {
    --cnvs-copyrights-link-color: rgba(255, 255, 255, .75);
    background: linear-gradient(135deg, rgba(149, 149, 149, 0.1) 0%, rgba(13, 13, 13, 0.1) 46%, rgba(1, 1, 1, 0.1) 50%, rgba(10, 10, 10, 0.1) 53%, rgba(78, 78, 78, 0.1) 76%, rgba(56, 56, 56, 0.1) 87%, rgba(27, 27, 27, 0.1) 100%), url('/images/footer-bg2.svg') no-repeat fixed;
    background-size: 100% 100%;
}

.button {
    /*--cnvs-btn-color-light: hsl(15 16% 93% / 1);*/
}

.g-05,
.gx-05 {
    --bs-gutter-x: 0.125rem;
}

.g-05,
.gy-05 {
    --bs-gutter-y: 0.125rem;
}

.heading-block {
    --cnvs-heading-block-font-weight: 400;
    --cnvs-heading-block-border: 2px solid var(--cnvs-themecolor);
}

.ae-bg-dotted {
    background-image: url('/images/aa/dotted-pattern.svg');
}

.img-hover-wrap .img-hover-detail {
    right: 15px;
}

.card-body {
    backdrop-filter: blur(10px);
}

@media (min-width: 768px) {
    .page-title-row {
        flex-direction: column;
        align-items: start;
    }
}

/*h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {*/
/*    color: var(--cnvs-heading-color);*/
/*    font-weight: var(--cnvs-headings-font-weight);*/
/*    line-height: var(--cnvs-line-height-base);*/
/*    margin: 0 0 30px 0;*/
/*    font-family: var(--cnvs-primary-font);*/
/*}*/
/*TODO: */

#top-search > button i {
    transition: opacity 0.3s ease;
}

.top-search-open #top-search button i:nth-child(1), #top-search button i:nth-child(2) {
    display: none;
}

.top-search-open #top-search button i:nth-child(2) {
    display: block;
    z-index: 11;
    font-size: 1.125rem;
}

:root {
    --cnvs-body-font: "Outfit", sans-serif;
    --cnvs-primary-font: "Outfit", sans-serif;
    --cnvs-themecolor: #E74510;
    --cnvs-themecolor-rgb: 231, 69, 16;
    --cnvs-line-height-content: 2;
    --cnvs-line-height-base: 1.25;
    --aa-logo-height: 70px;
    --cnvs-heading-color: var(--cnvs-contrast-700);
    /*--cnvs-heading-color: var(--cnvs-themecolor);*/
}

.heading-block h1, .heading-block .h1, .heading-block h2, .heading-block .h2, .heading-block h3, .heading-block .h3, .heading-block h4, .heading-block .h4 {
    font-weight: var(--cnvs-heading-block-font-weight);
}

.content-wrap * {
    /*line-height: var(--cnvs-line-height-content);*/
}

#header-wrap #logo img {
    height: var(--aa-logo-height);
}

.aa-header-bg-blur-container:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 200px;
    backdrop-filter: blur(10px);
    mask-image: var(--gradient-ease-top);
    -webkit-mask-image: var(--gradient-ease-top);
    z-index: 1;
}

.aa-bg-blur-container {
    padding-bottom: 6.25rem;
    padding-top: 6.25rem;
}

.aa-bg-blur-container::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    backdrop-filter: blur(10px);
    mask-image: var(--gradient-ease-bottom);
    -webkit-mask-image: var(--gradient-ease-bottom);
}

#content ul {
    padding-left: 2.2em;
    list-style: none;
}

#content li:before {
    display: inline-flex;
    align-self: center;
    justify-self: center;
    line-height: inherit;
    font-family: bootstrap-icons !important;
    /* font-style: normal; */
    /* font-weight: 400 !important; */
    /* font-variant: normal; */
    /* text-transform: none; */
    line-height: 1;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-left: -2em;
    width: 2em;
    color: var(--cnvs-themecolor);
}

#content ul li:before {
    content: "\f633";
}

header#header:before {
    content: '';
    position: absolute;
    display: block;
    height: 200px;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    background: linear-gradient(to bottom, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0.987) 8.1%, hsla(0, 0%, 100%, 0.951) 15.5%, hsla(0, 0%, 100%, 0.896) 22.5%, hsla(0, 0%, 100%, 0.825) 29%, hsla(0, 0%, 100%, 0.741) 35.3%, hsla(0, 0%, 100%, 0.648) 41.2%, hsla(0, 0%, 100%, 0.55) 47.1%, hsla(0, 0%, 100%, 0.45) 52.9%, hsla(0, 0%, 100%, 0.352) 58.8%, hsla(0, 0%, 100%, 0.259) 64.7%, hsla(0, 0%, 100%, 0.175) 71%, hsla(0, 0%, 100%, 0.104) 77.5%, hsla(0, 0%, 100%, 0.049) 84.5%, hsla(0, 0%, 100%, 0.013) 91.9%, hsla(0, 0%, 100%, 0) 100%);
    opacity: .84;
}

header#header.dark:before {
    background: linear-gradient(to bottom, hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.987) 8.1%, hsla(0, 0%, 0%, 0.951) 15.5%, hsla(0, 0%, 0%, 0.896) 22.5%, hsla(0, 0%, 0%, 0.825) 29%, hsla(0, 0%, 0%, 0.741) 35.3%, hsla(0, 0%, 0%, 0.648) 41.2%, hsla(0, 0%, 0%, 0.55) 47.1%, hsla(0, 0%, 0%, 0.45) 52.9%, hsla(0, 0%, 0%, 0.352) 58.8%, hsla(0, 0%, 0%, 0.259) 64.7%, hsla(0, 0%, 0%, 0.175) 71%, hsla(0, 0%, 0%, 0.104) 77.5%, hsla(0, 0%, 0%, 0.049) 84.5%, hsla(0, 0%, 0%, 0.013) 91.9%, hsla(0, 0%, 0%, 0) 0%);
}

section.page-title.page-title-parallax:before {
    content: '';
    position: absolute;
    display: block;
    height: 500px;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 0;
    background: linear-gradient(to top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0.987) 8.1%, hsla(0, 0%, 100%, 0.951) 15.5%, hsla(0, 0%, 100%, 0.896) 22.5%, hsla(0, 0%, 100%, 0.825) 29%, hsla(0, 0%, 100%, 0.741) 35.3%, hsla(0, 0%, 100%, 0.648) 41.2%, hsla(0, 0%, 100%, 0.55) 47.1%, hsla(0, 0%, 100%, 0.45) 52.9%, hsla(0, 0%, 100%, 0.352) 58.8%, hsla(0, 0%, 100%, 0.259) 64.7%, hsla(0, 0%, 100%, 0.175) 71%, hsla(0, 0%, 100%, 0.104) 77.5%, hsla(0, 0%, 100%, 0.049) 84.5%, hsla(0, 0%, 100%, 0.013) 91.9%, hsla(0, 0%, 100%, 0) 100%);
    opacity: .84;
}

section.page-title.page-title-parallax.dark:before {
    background: linear-gradient(to top, hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.987) 8.1%, hsla(0, 0%, 0%, 0.951) 15.5%, hsla(0, 0%, 0%, 0.896) 22.5%, hsla(0, 0%, 0%, 0.825) 29%, hsla(0, 0%, 0%, 0.741) 35.3%, hsla(0, 0%, 0%, 0.648) 41.2%, hsla(0, 0%, 0%, 0.55) 47.1%, hsla(0, 0%, 0%, 0.45) 52.9%, hsla(0, 0%, 0%, 0.352) 58.8%, hsla(0, 0%, 0%, 0.259) 64.7%, hsla(0, 0%, 0%, 0.175) 71%, hsla(0, 0%, 0%, 0.104) 77.5%, hsla(0, 0%, 0%, 0.049) 84.5%, hsla(0, 0%, 0%, 0.013) 91.9%, hsla(0, 0%, 0%, 0) 0%);
}

.img-hover-card > a::after {
    background-color: transparent;
}

.img-hover-wrap:hover .img-hover-card > a::after {
    background-color: transparent;
}

.img-hover-wrap .img-hover-detail {
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 40px 15px 40px 40px;
    background-color: rgba(0, 0, 0, .1);   
    -webkit-transform: scale(1) translateY(0) translateZ(0);
    -ms-transform: scale(1) translateY(0) translateZ(0);
    -o-transform: scale(1) translateY(0) translateZ(0);
    transform: scale(1) translateY(0) translateZ(0);
}

.img-hover-wrap:hover .img-hover-detail {
    background-color: rgba(233, 71, 16, .8);
    backdrop-filter: blur(3px)
}

#top-search > button {
    z-index: 11;
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
    display: flex;
    position: relative;
    width: calc(var(--cnvs-header-misc-icons-size) + 0.125rem);
    height: calc(var(--cnvs-header-misc-icons-size) + 0.125rem);
    font-size: calc(var(--cnvs-header-misc-icons-size));
    line-height: calc(var(--cnvs-header-misc-icons-size) + 0.125rem);
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--cnvs-header-misc-icons-color);
    transition: color 0.3s ease-in-out;
}
