:root {
    --beca_mw_anchor_color: #158ebf;

    --beca_color_back: #a99a56;
    --beca_color_front: white;

    --beca_color_delete_back: red;
    --beca_color_delete_front: white;

    --beca_color_add_back: green;
    --beca_color_add_front: white;

    --beca_color_duplicate_back: var(--beca_color_add_back);
    --beca_color_duplicate_front: var(--beca_color_add_front);

    --beca_color_edit_back: var(--beca_mw_anchor_color);
    --beca_color_edit_front: white;

    --beca_color_save_back: var(--beca_color_edit_back);
    --beca_color_save_front: var(--beca_color_edit_front);

    --beca_color_cancel_back: var(--beca_color_edit_back);
    --beca_color_cancel_front: var(--beca_color_edit_front);

    --beca_button_transition: all .4s;

    --beca_background_input: #f5f4f4;

    --beca_color_profile_name: darkgray;
    /* Background color in select boxes */
    /*--beca_highlight_color_bg: #7e744a; !*darker gold*!*/
    --beca_highlight_color_bg: var(--beca_color_back);

    --beca-spacing-of-cards: 20px;
    --beca-list-layout-grid-title-size: 220px;
    --beca-list-layout-grid-title-spacing: 1em;
    --beca-spacing-of-web-sides: var(--beca-spacing-of-cards);
    --beca-padding-within-cards: 10px;

    --beca-list-items-separator-margin: 10px;

    --beca_select_display_tags_bg: #d8d8d8;

    --beca_color_profile_status_draft: #a9a9a9;
    --beca_color_profile_status_pending: #f19c00;
    --beca_color_profile_status_publish: rgba(31, 222, 31, 1);
    --beca_color_profile_status_trash: #690000;
    --beca_color_profile_status_future: #00b2ca;
    --beca_color_profile_status_unknown: #000000;

    --beca_product_image_max_size: min(22vw, 160px);;
    --beca_avatar_image_max_size: min(18vw, 230px);

    --beca_search_border_radius: 12px;
    --beca_search_transition: visibility .1s, opacity .2s;
    --beca_search_row_height: 300px;
    --beca_search_image_size: min(35vw, 160px);
}

.beca_nodisp,
a.beca_button.beca_nodisp {
    display: none;
}

.beca_button_cancel {
    display: none !important;
}

.beca_horizontal_scroll {
    overflow-x: auto;
}

.beca_profile_images .image_gallery_element .mw_element_row {
    /* Center horizontally image gallery */
    justify-content: center;
    padding-top: 10px;
}

.beca_instruction {
    color: #908f8f;
}

/******************************* Text transforms **************/

.beca_text_transform_lower_case {
    text-transform: lowercase;
}

.beca_text_transform_lower_case_first_upper_case {
    text-transform: lowercase;
}

.beca_text_transform_lower_case_first_upper_case:first-letter {
    text-transform: uppercase;
}

.beca_text_transform_upper_case {
    text-transform: uppercase;
}

.beca_text_transform_capitalize_words {
    text-transform: capitalize;
}

/******************************* Popups **************/

.beca_has_popup {
    cursor: help;
}

.beca_block_with_image_title .subcol.subcol-first.ve_content_block_content {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: space-between;
}

/******************************* WP Backend customizations. **************/

.beca_popup_selector .cms_icon_button,
.beca_popup_selector .cms_button_add,
.beca_popup_selector .ve_windowselect_container.selected .cms_icon_button {
    display: none;
}


/******************************* Animation. **************/

@keyframes beca_spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/******************************* Customize MW-rendered buttons animations. **************/

.working .ve_content_button_icon span.ve_but_loading_icon,
.ve_content_button_icon.working span.ve_but_loading_icon {
    /* Show and animate operation on MW-rendered buttons. */
    display: inline-block;
    animation: .7s beca_spin infinite linear;
    padding: 0;
    margin-right: 0.6rem;
}

.working .ve_content_button_icon span.ve_but_icon,
.ve_content_button_icon.working span.ve_but_icon {
    display: none;
}

/******************************* Form validations. */

form label.beca_field_invalid {
    background-color: #db2828 !important;
    border-color: #db2828 !important;
    color: #fff !important;
    border-radius: 0px 11px;
    transition: background .3s ease;
    display: inline-block;
    padding: .6em .9em;
    margin: 5px 0;
    font-weight: normal;
    font-size: .87em;
    line-height: 1.4em;
}

/*form label.beca_field_invalid:before {
    !* Add a pointing arrow above label *!
    background-color: inherit;
    border-style: solid;
    border-color: inherit;
    position: absolute;
    content: '';
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    background-image: none;
    z-index: 2;
    width: 0.6666em;
    height: .6666em;
    -webkit-transition: background .1s ease;
    transition: background .1s ease;
}*/

form .beca_editor_input input.beca_field_invalid,
form .beca_editor_input textarea.beca_field_invalid,
form .beca_editor_input .select2-container.beca_field_invalid .select2-selection {
    color: #9f3a38;
    /*border-color: #e0b4b4;*/
    /*box-shadow: #e0b4b4;*/
    background-color: #fff6f6;
}

form .beca_editor_input input.beca_field_valid,
form .beca_editor_input textarea.beca_field_valid,
form .beca_editor_input .select2-container.beca_field_valid .select2-selection {
    color: #306e25;
    /*border-color: #c0e0b4;*/
    /*box-shadow: #c0e0b4;*/
    background-color: #f9fff6;
}


/******************************* Image selector. */

.beca_image_selector {
    /* Main wrapper of image selector */
    position: relative; /* enable to position child button's bar */
    max-width: 200px;
    max-height: 200px;
    min-width: 160px;
    min-height: 160px;
    border: 1px solid #b1b1b1;
    background-color: var(--beca_background_input);
    overflow: hidden;
}

.beca_image_status_assigned { /* Image is assigned. */
}

.beca_image_status_empty { /* Image is not assigned. */
}

.beca_image_selector .beca_image_selector_image {
    height: 100%;
    width: 100%;
    position: absolute;
    box-sizing: border-box;
}

.beca_image_selector .beca_image_selector_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.beca_image_selector.beca_image_status_empty img {
    display: none;
}

/*
Position buttons into center
.beca_image_selector .beca_image_selector_buttons {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); !* center vertically *!
    width: 100%;
    text-align: center;
}
*/

/* Position buttons top right */
.beca_image_selector .beca_image_selector_buttons {
    position: absolute;
    top: -4px;
    right: -6px;
}


/* Empty image? Hide DELETE and show ADD */
.beca_image_selector .beca_image_selector_buttons .beca_button {
    display: none;
}

.beca_image_selector.beca_image_status_empty .beca_image_selector_buttons .beca_button_add,
.beca_image_selector.beca_image_status_assigned .beca_image_selector_buttons .beca_button_delete {
    display: inline-flex;
}

.beca_image_selector.beca_image_status_assigned .beca_image_selector_buttons .beca_button_add,
.beca_image_selector.beca_image_status_empty .beca_image_selector_buttons .beca_button_delete {
    display: none;
}

/******************************* Support for horizontal alignment using FLEX. */

.beca_horizontal_align_support {
    display: flex;
}

.beca_horizontal_align_left {
    justify-content: flex-start;
}

.beca_horizontal_align_center {
    justify-content: center;
}

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

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

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

.beca_mw_button.mw_button.working svg {
    animation-iteration-count: infinite;
    animation-name: zoomIn;
    animation-duration: 1s;
}

.beca_mw_button.mw_button_style_secondary.working {
    border: 2px solid gray;
    color: gray;
    background-color: #e0e0e0;
}

/**************** Editing button default ***********/
.beca_button {
    border: 1px solid black;
}

.beca_button .beca_button_text {
    margin-left: 2px;
}

a.beca_button {
    border-radius: .5em;
    border: var(--beca_color_back) 2px solid;
    color: var(--beca_color_back);
    background-color: var(--beca_color_front);
    margin-right: 2px;
    margin-bottom: 2px;
    padding: .2em;
    display: inline-flex;
    align-items: center;
    justify-items: center;
    text-decoration: none;
    transition: var(--beca_button_transition);
}

a.beca_button svg {
    max-width: 1.5em;
    max-height: 1.5em;
    color: var(--beca_color_back);
    transition: var(--beca_button_transition);
}

a.beca_button:not(.ve_content_button):hover {
    background-color: var(--beca_color_back);
    color: var(--beca_color_front);
}

a.beca_button:hover svg {
    color: var(--beca_color_front);
}

a.beca_button.beca_button_image_top {
    flex-flow: column;
}

a.beca_button.beca_button_image_bottom {
    flex-flow: column-reverse;
}

a.beca_button.beca_button_image_left {
    flex-flow: row;
}

a.beca_button.beca_button_image_right {
    flex-flow: row-reverse;
}

