/* Theme Default style
-------------------------------------------------------------- */
* {
    box-sizing: border-box;
}

/* HTML and Body Styles
--------------------------------------------------------------*/
html,
body {
    font-weight: 400;
    font-size: 15px;
    margin: 0px;
    padding: 0px;
    font-optical-sizing: auto;
    font-style: normal;
    line-height: inherit;
}

/* Link Styles
--------------------------------------------------------------*/
a {
    text-decoration: none;
}

/* Paragraph Styles
--------------------------------------------------------------*/
p {
    margin: 5px 0px;
}

/* Utility Classes
--------------------------------------------------------------*/
.bg-white {
    background-color: #FFF;
}
.bg-transparent{
    background: transparent;
}
.overflow-hidden {
    overflow: hidden;
}
.overflow-auto {
    overflow: auto;
}
.overflow-horizontal-auto {
    overflow-x: auto;
}
.overflow-vertical-auto {
    overflow-y: auto;
}
/* Animate skew
--------------------------------------------------------------*/
.animate-shine:after{
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .3) 100%);
    transform: skewX(-25deg);
}
.animate-shine:hover:after{
    animation: shine .75s;
}
@keyframes shine{
    100% {
        left: 125%;
    }
}
/* Animate Border
--------------------------------------------------------------*/
.animate-border svg {
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%
}
.animate-border rect {
    fill: none;
    stroke: #e1eaf5;
    stroke-width: 2;
    stroke-dasharray: 422,0;
    transition: all .35s linear
}
.animate-border:hover rect {
    stroke-width: 6px;
    stroke: #ffba00;
    stroke-dasharray: 15,288;
    stroke-dashoffset: 48
}
/* Loading Spinner
--------------------------------------------------------------*/
.loading-spinner {
    width: 40px;
    height: 40px;
    z-index: 10;
    border: 3px solid #646464;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}
.loading-spinner::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 3px solid;
    border-color: #FF3D00 transparent;
}

/* Rotation Animation
--------------------------------------------------------------*/
@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Clearfix Utility
--------------------------------------------------------------*/
.clear-both {
    clear: both;
}
.clear {
    clear: both;
    width: 100%;
}
/* Responsive Media Elements
--------------------------------------------------------------*/
iframe,
img {
    max-width: 100%;
    height: auto;
}

.mejs-mediaelement iframe {
    height: 100%;
}
/* Text Clipping Classes
--------------------------------------------------------------*/
.line1,
.line2,
.line3,
.line4 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
}

.line1 {
    -webkit-line-clamp: 1;
}

.line2 {
    -webkit-line-clamp: 2;
}

.line3 {
    -webkit-line-clamp: 3;
}

.line4 {
    -webkit-line-clamp: 4;
}

/* Shadow Effects
--------------------------------------------------------------*/
.shadow {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
}

/* Full Width and Height Utility Classes
--------------------------------------------------------------*/
.width100 {
    width: 100%;
}

.height100 {
    height: 100%;
}

.height-100vh {
    height: 100vh;
}

.width-100vh {
    width: 100vh;
}

/* Background Style
 --------------------------------------------------------------*/
.background-fixed {
    background-attachment: fixed;
}

.background-center {
    background-position: center;
}

.background-no-repeat {
    background-repeat: no-repeat;
}

.background-cover {
    background-size: cover;
}

.background-contain {
    background-size: contain;
}
/* WordPress Editor
--------------------------------------------------------------*/
.alignnone {
    margin: 5px 20px;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0px 5px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 5px 0px;
}

a img.alignright {
    float: right;
    margin: 5px 0px 5px 20px;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 5px 0px;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #eee;
    border: 1px solid #f0f0f0;
    max-width: 100%;
    padding: 5px 10px;
    text-align: center;
}

/* Text meant only for screen readers
--------------------------------------------------------------*/
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Blockquote Styles
--------------------------------------------------------------*/
blockquote {
    margin: 10px 0px;
    padding: 15px 20px 15px 50px;
    background: #EEE;
    border-radius: 5px;
}

/* Element cursor pointer
--------------------------------------------------------------*/
.cursor-pointer {
    cursor: pointer;
}

