
/*-- SECTIONS --*/

body section:not(.section-listings-intro) {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 15px;
    padding-top: 15px;
}


/*-- SECTIONS - Media Small Screens --*/

@media (max-width: 750px) {
    body section {
        flex-direction: column;
    }
}


/*-- SECTION 1 --*/

.section-listings-intro {
    width: 95%;
    display: flex;
    flex-direction: row;
    margin-top: 20px;
    padding: 0 5px;
    text-align: center;
}

/* Fixed width for the advert container. */
.section-listings-intro .adv-cont {
    width: 300px; /* If this is changed the width of the mid-container should be changed below. */
}

.adv-cont .adv-cont-inner {
    width: 100%; /* Must expand to the full width of the adv-cont above. */
    height: 120px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* * Always keeps a small gap between this and adv-container as the screen size shrinks. */
.section-listings-intro .mid-cont {
    width: calc(100% - 600px); /* width of .adv-containers (250px each) x 2 = 300px */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 2px; /* * */
}

.mid-cont .h1-std {
    font-size: 3.5rem;
}

.adv-cont-l {
    align-items: flex-start;
}

.adv-cont-r {
    align-items: flex-end;
}

.adv-top picture {
    width: 100%;
    height: 100%;
}

.adv-top .banner-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border: none;
}

/* Media - Large Screens */
@media (min-width: 2000px) {

    .section-listings-intro  {
        width: 75%;
    }
}

/* Media - Small Screens */
@media (max-width: 1400px) {

    /* If this is changed the height of the adv-cont-inner and the width of the
    mid-container should be changed below. */
    .section-listings-intro .adv-cont {
        width: 250px;
    }

    .adv-cont .adv-cont-inner {
        height: 100px; /* Maintain an w:h aspect ratio of 2.5:1 with the adv-cont above. */
    }

    .section-listings-intro .mid-cont {
        width: calc(100% - 500px); /* Reduce width by twice the size of the adv-cont above. */
    }

    .section-listings-intro {
        width: 100%;
    }

    .mid-cont .click-msg,
    .mid-cont .list-of-topics {
        width: 100%;
    }
}

@media (max-width: 1000px) {

    /* If this is changed the height of the adv-cont-inner and the width of the
    mid-container should be changed below. */
    .section-listings-intro .adv-cont {
        width: 150px;
    }

    .adv-cont .adv-cont-inner {
        height: 60px; /* Maintain an w:h aspect ratio of 2.5:1 with the adv-cont above. */
    }

    .section-listings-intro .mid-cont {
        width: calc(100% - 300px); /* Reduce width by twice the size of the adv-cont above. */
    }

    .mid-cont .click-msg,
    .mid-cont .list-of-topics {
        width: 100vw; /* Use vw not % to extend more than across the parent container. */
    }
}

@media (max-width: 750px) {

    /* If this is changed the height of the adv-cont-inner and the width of the
    mid-container should be changed below. */
    .section-listings-intro .adv-cont {
        width: 100px;
    }

    .adv-cont .adv-cont-inner {
        height: 40px; /* Maintain an w:h aspect ratio of 2.5:1 with the adv-cont above. */
        font-size: 0.65rem;
    }

    .section-listings-intro .mid-cont {
        width: calc(100% - 200px); /* Reduce width by twice the size of the adv-cont above. */
    }
}

@media (max-width: 550px) {

    .h1-std {
        font-size: 2rem !important;
    }

    /* If this is changed the height of the adv-cont-inner and the width of the
    mid-container should be changed below. */
    .section-listings-intro .adv-cont {
        width: 75px;

    }

    .adv-cont .adv-cont-inner {
        height: 30px; /* Maintain an w:h aspect ratio of 2.5:1 with the adv-cont above. */
    }

    .section-listings-intro .mid-cont {
        width: calc(100% - 150px); /* Reduce width by twice the size of the adv-cont above. */
    }

    .section-listings-intro .adv-cont .adv-btn {
        font-size: 0.65rem;
    }
}