/* Hide button caption when class "beca_button_hide_caption" is assigned to button or to parent. */
a.beca_button.beca_button_hide_caption span.beca_button_text,
.beca_button_hide_caption a.beca_button span.beca_button_text,
a.beca_mw_button.beca_button_hide_caption span.ve_but_text,
.beca_button_hide_caption a.beca_mw_button span.ve_but_text {
    display: none;
}

a.beca_mw_button.beca_button_hide_caption span.ve_but_icon,
.beca_button_hide_caption a.beca_mw_button span.ve_but_icon {
    padding-right: 0;
}

a.beca_mw_button.beca_button_hide_caption span.ve_but_loading_icon,
.beca_button_hide_caption a.beca_mw_button span.ve_but_loading_icon {
    margin-right: 0;
}


a.beca_button.beca_loading {
    background-color: #b3b3b3 !important;
    border-color: #666666 !important;
    color: #000000 !important;
    pointer-events: none;
}

a.beca_button.beca_loading svg {
    color: #3a3a3a !important;
}

/*a.beca_button.beca_loading:before {*/
/*    content: 'aa';*/
/*}*/

/**************** Editing button DELETE ***********/
a.beca_button.beca_button_delete {
    border-color: var(--beca_color_delete_back);
    color: var(--beca_color_delete_back);
    background-color: var(--beca_color_delete_front);
}

a.beca_button.beca_button_delete svg {
    color: var(--beca_color_delete_back);
}

a.beca_button.beca_button_delete:hover {
    background-color: var(--beca_color_delete_back);
    color: var(--beca_color_delete_front);
}

a.beca_button.beca_button_delete:hover svg {
    color: var(--beca_color_delete_front);
}

/**************** Editing button ADD ***********/
a.beca_button.beca_button_add {
    border-color: var(--beca_color_add_back);
    color: var(--beca_color_add_back);
    background-color: var(--beca_color_add_front);
}

a.beca_button.beca_button_add svg {
    color: var(--beca_color_add_back);
}

a.beca_button.beca_button_add:hover {
    background-color: var(--beca_color_add_back);
    color: var(--beca_color_add_front);
}

a.beca_button.beca_button_add:hover svg {
    color: var(--beca_color_add_front);
}

/**************** Editing button DUPLICATE ***********/
a.beca_button.beca_button_duplicate {
    border-color: var(--beca_color_duplicate_back);
    color: var(--beca_color_duplicate_back);
    background-color: var(--beca_color_duplicate_front);
}

a.beca_button.beca_button_duplicate svg {
    color: var(--beca_color_duplicate_back);
}

a.beca_button.beca_button_duplicate:hover {
    background-color: var(--beca_color_duplicate_back);
    color: var(--beca_color_duplicate_front);
}

a.beca_button.beca_button_duplicate:hover svg {
    color: var(--beca_color_duplicate_front);
}

/**************** Editing button EDIT ***********/
a.beca_button.beca_button_edit {
    border-color: var(--beca_color_edit_back);
    color: var(--beca_color_edit_back);
    background-color: var(--beca_color_edit_front);
}

a.beca_button.beca_button_edit svg {
    color: var(--beca_color_edit_back);
}

a.beca_button.beca_button_edit:hover {
    background-color: var(--beca_color_edit_back);
    color: var(--beca_color_edit_front);
}

a.beca_button.beca_button_edit:hover svg {
    color: var(--beca_color_edit_front);
}

/**************** Editing button CANCEL ***********/
a.beca_button.beca_button_cancel {
    border-color: var(--beca_color_cancel_back);
    color: var(--beca_color_cancel_back);
    background-color: var(--beca_color_cancel_front);
}

a.beca_button.beca_button_cancel svg {
    color: var(--beca_color_cancel_back);
}

a.beca_button.beca_button_cancel:hover {
    background-color: var(--beca_color_cancel_back);
    color: var(--beca_color_cancel_front);
}

a.beca_button.beca_button_cancel:hover svg {
    color: var(--beca_color_cancel_front);
}

/**************** Editing button SAVE ***********/
a.beca_button.beca_button_save {
    border-color: var(--beca_color_save_back);
    color: var(--beca_color_save_back);
    background-color: var(--beca_color_save_front);
}

a.beca_button.beca_button_save svg {
    color: var(--beca_color_save_back);
}

a.beca_button.beca_button_save:hover {
    background-color: var(--beca_color_save_back);
    color: var(--beca_color_save_front);
}

a.beca_button.beca_button_save:hover svg {
    color: var(--beca_color_save_front);
}

/*
Flow elements and clear afterwards = clear-fix.
https://css-tricks.com/snippets/css/clear-fix/
*/

.beca_flow_group:after {
    content: "";
    display: table;
    clear: both;
}

.beca_card:not(:empty) {
    background-color: #ffffff;
    margin: 0 0 10px 0;
    box-shadow: 0 1px 6px rgba(32, 33, 36, 0.28);
    border-radius: 3px;
}

.beca_line_top:not(:empty) {
    border-top: 1px solid #ececec;
}

.beca_line_bottom:not(:empty):not(:last-child) {
    border-bottom: 1px solid #ececec;
}

.beca_hint_code {
    /* Text in hint in semantics of a source code, variable etc. */
    font-family: monospace;
}

.beca_wrap_ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.beca_content_copy {
    /* Class to enable copy */
}

/******************************* Page elements */

.beca_thumbnail {
    height: 50px;
    width: auto;
}

.beca_content {
    /*padding: 5px 5px;*/
}

.beca_title {
    background-color: var(--beca_color_back);
    color: white;
    padding: 3px;
}

.beca_tax_description {
    background: var(--beca_color_back) ®;
    padding: 15px;
    margin: 15px 0;
}

.beca_wrapper_element {
    /* Used for element's content. */
}

.beca_person_list {
    margin-bottom: var(--beca-spacing-of-cards);
}

/******************************* List of items */

.beca_list_count {
    /* Count of items within filtered output. */
}

.beca_list {
    /* For list of items. */
}

.beca_list_item {
    /*For an item within a list.*/
}

.beca_list_item.beca_active_item {
    /* Active item in a list. */
    font-weight: bold;
}

.beca_list.beca_list_layout a.beca_list_item {
    text-decoration: none;
    transition: all ease .4s;
}

.beca_list.beca_list_layout.beca_list_layout_lines a.beca_list_item.beca_term,
.beca_list.beca_list_layout.beca_list_layout_cluster a.beca_list_item.beca_term {
    color: #000000;
}

.beca_list.beca_list_layout.beca_list_layout_lines a.beca_list_item.beca_term:hover,
.beca_list.beca_list_layout.beca_list_layout_cluster a.beca_list_item.beca_term:hover {
    /*color: var(--beca_color_back);*/
    text-decoration: underline;
}

.beca_list.beca_list_layout a.beca_list_item:hover {
    /*box-shadow: 0px 0px 3px 1px var(--beca_color_back);*/
    border-radius: 3px;
}

.beca_list .beca_list_item .beca_count {
    color: #3a3a3a;
}

.beca_list.beca_list_layout.beca_list_layout_cluster {
    display: flex;
    flex-wrap: wrap;
}

.beca_list.beca_list_layout.beca_list_layout_cluster .beca_list_item {
    padding: 6px 10px;
}

.beca_list.beca_list_layout.beca_list_layout_lines {
}

.beca_list.beca_list_layout.beca_list_layout_lines .beca_list_item {
    padding: 8px 12px;
    display: block;
}

.beca_list.beca_list_layout.beca_list_layout_lines .beca_list_item:not(:last-child) {
    border-bottom: 1px solid #dddddd;
}

.beca_list.beca_list_layout.beca_list_layout_grid {
    display: grid;
    /*grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); !* automatic new columns, cells extends from min*!*/
    grid-template-columns: repeat(auto-fit, var(--beca-list-layout-grid-title-size)); /* automatic new columns, cells have fixed width */
    grid-auto-rows: var(--beca-list-layout-grid-title-size);
    gap: var(--beca-list-layout-grid-title-spacing) var(--beca-list-layout-grid-title-spacing);
    justify-items: stretch;
    align-items: stretch;
    grid-auto-flow: row;
    justify-content: center;

    padding: var(--beca-list-layout-grid-title-spacing);

    /*background: beige;*/
}

.beca_list.beca_list_layout.beca_list_layout_grid .beca_list_item {
    display: flex;
    flex-direction: column-reverse;
    padding: 0;

    position: relative;

    transition: all ease .4s;

    text-decoration: none;

    /*border: 1px solid green;*/
}

.beca_list.beca_list_layout.beca_list_layout_grid .beca_list_item:hover {
    transform: scale(1.05);
    /*border: 1px solid var(--beca_color_back);*/
    /*box-shadow: 3px 3px 4.6px 1px var(--beca_color_back); !* hard, same as links*!*/
    box-shadow: 0px 0px 10px 0px var(--beca_color_back); /* soft */
}


.beca_list.beca_list_layout.beca_list_layout_grid .beca_list_item_title {
    background: black;
    padding: 0.8em;
    text-align: center;
    white-space: normal;
    color: white;
    z-index: 1;
}