/* ratio height 56.25%
--------------------------------------------------------------*/
.ratio-height {
    height: 0px;
    padding-top: 56.25% !important;
}
/* Grid style
--------------------------------------------------------------*/
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    max-width: 1300px;
}

.row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.row > * {
    box-sizing: border-box;
    flex-shrink: 0;
    max-width: 100%;
}

.col {
    flex: 0 0 auto;
    width: 100%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
}

/* Column width classes (based on a 12-column grid system)
--------------------------------------------------------------*/
.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
}

.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
}

.col-3 {
    flex: 0 0 auto;
    width: 25%;
}

.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
}

.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
}

.col-6 {
    flex: 0 0 auto;
    width: 50%;
}

.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
}

.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
}

.col-9 {
    flex: 0 0 auto;
    width: 75%;
}

.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
}

.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
}

.col-12 {
    flex: 0 0 auto;
    width: 100%;
}
/* Media query for screens with minimum width of 576px
--------------------------------------------------------------*/
@media (min-width: 576px) {

    /* Default flex behavior for col-sm
    --------------------------------------------------------------*/
    .col-sm {
        flex: 1 0 0;
    }
    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-sm-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-sm-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-sm-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-sm-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-sm-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-sm-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-sm-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-sm-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-sm-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-sm-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-sm-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-sm-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* Media query for screens with minimum width of 768px
--------------------------------------------------------------*/
@media (min-width: 768px) {

    /* Default flex behavior for col-md
    --------------------------------------------------------------*/
    .col-md {
        flex: 1 0 0%;
    }

    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}
/* Media query for screens with minimum width of 992px
--------------------------------------------------------------*/
@media (min-width: 992px) {

    /* Default flex behavior for col-lg
    --------------------------------------------------------------*/
    .col-lg {
        flex: 1 0 0%;
    }

    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-lg-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-lg-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-lg-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-lg-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-lg-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* Media query for screens with minimum width of 1200px
--------------------------------------------------------------*/
@media (min-width: 1200px) {
    /* Default flex behavior for col-xl
    --------------------------------------------------------------*/
    .col-xl {
        flex: 1 0 0%;
    }

    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}
/* Media query for screens with minimum width of 1400px
--------------------------------------------------------------*/
@media (min-width: 1400px) {

    /* Default flex behavior for col-xxl
    --------------------------------------------------------------*/
    .col-xxl {
        flex: 1 0 0%;
    }

    /* Flex container with auto width
    --------------------------------------------------------------*/
    .col-xxl-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* Flex classes for 1 to 12 columns with different widths
    --------------------------------------------------------------*/
    .col-xxl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }

    .col-xxl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }

    .col-xxl-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-xxl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-xxl-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-xxl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }

    .col-xxl-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-xxl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }

    .col-xxl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }

    .col-xxl-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}

/* Border Radius Classes
 --------------------------------------------------------------*/
.radius0 {
    border-radius: 0px;
}

.radius1 {
    border-radius: 5px;
}

.radius2 {
    border-radius: 10px;
}

.radius3 {
    border-radius: 15px;
}

.radius4 {
    border-radius: 20px;
}

.radius5 {
    border-radius: 25px;
}
.radius-circle{
    border-radius: 50%;
}
/* Margin Classes
--------------------------------------------------------------*/
.m-1{
    margin:5px;
}
.m-2{
    margin:10px;
}
.m-3{
    margin:15px;
}
.m-4{
    margin:20px;
}
.m-5{
    margin:25px;
}
.m-0 {
    margin: 0;
}
.mt-0 {
    margin-top: 0;
}
.me-0 {
    margin-right: 0;
}

.mb-0 {
    margin-bottom: 0;
}

.ms-0 {
    margin-left: 0;
}

/* Padding Classes
 --------------------------------------------------------------*/
.p-0 {
    padding: 0;
}
.p-1 {
    padding: 5px;
}
.p-2 {
    padding: 10px;
}
.p-3 {
    padding: 15px;
}
.p-4 {
    padding: 20px;
}
.p-5 {
    padding: 25px;
}
.pt-0 {
    padding-top: 0;
}

.pe-0 {
    padding-right: 0;
}

.pb-0 {
    padding-bottom: 0;
}

.ps-0 {
    padding-left: 0;
}

