/* ==================================================================================
//  doron framework V0.01
//  Start date: 19/07/2023
//  doron.css
-------------------------------------------------------------------------------------    
A constant work in progress.
Feel free to steal this and use it in your own projects.
A very simple and clean boilerplate CSS.
================================================================================== */

/* =============================================
// ------------------ INDEX --------------------
    0. Reset
    1. Globals
        1.1. HTML & body
        1.2. Global padding and margins
        1.3. Useful classes - hide/show, active, selected, expand/collapse, scroll/no-scroll etc
        1.4. Typography - h1, p, span etc
        1.5. Links
        1.6. Variables
        1.7. Lists
    2. Grid
    3. Media
        3.1. Images
        3.2. Videos
    4. Components
        4.1. Cards
        4.2. Modals
        4.3. Notifications feed
            4.3.1. Feed
            4.3.2. Notification card
        4.4. Banner alerts - useful for displaying messages in a fixed bar that is displayed until the user hits close/dismiss
        4.5. Carousels
        4.6. Pop ups
        4.7. Uploaded images and videos
    5. Lists
    6. Forms
        6.1. Inputs
        6.2. Textareas
        6.3. Form buttons
        6.4. Colour pickers
    7. Buttons
    8. Menus and navigation tabs
        8.1. Header navigation
    9. Loaders
    10. Error handling
    11. Fetch external JSON files
============================================= */

@charset "UTF-8";

del, strong, u, em, sub, sup  {
    margin:initial;
    top:initial;
    color:inherit;
    width:auto;
    cursor:initial;
    display:contents;
}

input   {
    border:none;
    padding-block:0;
    padding-inline:0;
}

p   {
    margin-block-start: 0;
    margin-block-end: 0;
}

/*------------------------------------------------
1. Globals
--------------------------------------------------
1.1. HTML & body
------------------------------------------------*/

html    {
    height:100%;
}
body    {
    margin:0 auto;
    width:100%;
    max-width:800px;
    height:100%;
    float:initial;
    font-family: "montserrat", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size:13px;
}

/*------------------------------------------------
1.2. Global padding and margins
------------------------------------------------*/

*   {
    box-sizing:border-box;
    outline:none;
    position:relative;
    top:0;
    width:100%;
    float:left;
    height:auto;
}

/*------------------------------------------------
1.3. Useful classes - hide/show, active, selected, expand/collapse, scroll/no-scroll etc
------------------------------------------------*/

.hide   {
    display:none !important;
}
@media only screen and (min-width:200px)    {
    .hide-on-mobile {
        display: none;
    }
    .hide-on-desktop    {
        display: block;
    }
}
@media only screen and (min-width:768px)    {
    .hide-on-mobile {
        display: block;
    }
    .hide-on-desktop    {
        display:none;
    }
} 
.selected   {
    border:1px solid green;
    background:lightgreen;
}

.flex   {
    display: flex;
    justify-content: center;
    align-items: center;
}
.flex-left  {
    display: flex;
    justify-content: left;
    align-items: center;
}

/*------------------------------------------------
1.4. Typography - h1, p, span etc
------------------------------------------------*/

h1, h2, h3, h4, h5, h6  {
    font-weight: 700;
}

/*------------------------------------------------
1.6. Variables
------------------------------------------------*/

:root   {
    /* ---------- Colours ---------- */
    --brand-main-color:#000066;
    --brand-pale-color:#cfcfff;
    --brand-tertiary-color:#fbb300;
    --brand-yellow:#fbb300;

    --brand-text-color:#0C1216;

    --brand-grey-color:#F2F3F5;

    --brand-border-color:#f2f2f2;

    --brand-deletion-color:#E62323;

    --main-theme-color:#fff;
    --tab-background-color:#fff;
    
    --graphics-editor-navigation-background-color:#444;
    --graphics-editor-background-color:#ddd;

    --canvas-background-color:green;
    --canvas-border-color:#aaa;
    
    --tools-drawer-background-color:#444;
    --options-drawer-background-color:#fff;
    
    --open-tools-button-background-color:green;

    --input-placeholder-color:#BCBCBC;

    --guidance-color:#028cef;
    --helper-colour:#028cef;

    --delete-color:red;
    --error-color:#FF3333;
    --no-error-color:#66ad2f;

    --tier-free-fill:#294ED5;
    --tier-free-text:#CFFF4B;
    --tier-plus-fill:#FFC507;
    --tier-plus-text:#FA015A;

    /* Padding */
    --card-padding: 40px 20px 20px 20px;

    /* Border radius */
    --border-radius:10px;
}

