
:root {
    --body-text-white-color: #fff;
    --body-text-light-color: #afb4bf;
    --body-text-color: #000;
    --body-bg: #f2f2f6;

    --sidebar-text-color: #bec5cc;
    --sidebar-bg: #182535;
    --sidebar-item-open-bg: #212e3d;
    --sidebar-item-hover-bg: #2a3645;
    --sidebar-brand-text-color: #fff;

    --primary-color: #023e8a;
    --primary-hover-color: #2555a1;
    --primary-focus-color: #02387c;
    --primary-light-color: #fff9e7;

    --accent-color: #e78e36;
    --accent-hover-color: #eca55e;
    --accent-focus-color: #b9722b;
    --accent-light-color: #fdf4eb;

    --secondary-color: #69809a;
    --secondary-hover-color: #8799ae;
    --secondary-focus-color: #596d83;

    --success-color: #39da8a;
    --success-hover-color: #61e1a1;
    --success-focus-color: #30b975;

    --info-color: #00cfdd;
    --info-hover-color: #33d9e4;
    --info-focus-color: #00b0bc;

    --warning-color: #fdac41;
    --warning-hover-color: #fdbd67;
    --warning-focus-color: #d79237;

    --danger-color: #ff5b5c;
    --danger-hover-color: #ff7c7d;
    --danger-focus-color: #d94d4e;

    --light-btn-text-color: #263c55;
    --light-color: #e5e9ed;
    --light-hover-color: #b7babe;
    --light-focus-color: #e9ecf0;

    --dark-color: #495563;
    --dark-hover-color: #6d7782;
    --dark-focus-color: #3e4854;

    --bs-body-font-family: "Roboto", "Battambang", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    --bs-title-font-family: "Roboto Condensed", "Koulen", "Battambang", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}

body {
    background: #fff;
}
.container-xl {
    max-width: 1700px;
}
.text-primary {
    color: var(--primary-color) !important;
}
.main-title {
    position: relative;
    padding-bottom: 5px;
    margin-bottom: 20px;
    font-weight: bold;
}
.main-title:after {
    content: "";
    width: 60px;
    height: 6px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #0066cc;
}
.title-border {
    border-bottom: 3px solid var(--primary-color);
    margin-bottom: 15px;
}
.block-shadow {
    box-shadow:0 2px 40px 8px rgba(15, 15, 15, 0.15);
}
.dropdown.dropdown-hover:hover>.dropdown-menu {
  display: block;
}
.card-content .card-body{
    padding: 20px 30px;
}
.content-page {
    padding: 35px 0;
}
.content-image {
    padding: 5px;
    border: 1px solid #eee;
    border-radius: 5px;
}
ul {
    list-style-type: disc;
}
#page-404 {
    padding: 50px 0 100px 0;
}
#page-404 img{
    max-width: 850px;
}

/* Start: Component Style */
    .btn-theme {
        border-radius: 0;
        padding: 1.2rem 2.8rem;
    }
    .btn-theme i.bx{
        font-size: 1.5rem;
        /* top: 0.3rem; */
    }
    .btn {
        padding: 0.5rem 1.5rem;
        font-weight: 700;
    }
    .btn-primary {
        background: var(--primary-color);
    }
    .btn-primary:hover {
        background: var(--primary-hover-color);
    }
    .btn-link {
        color: #000;
        transition: 0.3s ease-in-out;
        text-decoration: none;
    }
    .btn-link:hover {
        color: var(--primary-color);
    }
    .loading-more .sk-cube-grid {
        width: 30px;
        height: 30px;
    }
    .loading-more .sk-cube-grid .sk-cube {
        background-color: var(--primary-color) !important;
    }
    .dropdown-item {
        transition: 0.3s ease-in-out;
    }
    .dropdown-item:hover {
        background: var(--primary-color);
        color: #fff;
    }
    .dropend.drop-hover:hover>.dropdown-menu,
    .dropdown.drop-hover:hover>.dropdown-menu {
        display: block;
    }
    .dropdown-toggle {
        pointer-events: unset;
    }
    .dropend.drop-hover>.dropdown-toggle:active,
    .dropdown.drop-hover>.dropdown-toggle:active {
        pointer-events: unset;
    }
    .dropend-sub-toggle {
        padding-right: 1.8rem;
    }
    .dropend-sub-toggle::after {
        display: inline-block;
        margin-left: .255em;
        vertical-align: .255em;
        content: "";
        border-top: .3em solid transparent;
        border-right: 0;
        border-bottom: .3em solid transparent;
        border-left: .3em solid;
        position: absolute;
        top: 38%;
        right: 0.8rem;
    }
    .dropdown-menu li {
        position: relative;
    }
    .dropdown-menu .dropdown-submenu {
        display: none;
        position: absolute;
        left: 100%;
        top: -7px;
    }
    .dropdown-menu .dropdown-submenu-left {
        right: 100%;
        left: auto;
    }
    .dropdown-menu > li:hover > .dropdown-submenu {
        display: block;
    }