/* Top Padding Classes
 --------------------------------------------------------------*/
.pt-1 {
    padding-top: 5px;
}

.pt-2 {
    padding-top: 10px;
}

.pt-3 {
    padding-top: 15px;
}

.pt-4 {
    padding-top: 20px;
}

.pt-5 {
    padding-top: 25px;
}

/* Left Padding Classes
 --------------------------------------------------------------*/
.ps-1 {
    padding-left: 5px;
}

.ps-2 {
    padding-left: 10px;
}

.ps-3 {
    padding-left: 15px;
}

.ps-4 {
    padding-left: 20px;
}

.ps-5 {
    padding-left: 25px;
}

/* Right Padding Classes
 --------------------------------------------------------------*/
.pe-1 {
    padding-right: 5px;
}

.pe-2 {
    padding-right: 10px;
}

.pe-3 {
    padding-right: 15px;
}

.pe-4 {
    padding-right: 20px;
}

.pe-5 {
    padding-right: 25px;
}

/* Bottom Padding Classes
--------------------------------------------------------------*/
.pb-1 {
    padding-bottom: 5px;
}

.pb-2 {
    padding-bottom: 10px;
}

.pb-3 {
    padding-bottom: 15px;
}

.pb-4 {
    padding-bottom: 20px;
}

.pb-5 {
    padding-bottom: 25px;
}

/* Centering Element
 --------------------------------------------------------------*/
.m-auto {
    margin-left: auto;
    margin-right: auto;
}

/* Margin Top Classes
--------------------------------------------------------------*/
.mt-1 {
    margin-top: 5px;
}

.mt-2 {
    margin-top: 10px;
}

.mt-3 {
    margin-top: 15px;
}

.mt-4 {
    margin-top: 20px;
}

.mt-5 {
    margin-top: 25px;
}

/* Margin Left Classes
--------------------------------------------------------------*/
.ms-1 {
    margin-left: 5px;
}

.ms-2 {
    margin-left: 10px;
}

.ms-3 {
    margin-left: 15px;
}

.ms-4 {
    margin-left: 20px;
}

.ms-5 {
    margin-left: 25px;
}

/* Margin Right Classes
--------------------------------------------------------------*/
.me-1 {
    margin-right: 5px;
}

.me-2 {
    margin-right: 10px;
}

.me-3 {
    margin-right: 15px;
}

.me-4 {
    margin-right: 20px;
}

.me-5 {
    margin-right: 25px;
}

/* Margin Bottom Classes
--------------------------------------------------------------*/
.mb-1 {
    margin-bottom: 5px;
}

.mb-2 {
    margin-bottom: 10px;
}

.mb-3 {
    margin-bottom: 15px;
}

.mb-4 {
    margin-bottom: 20px;
}

.mb-5 {
    margin-bottom: 25px;
}

/* Font Size Classes
--------------------------------------------------------------*/
.font9 {
    font-size: 9px;
}

.font10 {
    font-size: 10px;
}

.font11 {
    font-size: 11px;
}

.font12 {
    font-size: 12px;
}

.font13 {
    font-size: 13px;
}

.font14 {
    font-size: 14px;
}

.font15 {
    font-size: 15px;
}

.font16 {
    font-size: 16px;
}

.font17 {
    font-size: 17px;
}

.font18 {
    font-size: 18px;
}

.font19 {
    font-size: 19px;
}

.font20 {
    font-size: 20px;
}

.font21 {
    font-size: 21px;
}

.font22 {
    font-size: 22px;
}

.font23 {
    font-size: 23px;
}

.font24 {
    font-size: 24px;
}

.font25 {
    font-size: 25px;
}

.font26 {
    font-size: 26px;
}

.font27 {
    font-size: 27px;
}

.font28 {
    font-size: 28px;
}

.font29 {
    font-size: 29px;
}

.font30 {
    font-size: 30px;
}


.font35 {
    font-size: 35px;
}

.font40 {
    font-size: 40px;
}

.font45 {
    font-size: 45px;
}

.font50 {
    font-size: 50px;
}

/* Text Alignment Styles
 --------------------------------------------------------------*/
.text-center {
    text-align: center;
}

.text-start {
    text-align: left;
}