.beca_list.beca_list_layout_grid .beca_list_item .beca_count {
    color: #929090;
}

.beca_list.beca_list_layout.beca_list_layout_grid .beca_list_item_image {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    object-fit: cover;

    /*background: #6495ed30;*/
}

/******************************* Page positioning within grid */
.beca_wrapper_page {
    /* Used as a page content wrapper. */
    display: grid;
    grid-template-columns: 1fr minmax(400px, 760px) minmax(160px, 300px) 1fr;
    grid-template-areas:
        "header header header header"
        "title title title title"
        "space-left content sidebar space-right"
        "space-left content-narrow sidebar space-right"
        "space-left content-wide content-wide space-right"
        "space-left footer footer space-right";
}

.beca_wrapper_page > .beca_space_left {
    grid-area: space-left;
    min-width: var(--beca-spacing-of-web-sides);
}

.beca_wrapper_page > .beca_space_right {
    grid-area: space-right;
    min-width: var(--beca-spacing-of-web-sides);
}

.beca_wrapper_page > .beca_title {
    grid-area: title;
}

.beca_wrapper_page > .beca_header {
    grid-area: header;
}

.beca_wrapper_page > .beca_content {
    grid-area: content;
    margin-right: var(--beca-spacing-of-cards);
    margin-top: var(--beca-spacing-of-cards);
}

.beca_wrapper_page > .beca_sidebar {
    grid-area: sidebar;
    margin-top: var(--beca-spacing-of-cards);
}

.beca_wrapper_page > .beca_content_wide {
    grid-area: content-wide;
    margin-top: var(--beca-spacing-of-cards);
}

.beca_wrapper_page > .beca_content_narrow {
    grid-area: content-narrow;
    margin-right: var(--beca-spacing-of-cards);
}

.beca_wrapper_page > .beca_footer {
    grid-area: footer;
}

/******************************* Content customizations */

.beca_content_content {
}

.beca_content_content > .beca_card {
    padding: 5px;
}

/******************************* Sidebar customizations */

.beca_sidebar_content {
}

.beca_sidebar_content a.mw_edit_but {
    /*Edit button for included content.*/
    /*position: relative;*/
}

.beca_sidebar_content .visual_content .row {
    /*padding: 5px;*/
}

.beca_sidebar_content .beca_title {
    /*position: sticky;*/
    top: 0;
    /*line-height: 1em;*/
}

.beca_sidebar .element_content {
    padding: 0 0 var(--beca-spacing-of-cards) 0;
}

.beca_wrapper_element.beca_card {
    /* Boxes of elements presented as card should not have extra space. */
    margin-bottom: 0;
}

/***************** Page visualizations **********/

.beca_wrapper_page > .beca_title {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: center;
    justify-content: center;
    /*padding: 10px;*/
    /*flex-flow: wrap;*/
}

.beca_wrapper_page > .beca_title h1 {
    padding: 10px;
    font-weight: bold;
}

.beca_wrapper_page > .beca_title .beca_thumbnail {
    /*border-radius: 65% 34% 84% 16% / 61% 40% 61% 38%;*/
    margin-right: 10px;
    border-radius: 5px;
    box-shadow: 0px 0px 7px 4px rgb(255 255 255 / 78%);
}

.beca_wrapper_page > .beca_content .beca_list_item {
    /*padding: 8px;*/
}

.beca_wrapper_page > .beca_content .beca_list_empty {
    padding: 2em;
    font-style: italic;
}

.beca_wrapper_page .beca_profile_avatar {
    /*display: flex;*/
    /*align-items: center;*/
    /*text-align: center;*/
    /*justify-content: center;*/
    align-self: center;
    justify-self: center;
}

.beca_profile_avatar_cropper {
    /* Crop the image that is placed within. */
    border-radius: 50%;
    /*width: 230px;*/
    /*height: 100%;*/
    /*position: relative;*/
    /*overflow: hidden;*/
    /*background-color: wheat;*/
    /*border: 3px solid white;*/
    /*text-align: center;*/
    /*box-shadow: inset -3px -4px 13px 0px rgb(0 0 0 / 28%); !* inner *!*/
    /*box-shadow: 4px 3px 11px 0px rgb(0 0 0 / 28%); !* outer *!*/
}

.beach_profile_brief .beca_profile_avatar_cropper.beca_solo_image,
.beca_display .beach_profile_full .beca_profile_avatar_cropper.beca_solo_image {
    width: var(--beca_avatar_image_max_size);
    height: var(--beca_avatar_image_max_size);
    object-fit: cover;
}


span.beca_tax_label {
    font-weight: bold;
    /*font-size: 90%;*/
}

.beca_long_text_wrapping {
    white-space: pre-line;
}

/******************************* Actions ***********/

.beca_action_goto_profile {
}

.beca_action_create_profile {
}

.beca_action_separator {
}

.beca_action_logout {
}

.beca_action_change_password {
    padding-top: 0.8em;
}

/******************************* Hide MW member header icon ***********/

#member_user_avatar {
    display: none;
}

/******************************* Menu icon ***********/

.beca_header_icon {
    margin-left: 1em;
}

.eshop_cart_header .beca_header_icon {
    margin-right: 2em; /*be sure there is space for eshop icon*/
    position: relative; /* to position hover submenu correctly */
}

.member_section_page.eshop_cart_header .beca_header_icon {
    margin-right: calc(2em + 65px); /*be sure there is space for eshop and member icon*/
}

.beca_header_icon a span {
    transition: var(--beca_button_transition);
}

.beca_header_icon .dashicons,
.beca_header_icon .dashicons-before {
    transform: translate(0px, 5px); /* move dash icons down a little*/
}

.beca_header_icon a {
    text-decoration: none;
    color: var(--beca_color_back);
    background-color: var(--beca_color_front);
    white-space: nowrap;
}

.beca_header_icon > a {
    border: 2px solid var(--beca_color_back);
    padding: 6px;
    border-radius: 6px;
}

.beca_header_icon a:not(.ve_content_button):hover {
    text-decoration: none;
    color: var(--beca_color_front);
    /*border-color: var(--beca_color_back);*/
    background-color: var(--beca_color_back);
}

/******************************* Menu icon - submenu ***********/

.beca_header_icon_menu {
    display: none;
    position: absolute;
    font-size: 90%;
}

.beca_header_icon:hover .beca_header_icon_menu {
    /* show menu on hover */
    display: block;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.26);
    background: #fff;
    /*width: 350px;*/
    top: 40px;
    right: 0;
    /*line-height: 1.2em;*/
    /*font-size: 14px;*/
    z-index: 20;
    padding: 15px;
}

.beca_header_icon_menu .beca_profile_names {
    white-space: nowrap;
    font-weight: bold;
}

.beca_header_icon_menu:before {
    /* add a virtual space belonging to menu box not to hide submenu when going there with mouse */
    content: '';
    height: 14px;
    top: -14px;
    left: -10px;
    right: 0;
    position: absolute;
}

.beca_header_icon_menu:after {
    /* add arrow to the top of the submenu */
    content: '';
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #fff;
    position: absolute;
    top: -5px;
    right: 15px;
}


/******************************* Profile of a beach person ***********/

.beca_list_item.beca_card.beca_my_own_profile {
    /* Highlight my own profiles in the list of profiles */
    border-left: 3px solid var(--beca_color_back);
    border-right: 3px solid var(--beca_color_back);
}

/*************************************** Profile BRIEF ***********/

.beach_profile_brief {
    /* Top level element of one brief profile. */
    display: grid;
    grid-template-columns: minmax(min-content, 1fr) 2fr;
    /*grid-template-areas:*/
    /*    "avatar title"*/
    /*    "avatar names"*/
    /*    "avatar about"*/
    /*    "courses specializations"*/
    /*    "courses actions";*/
    grid-gap: 0rem;
    grid-auto-flow: dense;
    padding: 1.5rem;
}

.beach_profile_full > *,
.beach_profile_brief > * {
    padding: 4px;
    /*background-color: antiquewhite;*/
}

.beach_profile_brief a.beca_profile_project_title {
    text-decoration: none;
}

.beach_profile_brief a.beca_profile_project_title:hover {
    text-decoration: underline;
    color: var(--beca_color_back);
}

.beach_profile_brief .beca_profile_avatar {
    margin-bottom: 0.8em;
    margin-right: 0.8em;
    /*transition: ease all 250ms;*/
}

.beach_profile_brief .beca_profile_avatar:hover {
    /*transform: scale(1.1);*/
}

.beach_profile_brief .beca_profile_courses.beca_no_padding {
    padding-top: 0;
}

.beach_profile_brief .beca_profile_courses.beca_no_padding .beca_list {
    padding: 0;
}

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


/********************************** Grid definitions ************/

.beca_grid_column_all {
    grid-column: 1 / -1;
}

.beca_grid_column_last {
    grid-column: -2 / -1;
}

.beca_grid_column_1 {
    grid-column: 1 / 2;
}

