/*-----------------------------------------------------------------------------------
	Keldos
	About: Keldos's website.
	Author: Keldos
	Version: 1.0
	Built with Blocs
-----------------------------------------------------------------------------------*/

body {
    margin: 0;
    padding: 0;
    background: #FFFFFF;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.page-container {
    overflow: hidden;
}


/* Prevents unwanted scroll space when scroll FX used. */

a,
button {
    transition: background .3s ease-in-out;
    outline: none!important;
}


/* Prevent blue selection glow on Chrome and Safari */

a:hover {
    text-decoration: none;
    cursor: pointer;
}

.scroll-fx-lock-init {
    position: fixed!important;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99999;
}


/* ScrollFX Lock */

.blocs-grid-container {
    display: grid!important;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    column-gap: 1.5rem;
    row-gap: 1.5rem;
}


/* CSS Grid */


/* Preloader */

.page-preloader {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    z-index: 100000;
    background: #FFFFFF url("img/pageload-spinner.gif") no-repeat center center;
    animation-name: preloader-fade;
    animation-delay: 2s;
    animation-duration: 0.5s;
    animation-fill-mode: both;
}

.preloader-complete {
    animation-delay: 0.1s;
}

@keyframes preloader-fade {
    0% {
        opacity: 1;
        visibility: visible;
    }
    100% {
        opacity: 0;
        visibility: hidden;
    }
}


/* = Blocs
-------------------------------------------------------------- */

.bloc {
    width: 100%;
    clear: both;
    background: 50% 50% no-repeat;
    padding: 0 20px;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    position: relative;
    display: flex;
}

.bloc .container {
    padding-left: 0;
    padding-right: 0;
}


/* Sizes */

.bloc-lg {
    padding: 100px 20px;
}

.bloc-md {
    padding: 50px 20px;
}

.bloc-sm {
    padding: 20px;
}


/* = Full Screen Blocs 
-------------------------------------------------------------- */

.bloc-fill-screen {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    padding-top: 20px;
    padding-bottom: 20px;
}

.bloc-fill-screen>.container {
    align-self: flex-middle;
    flex-grow: 1;
    display: flex;
    flex-wrap: wrap;
}

.bloc-fill-screen>.container>.row {
    flex-grow: 1;
    align-self: center;
    width: 100%;
}

.bloc-fill-screen .fill-bloc-top-edge,
.bloc-fill-screen .fill-bloc-bottom-edge {
    flex-grow: 0;
}

.bloc-fill-screen .fill-bloc-top-edge {
    align-self: flex-start;
}

.bloc-fill-screen .fill-bloc-bottom-edge {
    align-self: flex-end;
}


/* Background Styles */

.bg-center,
.bg-l-edge,
.bg-r-edge,
.bg-t-edge,
.bg-b-edge,
.bg-tl-edge,
.bg-bl-edge,
.bg-tr-edge,
.bg-br-edge,
.bg-repeat {
    -webkit-background-size: auto!important;
    -moz-background-size: auto!important;
    -o-background-size: auto!important;
    background-size: auto!important;
}

.bg-center {
    -webkit-background-size: auto;
}


/* Background Textures */