.text-end {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.text-justify-all {
    text-align: justify-all;
}

/* Text Color Styles
--------------------------------------------------------------*/
.text-white {
    color: #FFF !important;
}

.text-black {
    color: #000;
}

.text-red {
    color: #FF0000;
}
/* Text Transform Styles
--------------------------------------------------------------*/
.text-uppercase {
    text-transform: uppercase;
}

.text-transform-none {
    text-transform: none;
}

/* Font Style
--------------------------------------------------------------*/
.text-italic {
    font-style: italic;
}

.text-normal {
    font-style: normal;
}

/* Header Styles: Defines font size, color, margin, and padding for headings
 --------------------------------------------------------------*/
.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 10px 0;
}

/* h1 specific styles
--------------------------------------------------------------*/
.h1, h1 {
    font-size: 24px;
    padding: 15px 0;
}

/* h2 specific styles
--------------------------------------------------------------*/
.h2, h2 {
    font-size: 20px;
}

/* h3 specific styles
--------------------------------------------------------------*/
.h3, h3 {
    font-size: 18px;
}

/* h4, h5, h6 specific styles
--------------------------------------------------------------*/
.h4, .h5, .h6,
h4, h5, h6 {
    font-size: 16px;
}

/* Line height class for setting line-height to 0
--------------------------------------------------------------*/
.line-height0 {
    line-height: 0;
}

/* Bold font weight
--------------------------------------------------------------*/
.font-weight-bold {
    font-weight: bold;
}

/* Semi-bold font weight
--------------------------------------------------------------*/
.font-weight-500 {
    font-weight: 500;
}

/* Strong font weight
--------------------------------------------------------------*/
.font-weight-600 {
    font-weight: 600;
}

/* Normal font weight
--------------------------------------------------------------*/
.font-weight-400 {
    font-weight: 400;
}

/* Light font weight
--------------------------------------------------------------*/
.font-weight-300 {
    font-weight: 300;
}

/* Extra light font weight
--------------------------------------------------------------*/
.font-weight-200 {
    font-weight: 200;
}

/* Thin font weight
--------------------------------------------------------------*/
.font-weight-100 {
    font-weight: 100;
}

/* Display Classes
--------------------------------------------------------------*/

.d-inline-block {
    display: inline-block;
}

.d-block {
    display: block;
}

.d-flex {
    display: flex;
}

.d-inline-flex {
    display: inline-flex;
}

.d-none {
    display: none;
}

/* Style Flex
--------------------------------------------------------------*/
.flex-row {
    flex-direction: row;
}
.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

/* Justify content alignment classes (horizontal axis)
--------------------------------------------------------------*/
.justify-content-start {
    justify-content: flex-start;
}