.beca_grid_column_1_2 {
    grid-column: 1 / 3;
}

.beca_grid_column_1_2_3 {
    grid-column: 1 / 4;
}

.beca_grid_column_2 {
    grid-column: 2 / 3;
}

.beca_grid_column_2_3 {
    grid-column: 2 / 4;
}

.beca_grid_column_3 {
    grid-column: 3 / 4;
}

.beca_grid_column_span_1 {
    grid-column-end: span 1;
}

.beca_grid_column_span_2 {
    grid-column-end: span 2;
}

.beca_grid_column_span_3 {
    grid-column-end: span 3;
}

.beca_grid_column_span_4 {
    grid-column-end: span 4;
}

.beca_grid_row_all {
    grid-row: 1 / -1;
}

.beca_grid_row_last {
    grid-row: -2 / -1;
}

.beca_grid_row_first {
    grid-row: 1 / 2;
}

.beca_grid_row_second {
    grid-row: 2 / 3;
}

.beca_grid_row_first_and_second {
    grid-row: 2 / 3;
}

.beca_grid_row_span_1 {
    grid-row-end: span 1;
}

.beca_grid_row_span_2 {
    grid-row-end: span 2;
}

.beca_grid_row_span_3 {
    grid-row-end: span 3;
}

.beca_grid_row_span_4 {
    grid-row-end: span 4;
}

/*************************************** Searcher ***********/

.beca_search_bar {
    display: flex;
    justify-content: center;
    width: 100%;
}

.beca_search_bar form.search-form {
    flex: 0 1 600px;
    position: relative; /* absolutely positioned children, that is DROPDOWN should be positioned relatively to this element */
    /*max-width: 600px;*/
}

.beca_search_background {
    padding: 25px 40px;
}

.beca_search_input_component {
    position: relative;
    z-index: 100;
}

.beca_search_input {
    box-sizing: border-box;
    padding: 16px 36px 16px 52px;
    margin: 0;
    border: 1px solid white;
    background: white;
    border-radius: 26px;
    /*border-radius: 100px;*/
    font-size: 16px;
    outline: none;
    line-height: 20px;
    height: 52px;
    width: 100%;
    transition: var(--beca_search_transition);
    /* min-width: 400px; */
    /*max-width: 580px;*/

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.beca_search_input:focus, .beca_search_input:active, .beca_opened .beca_search_input {
    border: 1px solid #d4ba48c2;
    /*box-shadow: inset 0px 0px 3.6px 1px #d4ba48;*/
}

.beca_search_icon {
    position: absolute;
    left: 12px;
}

.beca_search_icon svg {
    width: 34px;
    height: 52px;
    fill: #f3474a;
}

.beca_searching .beca_search_icon svg {
    /* Appearence during searching is active. */
    /*fill: #7547f3;*/
}

.beca_search_clear {
    position: absolute;
    right: 12px;
    display: none;
}
.beca_search_bar.beca_opened .beca_search_clear {
    display: initial;
}

.beca_search_clear svg {
    width: 24px;
    height: 52px;
    fill: #41444C;
    cursor: pointer;
}

.beca_search_clear svg:hover {
    fill: #f3474a;
}

.beca_search_dropdown {
    transition: var(--beca_search_transition);
    visibility: hidden;
    opacity: 0;
    background-color: white;
    color: black;
    z-index: 99;
    /*max-height: 80vh;*/ /*moved to inner results list*/
    position: absolute;
    top: 50%;
    width: 100%;
    box-sizing: border-box;
    border-radius: 0px 0px var(--beca_search_border_radius) var(--beca_search_border_radius);
    padding: 30px 0px 0px 0px;
    box-shadow: 0px 0px 8px 4px rgb(0 0 0 / 30%);
}

.beca_search_dropdown .beca_results_header {
    margin: 4px 13px 4px 17px;
    font-size: 14px;
    display: flex;
}

.beca_search_dropdown .beca_results_header .beca_results_info {
    flex: 1;
    text-align: left;
}

.beca_search_dropdown .beca_results_header .beca_close_button {
    flex: 0;
    font-size: 160%;
    font-weight: bold;
    line-height: 103%;
    text-align: center;
    cursor: pointer;
}

.beca_search_dropdown .beca_results_header .beca_close_button:hover {
    color: #f3474a;
}


.beca_opened .beca_search_input {
    /*box-shadow: 0px 0px 8px 4px rgb(0 0 0 / 30%);*/
    /*border-radius: var(--beca_search_border_radius) var(--beca_search_border_radius) 0px 0px;*/
}

.beca_opened .beca_search_dropdown {
    visibility: visible;
    opacity: 1;

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

.beca_opened .beca_search_input_component {
    /*z-index: 100;*/
}

.beca_results_list {
    overflow-y: auto;
    max-height: calc(100vh - 23px - 52px - 17px);
    padding: 0px 0px 0px 0px;
}

.beca_results_list .beca_grid_container {
    display: grid;
    grid-template-columns: var(--beca_search_image_size) auto;
    grid-template-rows: auto auto auto auto;
    column-gap: 10px;
    row-gap: 5px;
    padding: 10px;
    font-size: 13px;
    line-height: 1.5;
    cursor: pointer;
    overflow: hidden;
}

/*.beca_results_list .beca_grid_container:hover,*/
.beca_results_list .beca_grid_container.active {
    background-color: rgba(0, 0, 0, 0.05);
}

.beca_results_list .beca_score {
    float: right;
    font-size: 70%;
    color: #908f8f;
    padding-top: 5px;
}

.beca_results_list .beca_results_title {
    padding: 7px 0px;
}

.beca_results_list .beca_results_title a {
    font-size: 14px;
    font-weight: bold;
    color: #41444C;
    text-decoration: none;
}

.beca_results_list .beca_results_title a:hover {
    color: #41444C;
}

.beca_results_list .beca_grid_container:hover .beca_results_title a {
    text-decoration: underline;
}

.beca_results_list .beca_main_image {
    grid-row: 1/5;
    align-self: center;
    justify-self: center;
}

.beca_results_list .beca_main_image img {
    width: var(--beca_search_image_size);
    height: var(--beca_search_image_size);
    object-fit: cover;
    border-radius: 50%;
}

.beca_results_list .beca_tax_terms {
    display: flex;
    flex-wrap: wrap;
    margin-left: -5px;
    padding-top: 9px;
}

.beca_results_list .beca_tax_term {
    display: inline-block;
    line-height: 100%;
    margin-left: 4px;
    margin-bottom: 4px;
    padding: 7px 8px;
    background-color: rgba(0, 0, 0, 0.07);
    color: #333333;
    text-decoration: none;
    text-transform: lowercase;
}

.beca_results_list .beca_results_about {
    padding: 2px 1px;
}


.beca_search_text_normal {
    padding-top: 7px;
    padding-bottom: 17px;
    font-size: 16px;
    text-align: center;
}

.beca_search_text_big {
    font-weight: bold;
    font-size: 24px;
    text-align: center;
}

/*************************************** Searcher results ***********/

#addsearch-results,
#addsearch-results.addsearch-t,
#addsearch-results.addsearch-m,
#addsearch-results.addsearch-m2 {
    border-radius: 27px;
    border-width: 1px !important;
}

#addsearch-results .addsearch-result-item-container .addsearch-result-item-sub {
    border-right: none;
    border-bottom-width: 1px;
}

a#addsearch-logo {
    display: none !important;
}

a#addsearch-topcloselink {
    /* Close of search results - top position on mobiles */
    margin-right: 15px !important;
}

a#addsearch-closelink {
    /* Close of search results - bottom position on desktop */
    margin-right: 8px !important;
    font-weight: bold !important;
}


/*************************************** Profile FULL ***********/

.beach_profile_full {
    /* Top level element of one brief profile. */
    display: grid;
    grid-template-columns: minmax(min-content, 1fr) 2fr;
    grid-gap: 0rem;
    padding: 1.5rem;
    grid-auto-flow: dense;
}

.beca_display .beach_profile_full:not(:first-child) {
    padding-top: 0;
}

.beca_display .beach_profile_full:not(:last-child) {
    padding-bottom: 0;
}

.beach_profile_full .beca_profile_avatar_cropper {
    width: var(--beca_avatar_image_max_size);
    height: var(--beca_avatar_image_max_size);
}

.beach_profile_full .beca_profile_avatar {
    /* Avatar of the person (image) */
    /*margin-bottom: 0.8em;*/
    /*margin-right: 0.8em;*/
}

.beca_display .beach_profile_full .beca_section_label,
.beca_editor_input .beach_profile_full .beca_section_label {
    /* Text of a section */
    color: var(--beca_color_back);
    line-height: 1.6;
    font-weight: bold;
    font-size: 190%;
    margin-block-start: 0.8em;
    margin-block-end: 0.8em;
    border-bottom: 1px solid;
    padding-bottom: 7px;
}

