/**
* Theme Name: Townly Child
* Template:   townly
*/
:root {
    --custom-primary-color: #fecb00 !important;
    --custom-secondary-color: #006a23 !important;
  }

.tmnf_width_wide .container, .tmnf_width_wide .container_alt, .tmnf_width_wide .container_vis, .tmnf_width_wide .container_head {
    max-width: 1550px;
}

/* header */
.site_wrapper { 
    overflow:unset;
}
.header_fullwidth #header {
    position: sticky; 
    top: 0; 
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); 
    transition: all 0.3s ease;
}
.header_fullwidth #header .container_head {
    align-items:center;
}
@media (min-width:768px) {
    .header-right {
        margin-top: 15px;
        margin-bottom:15px;
    }
}
@media (min-width: 678px){
    #main-nav {
        display:flex;
        align-items:center;
        justify-content: flex-end;;
    }
}
#main-nav>li,
#main-nav>li:first-child  {
    padding: 15px 15px 15px 21px;
}
.nav .current-menu-parent>a {
    border-color: var(--custom-primary-color);
}
.menu-item-has-children>a::after {
    font-size: 15px !important;
}
#main-nav>li.special {
    padding: 0;
}
#main-nav>li.special>a {
    background-color: var(--custom-primary-color);
    display:flex;
    gap:5px;
    align-items: center;
}

#main-nav>li.special>a:hover {
    color:#fff;
    background-color: var(--custom-secondary-color);
}
#main-nav>li.special>a svg {
    margin:3px;
}
#main-nav>li.special>a:hover svg {
    fill: #fff;
    transition: fill 0.3s;
}
#main-nav li ul li>a:hover {
    text-decoration:underline;
}

/* heading line styles */
.dekoline:before, .eleslideinside h2:before, h3#reply-title:before {
    background: #333;
}
.dekoline:after, .eleslideinside h2:after, h3#reply-title:after {
    background: #ccc;
}
.dekoline.due:before {
    background: #333;
}
.dekoline.due:after {
    background: #fff;
}

.dekoline.short:after {
    max-width: 250px;
}

/*****************/
/* swiper slider */
/*****************/
.custom-swiper-container.extend-image img {
    width: 100vw;
    height: 75vh;
    object-fit: cover;
}
.custom-swiper-container .swiper-button-prev,
.custom-swiper-container .swiper-button-next {
    width:7em;
}
.custom-swiper-container .swiper-button-prev:after,
.custom-swiper-container .swiper-button-next:after {
    display:none;
}
.custom-swiper-container .swiper-button-prev img,
.custom-swiper-container .swiper-button-next img,
.custom-swiper-container .swiper-button-prev svg,
.custom-swiper-container .swiper-button-next svg {
    width:1.8em;
    height:auto;
}
@media(max-width:798px){
    .custom-swiper-container.extend-image img {
        width: 100vw;
        height: 350px;
        object-fit: cover;
    }
    .custom-swiper-container .swiper-button-prev,
    .custom-swiper-container .swiper-button-next {
        width:4em;
    }
}
/*******************/
/* quotation icons */
/*******************/
@media (max-width: 1680px) {
    .quote.lt {
        left:-10px !important;
    }
    .quote.rt {
        right:-10px !important;
    }
}

/* stickers with numbers (1. 2. 3. etc..) */
.sticker>div {
    width:80px !important;
    height:80px !important;
    padding:20px;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/***********/
/* buttons */
/***********/
.btn {
    padding: 10px 20px;
    border: none;
    border-radius: 40px;
    text-transform: uppercase;

}
.btn-white {
    background-color:#fff !important;
    color:#000 !important;
    transition: all .3s;
}
.btn-white:hover,
.btn-white:active {
    background-color: var(--custom-secondary-color) !important;
    color:#fff !important;
}

/**********/
/* footer */
/**********/
.foocol {
    width:12%;
}
#footer .foocol p {
    margin:0;
    font-size:18px;
    line-height: 24px;
}
#footer .foocol a,
#footer .foocol p {
    font-size:18px;
}
.foocol.first {
    width:32%;
    padding: 40px 20px 40px 0px;
}
.foocol.fifth {
    width:20%;
}
.foocol .dekoline:before {
    background: #fff;
}
.foocol .dekoline:after {
    background: #fff;
}