.justify-content-end {
    justify-content: flex-end;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-between {
    justify-content: space-between;
}

.justify-content-around {
    justify-content: space-around;
}

.justify-content-evenly {
    justify-content: space-evenly;
}

/* Align items alignment classes (vertical axis)
--------------------------------------------------------------*/
.align-items-start {
    align-items: flex-start;
}

.align-items-end {
    align-items: flex-end;
}

.align-items-center {
    align-items: center;
}

.align-items-baseline {
    align-items: baseline;
}

.align-items-stretch {
    align-items: stretch;
}

/* Align content classes (when there is extra space in the container along the vertical axis)
--------------------------------------------------------------*/
.align-content-start {
    align-content: flex-start;
}

.align-content-end {
    align-content: flex-end;
}

.align-content-center {
    align-content: center;
}

.align-content-between {
    align-content: space-between;
}

.align-content-around {
    align-content: space-around;
}

.align-content-stretch {
    align-content: stretch;
}

/* Align individual items (overrides align-items)
--------------------------------------------------------------*/
.align-self-auto {
    align-self: auto;
}

.align-self-start {
    align-self: flex-start;
}

.align-self-end {
    align-self: flex-end;
}

.align-self-center {
    align-self: center;
}

.align-self-baseline {
    align-self: baseline;
}

.align-self-stretch {
    align-self: stretch;
}

/* Positioning Classes
--------------------------------------------------------------*/
.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

.position-fixed {
    position: fixed;
}
/* Alignment Classes
--------------------------------------------------------------*/
.start-0 {
    left: 0px;
}
.start-1 {
    left: 5px;
}
.start-2 {
    left: 10px;
}
.start-3 {
    left: 15px;
}
.start-4 {
    left: 20px;
}
.start-5 {
    left: 25px;
}
.start-100 {
    left: 100%;
}
.end-0 {
    right: 0px;
}
.end-1 {
    right: 5px;
}
.end-2 {
    right: 10px;
}
.end-3 {
    right: 15px;
}
.end-4 {
    right: 20px;
}
.end-5 {
    right: 25px;
}
.end-100{
    right:100%;
}
.bottom-0 {
    bottom: 0px;
}
.bottom-1 {
    bottom: 5px;
}
.bottom-2 {
    bottom: 10px;
}
.bottom-3 {
    bottom: 15px;
}
.bottom-4 {
    bottom: 20px;
}
.bottom-5 {
    bottom:25px;
}
.bottom-100{
    bottom: 100%;
}

.top-0 {
    top: 0px;
}
.top-1 {
    top: 5px;
}
.top-2 {
    top: 10px;
}
.top-3 {
    top: 15px;
}
.top-4 {
    top: 20px;
}
.top-5 {
    top:25px;
}
.top-100 {
    top: 100%;
}

/* Centering Classes
--------------------------------------------------------------*/
.position-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.position-center-top {
    top: 50%;
    transform: translate(0, -50%);
}

/* Style for dropdown indicator
--------------------------------------------------------------*/
.dropdown-menu {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #333;
    display: inline-block;
    margin-left: 5px;
}

/* Style for the main menu list
--------------------------------------------------------------*/
.fc-menu-header ul li,
.fc-menu-header ul {
    position: static;
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

/* Style for list items that are not mega-menu items
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) {
    position: relative;
}

/* Style for links inside list items
--------------------------------------------------------------*/
.fc-menu-header ul a {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}

/* Padding for list items
--------------------------------------------------------------*/
.fc-menu-header ul li {
    padding: 10px;
}

/* Style for the sub-menu
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) ul {
    position: absolute;
    box-shadow: 0 10px 10px -1px rgb(0 0 0 / 14%);
    border-radius: 5px;
    width: 270px;
    top: 100%;
    padding: 10px;
    left: 15px;
    transition: all .3s;
    visibility: hidden;
    opacity: 0;
    display: block;
}

/* Display sub-menu when hovering over parent menu item
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item):hover ul {
    visibility: inherit;
    opacity: 1;
    left: 0px;
}

/* Style for the list items inside sub-menu
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) ul li {
    display: block;
    width: 100%;
    position: relative;
    padding: 7px 15px;
}

/* Style for nested sub-menus inside the sub-menu
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) ul li ul {
    position: absolute;
    top: 0px;
    visibility: hidden !important;
    opacity: 0 !important;
    left: 110% !important;
}

/* Display nested sub-menu when hovering over parent sub-menu item
--------------------------------------------------------------*/
.fc-menu-header ul li:not(.mega-menu-item) ul li:hover ul {
    visibility: inherit !important;
    opacity: 1 !important;
    left: 100% !important;
}

.fc-menu-header .image-item-menu {
    display: inline-block;
    margin-right: 5px;
    max-width: 20px;
    max-height: 20px;
}

/* Style list menu content
--------------------------------------------------------------*/
.fc-menu-header .mega-menu-content ul,
.fc-menu-header .mega-menu-content li {
    display: block;
}
/* Style mega menu content
--------------------------------------------------------------*/
.fc-menu-header .mega-menu-content {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    width: 100%;
    left: 0;
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    top: 90%;
    border-radius: 10px;
    z-index: 99;
    font-weight: 400;
}

.fc-menu-header .mega-menu-content .widget {
    background: transparent;
    box-shadow: none !important;
    transform: none !important;
    border: 0;
    padding: 0 !important;
    margin: 0 !important;
}

.fc-menu-header li.mega-menu-item:hover .mega-menu-content {
    visibility: visible;
    opacity: 1;
}

/* Style column for mega menu
--------------------------------------------------------------*/
.fc-menu-header .mega-menu-content .mega-menu-widget {
    padding: 10px;
}
.fc-menu-header .mega-menu-content.columns-1 .mega-menu-widget {
    width: 100%;
}

.fc-menu-header .mega-menu-content.columns-2 .mega-menu-widget {
    width: 50%;
}

.fc-menu-header .mega-menu-content.columns-3 .mega-menu-widget {
    width: calc(100% / 3);
}

.fc-menu-header .mega-menu-content.columns-4 .mega-menu-widget {
    width: calc(100% / 4);
}

.fc-menu-header .mega-menu-content.columns-5 .mega-menu-widget {
    width: calc(100% / 5);
}

.fc-menu-header .mega-menu-content.columns-6 .mega-menu-widget {
    width: calc(100% / 6);
}
/* Style widget title in mega menu
--------------------------------------------------------------*/
.fc-menu-header .mega-menu-widget .widgettitle {
    font-size: 16px;
    font-weight: 600;
    margin: 0 !important;
    text-transform: uppercase;
}

.fc-menu-header .mega-menu-widget .widget ul {
    list-style: none;
    padding: 0;
    margin: 0 !important;
}

.fc-menu-header .mega-menu-widget .widget ul li a {
    text-decoration: none;
    font-size: 14px;
}
/* Style select in mega menu
--------------------------------------------------------------*/
.fc-menu-header .mega-menu select {
    width: 100%;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #ccc;
    background-color: #fff;
    font-size: 14px;
    margin: 5px 0;
}

/* Search form Widget
--------------------------------------------------------------*/
.search-form {
    border-radius: 25px;
    overflow: hidden;
}

.search-form .input-search {
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 25px;
    outline: none;
    width: 300px;
    max-width: 100%;
    height: 38px;
    background: #fff;
}
/* Style button search form
--------------------------------------------------------------*/
.search-form .btn-search-submit {
    border: 0;
    outline: none;
    right: 0;
    padding: 5px 15px;
    background: #000;
    color: #FFF;
    border-radius: 25px;
}
/* Style Pagination Style
--------------------------------------------------------------*/
.fc-pagination ul,
.fc-pagination ul li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block;
}

.fc-pagination ul li span,
.fc-pagination ul li a {
    display: inline-block;
    padding: 5px 15px;
    border: 1px solid #ccc;
}
/* Style Post password form
-------------------------------------------------------------- */
.post-password-form{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    background: #EEE;
    padding:15px;
    border-radius: 5px;
    margin:15px 0px;
}
.post-password-form p{
    display: block;
    width:100%;
}
.post-password-form label{
    display: inline-block;
}
.post-password-form input{
    border:0px;
    box-shadow: none;
    outline: none;
    padding:7px 15px;
    height: 32px;
}
/* Style button submit in post password form
--------------------------------------------------------------*/
.post-password-form input[type='submit']{
    background: #000;
    color:#FFF;
    padding:7px 30px;
}
@media (max-width:576px){
    .post-password-form label,
    .post-password-form input{
        width:100%;
    }
    .post-password-form input{
        margin-top:5px;
    }
}

/* Star Ratings Legend
--------------------------------------------------------------*/
.kk-star-ratings .kksr-legend {
    font-size: 14px !important;
}

/* Swiper Background Image
--------------------------------------------------------------*/
.swiper-slide-bg {
    height: 100% !important;
}
/* Elementor Navigation Menu Image
--------------------------------------------------------------*/
.elementor-nav-menu img {
    max-width: 20px !important;
}

/* Elementor Section Container
--------------------------------------------------------------*/
.elementor-section .elementor-container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

/* EAEL Data Table Styling
--------------------------------------------------------------*/
.elementor-element table.eael-data-table {
    border-collapse: collapse !important;
}

/* Mega Menu Description (Hide)
--------------------------------------------------------------*/
.mega-menu-description {
    display: none !important;
}

/* Contact Form 7
--------------------------------------------------------------*/
form.wpcf7-form {
    position: relative;
}

/* Contact Form 7: Remove line breaks
--------------------------------------------------------------*/
.wpcf7-form br {
    display: none !important;
}

/* Contact Form 7: Form Controls
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-form-control,
.wpcf7-form .wpcf7-form-control-wrap {
    width: 100%;
    position: relative;
    display: block;
    text-align: left;
}

/* Contact Form 7: Form Paragraph Styling
--------------------------------------------------------------*/
.wpcf7-form p {
    margin: 0px;
}

/* Contact Form 7: Input Fields
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-form-control {
    padding: 12px 18px;
    font-size: 14px;
    color: #555555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 2px;
}

/* Contact Form 7: Form Control Wrapper
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-form-control-wrap {
    margin-bottom: 10px;
}

/* Contact Form 7: Validation Tip
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-not-valid-tip {
    font-size: 12px;
    margin-top: 3px;
    display: none;
}

.wpcf7 form .wpcf7-response-output {
    margin: 10px 0px !important;
    font-size: 13px;
}

/* Contact Form 7: Submit Button
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-submit {
    transition: all 0.3s;
    border-radius: 2px;
    width: auto;
    display: inline-block;
    text-transform: uppercase;
    border: 0px;
    min-width: 120px;
    text-align: center;
    background: #000;
    color:#FFF;
}

/* Contact Form 7: Spinner
--------------------------------------------------------------*/
.wpcf7-spinner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0px;
}
/* Style Icon Quote
-------------------------------------------------------------- */
.icon-quote:after{
    content: "\201C";
    font-family: 'Georgia';
    position: absolute;
    font-size: 100px;
    left: 50%;
    top: 0px;
    line-height: 0px;
    transform: translate(0, -50%);
}
/* Style Index
-------------------------------------------------------------- */
.z-index1{
    z-index:5;
}
.z-index2{
    z-index:10;
}
.z-index3{
    z-index:15;
}
.z-index4{
    z-index:20;
}
.z-index5{
    z-index:25;
}
.z-index6{
    z-index:30;
}
.z-index7{
    z-index:35;
}
.z-index8{
    z-index:40;
}
.z-index9{
    z-index:45;
}
.z-index10{
    z-index:50;
}
/* Style Opacity
-------------------------------------------------------------- */
.opacity9{
    opacity: 0.9;
}
.opacity8{
    opacity: 0.8;
}
.opacity7{
    opacity: 0.7;
}
.opacity6{
    opacity: 0.6;
}
.opacity5{
    opacity: 0.5;
}
.opacity4{
    opacity: 0.4;
}
.opacity3{
    opacity: 0.3;
}
.opacity2{
    opacity: 0.2;
}
.opacity1{
    opacity: 0.1;
}
.opacity0{
    opacity: 0;
}
/* Style Animate Scroll
-------------------------------------------------------------- */
.animate-scroll {
    transition: all 0.8s ease-out;
    position: relative;
    opacity: 0;
    visibility: hidden;
}
.animate-scroll.active{
    opacity: 1;
    visibility: inherit;
}
/* Animate Fade
-------------------------------------------------------------- */
.fade-left{
    transform: translateX(-100%);
}
.fade-left.active {
    transform: translateX(0px);
}
.fade-right {
    transform: translateX(100%);
}
.fade-right.active{
    transform: translateX(0%);
}
.fade-up {
    transform: translateY(100%);
}
.fade-up.active {
    transform: translateY(0px);
}
/* Play Button
-------------------------------------------------------------- */
.play-button {
    width: 80px;
    height: 80px;
    background-color: transparent;
    border: 4px solid #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;
    transition: 0.3s ease-in-out;
}

.play-button::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 20px solid #000;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
}
/* Style Map container
-------------------------------------------------------------- */
.map-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* Tỷ lệ 16:9 */
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
/* Style Table container
-------------------------------------------------------------- */
.content-editor table{
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ddd;
}
.content-editor table th,
.content-editor table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}
/* Style Iframe container
-------------------------------------------------------------- */
.content-editor iframe {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.content-editor iframe:not([style*="height"]) {
    aspect-ratio: 16 / 9;
}

/* Style next page
-------------------------------------------------------------- */
.post-nav-links {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    margin: 20px 0;
}

.post-nav-links .post-page-numbers {
    display: inline-block;
    padding:4px 12px;
    margin: 2px;
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    background-color: #f1f1f1;
    color: #000; 
}

.post-nav-links .post-page-numbers.current {
    background-color: #000;
    color: #fff;
    font-weight: bold;
}

.post-nav-links .post-page-numbers:hover {
    background-color: #000;
    color: #fff;
}