/*------------------------------------------------
1.7. Lists
------------------------------------------------*/

ul {
    margin-block-start:0;
    padding-inline-start:0;
}
ul li   {
    width:auto;
}

/*------------------------------------------------
2. Grid
------------------------------------------------*/

@media only screen and (min-width:200px) {
    .one-column, .two-columns, .three-columns, .four-columns, .five-columns, .six-columns, .seven-columns, .eight-cxolumns, .nine-columns, .ten-columns, .eleven-columns, .twelve-columns  {
        width:100%;
    }
}

@media only screen and (min-width:768px) {
    .one-column {
        width:8.333%;
    }
    .two-columns {
        width:16.666%;
    }
    .three-columns {
        width:25%;
    }
    .four-columns {
        width:33.333%;
    }
    .five-columns {
        width:41.666%;
    }
    .six-columns {
        width:50%;
    }
    .seven-columns {
        width:58.333%;
    }
    .eight-columns {
        width:66.666%;
    }
    .nine-columns {
        width:74.999%;
    }
    .ten-columns {
        width:83.333%;
    }
    .eleven-columns {
        width:91.666%;
    }
    .twelve-columns {
        width:100%;
    }
}

/*------------------------------------------------
3. Media
--------------------------------------------------
3.1. Images
------------------------------------------------*/

.full-width-image   {
    width:100%;
    height:auto;
    display:block;
}
.enlarge-single-image   {
    padding:100px 0 !important;
    display: block !important;
}
.enlarge-single-image .top-bar  {
    position: fixed;
    height:50px;
    background:#fff;
    z-index:1;
}
.enlarge-single-image img   {
    margin:0 0 100px 0;
}
.enlarge-single-image .close-modal-button   {
    width:50px;
    height:50px;
    background:url('app/images/icons/close-drawer-icon.svg') no-repeat center center;
    background-size:20px 20px;
}

/*--------------------------------------------------
3.2. Videos
------------------------------------------------*/

.embed-code-wrapper {
    min-height:500px;
}
.embed-code-wrapper iframe  {
    min-height: 500px;
}

/*------------------------------------------------
4. Components
--------------------------------------------------
4.1. Cards
------------------------------------------------*/

.card   {
    width:100%;
    max-width:320px;
    border-radius:var(--border-radius);
    border:1px solid var(--light-grey);
    padding: var(--card-padding);
}

/*--------------------------------------------------
4.2. Modals
------------------------------------------------*/

.modal-overlay  {
    position:fixed;
    background: rgba(0, 0, 0, 0.5);
    left:0;
    width:100%;
    height:100%;
    padding:20px;
    z-index: 105;
    overflow: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.modal  {
    position: relative;
    margin:0 auto;
    background:#fff;
    display: block;
    float:initial;
    border-radius:10px;
    padding:30px;
}
@media only screen and (max-width:768px) {
    .modal  {
        width:100% !important;
        height:auto !important;
        padding:25px;
    }
    /* Anything above 768px is applied inline using JS */
}
.modal-inner    {
    width:100%;
    height:auto;
    max-height:500px;
    overflow: auto;
    padding:0;
}
.image-gallery-overlay  {
    width:100%;
    max-width:620px;
    height:100vh;
    padding:0 20px;
    margin:0 auto;
    float:initial;
}
.image-gallery-overlay img  {
    border-radius: 10px;
}
.modal-options-button   {
    position: absolute;
    left:initial;
    right:0;
    width:20px;
    height:20px;
    background:url('images/icons/modal-options-icon.svg') no-repeat;
    background-size:15px 15px;
    background-position:2.5px 2.5px;
    z-index:1;
    cursor:pointer;
}

/*------------------------------------------------
4.3. Notifications feed
--------------------------------------------------
4.3.1 Feed
------------------------------------------------*/

.notification-feed  {
    position:fixed;
    float:initial;
    right:0;
    width:320px;
    height:100%;
    background:#efefef;
    z-index:3;
}

/*--------------------------------------------------
4.3.2. Notification card
------------------------------------------------*/

.close-card-button  {
    position:absolute;
    float:initial;
    right:0;
    width:30px;
    height:30px;
    background:#ccc;
}

/*------------------------------------------------
4.5. Carousels
------------------------------------------------*/

.carousel-wrapper   {
    overflow:hidden;
    height:auto;
    max-height:480px;
    float:initial;
    margin:0 auto;
}
.carousel-image {
    text-align:center;
}
.carousel-image img {
    float:initial;
    display:block;
}
.carousel-button    {
    position:absolute;
    top:210px;
    width:40px;
    height:40px;
    background:black;
    color:#fff;
    text-align:center;
    font-weight:500;
    cursor:pointer;
}
.previous  {
    left:20px;
}
.next  {
    right:20px;
    float:initial;
}

/*------------------------------------------------
4.6. Pop ups
------------------------------------------------*/

.pop-up {
    position:fixed;
    float:initial;
    border-radius:10px;
    z-index:3;
}
.cookies-pop-up {
    top:initial;
    bottom:30px;
    right:30px;
    max-width:320px;
    padding:20px;
    background:#fff;
}
.newsletter-pop-up {
    top:initial;
    bottom:30px;
    right:30px;
    max-width:320px;
    padding:20px;
    background:#fff;
}
.close-popup-button  {
    position:absolute;
    float:initial;
    right:0;
    width:30px;
    height:30px;
    background:#ccc;
    cursor:pointer;
    z-index:3;
}

/*------------------------------------------------
4.7. Uploaded images and videos
------------------------------------------------*/

.uploaded-image-wrapper, .uploaded-badge-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding:20px;
    border:1px solid var(--brand-pale-color);
    background:var(--brand-border-color);
    margin:0 0 20px 0;
}
.uploaded-image-wrapper img, .uploaded-badge-wrapper img     {
    height: 150px;
    width:auto;
    border-radius:5px;
}