@media (max-width: 400px) {

    .section-listings-intro {
        flex-direction: column;
    }

    .section-listings-intro .img-container,
    .section-listings-intro .mid-cont {
        width: 100%;
    }

    .section-listings-intro .adv-cont:not(.adv-cont-draft) { 
        display: none;
    }

    .mid-cont .click-msg,
    .mid-cont .list-of-topics {
        font-size: 1rem;
    }

    .mid-cont .topic {
        font-size: 0.85rem;
        font-weight: normal;
    }
}

/*-- SECTION 2 -- */
/* The rest of the css in .filter-results.css */
.section-listings-search {
    padding: 0 5px 20px 5px; /* Keeps the filter results from edge on mobile. */
    margin-top: 0;
}

@media (max-width: 1150px) {

    .section-listings-search {
        margin-bottom: 20px;
    }
}


/*-- SECTION 3 -- */
/* There is more default css in swiper-carousels.css for the stying
of the carousels. */

.section-carousel-listing-ideas,
.section-ev-carousel {
    flex-direction: column;
    box-shadow: 0 0px 1px rgb(41, 55, 73);
}

.section-ev-carousel {
    background-color: #d4c4d4;
}

.section-carousel-listing-ideas .idea-intro,
.section-ev-carousel .idea-intro {
    font-size: 1.1rem;
}

/* Override default css from swiper-carousels.css */
.section-carousel-listing-ideas .slider-inner-cont,
.section-ev-carousel .slider-inner-cont {
    justify-content: flex-start;
    margin: 2.5px;
    background-color: transparent;
}

.section-carousel-listing-ideas .category-header,
.section-ev-carousel .category-header {
    width: 100%; /* Ensures uniform highlight width across all header items. */
    text-decoration: none;
    margin: 5px 0;
    padding: 5px;
    font-size: 1.1rem;
    color: black;
    text-align: center;
}

.section-carousel-listing-ideas .category-header {
    background-color: #ca9dc5;
}

.section-ev-carousel .category-header {
    background-color: white;
}

.section-ev-carousel .special-event-date {
    font-size: 0.90rem;
    background-color: rgb(223, 213, 221);
    margin-top: 5px;
}

.slider-inner-cont .category-description {
    font-size: 0.90rem;
    text-align: center;
    background-color: rgb(228, 230, 231);
    margin-bottom: 10px;
}

.slider-inner-cont > * {
    background-color: transparent;
}

.slider-inner-cont .listing-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 0.9rem;
    text-align: center;
    color: white;
}

.section-carousel-listing-ideas .listing-img {
    height: 100px;
}

.section-carousel-listing-ideas .listing-img img {
    object-fit: cover;
    height: 100px;
}

/* Styles for the active bullets */
.section-carousel-listing-ideas .swiper-pagination-bullet.swiper-pagination-bullet-active,
.section-ev-carousel .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #a887a4;
}

@media (max-width: 750px) {

    /* Reduced the amount of line of text and therefore the height of the el. */
    .section-carousel-listing-ideas .category-header,
    .section-ev-carousel .category-header {
        font-size: 1rem;
    }    
}

/*-- SECTION 5 -- */
/*-- Check the service-highlights.css file */


/*-- SECTION 6 -- */
/* There is more default css in swiper-carousels.css */

.section-testimonials-carousel {
    background-color: rgba(240, 202, 202, 0.514);   
    text-align: center;
    flex-direction: column;
}

/* Override default css from swiper-carousels.css */
.section-testimonials-carousel .slider-inner-cont {
    justify-content: flex-start;
}

.section-testimonials-carousel .carousel-top-i {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
}

.section-testimonials-carousel .listing-img {
    height: 100px;
}

.section-testimonials-carousel .listing-img img {
    object-fit: cover;
    height: 100px;
}

/* Styles for active bullet */
.section-testimonials-carousel .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #a887a4;
}

.person {
    text-align: center;
    color: rgb(122, 80, 131);
    margin-bottom: 30px;
}


/*-- SECTION 7 --*/

.section-txt-btns {
    width: 100%;
    flex-direction: column;
    margin: 20px 0 30px 0;
}

.section-txt-btns h4 {
    text-align: center;
}