.beca_display .beach_profile_full .beca_profile_project_title,
.beach_profile_brief .beca_profile_project_title {
    color: var(--beca_color_back);
    line-height: 1.3;
    font-size: 2rem;
    display: block;
}

.beca_display .beach_profile_full .beca_profile_project_names,
.beach_profile_brief .beca_profile_project_names {
    /* First and last name of the person */
    color: var(--beca_color_profile_name);
    font-weight: normal;
    font-size: 1.4rem;
    display: block;
}

.beca_display .beach_profile_full .beca_profile_share {
    grid-row-start: 3; /* On desktop show bellow courses and categories*/
}

.beach_profile_full h2 {
    color: var(--beca_color_back);
    border-bottom: 1px solid;
    line-height: 2em;
    margin-block-start: 0.8em;
    margin-block-end: 0.8em;
    font-size: 2em;
}

.beca_display .beach_profile_full .beca_profile_categories_and_courses {
    /* List of categories and achieved courses */
}

.beca_display .beach_profile_full .beca_profile_categories,
.beach_profile_brief .beca_profile_categories {
    /* List of assigned categories */
    padding-top: 12px;
}

.beca_display .beach_profile_full .beca_profile_courses,
.beach_profile_brief .beca_profile_courses {
    /* List of achieved courses */
    padding-top: 12px;
}

.beca_display .beach_profile_full .beca_profile_courses .beca_tax_terms .beca_list,
.beach_profile_brief .beca_profile_courses .beca_tax_terms .beca_list {
    /* List of courses terms */
    display: flex;
    flex-flow: wrap;
}

.beca_display .beach_profile_full .beca_profile_courses .beca_tax_terms .beca_list > div:not(:last-child),
.beach_profile_brief .beca_profile_courses .beca_tax_terms .beca_list > div:not(:last-child) {
    padding-right: 15px;
}

.beca_display .beach_profile_full .beca_profile_courses .beca_tax_terms .beca_list img,
.beach_profile_brief .beca_profile_courses .beca_tax_terms .beca_list img {
    /* Term in List of courses terms */
    width: 35px;
    height: 100%;
    max-height: 60px;
    object-fit: scale-down;
}

.beca_display .beach_profile_full .beca_profile_specializations .beca_tax_terms {
    /* List of specializations terms */
}

.beca_display .beach_profile_full .beca_profile_specializations .beca_tax_terms .beca_tax_term {
    /* Single specialization term in display mode */
    display: inline-block;
    line-height: 100%;
    margin-left: 4px;
    margin-bottom: 4px;
    padding: 7px 8px;
    background-color: rgba(0, 0, 0, 0.07);
    color: #333333;
    text-decoration: none;
}

.beca_display .beach_profile_full .beca_testimonial_content {
    padding: 10px 3vw;
}

.beach_profile_full .beca_profile_specializations .beca_display {
    /* List of achieved specializations */
}

.beach_profile_full .beca_section_title .beca_display {
    /* Title for a section, full-row-width. */
}

.beach_profile_full .beca_profile_about .beca_display {
    /* Description of the project */
}

.beach_profile_full .beca_profile_actions,
.beach_profile_brief .beca_profile_actions {
    /* Area for action buttons */
    display: flex;
    justify-content: center;
}

.beach_profile_full .beca_profile_links {
    /* Area for list of links - FB, web page, url... */
}

.beach_profile_full .beca_profile_share {
    /* Area for FB share buttons */
}

.beach_profile_full .beca_profile_product {
    /* Parts of a product. */
}

.beach_profile_full .beca_solo_image,
.beach_profile_brief .beca_solo_image {
    /* Grid item containing an image. */
    margin: 12px;

    object-fit: scale-down;
    /*border: 3px solid black;*/
}

.beach_profile_full .beca_profile_testimonial .beca_display {
    /* Testimonial. */
}

.single .beca_wrapper_page .beca_content .beca_content_content .beca_card {
    margin-bottom: var(--beca-spacing-of-cards);
}


/**************** Beach profile status for owner. ***********/
.beca_profile_status {
    padding: 4px 10px;
    color: white;
    text-transform: uppercase;
    background-color: #9600bf;
}

.beca_profile_status_draft {
    background-color: var(--beca_color_profile_status_draft);
}

.beca_profile_status_pending {
    background-color: var(--beca_color_profile_status_pending);
}

.beca_profile_status_pending_approval {
    background-color: var(--beca_color_profile_status_pending);
}

.beca_profile_status_publish {
    background-color: var(--beca_color_profile_status_publish);
}

.beca_profile_status_published {
    background-color: var(--beca_color_profile_status_publish);
}

.beca_profile_status_published_with_changes {
    /*color: var(--beca_color_profile_status_pending);*/
    /*background-color: var(--beca_color_profile_status_publish);*/
    /*color: var(--beca_color_profile_status_publish);*/
    /*background-color: var(--beca_color_profile_status_pending);*/
    background-image: linear-gradient(to right, var(--beca_color_profile_status_publish), var(--beca_color_profile_status_pending));
    /*background-image: repeating-linear-gradient(*/
    /*        to right,*/
    /*        var(--beca_color_profile_status_publish) 20%,*/
    /*        var(--beca_color_profile_status_pending) 30%,*/
    /*        var(--beca_color_profile_status_publish) 43%*/
    /*);*/
}

.beca_profile_status_trash {
    background-color: var(--beca_color_profile_status_trash);
}

.beca_profile_status_future {
    background-color: var(--beca_color_profile_status_future);
}

.beca_profile_status_unknown {
    background-color: var(--beca_color_profile_status_unknown);
}


.beca_buttons_bar .beca_profile_status {
    /*padding: 4px 10px;*/
    text-transform: uppercase;
}

.beca_buttons_bar .beca_profile_status_wrapper {
    text-align: left;
}

/**************** Editing support of beach profile ***********/
.beca_editor_buttons {
    /* All top-level editor buttons to show/hide them at once. */
    /*align-self: center;*/
    justify-self: center;
}

.beca_editor_input .beca_list_item_editor_buttons .beca_button_duplicate {
    /* Temporarily disable DUPLICATE buttons. */
    display: none !important;
}

.beca_buttons_bar {
    position: sticky;
    top: 0;
}

.beca_profile_edit_form .beca_buttons_bar {
    /* Edit bar at the top of edited profile*/
    padding: 4px;
    margin: 0 6px;
    text-align: right;
    z-index: 1;
    background: var(--beca_color_front);
    border-bottom: 2px solid var(--beca_color_back);

    display: flex;
    justify-content: space-between;
    align-items: center;

    overflow-x: auto;
}

.beca_profile_edit_form .beca_buttons_bar .beca_profile_actions {
    display: flex;
    flex-wrap: unset;
}

.beca_profile_edit_form .beca_buttons_bar .beca_profile_actions > div {
    /* List of edit profile buttons */
    display: inline-block;
    padding-left: 8px;
}

.beca_profile_edit_form .beca_buttons_bar .beca_profile_actions a.ve_content_first_button {
    margin-top: 3px !important;
    margin-bottom: 4px !important;
}

.beca_editor_input {
    /* Editors are invisible by default. */
    display: none;
}

.beca_editor_input .mw_image_uploader_image_container {
    min-width: 110px;
    min-height: 110px;
}

.beca_editor_input .beca_profile_avatar,
.beca_editor_input .beca_product_image {
    align-self: normal;
}

.beca_editor_input .beca_profile_images .beca_list {
    display: flex;
    flex-wrap: wrap;
    /*justify-content: space-between;*/
    overflow-x: auto;
}

.beca_editor_input .beca_profile_images .beca_list .beca_list_item:not(:last-child) {
    /*flex-grow: 1;*/
    /*text-align: center;*/
    padding-right: var(--beca-padding-within-cards);
    padding-bottom: var(--beca-padding-within-cards);
}

.beca_editor_input .beca_profile_images .beca_list .beca_list_item .beca_image_selector {
    display: inline-block;
}

.beca_editor_input .beca_profile_images .beca_list .beca_list_item .beca_image_selector .beca_image_selector_image img {
    object-fit: contain;
}

.beca_editor_input input,
.beca_editor_input textarea,
.beca_editor_input .select2-container--default .select2-selection--multiple {
    width: 100%;
    transition: color 0.2s ease, border-color 0.2s ease;
    /*box-shadow: 0 0 3.4px 0px #0000004a;*/
    border-radius: 4px;
    border: 1px solid rgb(34 36 38 / 23%);
    background-color: #f7f7f7;
    /*background-color: #f5f4f4;*/
    padding: .5em 0.6em;
    box-sizing: border-box;
    line-height: 1.6em;
    font-size: 15px;
}

.beca_editor_input input:focus,
.beca_editor_input textarea:focus,
.single-beach_person .select2-container--default .select2-dropdown,
.beca_editor_input .select2-container--default.select2-container--focus .select2-selection--multiple,
.beca_editor_input .select2-container--default.select2-container--focus .select2-selection--single {
    outline: none;
    border: 1px solid var(--beca_color_back);
    /*box-shadow: 3px 3px 4.6px 1px var(--beca_color_back);*/
    /*box-shadow: inset 0px 0px 3px 0px var(--beca_color_back);*/
}