/* Start: Component Style */

/* Start: Footer */
    #footer-top {
        padding: 5.5rem 0 9rem 0;

        img{
            width: 460px;
        }
        .list-social li a {
            background: var(--primary-color);
            color: #fff;
            display: block;
            width: 50px;
            height: 50px;
            line-height: 57px;
            font-size: 30px;
            text-align: center;
            transition: 0.3s ease-in-out;
        }
        .list-social li a:hover {
            background: #fff;
            color: var(--primary-color);
            box-shadow: var(--bs-box-shadow-sm);
        }
    }
    #footer-bottom {
        background-color: var(--primary-color);
        color: var(--body-text-white-color);
        padding: 50px 0 15px 0;
        margin-top: -3px;
        position: relative;

        .list-social li a{
            color: var(--body-text-white-color);
            font-size: 20px;
            display: block;
            padding: 5px 0;
        }
        .list-social li a:hover{
            color: #fff;
        }
    }
    #footer-bottom::before {
        background: url('/storage/images/site/footer.png') bottom center no-repeat;
        background-size:  100%;
        content: '';
        width: 100%;
        height: 500px;
        position: absolute;
        top: -455px;
    }
/* End: Footer */

/* Start: Main menu */
    .navbar-main {
        padding: 0;
        position: sticky;
        top: 0;
        z-index: 9;
        margin-bottom: -1rem;
        transition: 0.2s ease-in-out;
        background: var(--primary-color);

        .navbar-toggler {
            color: var(--body-text-white-color);
            outline: 0;
        }
        .navbar-toggler:focus {
            box-shadow: none;
        }

        .navbar-brand img {
            transition: 0.2s ease-in-out;
            height: 55px;
        }
        .navbar-main.bg-sticky .navbar-brand img {
            width: 160px;
        }
        .navbar-nav li a.nav-link {
            color: var(--body-text-white-color);
            transition: 0.2s ease-in-out;
            padding: 0.75rem 1.25rem;
            margin-right: 0.25rem;
            font-weight: bold;
        }
        .navbar-nav li a.nav-link.active,
        .navbar-nav li a.nav-link:hover {
            color: #fff;
        }
    }
/* End: Main menu */

/* Start: Front Slider */
    #front-carousel{
        .carousel-item img {
            height: 780px !important;
            object-fit: cover;
        }
        .carousel-item .carousel-caption {
            bottom: auto;
            top: 0px;
            height: 100%;
            width: 950px;
            display: flex !important;
            justify-content: start;
            align-items: center;
            text-align: left;
        }
        .carousel-item .carousel-caption .caption {
            text-shadow: var(--bs-box-shadow-sm) !important;
            display: flex;
            align-items: center;
            background: rgb(0, 119, 182, 0.6);
        }
        .carousel-item .carousel-caption .caption .carousel-text{
            padding: 20px 40px;
        }
        .carousel-item .carousel-caption .caption .carousel-logo{
            width: 250px;
        }
        .carousel-item .carousel-caption .caption .carousel-logo img{
            width: 250px !important;
            height: 250px !important;
        }
        .carousel-item .carousel-caption .caption .carousel-text .title {
            color: #fff;
            font-size: 50px;
        }
        .carousel-item .carousel-caption .caption .carousel-text .text {
            font-size: 25px;
            font-weight: bold;
        }
        .carousel-item .carousel-caption .caption .carousel-text .text p {
            margin-bottom: 0px;
        }
    }
/* End: Front Slider */

/* Start: Welcome Message */
    #welcome-port-location {
        padding: 7rem 0;
    }
    #welcome-message {
        padding-top: 1rem;

        .title {
            font-size: 5rem;
            line-height: 5rem;
            margin-bottom: 2rem;
            color: var(--primary-color);
        }
        .content {
            max-width: 800px;
            margin: 0 auto;
            font-size: 20px;
        }
        .content .btn {
            font-size: 20px;
        }
    }
/* End: Welcome Message */

