/* Utility Classes
----------------------------------------*/

/* Spacing Utilities
----------------------------------------*/
.x-mt-0 { margin-top: 0 !important; }
.x-mb-0 { margin-bottom: 0 !important; }
.x-ml-0 { margin-left: 0 !important; }
.x-mr-0 { margin-right: 0 !important; }

.x-mt-20 { margin-top: 20px !important; }
.x-mb-20 { margin-bottom: 20px !important; }
.x-ml-20 { margin-left: 20px !important; }
.x-mr-20 { margin-right: 20px !important; }

.x-mt-50 { margin-top: 50px !important; }
.x-mb-50 { margin-bottom: 50px !important; }
.x-ml-50 { margin-left: 50px !important; }
.x-mr-50 { margin-right: 50px !important; }

.x-mt-100 { margin-top: 100px !important; }
.x-mb-100 { margin-bottom: 100px !important; }
.x-ml-100 { margin-left: 100px !important; }
.x-mr-100 { margin-right: 100px !important; }

.x-pt-0 { padding-top: 0 !important; }
.x-pb-0 { padding-bottom: 0 !important; }
.x-pl-0 { padding-left: 0 !important; }
.x-pr-0 { padding-right: 0 !important; }

.x-pt-20 { padding-top: 20px !important; }
.x-pb-20 { padding-bottom: 20px !important; }
.x-pl-20 { padding-left: 20px !important; }
.x-pr-20 { padding-right: 20px !important; }

.x-pt-50 { padding-top: 50px !important; }
.x-pb-50 { padding-bottom: 50px !important; }
.x-pl-50 { padding-left: 50px !important; }
.x-pr-50 { padding-right: 50px !important; }

.x-pt-100 { padding-top: 100px !important; }
.x-pb-100 { padding-bottom: 100px !important; }
.x-pl-100 { padding-left: 100px !important; }
.x-pr-100 { padding-right: 100px !important; }


/* Display Utilities
----------------------------------------*/
.x-full-height {
    height: calc(100vh - 58px);
}

.x-hidden {
    display: none !important;
}

.x-block {
    display: block !important;
}

/* Text Utilities
----------------------------------------*/
.x-text-center {
    text-align: center !important;
}

.x-text-left {
    text-align: left !important;
}

.x-text-right {
    text-align: right !important;
}

/* Color Utilities
----------------------------------------*/
.x-color-primary {
    color: #2EDAF1 !important;
}

.x-color-secondary {
    color: #F2832E !important;
}

.x-color-accent {
    color: #FFD700 !important;
}

/* Border Utilities
----------------------------------------*/
.x-rounded-corner {
    border-radius: 10px !important;
}

.x-no-border {
    border: none !important;
}

.x-no-shadow {
    box-shadow: none !important;
}

/* Scroll Margin Utilities
----------------------------------------*/
.x-scroll {
    scroll-margin-top: 40px;
}

/* Flex Utilities
----------------------------------------*/
.x-flex {
    display: flex !important;
}

.x-flex-center {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.x-flex-between {
    display: flex !important;
    justify-content: space-between !important;
}

/* Position Utilities
----------------------------------------*/
.x-relative {
    position: relative !important;
}

.x-absolute {
    position: absolute !important;
}

/* Media Query Utilities
----------------------------------------*/
@media (max-width: 768px) {
    .x-hidden-mobile {
        display: none !important;
    }
    
    .x-full-height {
        height: 100vh;
    }
}

@media (min-width: 769px) {
    .x-hidden-desktop {
        display: none !important;
    }
}

/* Helper Classes
----------------------------------------*/
.x-clearfix::after {
    content: "";
    clear: both;
    display: table;
}

.x-clearfix {
    display: block;
    clear: both;
}

.x-overflow-hidden {
    overflow: hidden !important;
}

.x-pointer {
    cursor: pointer !important;
}

/* Accessibility Utilities
----------------------------------------*/
.x-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
} 

/* Image Utilities
----------------------------------------*/
.x-cover-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Background Utilities
----------------------------------------*/
.x-background-primary {
    background-color: #2EDAF1 !important;
}   

.x-background-secondary {
    background-color: #F2832E !important;
}

.x-background-transparent {
    background-color: transparent !important;
}