/*------------------------------------------------
6. Forms
--------------------------------------------------
6.1. Inputs
------------------------------------------------*/
.input-half {
    width:49%;
}
.input-half:first-child {
    margin:0 2% 0 0;
}

/*------------------------------------------------
6.4. Colour pickers
------------------------------------------------*/

input[type="color" i] {
    appearance: auto;
    inline-size: 40px;
    block-size: 35px;
    cursor: default;
    box-sizing: border-box;
    background-color: buttonface;
    color: buttontext;
    border-width: 1px;
    border-style: solid;
    border-color: buttonborder;
    border-image: initial;
    padding: 1px 2px;
    cursor:pointer;
    padding: 5px !important;
    cursor: pointer;
    width: 100%;
    height: 40px;
}

/*------------------------------------------------
7. Buttons
------------------------------------------------*/

.button {
    cursor:pointer;
    transition:all 0.2s ease;
    width:auto;
}
.card .button   {
    width:100%;
    text-align:center;
}
.flat-button {
    background: var(--brand-main-colour);
    color:var(--text-colour);
    border:2px solid var(--brand-main-colour);
    border-radius:50px;
    font-weight: 500;
    padding:15px 30px;
}
.flat-button:hover   {
    background:none;
    color: var(--brand-main-colour);
}
.flat-linear-button  {

}
.clickable-delete-icon  {
    position: absolute;
    width:30px;
    height:30px;
    background:red;
    display:none;
}
.upload-button  {
    width: 100%;
    border: 1px solid var(--brand-grey-color);
    background: var(--main-theme-color);
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'ca_slalombold';
}
.upload-button img  {
    width:15px;
    height:15px;
    margin:0 10px 0 0;
}

/*------------------------------------------------
8. Menus and navigation tabs
--------------------------------------------------
8.1. Header navigation
------------------------------------------------*/

.header-navigation  {
    background:#fff;
    z-index:2;
}
.header-navigation ul li    {
    width:auto;
    display:inline;
}
.tabs-ui-wrapper    {

}
.tabs-ui-wrapper .tab   {
    border-bottom:1px solid #ccc;
    padding:10px 20px;
    width:auto;
    cursor:pointer;
}
.tabs-ui-wrapper .tab img   {
    width:20px;
    height:20px;
}
.tabs-ui-wrapper .tab::selection   {
    background: none;
}

/*------------------------------------------------
9. Loaders
------------------------------------------------*/

.loader {
    
}
.upload-progress-bar    {
    width:200px;
    background:var(--dark-grey);
    border-radius:3px;
    padding:5px;
}
.upload-progress-bar-inner  {
    position: absolute;
    top:0;
    left:0;
    height:100%;
    border-radius:2px;
    background:green;
    transition: all 0.2s ease;
}
.spinning-loader    {
    width:100%;
    height:100%;
    min-height:100px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.spinning-loader .spinner    {
    background:var(--brand-main-color);
    height:25px;
    width:25px;
    border-radius:25px;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-origin: bottom center;
    animation: spinningLoaderAnimation 2s ease infinite;
}
.spinning-loader .node    {
    background:var(--main-theme-color);
    width:10px;
    height:10px;
    border-radius:5px;
}

/*------------------------------------------------
10. Error handling
------------------------------------------------*/

.error-message-wrapper  {
    color:var(--error);
}