/* Start: Contact Us page */
    #contact-page {
        label {
            color: var(--body-text-white-color);
        }
        .contact-banner {
            height: 680px;
            overflow: hidden;
            position: relative;
        }
        .contact-banner img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .contact-banner .content {
            position: absolute;
            width: 660px;
            right: 0;
            top: 33%;
            padding: 20px 60px;
            text-align: right;
        }
        .contact-banner .content .title {
            color: #012061;
            font-size: 80px;
            line-height: 95px;
        }
        .contact-banner .content .excerpt {
            color: #012061;
            font-size: 30px;
            line-height: 35px;
            width: 80%;
            margin-left: auto;
        }
        .contact-item {
            margin-bottom: 15px;
            padding: 25px 0;
        }
        .contact-item .title {
            text-align: center;
            margin-bottom: 20px;
        }
        .contact-item .content {
            max-width: 400px;
            margin: 0 auto;
            display: flex;
            gap: 10px;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            font-size: 20px;
        }
        .contact-item .content .contact-icon {
            width: 100px;
        }
    }
/* End: Contact Us page */

/* Start: Service page */
    .banner-title {
        /* background-image: linear-gradient(to right, var(--primary-color) , var(--body-text-white-color-color)); */
        background-image: linear-gradient(to right, var(--primary-color) 65%, #fff);
        color: var(--body-text-white-color);
        text-align: center;
        /* padding: 5px 0; */
    }
    .service-item {
        padding: 15px;
        border: 1px solid #eee;
    }
/* End: Service page */

/* Start: Job page */
    .job-item {
        padding-bottom: 1rem;
    }
    .job-item header {
        padding: 1rem 1rem;
        background: var(--primary-color);
        color: #fff;
    }
    .job-item .title {
        color: #fff;
    }
    .job-item a {
        color: #fff;
    }
    .job-item a:hover {
        text-decoration: underline;
    }
/* End: Job page */


/* *`xxl` applies to x-large devices (large desktops, less than 1400px) */
@media (max-width: 1399.98px) {
    /* Start: Welcome Message */
    #welcome-message {
        padding-top: 0.5rem;

        .title {
            font-size: 4rem;
            line-height: 4rem;
            margin-bottom: 1.2rem;
        }
        .content,
        .content .btn {
            font-size: 18px;
        }
    }
    /* End: Welcome Message */
}

/* *`xl` applies to large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
    /* Start: Welcome Message */
    #welcome-message {
        /* padding-top: 0.5rem; */

        .title {
            font-size: 3rem;
            line-height: 3rem;
            margin-bottom: 1rem;
        }
        .content,
        .content .btn {
            font-size: 16px;
        }
    }
    /* End: Welcome Message */
}

/* *`lg` applies to medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    /* body {
        background: green;
    } */

    #front-carousel{
        .carousel-item .carousel-caption .caption .carousel-logo{
            width: 180px !important;
        }
        .carousel-item .carousel-caption .caption .carousel-logo img{
            width: 180px !important;
            height: 180px !important;
        }
    }
}

/* *`md` applies to small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
    /* body {
        background: blue;
    } */

    #front-carousel{
        .carousel-item .carousel-caption{
            left: 5%;
        }
        .carousel-control-next,
        .carousel-control-prev{
            width: auto;
        }
    }
    /* Start: Contact Us page */
    #contact-page {
        .contact-banner {
            height: 350px;
        }
        .contact-banner .content {
            width: 420px;
            padding: 15px 30px;
        }
        .contact-banner .content .title {
            font-size: 50px;
            line-height: 65px;
        }
        .contact-banner .content .excerpt {
            font-size: 20px;
            line-height: 25px;
        }
    }
    /* End: Contact Us page */
}

/* *`sm` applies to x-small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    /* body {
        background: red;
    } */

    .navbar-main {
        .container {
            border-radius: 0;
        }
    }
    #front-carousel{
        .carousel-item .carousel-caption{
            left: 5%;
        }
        .carousel-item .carousel-caption .caption .carousel-logo{
            display: none;
        }
    }
    /* Start: Contact Us page */
    #contact-page {
        .contact-banner {
            height: 300px;
        }
        .contact-banner .content {
            width: 400px;
            padding: 15px 30px;
        }
        .contact-banner .content .title {
            font-size: 40px;
            line-height: 55px;
        }
        .contact-banner .content .excerpt {
            font-size: 18px;
            line-height: 22px;
        }
    }
    /* End: Contact Us page */
}

[lang="km"] {
    #welcome-message .title {
        line-height: 7.2rem !important;
    }
    .contact-banner .title {
        line-height: 7.2rem !important;
    }
    .contact-banner .excerpt {
        line-height: 3.2rem !important;
    }
}