/*
Theme Name: ITCS Agent Pro Bootstrap
Theme URI: https://www.itcs.co.uk/
Author: ITCS
*/

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: sans-serif;
    line-height: 1.5 !important;
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Freestyle Script';
    color: #858383;
}

h1 {
    font-family: 'Freestyle Script';
    color: #858383;
}

button {
    font-family: 'Poppins', sans-serif;
    font-weight: 500 !important;
}

.btn-pp-p {
    background-color: #F22AA8;
    color: #fff;
    border-radius: 20px;
}

.btn-pp-b {
    background-color: #000;
    color: #fff;
    border-radius: 20px;
}

.btn-pp-b:hover {
    color: #f22aa8;
}

@font-face {
    font-family: 'Freestyle Script';
    src: url('/wp-content/themes/ITCS-AgentPro/fonts/FREESCPT.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.max-w {
    max-width: 1600px;
}

.container {}

.row {
    margin: 0px !important;
}

.container-fluid {
    padding: 0px !important;
}

p,
ul {
    font-family: 'Poppins', sans-serif;
    color: #858383;
}

b,
strong {}

a {
    font-family: 'Poppins', sans-serif;
    color: #858383;
}

a:hover {
    color: #F22AA8;
    text-decoration: none;
}

i {
    color: inherit;
}

a:hover {}

.btn {}

.btn a {}

.btn a:hover {}

img {
    width: 100%;
    height: auto;
}

img.alignright {
    float: right;
    margin: 0 0 1em 1em;
}

img.alignleft {
    float: left;
    margin: 0 1em 1em 0;
}

img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.alignright {
    float: right;
}

.alignleft {
    float: left;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.align-to-centre {
    display: flex;
    justify-content: center;
}

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

.vert-centre {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.insta-feed {
    background-image: url(/wp-content/uploads/2025/01/moroccan-flower.png);
}

/* Header */

.header {
    padding: 10px 0px !important;
}

.the-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
}

.social-icons {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 0 15px;
}

.the-logo {
    padding: 15px 0;
}

.menu-shadow {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* End Header */

/* Home Page */

.carousel-overlay {
    position: absolute;
    top: 50%;
    left: 25%;
    transform: translate(-50%, -50%);
    background-color: rgba(153, 153, 152, 0.82);
    padding: 25px;
    border-radius: 10px;
    text-align: left;
    z-index: 10;
    width: 80%;
    max-width: 600px;
}

.carousel-overlay img {
    width: 75%;
    margin-bottom: 10px;
}

.carousel-inner .carousel-item img {
    height: 800px;
    object-fit: cover;
}

.carousel-overlay h1 {
    color: #fff;
    margin-bottom: 0;
    font-size: 34px;
}

.carousel-overlay p {
    color: #fff;
}

.about-us-section {
    padding: 30px 0px !important;
}

.about-us-section img {
    border-radius: 12px;
}

h3.about-title {
    width: fit-content;
    border-bottom: 3px solid #f22aa8;
    padding: 0px 8px;
    font-size: 38px;
}

.abt-cols {
    padding: 25px 50px;
}

.service-card {
    position: relative;
}

.service-card-overlay {
    position: absolute;
    text-transform: uppercase;
    font-weight: 700;
    bottom: 0;
    left: 0;
    padding: 10px 35px;
    background-color: #f22aa8;
    color: #fff;
    border-bottom-left-radius: 14px;
    border-top-right-radius: 14px;
}

span.service-card-title:hover {
    color: #000;
}

.service-card img {
    height: 245px;
    width: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 14px;
}

.grey-bg {
    background-color: #999998;
    color: #fff;
}

.testimonial-section {
    padding: 40px 0px !important;
}

.testimonial-section h2 {
    color: #fff;
    font-size: 66px;
}

.test-box {
    border: 4px solid white;
    border-radius: 14px;
}

.testimonial-section .strong-view {
    padding: 5px;
}

.testimonial-section .wpmslider-viewport {
    background-color: #fff;
    border-radius: 14px;
}

.testimonial-section h3.wpmtst-testimonial-heading.testimonial-heading {
    margin-top: 28px;
    margin-bottom: 0px !important;
}

.testimonial-section h3.wpmtst-testimonial-heading.testimonial-heading {
    margin-top: 28px;
    margin-bottom: 0px !important;
    font-size: 34px;
}

.testimonial-section p.wpmtst-testimonial-content.testimonial-content {
    font-size: 18px;
}

.service-section {
    padding-bottom: 40px !important;
}

.max-w-feed {
    max-width: 1300px;
    padding: 25px 25px !important;
}

.sbi_feedtheme_header_text h3 {
    font-size: 34px !important;
}

/* End Home Page */

/* Footer */

.footer {
    color: #fff !important;
    padding: 20px !important;
    line-height: 1.25;
}

img.footer-hygiene-rating {
    width: 150px !important;
}

h3.widget-title {
    color: #fff;
    border-bottom: 2px solid #f22aa8;
    font-size: 42px;
    width: max-content;
    padding-bottom: 5px;
    margin-bottom: 15px;
}

.bottom-footer p,
.footer p {
    color: #fff;
}

.footer i {
    color: #fff;
}

.footer a {
    color: #fff;
}

.footer a:hover {
    color: #F22AA8;
}

.footer-logo-col {
    padding-right: 45px !important;
}

.right-btm-ft {
    text-align: right;
}

.bottom-footer {
    padding-top: 10px;
    padding-bottom: 10px;
}

i.footer-social-icon {
    font-size: 30px !important;
}

img.footer-social-icon {
    height: 30px !important;
    width: auto;
}

.footer-social-icons {
    display: flex;
    flex-direction: row;
}

.footer-social-icon {
    margin-right: 16px;
}

.itcs-section img {
    width: auto;
    height: 35px;
    margin-left: 6px;
}

.itcs-section {
    display: flex;
    flex-direction: row;
    align-content: center;
}

.right-btm-ft a {
    color: #fff !important;
}

.right-btm-ft a:hover {
    color: #f22aa8 !important;
}

/* End Footer */

/* 404 Page */

.page-404 {
    min-height: 51vh;
}

.page-404 p {
    font-size: 18px;
}

.page-404 a {
    font-weight: 600;
}

/* End 404 Page */

/* Internal Pages */

.white-card {
    background-color: #fff;
    padding: 10px;
    border: 2px solid #999998;
    border-radius: 8px;
}

.max-w-feed .white-card {
    padding: 20px;
}

.internal-page h3 {
    font-size: 34px;
}

h1.page-title {
    width: fit-content;
    padding: 4px 8px;
    border-bottom: 3px solid #f22aa8;
    font-size: 48px;
    margin-bottom: 16px;
}

.gallery-p img {
    width: 100%;
    height: 385px;
    display: block;
    object-fit: cover;
    transition: transform 0.3s ease;
    border-radius: 8px;
}

.gallery-p {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin: 20px 0;
}

.gallery-p a {
    display: block;
    position: relative;
    overflow: hidden;
}

.gallery-p a:hover img {
    transform: scale(1.05);
}

@media (max-width: 1200px) {
    .gallery-p {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .gallery-p {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .gallery-p {
        grid-template-columns: repeat(2, 1fr);
    }
}

.intro-image img {
    height: 400px;
    object-fit: cover;
    object-position: center;
    border-radius: 15px;
}

.intro-image {
    padding: 20px !important;
}

.intro-text {
    padding: 15px;
}

.internal-page h1,
.menu-page h1 {
    font-size: 56px;
    width: fit-content;
    border-bottom: 3px solid #f22aa8;
    padding: 0 8px;
}

.gallery-item {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    height: 400px;
    position: relative;
    border-radius: 10px;
    margin: 15px 0;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    transition: transform 0.3s ease-in-out;
}

.gallery-item:hover img {
    transform: scale(1.1);
}

.block-img-cols {
    padding: 15px 30px;
}

.block-txt-cols {
    padding: 30px;
}

.block-img-cols img {
    max-height: 80%;
    object-fit: cover;
    border-radius: 10px;
}

/* End Internal Pages */

/* Sample Menu Page */

.menu-page {
    padding: 25px 0px !important;
    max-width: 1350px;
}

.section-title h3 {
    font-size: 44px;
}

.accordion-header {
    cursor: pointer;
    display: flex;
    padding: 10px 5px 0px;
    justify-content: space-between;
    align-items: center;
}

.section-title {
    font-weight: bold;
}

.accordion-icon {
    transition: transform 0.3s;
}

.accordion-collapse {
    padding: 15px;
}

p.sub-section-description {
    margin-bottom: 10px;
}

.menu-items {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

ul.menu-items {
    padding: 0px 20px;
}

.menu-item {
    margin-bottom: 10px;
}

h3.sub-section-title {
    font-size: 36px;
    margin-top: 30px !important;
}

.item-name {
    display: block;
    font-weight: 500;
}

.item-description {
    display: block;
    margin-top: 5px;
    font-size: 15px;
}

.accordion-collapse {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
}

.accordion-collapse.show {
    overflow: hidden;
    /* Retain overflow:hidden for smoother transitions */
}

/* End Sample Menu Page */

/* Contact Page  */

.contact-page {
    padding: 25px 0px !important;
}

.posh-partidge-map {
    height: 500px;
    outline: 4px solid #999998;
    border-radius: 5px;
}

p.email-phone-txt {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 22px;
}

p.email-phone-txt:hover {
    color: #f22aa8;
}

a.email-phone-col {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 16px;
    width: fit-content;
}

.partridge-bg {
    background-image: url(http://theposhp.itcscloud.co.uk/wp-content/uploads/2024/11/Partridge-Grey-on-Transparent-Icon.png);
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: bottom;
    background-size: 14%;
}

/* End Contact Page */

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

                    RESPONSIVENESS

************************************************************/
/* // Devices 1600px and up */
@media (min-width: 1600px) {}

/* // Devices 1450px and up */
@media (min-width: 1450px) {}

/* // Large devices (desktops, between 993px and 1450px) */
@media (min-width: 1101px) and (max-width: 1450px) {
    .the-logo {
        padding: 10px;
    }

    .menu-page {
        padding: 15px !important;
    }

    .contact-page {
        padding: 25px 0px 75px !important;
    }
}

/* // Large devices (desktops, between 993px and 1450px) */
@media (min-width: 993px) and (max-width: 1200px) {
    .carousel-overlay {
        left: 40%;
    }

    .the-logo {
        padding: 10px;
    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu>li.mega-menu-item>a.mega-menu-link {
        padding: 0px 6px 0px 6px;
        font-size: 16px;
    }

    .block-img-cols {
        height: fit-content !important;
    }
}

/* // Large devices (desktops, between 767px and 992px) */
@media (min-width: 767px) and (max-width: 992px) {
    .service-card {
        margin-bottom: 10px;
    }

    .col-12.social-icons {
        display: none;
    }

    .the-logo {
        padding: 15px;
    }

    .the-menu {
        justify-content: center;
    }

    .carousel-overlay {
        left: 50%;
    }

    .testimonial-section h2 {
        color: #fff;
        font-size: 52px;
    }

    .footer-social-icons {
        margin-bottom: 15px;
        margin-top: 15px;
    }

    .bottom-footer {
        padding: 0px 20px !important;
    }

    .menu-page {
        padding: 25px !important;
    }

    .contact-page .col-12.col-lg-6 {
        padding: 10px;
    }

    p.email-phone-txt {
        margin-bottom: 15px;
        font-size: 18px;
    }

    .block-img-cols {
        height: fit-content !important;
    }

    ul#mega-menu-header-menu {
        margin-top: 36px !important;
        border: 2px solid #999998 !important;
        border-radius: 8px !important;
    }

    a.mega-menu-link {
        border-bottom: 1px solid #f22aa8 !important;
    }

    li.mega-menu-flyout {
        padding: 0px 10px 5px !important;
    }
}

/* // Small devices (landscape phones, less than 768px) */
@media (max-width: 766px) {
    .service-card {
        margin-bottom: 10px;
    }

    .col-12.social-icons {
        display: none;
    }

    .the-logo {
        padding: 15px;
    }

    .the-menu {
        justify-content: center;
    }

    .carousel-overlay {
        left: 50%;
    }

    .testimonial-section h2 {
        color: #fff;
        font-size: 52px;
    }

    .footer-social-icons {
        margin-bottom: 15px;
        margin-top: 15px;
    }

    .right-btm-ft {
        text-align: left;
    }

    .bottom-footer {
        padding: 0px 20px !important;
    }

    .menu-page {
        padding: 25px !important;
    }

    .contact-page .col-12.col-lg-6 {
        padding: 10px;
    }

    p.email-phone-txt {
        margin-bottom: 15px;
        font-size: 18px;
    }

    ul#mega-menu-header-menu {
        margin-top: 36px !important;
        border: 2px solid #999998 !important;
        border-radius: 8px !important;
    }

    a.mega-menu-link {
        border-bottom: 1px solid #f22aa8 !important;
    }

    li.mega-menu-flyout {
        padding: 0px 10px 5px !important;
    }

    .max-w-feed {
        padding: 25px 0px !important;
    }

    .block-img-cols {
        height: fit-content !important;
        padding: 0px 30px;
    }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {
    .service-card {
        margin-bottom: 10px;
    }

    .col-12.social-icons {
        display: none;
    }

    .the-logo {
        padding: 15px;
    }

    .the-menu {
        justify-content: center;
    }

    .carousel-overlay {
        left: 50%;
    }

    .testimonial-section h2 {
        color: #fff;
        font-size: 52px;
    }

    .footer-social-icons {
        margin-bottom: 15px;
        margin-top: 15px;
    }

    .right-btm-ft {
        text-align: left;
    }

    .bottom-footer {
        padding: 0px 20px !important;
    }

    .menu-page {
        padding: 25px !important;
    }

    .contact-page .col-12.col-lg-6 {
        padding: 10px;
    }

    p.email-phone-txt {
        margin-bottom: 15px;
        font-size: 18px;
    }

    ul#mega-menu-header-menu {
        margin-top: 36px !important;
        border: 2px solid #999998 !important;
        border-radius: 8px !important;
    }

    a.mega-menu-link {
        border-bottom: 1px solid #f22aa8 !important;
    }

    li.mega-menu-flyout {
        padding: 0px 10px 5px !important;
    }

    .max-w-feed {
        padding: 25px 0px !important;
    }

    .block-img-cols {
        height: fit-content !important;
        padding: 15px 30px 0px;
    }

    .carousel-inner .carousel-item img {
        height: 800px;
        object-fit: cover;
        width: 100% !important;
    }
}