* {
    color: #717171;
}

html, body {
    background-color: #ffffff;
}

/* MyDestination — override CoreBundle / IGotAfrica defaults */
:root {
    --iga-brand-green: #3db83c;
    --iga-brand-green-hover: #18964c;
    --iga-link: #3db83c;
    --iga-link-hover: #18964c;
    --iga-btn-primary: #fe7f1c;
    --iga-btn-primary-hover: #e56e10;
    --iga-nav-link: #333333;
    --iga-text: #717171;
}

/* Fallback when :has() / core navbar.css not loaded; core rules override */
body {
    padding-top: 3.75rem;
    padding-bottom: 24px;
}

a, a * {
    color: var(--iga-link);
    font-weight: bold;
    border: none;
    text-decoration: underline;
}

a:hover, a:focus,
a:hover *, a:focus * {
    color: var(--iga-link-hover);
}

/* Nav chrome only — logo/contact row keeps body link colours */
.site-navbar a,
.site-navbar a *,
#header .navbar a,
#header .navbar a *,
.navbar .nav-link,
.navbar-brand {
    color: var(--iga-nav-link) !important;
    font-weight: normal;
    text-decoration: none !important;
}

.site-navbar a:hover,
#header .navbar a:hover,
.navbar .nav-link:hover {
    text-decoration: underline !important;
}

.header-banner-row a,
.header-banner-row a *,
.info-box-text a,
.info-box-text a * {
    color: var(--iga-link) !important;
    font-weight: bold;
    text-decoration: underline !important;
}

.header-banner-row a:hover,
.header-banner-row a:hover *,
.info-box-text a:hover,
.info-box-text a:hover * {
    color: var(--iga-link-hover) !important;
}

a.btn-xs, input.btn-xs {
    font-weight: bold;
    text-decoration: none !important;
}

a.btn-xs:hover, input.btn-xs:hover {
    text-decoration: none;
}

button, button:hover, button:active, button:focus,
.btn-primary, .btn-primary:hover, .btn-primary:active, .btn-primary:focus,
.searchButtonMini, .searchButtonMini:hover, .searchButtonMini:focus {
    background-color: var(--iga-btn-primary) !important;
    color: #ffffff !important;
    border: solid 1px var(--iga-btn-primary) !important;
    text-decoration: none;
}

.btn-default, .btn-default:hover, .close {
    color: var(--iga-nav-link) !important;
}

h1 {
    font-size: 2em;
}

h2 {
    font-size: 1.8em;
}

h3 {
    font-size: 1.6em;
}

h4 {
    font-size: 1.4em;
}

h5 {
    font-size: 1.2em;
}

h6 {
    font-size: 1.1em;
}

.close:hover {
    color: #ffffff;
}

.content {
    width: 95%;
    margin: auto;
    padding: 0 8px;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    .content {
        padding: 0;
    }
}

.content-affix {
    padding-top: 38px;
}

.dropdown-menu {
    background-color: #18964c;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.dropdown-menu .dropdown-item,
.dropdown-menu .dropdown-item-text,
.dropdown-menu .list-group-item,
.dropdown-menu h5,
.dropdown-menu .nav-credits {
    color: #ffffff !important;
    background-color: transparent;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .list-group-item:hover,
.dropdown-menu .list-group-item:focus {
    background-color: #147a3d;
    color: #ffffff !important;
}

.logoBox {
    padding: 8px;
    text-align: center;
}

.logoBox img {
    max-width: 100%;
    height: auto;
}

@media (min-width: 992px) {
    .logoBox {
        text-align: left;
    }
}

.info-box-text {
    font-size: 0.9em;
    padding: 8px;
    line-height: 1.5;
}

/* Brand colours only — layout lives in CoreBundle navbar.css */
.navbar {
    background-color: #ffffff;
}

.navbar-nav > li > a,
.navbar .nav-link {
    font-weight: normal;
    text-transform: capitalize;
    text-decoration: none;
}

/* Compact travel nav so items sit on one row */
@media (min-width: 992px) {
    #header .site-navbar {
        min-height: 2.6rem;
        padding: 0.2rem 0.4rem;
    }

    #header .site-navbar > .container-fluid,
    #header .site-navbar .navbar-collapse {
        gap: 0.15rem 0.35rem;
    }

    #header .site-navbar .navbar-nav {
        flex-wrap: nowrap;
        gap: 0;
    }

    #header .site-navbar .nav-link {
        padding: 0.2rem 0.4rem;
        font-size: 0.8rem;
        line-height: 1.2;
    }

    #header .site-navbar .navbar-search {
        flex: 1 1 auto;
        justify-content: center;
        min-width: 0;
        margin: 0;
    }

    #header .site-navbar .miniSearchForm .searchTextInput,
    #header .site-navbar .miniSearchForm input[type="text"],
    #header .site-navbar .miniSearchForm .form-control {
        width: 8rem;
        min-width: 5.5rem;
        height: 1.85rem;
        padding: 0.15rem 0.4rem;
        font-size: 0.8rem;
    }

    #header .site-navbar .miniSearchArea select,
    #header .site-navbar .miniSearchForm .radio select {
        max-width: 6.25rem;
        height: 1.85rem;
        font-size: 0.75rem;
    }

    #header .site-navbar .searchButtonMini {
        height: 1.85rem;
        padding: 0 0.55rem !important;
        font-size: 0.75rem;
    }

    #header .site-navbar .shopping-cart-link {
        width: 1.85rem;
        height: 1.85rem;
        min-width: 1.85rem;
        min-height: 1.85rem;
    }

    body,
    body.has-fixed-top-nav,
    body:has(#header .navbar.fixed-top),
    body:has(.site-navbar.fixed-top) {
        padding-top: 3.1rem;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    #header .site-navbar .miniSearchArea,
    #header .site-navbar .miniSearchForm .radio {
        display: none;
    }

    #header .site-navbar .nav-link {
        padding: 0.2rem 0.3rem;
        font-size: 0.75rem;
    }
}

