/* header logo */
header #logo img { max-height: 65px; !important; }
header.sticky-header-shrink #logo img { max-height: 50px; !important; }

/* Footer logo */
footer .footer-logo { max-height: 80px !important; }

/* Google recaptcha badge */
.grecaptcha-badge { visibility: hidden !important; }

/* Sections */
section.small-section { padding:20px 0; }
section.mediumsize-section { padding:40px 0; }

/* Public homepage hero: a compact band instead of a full height slider */
.home-hero {
    --cnvs-page-title-padding: 3.5rem;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* div height */
.extra-small-div { height:50px; }

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

/* frontend show account logo */
.logo-show-account-sm {
    display: block;
    margin-left: auto;
    margin-right: 5px;
    max-height: 36px; !important;
}
.logo-show-account-link-sm {
    display: block;
    margin-left: auto;
    margin-right: 5px;
}

/* Show poster in a list row: medium on the calendar, small on the results archive */
.show-poster-medium {
    max-height: 200px;
}
.show-poster-thumb {
    max-height: 110px;
}

/* Small organisation logo in the corner of a show row or card. Decorative and
   always shown at its normal weight, so it does not react to hover. */
.show-account-logo {
    max-height: 28px;
    width: auto;
}

/* Show partner logos in the carousel. The logos come from the accounts and range
   from square to very wide, so every one is scaled down to fit an equal box and
   centred in it, both horizontally and vertically. */
.partner-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 140px;
    padding: 0 15px;
}
/* object-fit keeps the aspect ratio: as a flex item the image would otherwise be
   sized on each axis independently and end up stretched. */
.partner-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.portfolio-image{
    height: 155px;
}
.portfolio-image img{
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

/* TEXT STYLING */
.text-bold{
    font-weight: bold !important;
}
/* font size */
.xs-font {
    font-size: 12px;
}
.s-font {
    font-size: 14px;
}
.alt-font {
    font-family: 'Poppins', sans-serif;
}

/* ICON STYLING */
.i-xlarge{
    font-size: 60px;
}

/* EXTRA COLORS */
.text-color-darkgrey{
    color: #5A5A5A !important;
}
.text-color-black{
    color: #000000 !important;
}
.text-color-red{
    color: #FF0000 !important;
}
.text-color-gold{
    color: #ca943d !important;
}
.text-color-blue{
    color: #373a63 !important;
}
.text-color-extra-dark-gray{
    color: #232323 !important;
}
.bg-light-green{
    background-color: #90EE90 !important;
}
.bg-light-gray {
    background-color: #f7f7f7 !important;
}
.bg-dark-gray {
    background-color: #7A7A7A !important;
}
.bg-white {
    background-color: #ffffff !important;
}
.bg-blue {
    background-color: #373a63 !important;
}
.bg-class-break {
    background-color: #ffffa7 !important;
}
.bg-class-active {
    background-color: #90EE90 !important;
}
.color-class-ended{
    background-color: #eeeeee !important;
    color: #888888 !important;
}

/* BUTTON STYLING */
.btn-active{
    border: 2px solid #373a63 !important;
}

/* HEIGHTS */
.h-250px {
    height: 250px;
}
.h-200px {
    height: 200px;
}

/* TABLE STYLING */
.valign-top {
    vertical-align: top;
}
.valign-middle {
    vertical-align: middle;
}
.valign-bottom {
    vertical-align: bottom;
}
.talign-center {
    text-align: center;
}
.talign-right {
    text-align: right;
}

/* Margins extra */
.ml-3{
    margin-left: 1rem !important;
}

/* Language cart menu */
.icon-country {
    width: 16px;
    height: 16px;
    display: inline-block;
    margin: 0 10px 0 5px;
}


/* USER CART MENU */
.cart-user-title {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--cnvs-header-border-color);
}
.cart-user-title h4, .cart-user-title .h4 {
    margin-bottom: 0;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.cart-user-items{
    padding: 1rem;
}
.cart-user-item:not(:first-child) {
    padding-top: 1rem;
    margin-top: 1rem;
    border-top: 1px solid var(--cnvs-header-border-color);
}
.cart-user-item-desc-title{
    font-weight: bold !important;
    padding-bottom: 20px;
}