.bloc-bg-texture::before {
    content: "";
    background-size: 2px 2px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.texture-paper::before {
    background: url("img/texture-paper.png");
    background-size: 280px 280px;
}

.texture-darken::before {
    background: rgba(0, 0, 0, 0.5);
}

.texture-darken-strong::before {
    background: rgba(0, 0, 0, 0.8);
}


/* Background Effects */

.parallax__container {
    clip: rect(0, auto, auto, 0);
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.parallax {
    position: fixed;
    top: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}


/* Dark theme */

.d-bloc {
    color: rgba(255, 255, 255, .7);
}

.d-bloc button:hover {
    color: rgba(255, 255, 255, .9);
}

.d-bloc .icon-round,
.d-bloc .icon-square,
.d-bloc .icon-rounded,
.d-bloc .icon-semi-rounded-a,
.d-bloc .icon-semi-rounded-b {
    border-color: rgba(255, 255, 255, .9);
}

.d-bloc .divider-h span {
    border-color: rgba(255, 255, 255, .2);
}

.d-bloc .a-btn,
.d-bloc .navbar a,
.d-bloc a .icon-sm,
.d-bloc a .icon-md,
.d-bloc a .icon-lg,
.d-bloc a .icon-xl,
.d-bloc h1 a,
.d-bloc h2 a,
.d-bloc h3 a,
.d-bloc h4 a,
.d-bloc h5 a,
.d-bloc h6 a,
.d-bloc p a {
    color: rgba(255, 255, 255, .6);
}

.d-bloc .a-btn:hover,
.d-bloc .navbar a:hover,
.d-bloc a:hover .icon-sm,
.d-bloc a:hover .icon-md,
.d-bloc a:hover .icon-lg,
.d-bloc a:hover .icon-xl,
.d-bloc h1 a:hover,
.d-bloc h2 a:hover,
.d-bloc h3 a:hover,
.d-bloc h4 a:hover,
.d-bloc h5 a:hover,
.d-bloc h6 a:hover,
.d-bloc p a:hover {
    color: rgba(255, 255, 255, 1);
}

.d-bloc .navbar-toggle .icon-bar {
    background: rgba(255, 255, 255, 1);
}

.d-bloc .btn-wire,
.d-bloc .btn-wire:hover {
    color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, 1);
}

.d-bloc .card {
    color: rgba(0, 0, 0, .5);
}

.d-bloc .card button:hover {
    color: rgba(0, 0, 0, .7);
}

.d-bloc .card icon {
    border-color: rgba(0, 0, 0, .7);
}

.d-bloc .card .divider-h span {
    border-color: rgba(0, 0, 0, .1);
}

.d-bloc .card .a-btn {
    color: rgba(0, 0, 0, .6);
}

.d-bloc .card .a-btn:hover {
    color: rgba(0, 0, 0, 1);
}

.d-bloc .card .btn-wire,
.d-bloc .card .btn-wire:hover {
    color: rgba(0, 0, 0, .7);
    border-color: rgba(0, 0, 0, .3);
}


/* Light theme */

.d-bloc .card,
.l-bloc {
    color: rgba(0, 0, 0, .5);
}

.d-bloc .card button:hover,
.l-bloc button:hover {
    color: rgba(0, 0, 0, .7);
}

.l-bloc .icon-round,
.l-bloc .icon-square,
.l-bloc .icon-rounded,
.l-bloc .icon-semi-rounded-a,
.l-bloc .icon-semi-rounded-b {
    border-color: rgba(0, 0, 0, .7);
}

.d-bloc .card .divider-h span,
.l-bloc .divider-h span {
    border-color: rgba(0, 0, 0, .1);
}

.d-bloc .card .a-btn,
.l-bloc .a-btn,
.l-bloc .navbar a,
.l-bloc a .icon-sm,
.l-bloc a .icon-md,
.l-bloc a .icon-lg,
.l-bloc a .icon-xl,
.l-bloc h1 a,
.l-bloc h2 a,
.l-bloc h3 a,
.l-bloc h4 a,
.l-bloc h5 a,
.l-bloc h6 a,
.l-bloc p a {
    color: rgba(0, 0, 0, .6);
}

.d-bloc .card .a-btn:hover,
.l-bloc .a-btn:hover,
.l-bloc .navbar a:hover,
.l-bloc a:hover .icon-sm,
.l-bloc a:hover .icon-md,
.l-bloc a:hover .icon-lg,
.l-bloc a:hover .icon-xl,
.l-bloc h1 a:hover,
.l-bloc h2 a:hover,
.l-bloc h3 a:hover,
.l-bloc h4 a:hover,
.l-bloc h5 a:hover,
.l-bloc h6 a:hover,
.l-bloc p a:hover {
    color: rgba(0, 0, 0, 1);
}

.l-bloc .navbar-toggle .icon-bar {
    color: rgba(0, 0, 0, .6);
}

.d-bloc .card .btn-wire,
.d-bloc .card .btn-wire:hover,
.l-bloc .btn-wire,
.l-bloc .btn-wire:hover {
    color: rgba(0, 0, 0, .7);
    border-color: rgba(0, 0, 0, .3);
}


/* = NavBar
-------------------------------------------------------------- */

.navbar-dark .nav .dropdown-menu .nav-link {
    color: rgb(64, 64, 64);
}


/* Navbar Icon */

.svg-menu-icon {
    fill: none;
    stroke: rgba(0, 0, 0, 0.5);
    stroke-width: 2px;
    fill-rule: evenodd;
}

.navbar-dark .svg-menu-icon {
    stroke: rgba(255, 255, 255, 0.5);
}

.menu-icon-thin-bars {
    stroke-width: 1px;
}

.menu-icon-thick-bars {
    stroke-width: 5px;
}

.menu-icon-rounded-bars {
    stroke-width: 3px;
    stroke-linecap: round;
}

.menu-icon-filled {
    fill: rgba(0, 0, 0, 0.5);
    stroke-width: 0px;
}

.navbar-dark .menu-icon-filled {
    fill: rgba(255, 255, 255, 0.5);
}

.navbar-toggler-icon {
    background: none!important;
    pointer-events: none;
    width: 33px;
    height: 33px;
}

.navbar-toggle.menu-icon-thin-bars {
    margin-top: 4px!important;
}


/* Handle Multi Level Navigation */

.dropdown-menu .dropdown-menu {
    border: none
}

@media (min-width:576px) {
    .navbar-expand-sm .dropdown-menu .dropdown-menu {
        border: 1px solid rgba(0, 0, 0, .15);
        position: absolute;
        left: 100%;
        top: -7px
    }
    .navbar-expand-sm .dropdown-menu .submenu-left {
        right: 100%;
        left: auto
    }
}

@media (min-width:768px) {
    .navbar-expand-md .dropdown-menu .dropdown-menu {
        border: 1px solid rgba(0, 0, 0, .15);
        border: 1px solid rgba(0, 0, 0, .15);
        position: absolute;
        left: 100%;
        top: -7px
    }
    .navbar-expand-md .dropdown-menu .submenu-left {
        right: 100%;
        left: auto
    }
}

@media (min-width:992px) {
    .navbar-expand-lg .dropdown-menu .dropdown-menu {
        border: 1px solid rgba(0, 0, 0, .15);
        position: absolute;
        left: 100%;
        top: -7px
    }
    .navbar-expand-lg .dropdown-menu .submenu-left {
        right: 100%;
        left: auto
    }
}


/* = Buttons
-------------------------------------------------------------- */

.btn-d,
.btn-d:hover,
.btn-d:focus {
    color: #FFF;
    background: rgba(0, 0, 0, .3);
}


/* Prevent ugly blue glow on chrome and safari */

button {
    outline: none!important;
}

.btn-wire {
    background: transparent!important;
    border: 2px solid transparent;
}

.btn-wire:hover {
    background: transparent!important;
    border: 2px solid transparent;
}


/* = Icons
-------------------------------------------------------------- */

.icon-md {
    font-size: 30px!important;
}


/* = Text & Icon Styles
-------------------------------------------------------------- */

.sm-shadow {
    text-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}


/* = Text Widths
-------------------------------------------------------------- */

.text-w-80 {
    max-width: 80%;
}

.text-center.text-w-sm,
.text-center.text-w-md,
.text-center.text-w-lg,
.text-center.text-w-90,
.text-center.text-w-80,
.text-center.text-w-70,
.text-center.text-w-60,
.text-center.text-w-50 {
    margin-left: auto;
    margin-right: auto;
}

.card-sq,
.card-sq .card-header,
.card-sq .card-footer {
    border-radius: 0;
}

.card-rd {
    border-radius: 30px;
}

.card-rd .card-header {
    border-radius: 29px 29px 0 0;
}

.card-rd .card-footer {
    border-radius: 0 0 29px 29px;
}


/* = Classic Dividers
-------------------------------------------------------------- */

.divider-h {
    min-height: 1px;
    background-color: rgba(0, 0, 0, .2);
    margin: 20px 0;
}

.divider-half {
    width: 50%;
}

.dropdown-menu .divider-h {
    margin: 0;
}

.carousel-nav-icon {
    fill: none;
    stroke: #fff;
    stroke-width: 2px;
    fill-rule: evenodd;
    stroke-linecap: round;
}


/* ScrollToTop button */

.scrollToTop {
    width: 36px;
    height: 36px;
    padding: 5px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    opacity: 0;
    z-index: 999;
    transition: all .3s ease-in-out;
    pointer-events: none;
}

.showScrollTop {
    opacity: 1;
    pointer-events: all;
}

.scroll-to-top-btn-icon {
    fill: none;
    stroke: #fff;
    stroke-width: 2px;
    fill-rule: evenodd;
    stroke-linecap: round;
}


/* = Custom Styling
-------------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
.btn,
a {
    font-family: "Monda", "Helvetica Neue", Helvetica, "PingFang SC", "Microsoft YaHei", sans-serif;
}

.container {
    max-width: 1140px;
}

.footer-link {
    margin-bottom: 20px;
}

.hero-heading {
    width: 100%;
    font-size: 80px;
    text-transform: uppercase;
}

.navbar-brand img {
    max-width: 40px;
    width: 50px;
}

.navbar-nav li a {
    font-weight: bold;
    text-transform: uppercase;
}

.primary-divider {
    background-color: var(--swatch-var-Primary);
    max-width: 150px;
    height: 2px;
}

.box {
    padding: 40px 40px 40px 40px;
    border-style: double;
    border-color: var(--swatch-var-Black)!important;
    border-width: 10px 10px 10px 10px;
    width: 100%;
    background-color: var(--swatch-var-Primary);
}

.section-heading {
    font-weight: bold;
    font-size: 36px;
    text-transform: uppercase;
}

.section-p {
    font-size: 20px;
}

.hero-sub-heading {
    font-size: 24px;
    text-transform: uppercase;
}

.primary-btn {
    background-color: var(--swatch-var-Primary);
}

.primary-btn:hover {
    background-color: var(--swatch-var-79);
}

.btn {
    font-weight: bold;
}

.center-divider {
    margin-left: auto;
    margin-right: auto;
}

.primary-icon {
    fill: var(--swatch-var-Primary);
}

.custom-field {
    background-color: transparent;
    border-style: solid;
    border-color: var(--swatch-var-Primary)!important;
    border-radius: 0px 0px 0px 0px;
    margin-bottom: 20px;
    border-width: 2px 2px 2px 2px;
    caret-color: var(--swatch-var-Primary);
    color: var(--swatch-var-White)!important;
}

.custom-field::placeholder {
    color: var(--swatch-var-Primary)!important;
}

.custom-field:focus {
    background-color: transparent;
    color: var(--swatch-var-White)!important;
}

.name-heading {
    font-size: 40px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Rubik", "Helvetica", "Lato", "PingFang SC", "Microsoft YaHei", sans-serif;
}

h1 {
    font-family: "Rubik Mono One", sans-serif;
}

.p-style {
    line-height: 16px;
    font-size: 14px;
}

.bloc-divider-b-style {
    height: 0px;
}


/* = Colour
-------------------------------------------------------------- */


/* Swatch Variables */

:root {
    --swatch-var-White-50%: rgba(255, 255, 255, 0.50);
    --swatch-var-White: rgba(255, 255, 255, 1.00);
    --swatch-var-Primary: rgba(33, 62, 149, 1.00);
    --swatch-var-Black: rgba(15, 15, 15, 1.00);
    --swatch-var-Black-50%: rgba(15, 15, 15, 0.50);
}


/* Background colour styles */

.bgc-3409 {
    background-color: var(--swatch-var-Primary);
}

.bgc-1165 {
    background-color: var(--swatch-var-Black);
}

.bgc-6728 {
    background-color: var(--swatch-var-White);
}


/* Text colour styles */

.tc-3409 {
    color: var(--swatch-var-Primary)!important;
}

.tc-6728 {
    color: var(--swatch-var-White)!important;
}

.tc-3648 {
    color: var(--swatch-var-White-50%)!important;
}

.tc-1165 {
    color: var(--swatch-var-Black)!important;
}

.tc-5561 {
    color: var(--swatch-var-Black-50%)!important;
}


/* Link colour styles */

.ltc-3409 {
    color: var(--swatch-var-Primary)!important;
}

.ltc-3409:hover {
    color: #000B62!important;
}


/* Bloc image backgrounds */

.bg-63e362b04757feff332b58d2 {
    background-image: url("https://r2.keldos.me/63e362b04757feff332b58d2.jpg.jpeg");
}

.bg-63e362b04757feff332b58a9 {
    background-image: url("https://r2.keldos.me/63e362b04757feff332b58a9.jpeg");
}

.bg-63e3638c4757feff332cd9c4 {
    background-image: url("https://r2.keldos.me/63e3638c4757feff332cd9c4.png");
}


/* = Bloc Padding Multi Breakpoint
-------------------------------------------------------------- */

@media (min-width: 576px) {
    .bloc-xxl-sm {
        padding: 200px 20px;
    }
    .bloc-xl-sm {
        padding: 150px 20px;
    }
    .bloc-lg-sm {
        padding: 100px 20px;
    }
    .bloc-md-sm {
        padding: 50px 20px;
    }
    .bloc-sm-sm {
        padding: 20px;
    }
    .bloc-no-padding-sm {
        padding: 0 20px;
    }
}

@media (min-width: 768px) {
    .bloc-xxl-md {
        padding: 200px 20px;
    }
    .bloc-xl-md {
        padding: 150px 20px;
    }
    .bloc-lg-md {
        padding: 100px 20px;
    }
    .bloc-md-md {
        padding: 50px 20px;
    }
    .bloc-sm-md {
        padding: 20px 20px;
    }
    .bloc-no-padding-md {
        padding: 0 20px;
    }
}

@media (min-width: 992px) {
    .bloc-xxl-lg {
        padding: 200px 20px;
    }
    .bloc-xl-lg {
        padding: 150px 20px;
    }
    .bloc-lg-lg {
        padding: 100px 20px;
    }
    .bloc-md-lg {
        padding: 50px 20px;
    }
    .bloc-sm-lg {
        padding: 20px;
    }
    .bloc-no-padding-lg {
        padding: 0 20px;
    }
}


/* = Mobile adjustments 
-------------------------------------------------------------- */

@media (max-width: 1024px) {
    .bloc.full-width-bloc,
    .bloc-tile-2.full-width-bloc .container,
    .bloc-tile-3.full-width-bloc .container,
    .bloc-tile-4.full-width-bloc .container {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width: 991px) {
    .container {
        width: 100%;
    }
    .bloc {
        padding-left: constant(safe-area-inset-left);
        padding-right: constant(safe-area-inset-right);
    }
    /* iPhone X Notch Support*/
    .bloc-group,
    .bloc-group .bloc {
        display: block;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .bloc-tile-2 .container,
    .bloc-tile-3 .container,
    .bloc-tile-4 .container {
        padding-left: 0;
        padding-right: 0;
    }
    .btn-dwn {
        display: none;
    }
    .voffset {
        margin-top: 5px;
    }
    .voffset-md {
        margin-top: 20px;
    }
    .voffset-lg {
        margin-top: 30px;
    }
    form {
        padding: 5px;
    }
    .close-lightbox {
        display: inline-block;
    }
    .blocsapp-device-iphone5 {
        background-size: 216px 425px;
        padding-top: 60px;
        width: 216px;
        height: 425px;
    }
    .blocsapp-device-iphone5 img {
        width: 180px;
        height: 320px;
    }
}

@media (max-width: 767px) {
    .box {
        background-color: #AE7C4F;
    }
    .menu-icon {
        stroke: var(--swatch-var-White-50%);
        fill: var(--swatch-var-White-50%);
    }
    .hero-menu-icon {
        stroke: var(--swatch-var-White-50%);
        fill: var(--swatch-var-White-50%);
    }
    .text-right {}
    .text-left {}
    .text-center {}
}

@media (max-width: 575px) {
    .footer-link {
        text-align: center;
    }
    .footer-social-icons {
        text-align: center;
    }
    .section-heading {
        font-size: 30px;
    }
    .section-p {
        font-size: 18px;
    }
    .name-heading {
        font-size: 30px;
    }
    .hero-heading {
        font-size: 60px;
    }
    .box {
        padding: 20px 20px 20px 20px;
    }
    .p-style {
        font-size: 10px;
    }
}