.fa-bars {
    color: var(--iga-brand-green);
}

#header .nav-item.dropdown-mega {
    position: static;
}

#header .navbar-expand-lg .navbar-nav .dropdown-mega .dropdown-menu {
    width: calc(100% - 1.5rem);
    max-width: 72rem;
    margin-top: 0.25rem;
}

.dropdown-mega .list-group-item {
    border-color: rgba(255, 255, 255, 0.2);
}

.megamenu a.thumbnail {
    background: none;
    color: #ffffff !important;
    padding: 0px;
    border: none;
    margin-bottom: 4px;
}

.searchButtonMini {
    padding: 0 0.85rem !important;
    display: inline-flex;
    text-transform: capitalize;
    line-height: 1;
    font-size: 12px;
    border-radius: 4px;
    font-weight: bold;
}

.shopping-cart-item-count {
    background-color: var(--iga-brand-green) !important;
    color: #ffffff !important;
}

.table tr th, .table tr td {
    background: none;
}

.bannerContainer {
    text-align: center;
    padding: 0.8em;
}

/* Top banner */
.bannerContainer div {
    width: 85%;
    margin:auto;
    padding: 12px;
    text-align: center;
}

/* frontend css override */

.contentTeaser {
    padding: 12px !important;
    margin-bottom: 1.5rem !important;
    background-color: #cedcd0 !important;
}

.contentTeaserText {
    padding: 6px;
}

.contentTeaserReadMore a.btn-primary {
    color: #ffffff !important;
}

.contentDetailsRow {
    background-color: #c7cbb9 !important;
}

/* Bootstrap overrides */

.page-header, .page-header *,
.teaser-header, .teaser-header * {
    color: #ffffff !important;
}

.page-header {
    margin-top: 12px !important;
    background-color: var(--iga-brand-green);
}

.contentTeaser .teaser-header {
    background-color: var(--iga-brand-green);
    margin: 0 0 8px 0;
    padding: 10px 8px;
    text-align: center;
    min-height: 0;
}

.contentTeaser .teaser-header h5 {
    margin: 0;
    font-size: 1.1em;
    line-height: 1.3;
}

.monthName {
    background-color: #18964C;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    padding: 4px;
}

.carousel-caption {
    padding-bottom: 128px;
}

.carousel-indicators {
    top: -20px;
}

.carousel-control-prev, .carousel-control-next,
.carousel-control-prev:hover, .carousel-control-next:hover {
    background: none !important;
    border: none !important;
}

.carousel-indicators li {
    background-color: #18964C;
    border: solid 1px #000000;
}

.carousel-indicators .active {
    background-color: var(--iga-btn-primary);
}

.nav-credits, .caret {
}

.fileGalleryItem img {
    max-height: 280px;
    margin: auto;
}

.fileGalleryItem {
    height: 250px !important;
}

.contentTeaser .fileGalleryItem,
.contentTeaser .fileGalleryItemEmpty {
    height: auto !important;
}

.contentTeaser .fileGalleryItemEmpty.teaser-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}

.contentTeaser.geographyTeaser .contentTeaserMedia .fileGalleryItem:not(:has(img)):not(:has(span)),
.contentTeaser.categoryTeaser .contentTeaserMedia .fileGalleryItem:not(:has(img)):not(:has(span)),
.contentTeaser.geographyTeaser .contentTeaserMedia .fileGalleryItemEmpty,
.contentTeaser.categoryTeaser .contentTeaserMedia .fileGalleryItemEmpty {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}

.contentTeaser.geographyTeaser .contentTeaserMedia .fileGalleryItem:not(:has(img)):not(:has(span)),
.contentTeaser.categoryTeaser .contentTeaserMedia .fileGalleryItem:not(:has(img)):not(:has(span)) {
    background-color: #fff;
}

.contentTeaser.geographyTeaser .contentTeaserMedia .fileGalleryItemEmpty img,
.contentTeaser.categoryTeaser .contentTeaserMedia .fileGalleryItemEmpty img,
.contentTeaser .fileGalleryItemEmpty.teaser-placeholder img {
    object-fit: contain;
    object-position: center;
    max-height: 100% !important;
    height: 100% !important;
}

.contentTeaser .fileGalleryItemEmpty.teaser-placeholder i {
    display: none;
}

.contentTeaser .teaser-placeholder-geography,
.contentTeaser .teaser-placeholder-category {
    background-color: #fff;
}

.contentTeaser .fileGalleryItem img,
.contentTeaser .fileGalleryItem span {
    max-height: none !important;
    height: 100% !important;
}

@media screen and (min-width: 800px) {
    .fileGalleryItem span {
        height: 250px !important;
    }

    .contentTeaser .fileGalleryItem span {
        height: 100% !important;
    }
}