.single-beach_person .select2-container--default .select2-dropdown.select2-dropdown--above {
    box-shadow: 3px -3px 4.6px 1px var(--beca_color_back)
}


/********************************** Taxonomy selector ***********/

/* Item is selected within the dropdown */
.select2-container--default ul .select2-results__option[aria-selected=true] {
    border-left: 4px solid var(--beca_color_back);
    border-right: 4px solid var(--beca_color_back);
    background-color: white;
}

/* Item is NOT selected within the dropdown */
.select2-container--default ul .select2-results__option[aria-selected=false] {
    border-left: 4px solid white;
    border-right: 4px solid white;
}

/* Item is highlighted within the dropdown and selected */
.select2-container--default ul .select2-results__option--highlighted[aria-selected=true] {
    background-color: var(--beca_highlight_color_bg);
    color: var(--beca_color_front);
    border-color: var(--beca_color_back);
}

/* Item is highlighted within the dropdown and NOT selected */
.select2-container--default ul .select2-results__option--highlighted[aria-selected=false] {
    background-color: var(--beca_highlight_color_bg);
    color: var(--beca_color_front);
    border-color: var(--beca_highlight_color_bg);
}

.beca_editor_input .select2-container .select2-selection--single {
    height: initial;
}

.beca_editor_input .select2-container--default .select2-selection--single .select2-selection__rendered {
    white-space: initial;
}

/* Full width inplace hack for SELECT2 */
li.select2-search.select2-search--inline {
    width: 100%;
}

li.select2-search.select2-search--inline input.select2-search__field {
    /*width: 100%;*/
}

/* Taxonomy selector - items in dropdown as DEFAULT (with images) */

.beca_taxonomy_selector_result {
    clear: both;
    min-height: 50px;
}

.beca_taxonomy_selector_result_image {
    width: 50px;
    height: 50px;
    float: left;
    margin-right: 10px;
}

.beca_taxonomy_selector_result_text small {
    display: block;
    font-size: .6em;
}

.beca_taxonomy_selector_selection {
    display: inline-block;
}

.select2-selection--multiple .beca_taxonomy_selector_selection {
    /*line-height: 44px; !* To have selected items of same height according to image *!*/
    line-height: 2em;
}

.beca_taxonomy_selector_selection_text {
    display: inline-block;
}

.beca_taxonomy_selector_selection_image {
    vertical-align: middle;
    margin: 5px 8px 5px 0;
    width: 30px;
    height: 30px;
    /*display: inline-block;*/
    display: none;
}

/* Taxonomy selector - items in dropdown as COMPACT */

ul#select2-bid_specializations-results .beca_taxonomy_selector_result,
ul[id^='select2-profile_products_'][id$='_type-results'] .beca_taxonomy_selector_result {
    min-height: inherit;
}

ul#select2-bid_specializations-results .beca_taxonomy_selector_result_image,
ul[id^='select2-profile_products_'][id$='_type-results'] .beca_taxonomy_selector_result_image {
    display: none;
}

/* **** Taxonomy selector -- COLORS **** */

/* Default color (also for new user added terms) */
/*.select2-selection__choice {*/
/*background-color: #a0ebec !important;*/
/*}*/

/* Styling of new terms */
.beca_tax_term_selected_new {
    font-style: italic;
}

.beca_profile_courses .select2-container--default .select2-selection--multiple .select2-selection__choice,
.beca_profile_specializations .select2-container--default .select2-selection--multiple .select2-selection__choice,
.beca_profile_categories .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--beca_select_display_tags_bg);
}

/******************* Show and hide editing controls depending on editing status. */

.beca_profile_edit_form:not(.beca_is_editing) .beca_buttons_bar .beca_profile_actions .beca_button_save,
.beca_profile_edit_form:not(.beca_is_editing) .beca_buttons_bar .beca_profile_actions .beca_button_cancel,
.beca_profile_edit_form.beca_is_editing .beca_buttons_bar .beca_profile_actions .beca_button_edit,
.beca_profile_edit_form.beca_is_editing .beca_buttons_bar .beca_profile_actions .beca_button_approve {
    /* Hide PROFILE SAVE + CANCEL when editing is not running. */
    /* Hide PROFILE EDIT + APPROVE when editing is running.*/
    display: none;
}

.beca_profile_edit_form.beca_is_editing .beca_buttons_bar .beca_profile_actions .beca_button_save,
.beca_profile_edit_form.beca_is_editing .beca_buttons_bar .beca_profile_actions .beca_button_cancel,
.beca_profile_edit_form:not(.beca_is_editing) .beca_buttons_bar .beca_profile_actions .beca_button_edit,
.beca_profile_edit_form:not(.beca_is_editing) .beca_buttons_bar .beca_profile_actions .beca_button_approve {
    /* Show PROFILE SAVE + CANCEL when editing is running. */
    /* Show PROFILE EDIT + APPROVE when editing is not running.*/
    display: inline-block;
}


.beca_profile_edit_form.beca_is_editing .beca_button_add,
.beca_profile_edit_form.beca_is_editing .beca_button_duplicate,
.beca_profile_edit_form.beca_is_editing .beca_button_delete {
    /* Show edit buttons. */
    display: initial;
}

/*.beca_is_editing .beach_profile_full .beca_edit_list_add_new {*/
/*    display: initial;*/
/*}*/

.beca_profile_edit_form.beca_is_editing .beca_editor_input {
    display: initial;
}

.beca_profile_edit_form.beca_is_editing .beca_display,
.beca_profile_edit_form.beca_is_editing .beca_profile_links .beca_display {
    display: none;
}

.beca_profile_edit_form.beca_is_editing .beca_display.beca_editor_input {
    /* When both editing and display is present, then show always.*/
    display: initial;
}

/******************* Editing of items within lists. */

.beca_edit_list_item {
}

.beca_profile_edit_form label {
    color: #a2a2a2;
    font-size: 15px;
    font-weight: bolder;
}

.beca_profile_edit_form .beca_editor_buttons.beca_list_item_editor_buttons {
    /* Class assigned to element containing editing buttons of a list item. */

    width: calc(100% - 8px); /* simulate same padding as input elements have */
    padding-top: 18px;

    display: flex;
    flex-flow: row;
    justify-content: flex-end;
    /*gap: 8px;*/
}

.beca_profile_edit_form .beca_editor_buttons.beca_list_item_editor_buttons > * {
    padding-right: 8px; /* workaround for unsupport GAP attribut in many browsers*/
}

.beca_profile_edit_form {

    /*position: sticky;*/
    /*top: 4em;*/
}


.beach_profile_full .beca_editor_buttons.beca_product {
    /* Product editor buttons span across more rows. */
}


/******************* Taxonomy archive header. */
.beca_tax_header {
    display: grid;
    grid-template-columns: 1fr;
    /*grid-template-columns: auto 1fr;*/
    grid-gap: 0rem;
    grid-auto-flow: dense;
    padding: 1.5rem;
}

.beca_content .beca_tax_header {
    margin-bottom: var(--beca-spacing-of-cards);
}

.beca_tax_header .beca_term_image {
    align-self: center;
    justify-self: center;
    max-width: 100px;
    display: none; /* image is present only for indexing purposes */
}

.beca_tax_header .beca_term_image img {
    /* autoscale image to fit available space*/
    width: 80%;
    height: auto;
}

.beca_tax_header .beca_term_title {
    padding-left: var(--beca-padding-within-cards);
}

.beca_tax_header .beca_term_description {
    padding-left: var(--beca-padding-within-cards);
    font-size: 1em;
    font-weight: normal;
}

/*********************** Links list (display) ************************/