#footer .foocol h2 {
    line-height: .8em;
}
#footer .foocol h2 {
    margin-bottom:15px !important;
}
#footer .foocol ul li {
    padding:0;
    line-height: 1.3em;
}
#footer .foocol ul li a {
    font-size:16px;
    font-weight:normal;
    line-height: 1.3em;
}
#footer .foocol .social {
    padding-top:10px; 
    display:flex; 
    gap: 10px;
    align-items: flex-end;
}
#footer .foocol .social img {
    margin:0;
}
.footer_credits a {
    font-size:12px;
    text-decoration: underline;
}
.footer_credits a:hover {
    text-decoration: none;
}
@media screen and (max-width: 885px){
    #footer .container_vis {
        display:flex;
        flex-wrap:wrap;
        justify-content: flex-start;
        gap:20px;
    }
    #footer .foocol {
        width: calc(50% - 40px);
        max-width: unset !important;
        margin: 0 !important;
    }
    #footer .foocol.first {
        width:100%;
    }
    #footer .foocol h2.widget:after {
        max-width:100%;
    }
    #footer .footer-menu {
        margin-top:20px;
        padding-top:20px;
        border-top: 1px solid #fff;
    }
}

@media screen and (max-width: 768px) {
    #footer .footer-logo,
    #footer .foocol:not(:first-child) {
        display:none;
    }
    .foocol img {
        margin: 20px auto 30px auto;
    }
    #footer .foocol.first {
        text-align:center;
    }
    #footer .foocol .social {
        justify-content: center;
        padding-top:10px;
    }
    #footer .container_vis {
        display:block;
    }
}


/*********************/
/* Elementor modules */
/*********************/

@media screen and (max-width: 768px) {
    .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure {
        height: 360px;
    }
    .elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) figure img {
        height:100%;
        object-fit: cover;
    }
}

.elementor-widget:not(:last-child) { margin:0; }
.elementor-button span {
    display:inline-flex;
    align-items:center;
}

/* custom table */
.custom-pricing-table-container {
    overflow-x: auto;
}
.custom-pricing-table {
    border: none;
}


/* custom breadcrumb */
.breadcrumb {
    /*color:#fff;*/
    /*font-size:15px;*/
    padding: 0;
	list-style-type: none;
    display:flex;
    flex-wrap: wrap;
    align-items:center;
}
.breadcrumb li.breadcrumb-item {
    margin: 0 10px 0 0;
    display:inline-flex;
    align-items:center;
    gap:10px;
   /* line-height: 1.4em;*/
}
.breadcrumb li.breadcrumb-item:after {
    content: '\2192';
    display: block;
    color: var(--custom-primary-color);
}
.breadcrumb li.breadcrumb-item:last-child:after {
    display: none;
}
.breadcrumb li.breadcrumb-item a {
    /*color:#fff;*/
    /*font-size:15px;*/
    transition:opacity 0.3s;
}
.breadcrumb li.breadcrumb-item a:hover {
    text-decoration: none;
    opacity:.7;
}

/* custom button widget */
.elementor-widget-custom_button .elementor-widget-container {
    width:100%;
}
.elementor-widget-custom_button .elementor-button-icon svg {
    width: 1em;
    height: auto;
}
.elementor-widget-custom_button .custom-button {
    display:flex;
    align-items:center;
}


/****************/
/* contact form */
/****************/
.wpcf7-form {
    padding: 20px 0;
    font-size: .75em;
    line-height:1.1em;
    margin:0;
    font-style: normal;
}
.wpcf7-form .form-row {
    margin-bottom:15px;
}
.wpcf7-form .form-row.last {
    margin-bottom:0px;
}
.wpcf7-form .form-row.last .form-col p {
    display:flex;
    justify-content: flex-end;
    align-items: center;
}
.wpcf7-form .wpcf7-list-item {
    display:inline;
    gap:10px;
    margin:0 30px 0 0;
    align-items: center;
}
.wpcf7-form input[type=radio],
.wpcf7-form input[type=checkbox] {
    width:20px;
    height:20px;
}
.wpcf7-form p {
    font-size: unset;
    line-height:unset;
}
.wpcf7-form .label {
    margin-bottom: 5px;
}
.wpcf7-form p a {
    font-size: 1em;
}
.wpcf7-form .sectors p,
.wpcf7-form .sectors .wpcf7-radio {
    display:flex;
    gap:10px;
    align-items: center;
}
.wpcf7-form .sectors label,
.wpcf7-form .sectors input {
    margin:0;
}
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form input#author, 
.wpcf7-form input#email, 
.wpcf7-form input#url {
    background:#fff;
}
.wpcf7-form .wpcf7-acceptance {
    display:block;
    font-size: .9em;
    line-height:1em;
}
.wpcf7-form .wpcf7-acceptance label {
    display: flex;
    align-items: flex-start;
    gap:5px;
}
.wpcf7-form .wpcf7-acceptance input {
    margin-top: 7px;
}
.wpcf7-form .form-row.last .form-col p .wpcf7-submit {
    order:2;
}
.wpcf7-form .form-row.last .form-col p .wpcf7-spinner {
    order:1;
}
@media (min-width:885px){
    .form-row {
        display: flex;
        gap:20px;
    }
    .form-col {
        width:50%;
    }
    .form-col.full {
        width:100%;
    }
}
.wpcf7 .screen-reader-response {
    display: none;
}