.beca_profile_links.beca_display .beca_list {
    background-color: #f7f7f7;
    padding: .7em;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.beca_profile_links.beca_display .beca_list .beca_list_item {
    background-color: inherit;
    transition: all ease .4s;
    text-decoration: none;

    margin: .2em;
    padding: .2em;

    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
    min-width: 8em;
}

.beca_profile_links.beca_display .beca_list a.beca_list_item {
    display: block;
    width: 140px;
    max-width: 140px;
    padding-bottom: 18px;
    color: #148EBF;

}

.beca_profile_links.beca_display .beca_list a.beca_list_item:hover {
    background-color: white;
    text-decoration: underline;
    transform: scale(1.05);
}

.beca_profile_links.beca_display .beca_list .beca_list_item > div {
    text-align: center;
}

.beca_profile_links.beca_display .beca_list .beca_link_image img {
    width: 100%;
    height: 100%;
    max-height: 60px;
    object-fit: scale-down;
    margin-top: 15px;
    margin-bottom: 10px;
}

.beca_link_title {
    word-break: break-word;
}

.beca_link_description {
    display: none !important; /* Temporarily disable */
}

/****************************** Product lists */
.beca_product_list {
}

.beca_product {
    /* Tells that item belongs to a product */
}

.beca_product_image {
    align-self: self-start;
    justify-self: center;
}

.beca_display .beca_product_image_cropper {
    max-width: var(--beca_product_image_max_size);
    max-height: var(--beca_product_image_max_size);
    height: 100%;
    /*border-radius: 5px;*/
    /*border: 3px solid white;*/
    /*box-shadow: inset -3px -4px 13px 0px rgb(0 0 0 / 28%); !* inner *!*/
    /*box-shadow: 4px 3px 11px 0px rgb(0 0 0 / 28%); !* outer *!*/
}

/*.beca_product_image .beca_display img {*/
/*}}*/

.beca_display .beca_product_title h3 {
    font-weight: bold;
}

.beca_display .beca_product_type {
    color: var(--beca_color_profile_name);
}

.beca_display .beca_product_goto_button {
    padding-top: 20px;
    padding-bottom: 20px;
}

.beca_product_description {
}


/* Appearance customizations for different locations */

/***************** Styling for element **********/
.beca_wrapper_element .beca_title {
    /*border-radius: 8px 8px 0 0;*/
    /*font-weight: bold;*/
    padding: 6px 16px;
    font-size: 140%;
}

.beca_wrapper_element .beca_title:empty {
    padding: 0; /* dismiss padding = hides title section from view*/
}

.beca_wrapper_element .beca_list {
    padding: 6px 10px;
    overflow-x: auto;
}

.beca_wrapper_element .beca_list_item {
    white-space: normal;
}

.beca_wrapper_element .beca_card:not(:empty) {
    border-radius: 0 0 8px 8px;
}

/***************** Styling during development **********/
.beca_dev .beach_profile_brief > div {
    /* DEVELOPING styling */
    min-width: 100px;
    min-height: 1em;
    background-color: rgba(0, 0, 0, 0.05);
    margin: 3px;
    /*border: 1px solid gray;*/
}

.beca_dev_description {
    /* add ".beca_dev" to parenting element to show content of dev elements */
    display: none; /* do not display debug info by default */
}

.beca_dev .beca_dev_description {
    display: block;
    font-family: monospace;
}

/******************************/

.mw_admin_setting_container .beca_profile_status {
    margin-bottom: 26px;
}

.beca_profile_date label {
    font-weight: bold;
    vertical-align: middle;
}

.beca_profile_date span {
    vertical-align: middle;
}

/*********** Profile diff view *******************/
.beca_profile_diff:not(:empty) {
    width: 100%;
    padding: 5px;
    border: black solid 2px;
    margin-top: 20px;
}

.beca_profile_diff .spacer {
    background-color: red;
    display: inline-block;
}

.beca_profile_diff .beca_field {
    padding: 5px;
}

.beca_profile_diff .beca_field_name {
    font-weight: bold;
}

.beca_profile_diff .beca_field_value {
    border-left: 1px solid rgba(0, 0, 0, .1);
    margin-left: .8ex;
    padding-left: .8ex;
}

.beca_profile_diff table.diff td .dashicons {
    display: none;
}

.beca_profile_diff table.diff td.diff-context {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.beca_profile_diff table.diff tbody tr td:nth-child(2) {
    /* Do not allow squeezed content. */
    width: inherit;
}

.beca_profile_diff table.diff tbody tr td {
    /* Customize content of diff view cells */
    padding: 5px 10px;
    font-size: 12px;
}

/******************************/

.beca_profile_admin_actions {
    margin-top: 26px;
}

.beca_profile_admin_actions button svg {
    display: none;
}

/******************************/

.wp-list-table .column-beca_admin_status > div {
    text-align: center;
}

.wp-list-table .column-beca_admin_status .dashicons-warning {
    color: darkred;
    cursor: help;
}

.wp-list-table .beca_profile_status {
    /* Special formatting when in administrative table*/
    display: inline-block;
    word-break: keep-all;
    text-transform: none;
    padding: 5px;
    font-size: 85%;
}

.beca_admin_action .notice {
    border: 1px solid #ccd0d4;
    border-top-color: rgb(204, 208, 212);
    border-top-style: solid;
    border-top-width: 1px;
    border-right-color: rgb(204, 208, 212);
    border-right-style: solid;
    border-right-width: 1px;
    border-bottom-color: rgb(204, 208, 212);
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-left-color: rgb(204, 208, 212);
    border-left-style: solid;
    border-left-width: 4px;
    border-image-source: initial;
    border-image-slice: initial;
    border-image-width: initial;
    border-image-outset: initial;
    border-image-repeat: initial;
    border-left-width: 4px;
    box-shadow: 0 1px 1px rgb(0 0 0 / 4%);
    margin: 15px 0 15px;

    background: #f3f3f3;
    color: #8b8b8b;
    font-size: 12px;
    line-height: 17px;
    padding: 12px;
}

.beca_admin_action .notice-error {
    border-left-color: #dc3232;
}

.beca_admin_action .notice-success {
    border-left-color: #46b450;
}

/******************************/

.beca_profile_courses .beca_list {
    padding: 10px 2px;
}

.beca_profile_courses .beca_list .beca_list_item img {
    width: 35px;
    height: 100%;
}

.beca_profile_courses .beca_list .beca_list_item.beca_term {
    display: inline-block;
    padding: 5px;
}

.beca_profile_courses .beca_list .beca_list_item.beca_term:first-child {
    padding-left: 0;
}


/****************** Dividers ************************/
/* Some inspiration from https://codepen.io/Oddgson/pen/VPrYbv */

.beca_horizontal_divider {
    border-bottom: 2px dot-dash #e2e2e2;
}

.beca_divider {
    position: relative;
    margin-top: var(--beca-list-items-separator-margin);
    margin-bottom: var(--beca-list-items-separator-margin);
    height: 1px;
}

.beca_divider_transparent:before {
    content: "";
    position: absolute;
    top: 0;
    left: 5%;
    right: 5%;
    width: 90%;
    height: 1px;
    background-image: linear-gradient(to right, transparent, #D1D1D1, transparent);
}

.beca_divider_arrow_down:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -7px;
    left: calc(50% - 7px);
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
    background-color: white;
    border-bottom: 1px solid rgb(48, 49, 51);
    border-right: 1px solid rgb(48, 49, 51);
}

.beca_divider_tab_down:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: calc(50% - 10px);
    width: 20px;
    height: 14px;
    background-color: white;
    border-bottom: 1px solid rgb(48, 49, 51);
    border-left: 1px solid rgb(48, 49, 51);
    border-right: 1px solid rgb(48, 49, 51);
    border-radius: 0 0 8px 8px;
}

.beca_divider_stopper:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -6px;
    left: calc(50% - 7px);
    width: 14px;
    height: 12px;
    background-color: white;
    border-left: 1px solid rgb(48, 49, 51);
    border-right: 1px solid rgb(48, 49, 51);
}

.beca_divider_dot:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -9px;
    left: calc(50% - 9px);
    width: 18px;
    height: 18px;
    background-color: var(--beca_color_back);
    /*background-color: goldenrod;*/
    border: 1px solid rgb(48, 49, 51);
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px white,
    0 0 0 4px white;
}

/******************************* Responsivity */

/* Wrapping starts occuring */
@media screen and (max-width: 1100px) {
    /************** Reduce empty spaces ********************/
    :root {
        /*--beca-spacing-of-cards: 15px;*/
        --beca-list-layout-grid-title-size: 180px;
        --beca-list-layout-grid-title-spacing: 1em;
    }
}

/* Desktop */
@media screen and (max-width: 969px) {
    /************** Reduce empty spaces ********************/
    :root {
        /*--beca-spacing-of-cards: 15px;*/
        --beca-list-layout-grid-title-size: 150px;
        --beca-list-layout-grid-title-spacing: 1em;
    }

}

/* Tablet */
@media screen and (max-width: 768px) {

    /************** Reduce empty spaces ********************/
    :root {
        --beca-spacing-of-cards: 15px;
        /*--beca-list-layout-grid-title-size: 120px;*/
        --beca-list-layout-grid-title-spacing: 0.8em;
    }

    /***************** Make gallery in profile detail narrower. ********************/
    .beca_profile_images .image_gallery_element .mw_element_row {
        max-width: min(56vw, 280px);
        margin: auto;
    }

    /* Hide caption buttons on small screens. Use class "beca_button_hide_caption_mobile".*/
    a.beca_button.beca_button_hide_caption_mobile span.beca_button_text,
    .beca_button_hide_caption_mobile a.beca_button span.beca_button_text,
    a.beca_mw_button.beca_button_hide_caption_mobile span.ve_but_text,
    .beca_button_hide_caption_mobile a.beca_mw_button span.ve_but_text {
        display: none;
    }

    /* Hide caption buttons on small screens -- adjust image padding. */
    a.beca_mw_button.beca_button_hide_caption_mobile span.ve_but_icon,
    .beca_button_hide_caption_mobile a.beca_mw_button span.ve_but_icon {
        padding-right: 0;
    }

    a.beca_mw_button.beca_button_hide_caption_mobile span.ve_but_loading_icon,
    .beca_button_hide_caption_mobile a.beca_mw_button span.ve_but_loading_icon {
        padding-right: 0;
    }

    /* Force always show caption buttons even on small screens. Use class "beca_button_always_show_caption".
       Override hiding caption instruction from parenting elements.
     */
    a.beca_button.beca_button_always_show_caption span.beca_button_text,
    .beca_button_hide_caption_mobile a.beca_button.beca_button_always_show_caption span.beca_button_text {
        display: inline-flex;
    }

    /* Force always show caption buttons even on small screens. Styling of beca_mw_button. */
    .beca_button_always_show_caption a.beca_mw_button span.ve_but_text,
    .beca_button_hide_caption_mobile .beca_button_always_show_caption a.beca_mw_button span.ve_but_text {
        display: inline;
    }

    /* Force always show caption buttons even on small screens. Styling of beca_mw_button. */
    .beca_button_always_show_caption a.beca_mw_button span.ve_but_icon,
    .beca_button_hide_caption_mobile .beca_button_always_show_caption a.beca_mw_button span.ve_but_icon {
        padding-right: .6rem;
    }

    .beca_button_always_show_caption a.beca_mw_button span.ve_but_loading_icon,
    .beca_button_hide_caption_mobile .beca_button_always_show_caption a.beca_mw_button span.ve_but_loading_icon {
        margin-right: .6rem;
    }

    /* Smaller image editor */
    .beca_image_selector {
        max-width: 100px;
        max-height: 100px;
        min-width: 100px;
        min-height: 100px;
    }

    /*************** Links (display) ****************/
    .beca_profile_links.beca_display .beca_list .beca_link_image img {
        max-height: 50px;
    }

    /* Compact form of log-in/out icon */
    .beca_header_icon .beca_icon_text {
        display: none;
    }

    .beca_header_icon {
        margin-right: 0;
    }

}

/* Mobile - addsearch widget*/
@media screen and (max-width: 590px) {
    /***************** Searcher on mobiles ********************/
    #addsearch-results,
    #addsearch-results.addsearch-t,
    #addsearch-results.addsearch-m,
    #addsearch-results.addsearch-m2 {
        /*border-radius: 0;*/
    }
}


/* Mobile */
@media screen and (max-width: 580px) {

    /************** Reduce empty spaces ********************/
    :root {
        --beca-spacing-of-cards: 10px;
        --beca-list-layout-grid-title-size: 150px;
        --beca-list-layout-grid-title-spacing: 0.8em;
        --beca_avatar_image_max_size: min(40vw, 230px);
    }

    .beca_wrapper_page > .beca_content,
    .beca_wrapper_page > .beca_content_wide,
    .beca_wrapper_page > .beca_content_narrow,
    .beca_wrapper_page > .beca_sidebar {
        margin-right: var(--beca-spacing-of-cards);
        margin-left: var(--beca-spacing-of-cards);
        /*margin-right: 2vw;*/
        /*margin-left: 2vw;*/
    }

    /***************** Searcher on mobiles ********************/
    .beca_search_background {
        /*padding: 15px 20px;*/
        padding: 15px 5px;
    }

    .beca_search_text_big {
        margin-top: -5px;
        padding-bottom: 10px;
        font-size: 17px;
    }

    .beca_search_text_normal {
        display: none;
    }

    /***************** Make brief profile SINGLE column. ********************/
    .beach_profile_brief {
        grid-template-columns: 1fr 1fr;
    }

    /* Everything in column 1 and column 2 spread across columns 1+2. */
    .beach_profile_brief .beca_grid_column_1,
    .beach_profile_brief .beca_grid_column_2 {
        grid-column: 1 / 3;
    }

    /***************** Make full profile single column except editing buttons. ************/
    .beach_profile_full {
        /* Top level element of one brief profile. */
        display: grid;
        grid-template-columns: minmax(min-content, 1fr) 2fr min-content;
        padding: 0.6rem;
    }

    /*
        Change appearance in a way that simulates like content of column 1 is moved above items in column 2.
            - content in column 1 (exact) spreads to columns 1+2
            - content in columns 2 (exact) spread to columns 1+@
        Modify spans vertical items according to number of rows that vere moved. This is different for different parts.
     */
    .beach_profile_full .beca_grid_column_1,
    .beach_profile_full .beca_grid_column_2 {
        grid-column: 1 / -1;
    }

    /*.beach_profile_full .beca_generic.beca_profile_avatar {*/
    /*    grid-column: 1 / -1;*/
    /*grid-row-end: span 1;*/
    /*}*/
    .beach_profile_full .beca_profile_product.beca_grid_row_span_4 {
        /*grid-row-end: span 5;*/
    }

    .beach_profile_full .beca_profile_product.beca_product_image.beca_grid_row_span_4 {
        /*grid-row-end: span 1;*/
    }

    .beach_profile_full .beca_edit_generic {
        /*grid-row-end: span 5;*/
    }

    .beach_profile_full .beca_profile_avatar {
        grid-row-end: span 1;
    }

    .beach_profile_full .beca_profile_avatar_cropper,
    .beach_profile_brief .beca_profile_avatar_cropper {
        /*max-width: min(40vw, 230px);*/
        /*max-height: min(40vw, 230px);*/
    }

    .beca_display .beca_product_image_cropper {
        max-width: min(60vw, 220px);
        max-height: min(30vw, 150px);
    }


    .beca_display .beach_profile_full .beca_profile_project_title,
    .beca_display .beach_profile_full .beca_profile_project_names,
    .beach_profile_brief .beca_profile_project_title,
    .beach_profile_brief .beca_profile_project_names {
        text-align: center;
    }

    .beca_display .beach_profile_full .beca_profile_share {
        text-align: center;
        padding-bottom: 24px;
    }

    .beca_display .beach_profile_full .beca_profile_courses .beca_tax_terms .beca_list,
    .beach_profile_brief .beca_profile_courses .beca_tax_terms .beca_list {
        justify-content: center;
    }


    /* Make page single column */
    .beca_wrapper_page {
        display: grid;
        grid-template-columns: 100%; /* full width of the device screen */
        grid-template-areas:
        "header"
        "title"
        "content"
        "content-wide"
        "content-narrow"
        "sidebar"
        "footer";
    }

    /* Make links container full width */
    .beca_profile_links.beca_display:not(.beca_section_title) {
        margin-left: -0.9rem;
        padding: 0;
    }

    /* Make links as a single line with horizontal scrolling */
    .beca_profile_links.beca_display .beca_list {
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        padding: 0 0.6rem;
        display: block;
        border-spacing: 0.7em;
        max-width: 90vw;
    }

    .beca_profile_links.beca_display .beca_list a.beca_list_item {
        white-space: initial;
        max-width: 15em;
        display: table-cell;
        margin: 0;
        padding: 0.7em;
    }

    /* Make sidebar as a single line with horizontal scrolling */
    .beca_sidebar .beca_list {
        /*overflow-x: scroll;*/
        /*overflow-y: hidden;*/
        /*white-space: nowrap;*/
        /*padding: 5px;*/
    }

    .beca_sidebar .beca_list_item {
        /*display: inline-block;*/
        /*margin-right: .5em;*/
        /*box-shadow: 0 1px 6px rgba(32, 33, 36, 0.28);*/
        /*border-radius: .5em;*/
        /*padding: 0 .5em*/
    }

    .beca_sidebar .beca_title {
        /*display: none;*/
    }

    .beca_sidebar .beca_wrapper_element {
        border-radius: 0;
        box-shadow: 0px 0px 2px rgba(32, 33, 36, 0.28);
        margin: 0;
    }

}

/* Mobile mini */
@media screen and (max-width: 370px) {
    /***************** Searcher on mobiles ********************/
    .beca_search_background {
        padding: 15px 5px;
    }

    .beca_search_text_big {
        font-size: 16px;
    }

    .beca_search_bar input.beca_search_input {
        font-size: 87%;
        padding-left: 50px;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-right: 14px;
    }

}

/* WP Common styles
******************************************************************************* */
.screen-reader-text,
.screen-reader-text span,
.ui-helper-hidden-accessible {
    position: absolute;
    margin: -1px;
    padding: 0;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0;
}

.screen-reader-shortcut {
    position: absolute;
    top: -1000em;
}

.screen-reader-shortcut:focus {
    left: 6px;
    top: -25px;
    height: auto;
    width: auto;
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 15px 23px 14px;
    background: #f1f1f1;
    color: #21759b;
    z-index: 100000;
    line-height: normal;
    -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    text-decoration: none;
    outline: none;
}

.mw_builder_setting_window .cms_icon_select_container {
    /* Override styling when in setting window, not settings sidebar. */
    background: inherit;
}

/* Hide DONE button for AjaxLoadMore plugin*/
.alm-load-more-btn.done {
    display: none !important;
}