/* ==========================================================
   Azur Toiture Renovation - CSS global (Hello Elementor Child)
   Regles de l ancien theme Rafter encore utilisees sur le site.
   Modifier ici pour un changement global du design.
   ========================================================== */

/* --- Polices --- */
@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/lora-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"flaticon_roofing_figma_file";font-display:block;src:url("../fonts/flaticon_roofing.woff2") format("woff2"),url("../fonts/flaticon_roofing.woff") format("woff")}

/* --- bootstrap.min.css --- */
:root { --bs-blue: #0d6efd; --bs-indigo: #6610f2; --bs-purple: #6f42c1; --bs-pink: #d63384; --bs-red: #dc3545; --bs-orange: #fd7e14; --bs-yellow: #ffc107; --bs-green: #198754; --bs-teal: #20c997; --bs-cyan: #0dcaf0; --bs-black: #000; --bs-white: #fff; --bs-gray: #6c757d; --bs-gray-dark: #343a40; --bs-gray-100: #f8f9fa; --bs-gray-200: #e9ecef; --bs-gray-300: #dee2e6; --bs-gray-400: #ced4da; --bs-gray-500: #adb5bd; --bs-gray-600: #6c757d; --bs-gray-700: #495057; --bs-gray-800: #343a40; --bs-gray-900: #212529; --bs-primary: #0d6efd; --bs-secondary: #6c757d; --bs-success: #198754; --bs-info: #0dcaf0; --bs-warning: #ffc107; --bs-danger: #dc3545; --bs-light: #f8f9fa; --bs-dark: #212529; --bs-primary-rgb: 13,110,253; --bs-secondary-rgb: 108,117,125; --bs-success-rgb: 25,135,84; --bs-info-rgb: 13,202,240; --bs-warning-rgb: 255,193,7; --bs-danger-rgb: 220,53,69; --bs-light-rgb: 248,249,250; --bs-dark-rgb: 33,37,41; --bs-white-rgb: 255,255,255; --bs-black-rgb: 0,0,0; --bs-body-color-rgb: 33,37,41; --bs-body-bg-rgb: 255,255,255; --bs-font-sans-serif: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; --bs-font-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); --bs-body-font-family: var(--bs-font-sans-serif); --bs-body-font-size: 1rem; --bs-body-font-weight: 400; --bs-body-line-height: 1.5; --bs-body-color: #212529; --bs-body-bg: #fff; --bs-border-width: 1px; --bs-border-style: solid; --bs-border-color: #dee2e6; --bs-border-color-translucent: rgba(0, 0, 0, 0.175); --bs-border-radius: 0.375rem; --bs-border-radius-sm: 0.25rem; --bs-border-radius-lg: 0.5rem; --bs-border-radius-xl: 1rem; --bs-border-radius-2xl: 2rem; --bs-border-radius-pill: 50rem; --bs-link-color: #0d6efd; --bs-link-hover-color: #0a58ca; --bs-code-color: #d63384; --bs-highlight-bg: #fff3cd; }
*, ::after, ::before { box-sizing: border-box; }
@media (prefers-reduced-motion: no-preference){
:root { scroll-behavior: smooth; }
}
body { margin: 0px; font-family: var(--bs-body-font-family); font-size: var(--bs-body-font-size); font-weight: var(--bs-body-font-weight); line-height: var(--bs-body-line-height); color: var(--bs-body-color); text-align: var(--bs-body-text-align); background-color: var(--bs-body-bg); text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
hr { margin: 1rem 0px; color: inherit; border-width: 1px 0px 0px; border-style: solid none none; border-color: currentcolor; border-image: none; opacity: 0.25; }
h1, h2, h3, h4, h5, h6 { margin-top: 0px; margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; }
h1 { font-size: calc(1.375rem + 1.5vw); }
@media (min-width: 1200px){
h1 { font-size: 2.5rem; }
}
h2 { font-size: calc(1.325rem + 0.9vw); }
@media (min-width: 1200px){
h2 { font-size: 2rem; }
}
h3 { font-size: calc(1.3rem + 0.6vw); }
@media (min-width: 1200px){
h3 { font-size: 1.75rem; }
}
h4 { font-size: calc(1.275rem + 0.3vw); }
@media (min-width: 1200px){
h4 { font-size: 1.5rem; }
}
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p { margin-top: 0px; margin-bottom: 1rem; }
ol, ul { padding-left: 2rem; }
ol, ul { margin-top: 0px; margin-bottom: 1rem; }
ul ul { margin-bottom: 0px; }
blockquote { margin: 0px 0px 1rem; }
strong { font-weight: bolder; }
a { color: var(--bs-link-color); text-decoration: underline; }
a:hover { color: var(--bs-link-hover-color); }
a:not([href]):not([class]), a:not([href]):not([class]):hover { color: inherit; text-decoration: none; }
pre { font-family: var(--bs-font-monospace); font-size: 1em; }
pre { display: block; margin-top: 0px; margin-bottom: 1rem; overflow: auto; font-size: 0.875em; }
figure { margin: 0px 0px 1rem; }
img, svg { vertical-align: middle; }
table { caption-side: bottom; border-collapse: collapse; }
th { text-align: -webkit-match-parent; }
tbody, td, th, thead, tr { border-color: inherit; border-style: solid; border-width: 0px; }
label { display: inline-block; }
button { border-radius: 0px; }
button:focus:not(:focus-visible) { outline: 0px; }
button, input, select, textarea { margin: 0px; font-family: inherit; font-size: inherit; line-height: inherit; }
button, select { text-transform: none; }
[role="button"] { cursor: pointer; }
select { overflow-wrap: normal; }
select:disabled { opacity: 1; }
[type="submit"], button { appearance: button; }
[type="submit"]:not(:disabled), button:not(:disabled) { cursor: pointer; }
textarea { resize: vertical; }
::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-year-field { padding: 0px; }
::-webkit-inner-spin-button { height: auto; }
::-webkit-search-decoration { appearance: none; }
::-webkit-color-swatch-wrapper { padding: 0px; }
::-webkit-file-upload-button { font: inherit; appearance: button; }
::file-selector-button { font: inherit; appearance: button; }
iframe { border: 0px; }
summary { display: list-item; cursor: pointer; }
[hidden] { display: none !important; }
.row { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(-1 * var(--bs-gutter-y)); margin-right: calc(-.5 * var(--bs-gutter-x)); margin-left: calc(-.5 * var(--bs-gutter-x)); }
.row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: calc(var(--bs-gutter-x) * .5); padding-left: calc(var(--bs-gutter-x) * .5); margin-top: var(--bs-gutter-y); }
@media (min-width: 576px){
.col-sm-6 { flex: 0 0 auto; width: 50%; }
}
@media (min-width: 768px){
.col-md-6 { flex: 0 0 auto; width: 50%; }
}
@media (min-width: 992px){
.col-lg-4 { flex: 0 0 auto; width: 33.3333%; }
}
.form-control { display: block; width: 100%; padding: 0.375rem 0.75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: rgb(33, 37, 41); background-color: rgb(255, 255, 255); background-clip: padding-box; border: 1px solid rgb(206, 212, 218); appearance: none; border-radius: 0.375rem; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
@media (prefers-reduced-motion: reduce){
.form-control { transition: none; }
}
.form-control:focus { color: rgb(33, 37, 41); background-color: rgb(255, 255, 255); border-color: rgb(134, 183, 254); outline: 0px; box-shadow: rgba(13, 110, 253, 0.25) 0px 0px 0px 0.25rem; }
.form-control::-webkit-date-and-time-value { height: 1.5em; }
.form-control::placeholder { color: rgb(108, 117, 125); opacity: 1; }
.form-control:disabled { background-color: rgb(233, 236, 239); opacity: 1; }
.form-control::-webkit-file-upload-button { padding: 0.375rem 0.75rem; margin: -0.375rem -0.75rem; margin-inline-end: 0.75rem; color: rgb(33, 37, 41); background-color: rgb(233, 236, 239); pointer-events: none; border-color: inherit; border-style: solid; border-width: 0px; border-inline-end-width: 1px; border-radius: 0px; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
.form-control::file-selector-button { padding: 0.375rem 0.75rem; margin: -0.375rem -0.75rem; margin-inline-end: 0.75rem; color: rgb(33, 37, 41); background-color: rgb(233, 236, 239); pointer-events: none; border-color: inherit; border-style: solid; border-width: 0px; border-inline-end-width: 1px; border-radius: 0px; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
@media (prefers-reduced-motion: reduce){
.form-control::-webkit-file-upload-button { transition: none; }
.form-control::file-selector-button { transition: none; }
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { background-color: rgb(221, 224, 227); }
.form-control:hover:not(:disabled):not([readonly])::file-selector-button { background-color: rgb(221, 224, 227); }
.overflow-hidden { overflow: hidden !important; }
.d-block { display: block !important; }
.align-items-center { align-items: center !important; }
.gap-3 { gap: 1rem !important; }
.text-start { text-align: left !important; }
@media (min-width: 992px){
.d-lg-flex { display: flex !important; }
}

/* --- flaticon_roofing.css --- */
i[class*=" flaticon-"]::before, i[class^="flaticon-"]::before { font-style: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; font-family: flaticon_roofing_figma_file !important; font-weight: 400 !important; }
.flaticon-roof::before { content: ""; }
.flaticon-checked::before { content: ""; }
.flaticon-plus::before { content: ""; }
.flaticon-clock::before { content: ""; }
.flaticon-house::before { content: ""; }
.flaticon-roof-3::before { content: ""; }
.flaticon-roof-4::before { content: ""; }
.flaticon-roof-5::before { content: ""; }
.flaticon-check::before { content: ""; }
.flaticon-call-1::before { content: ""; }
.flaticon-location::before { content: ""; }

/* --- rafter-core.css --- */
:root { --tj-ff-body: 'Poppins', sans-serif; --tj-ff-heading: 'Lora', serif; --tj-ff-fontawesome: "Font Awesome 6 Pro"; --tj-common-white: #ffffff; --tj-common-black: #000000; --tj-common-black-2: #24292d; --tj-heading-primary: #102039; --tj-heading-secondary: #ea1826; --tj-heading-secondary_2: #57667d; --tj-grey-1: #c5c5c5; --tj-grey-2: rgba(221, 221, 221, 0.58); --tj-grey-3: rgba(248, 248, 248, 0.1); --tj-grey-4: rgba(219, 219, 219, 0.4); --tj-grey-5: #c1c1c1; --tj-grey-6: #ebebeb; --tj-grey-7: #fafafa; --tj-grey-8: #f8f8f8; --tj-grey-9: #bbbbbb; --tj-text-body: #787878; --tj-text-1: #000; --tj-text-2: #070707; --tj-text-3: #333333; --tj-text-4: #d0d0d0; --tj-theme-primary: #ea1826; --tj-theme-secondary: #102039; --tj-theme-1: #de2021; --tj-theme-2: #fff1f1; --tj-theme-3: rgba(16, 32, 57, 0.7333333333); --tj-theme-4: rgba(16, 32, 57, 0.4509803922); --tj-theme-5: #eb5758; --tj-theme-6: #233152; --tj-theme-7: #ffd700; --tj-theme-8: #2e3745; --tj-theme-9: #f8f8f8; --tj-theme-10: #0e1013; --tj-border-1: #ededed; --tj-border-2: #e9e9e9; --tj-border-3: #999999; --tj-border-4: #e6e6e6; --tj-border-5: #535353; --tj-border-6: #888888; --tj-border-7: rgba(221, 221, 221, 0.15); --tj-border-8: #e7e7e7; --tj-border-9: rgba(221, 221, 221, 0.45); --tj-border-10: #c8c8c8; --tj-border-11: rgba(169, 169, 169, 0.1); --tj-border-12: rgba(217, 217, 217, 0.5); --tj-border-13: #dddddd; --tj-border-14: #d9d9d9; --tj-border-15: rgba(219, 219, 219, 0.25); --tj-border-16: rgba(234, 24, 38, 0.55); --tj-shadow-1: rgba(0, 0, 0, 0.1); --tj-shadow-2: rgba(100, 100, 111, 0.2); --tj-shadow-3: rgba(35, 35, 35, 0.15); --tj-shadow-4: rgba(0, 0, 0, 0.5); --tj-shadow-5: rgba(0, 0, 0, 0.1); --tj-shadow-6: rgba(16, 32, 57, 0.15); --tj-shadow-7: rgba(234, 24, 38, 0.1); --tj-placeholder-1: #b1b1b1; --tj-fw-normal: normal; --tj-fw-elight: 200; --tj-fw-light: 300; --tj-fw-regular: 400; --tj-fw-medium: 500; --tj-fw-sbold: 600; --tj-fw-bold: 700; --tj-fw-ebold: 800; --tj-fw-blacks: 900; --tj-fz-body: 16px; --tj-fz-p: 18px; --tj-fz-h1: 75px; --tj-fz-h2: 45px; --tj-fz-h3: 30px; --tj-fz-h4: 24px; --tj-fz-h5: 22px; --tj-fz-h6: 18px; }
:root { --tj-body-line-height: 1.5; --tj-body-font-weight: 400; }
* { margin: 0px; padding: 0px; box-sizing: border-box; }
html { margin: 0px; padding: 0px; width: 100%; height: 100%; overflow: hidden scroll; }
body { font-family: var(--tj-ff-body); font-size: var(--tj-fz-body); font-weight: var(--tj-body-font-weight); color: var(--tj-text-body); line-height: var(--tj-body-line-height); }
a { text-decoration: none; }
h1, h2, h3, h4, h5, h6 { font-family: var(--tj-ff-heading); color: var(--tj-heading-primary); font-weight: var(--tj-fw-sbold); line-height: 1.2; margin-bottom: 15px; }
h2 a { font-size: inherit; color: inherit; font-weight: inherit; line-height: inherit; }
h2:hover a { font-size: inherit; color: inherit; font-weight: inherit; }
h1 { font-size: var(--tj-fz-h1); line-height: 1.3; }
h2 { font-size: var(--tj-fz-h2); }
h3 { font-size: var(--tj-fz-h3); }
h4 { font-size: var(--tj-fz-h4); }
h5 { font-size: var(--tj-fz-h5); }
h6 { font-size: var(--tj-fz-h6); }
p { line-height: var(--tj-body-line-height); font-family: var(--tj-ff-body); font-size: var(--tj-fz-body); font-weight: var(--tj-body-font-weight); color: var(--tj-text-body); margin-bottom: 15px; }
a, button, span, p, i, input, select, textarea, li, img, svg path, ::after, ::before, h1, h2, h3, h4, h5, h6 { transition: 0.3s ease-out; }
img { max-width: 100%; }
button { border: 0px; }
a:hover, a:focus, a:active, button:hover, button:focus, button:active { text-decoration: none; outline: none; box-shadow: 0px 0px 0px; }
input:focus { outline: none; }
.form-control { border-radius: 2px; }
input::-webkit-focus-inner { border: 0px; display: none; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus { box-shadow: 0 0 0px 1000px var(--tj-common-white) inset !important; }
::-webkit-input-placeholder { color: var(--tj-grey-9); opacity: 1; }
::placeholder { color: var(--tj-grey-9); opacity: 1; }
table { border-collapse: collapse; }
form { position: relative; }
button { background: transparent; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; }
.form-control:focus { outline: none; border-color: var(--tj-shadow-5); box-shadow: 0px 0px 0px; }
.bg-cover { background-repeat: no-repeat; background-size: cover; position: relative; background-position: center center; }
@-webkit-keyframes pluse-icon { 0% { transform: translateX(0px); } 50% { transform: translateX(20px); } 100% { transform: translateX(0px); } }
@keyframes pluse-icon { 0% { transform: translateX(0px); } 50% { transform: translateX(20px); } 100% { transform: translateX(0px); } }
@-webkit-keyframes pluse { 0% { transform: translateY(0px); } 50% { transform: translateY(20px); } 100% { transform: translateY(0px); } }
@keyframes pluse { 0% { transform: translateY(0px); } 50% { transform: translateY(20px); } 100% { transform: translateY(0px); } }
.tj-btn-primary { line-height: 1; font-weight: var(--tj-fw-sbold); font-family: var(--tj-ff-heading); display: inline-block; transition: 0.4s ease-out; text-transform: uppercase; font-size: 18px; }
.tj-btn-primary { padding: 17px 30px; background: var(--tj-theme-primary); text-transform: capitalize; color: var(--tj-common-white); }
.tj-btn-primary.style-1 { overflow: hidden; position: relative; z-index: 1; }
.tj-btn-primary.style-1::after { content: ""; position: absolute; height: 100%; left: 60%; top: 60%; width: 150%; transition: 0.5s; z-index: -1; background: var(--tj-theme-secondary); transform: rotate(-25deg); }
.tj-btn-primary.style-1:hover { background-color: transparent; }
.tj-btn-primary.style-1:hover::after { left: -30%; top: -70%; height: 470%; }
.tj-btn-primary:hover { background: var(--tj-theme-secondary); color: var(--tj-common-white); }
.section__heading { margin-bottom: 60px; }
header { position: relative; z-index: 99; }
.about-wrapper.about-1 { position: relative; }
.about-wrapper.about-4.about-image .about-left { margin-bottom: 0px; }
.about-wrapper.about-4 .about-left { position: relative; }
.about-wrapper.about-4 .about-left .about-shape { position: absolute; top: 0%; left: calc(20% + 20px); z-index: -1; animation: 6s ease-in-out 0s infinite normal none running pluse-icon; }
.about-wrapper.about-4 .about-left .about-shape img { height: 100%; }
.about-wrapper.about-4 .about-right p { display: block; max-width: 474px; }
.about-wrapper.about-4 .about-right .tj-single-thumb { margin-bottom: 20px; position: relative; display: flex; gap: 20px; -webkit-box-align: center; align-items: center; background: var(--tj-common-white); box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 45px 0px; padding: 17px; }
.about-wrapper.about-4 .about-right .tj-single-thumb::after { transition: 0.4s ease-out; position: absolute; bottom: 0%; left: 0px; width: 0px; height: 2px; content: ""; clear: both; background-color: var(--tj-theme-primary); }
.about-wrapper.about-4 .about-right .tj-single-thumb .icons i { font-size: 35px; line-height: 1; color: var(--tj-heading-primary); transition: 0.4s ease-out; }
.about-wrapper.about-4 .about-right .tj-single-thumb .content .title { margin-bottom: 0px; }
.about-wrapper.about-4 .about-right .tj-single-thumb:hover::after { width: 100%; }
.about-wrapper.about-4 .about-right .tj-single-thumb:hover .icons i { color: var(--tj-theme-primary); }
.about-left { width: 100%; position: relative; z-index: 1; margin-bottom: 30px; }
.about-left .bg-img { height: 100%; width: 100%; }
.about-left .bg-img img { max-width: 95%; width: 100%; object-fit: cover; }
.about-left .shape-element { position: absolute; top: 5%; right: -20px; z-index: -1; animation: 4s ease-in-out 0s infinite normal none running pluse; }
.about-left .funfact-home { position: absolute; display: flex; -webkit-box-align: center; align-items: center; gap: 25px; padding: 40px 50px; background: var(--tj-theme-primary); bottom: 0%; left: 0px; }
.about-left .icons i { font-size: 80px; color: var(--tj-common-white); }
.about-left .funfact .funfact_count { font-family: var(--tj-ff-heading); color: var(--tj-common-white); margin-bottom: 5px; }
.about-left .funfact .fun_dec { color: var(--tj-common-white); margin-bottom: 0px; }
.about-image .about-left { margin-bottom: 0px; }
.about-right { margin-bottom: 30px; }
.about-right .single-element { display: flex; -webkit-box-align: center; align-items: center; gap: 30px; margin-bottom: 35px; }
.about-right .single-element .icons i { transition: 0.4s ease-out; font-size: 35px; color: var(--tj-theme-primary); }
.about-right .single-element h5 { margin-bottom: 0px; }
.author-content { border-top: 1px solid var(--tj-border-4); padding-top: 25px; display: flex; gap: 50px; }
.about__content { margin-bottom: 20px; }
.about__content .section__heading { margin-bottom: 40px; }
.about_right_widget { padding-left: 30px; }
.tj-main-sidebar { position: relative; background-color: var(--tj-theme-9); padding: 40px 30px; margin-bottom: 30px; }
.tj-main-sidebar .sidebar__title { padding-bottom: 12px; position: relative; font-weight: 600; color: var(--tj-heading-primary); font-family: var(--tj-ff-heading); margin-bottom: 30px; }
.tj-main-sidebar .sidebar__title::before { position: absolute; content: ""; bottom: 2px; width: 58px; height: 2px; left: 0%; background-color: var(--tj-theme-primary); }
.tj-main-sidebar ul li { width: 100%; margin: 10px 0px; }
.tj-main-sidebar ul li a { background-color: var(--tj-common-white); color: var(--tj-heading-primary); font-size: 17px; font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-sbold); line-height: 26px; padding: 15px 18px; display: flex; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; transition: 0.4s ease-out; }
.tj-main-sidebar ul li a:hover { background-color: var(--tj-theme-primary); color: var(--tj-common-white); }
.chose-us-left { width: 30%; height: auto; }
.chose-us-middle .chose_us-img { position: relative; left: -5%; }
.chose-us-middle .chose_us-img img { max-width: 110%; }
.chose-us-right { width: 35%; padding-left: 50px; height: auto; }
.chose_us-content { padding: 40px 0px; border-bottom: 1px solid var(--tj-border-4); }
.chose_us-content .icons { margin-bottom: 30px; }
.chose_us-content .icons i { font-size: 60px; line-height: 1; color: var(--tj-theme-primary); }
.chose_us-content .chose_us_item_title { font-weight: var(--tj-fw-sbold); margin-bottom: 20px; font-size: 24px; }
.chose_us-content:first-child { padding-top: 0px; }
.chose_us-content:last-child { border-bottom: 0px solid var(--tj-border-4); padding-bottom: 0px; margin-bottom: 30px; }
.tj-search-box .form-control { border: 1px solid var(--tj-common-white); }
.tj-main-sidebar .sidebar__title { font-size: 24px; }
.tj-main-sidebar form, .tj-search-box form { position: relative; }
.tj-main-sidebar input, .tj-search-box input { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; position: relative; height: 55px; border-radius: 4px; }
.tj-main-sidebar input::-webkit-input-placeholder, .tj-search-box input::-webkit-input-placeholder { color: var(--tj-heading-primary); font-size: 16px; font-family: var(--tj-ff-heading); font-style: normal; font-weight: var(--tj-fw-sbold); line-height: 26px; }
.tj-main-sidebar input::placeholder, .tj-search-box input::placeholder { color: var(--tj-heading-primary); font-size: 16px; font-family: var(--tj-ff-heading); font-style: normal; font-weight: var(--tj-fw-sbold); line-height: 26px; }
.tj-main-sidebar .form-control:focus, .tj-search-box .form-control:focus { outline: none; border-color: var(--tj-theme-primary); box-shadow: 0px 0px 0px; }
.tj-main-sidebar button, .tj-search-box button { top: 0%; right: 0%; position: absolute; padding: 13px 20px 15px; border-radius: 0px 4px 4px 0px; background: var(--tj-theme-primary); font-size: 18px; line-height: 1; min-height: 55px; color: var(--tj-common-white); }
blockquote { padding: 50px 65px; background-color: var(--tj-grey-2); position: relative; margin: 35px 0px; }
blockquote p { font-size: 22px; font-weight: var(--tj-ff-heading); color: var(--tj-heading-primary); font-style: italic; }
.single-portfolio { overflow: hidden; width: 100%; height: 415px; z-index: 1; position: relative; margin-bottom: 30px; }
.single-portfolio::before { top: 0px; left: 0px; z-index: -1; width: 0%; height: 100%; content: ""; position: absolute; background: var(--tj-shadow-4); transition: 0.3s ease-out; }
.single-portfolio.single-portfolio-1 { padding: 20px 80px; height: 415px; display: flex; -webkit-box-align: start; align-items: start; -webkit-box-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; position: relative; z-index: 1; background-repeat: no-repeat; }
.single-portfolio.single-portfolio-1::before { display: none; }
.single-portfolio.single-portfolio-1 .portfolio-title { font-weight: var(--tj-fw-bold); margin-bottom: 25px; color: var(--tj-common-white); }
.single-portfolio.single-portfolio-1 p { margin-bottom: 25px; color: var(--tj-common-white); }
.single-portfolio.single-portfolio-1 .portfolio-element { position: absolute; bottom: 0%; left: 0px; z-index: -1; }
@media only screen and (min-width: 576px) and (max-width: 767px){
.single-portfolio.single-portfolio-1 { height: auto; }
}
.single-portfolio .pot-shape { position: absolute; max-width: 350px; width: 100%; height: 180px; background-color: var(--tj-theme-primary); mask-image: url("../img/svg/pot-shape.svg"); mask-size: contain; mask-repeat: no-repeat; mask-position: left bottom; bottom: -100%; left: -100%; transition: 0.5s ease-out; }
.single-portfolio .portfolio-link { position: absolute; visibility: hidden; opacity: 0; transition: 0.1s; bottom: 35px; left: 35px; z-index: 3; }
.single-portfolio .portfolio-link .icons { width: 45px; height: 45px; background: var(--tj-common-white); border-radius: 500px; color: var(--tj-heading-primary); margin-left: auto; margin-right: 40px; display: flex; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; }
.single-portfolio .portfolio-link .icons i { line-height: 0; }
.single-portfolio .portfolio-link p { margin-top: 20px; font-family: var(--tj-ff-heading); font-weight: var(--tj-fw-bold); font-size: 22px; color: var(--tj-common-white); margin-bottom: 0px; }
.single-portfolio:hover::before { left: auto; right: 0px; width: 100%; }
.single-portfolio:hover .portfolio-link { visibility: visible; opacity: 1; transition: 0.7s ease-in; }
.single-portfolio:hover .pot-shape { bottom: 0%; left: 0%; }
footer { position: relative; }

/* --- rafter-responsive.css --- */
@media only screen and (min-width: 768px) and (max-width: 991px){
h1 { font-size: 65px; }
h2 { font-size: 35px; }
}
@media only screen and (min-width: 576px) and (max-width: 767px){
h1 { font-size: 50px; }
h2 { font-size: 40px; }
.section__heading { margin-bottom: 40px; }
}
@media only screen and (max-width: 575px){
h1 { font-size: 40px; }
h2 { font-size: 35px; }
h4 { font-size: 20px; }
.section__heading { margin-bottom: 40px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.about-left .bg-img img { max-width: 100%; width: 100%; height: 100%; }
.about-left .funfact-home { gap: 15px; padding: 30px 25px; }
.about__content .section__heading { margin-bottom: 20px; }
.about_right_widget { padding-left: 0px; }
}
@media only screen and (min-width: 576px) and (max-width: 767px){
.about-left .bg-img img { max-width: 100%; width: 100%; height: 100%; }
.about-left .funfact-home { gap: 15px; padding: 30px 25px; }
.about__content .section__heading { margin-bottom: 20px; }
.about_right_widget { padding-left: 0px; }
.about-right .single-element { margin-bottom: 20px; }
.about-1 .about__content { margin-bottom: 5px; }
.author-content { padding-top: 20px; }
.about-left { height: 450px; }
.about__content .section__heading { margin-bottom: 0px; }
.about__content .section__heading { margin-bottom: 0px; }
}
@media only screen and (max-width: 575px){
.about-left .bg-img img { max-width: 100%; width: 100%; height: 100%; }
.about-left .funfact-home { gap: 15px; padding: 30px 25px; }
.about-left .icons i { font-size: 50px; }
.about-left .funfact .fun_dec { font-size: 18px; }
.about__content .section__heading { margin-bottom: 20px; }
.about_right_widget { padding-left: 0px; }
.about-right .single-element { margin-bottom: 20px; }
.about-1 .about__content { padding-bottom: 5px; }
.author-content { padding-top: 20px; }
}
@media only screen and (max-width: 575px){
.author-content { gap: 20px; }
.author-content { display: block; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.tj-main-sidebar { max-width: 420px; margin-left: auto; margin-right: auto; }
}
@media only screen and (min-width: 576px) and (max-width: 767px){
.tj-main-sidebar { max-width: 420px; margin-left: auto; margin-right: auto; }
}
@media only screen and (max-width: 575px){
.tj-main-sidebar { max-width: 420px; margin-left: auto; margin-right: auto; padding: 30px 15px; }
}
@media only screen and (min-width: 992px) and (max-width: 1199px){
.chose-us-left { width: 60%; height: auto; }
.chose-us-right { width: 60%; height: auto; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.chose-us-left { width: 80%; height: auto; margin-left: auto; margin-right: auto; }
.chose-us-middle .chose_us-img { left: 0%; margin-bottom: 30px; }
.chose-us-middle .chose_us-img img { max-width: 90%; }
.chose-us-right { width: 80%; height: auto; margin-left: auto; margin-right: auto; padding-left: 0px; }
}
@media only screen and (min-width: 576px) and (max-width: 767px){
.chose-us-left { width: 80%; height: auto; margin-left: auto; margin-right: auto; }
.chose-us-middle .chose_us-img { left: 0%; margin-bottom: 30px; }
.chose-us-middle .chose_us-img img { max-width: 90%; }
.chose-us-right { width: 80%; height: auto; margin-left: auto; margin-right: auto; padding-left: 0px; }
}
@media only screen and (max-width: 575px){
.chose-us-left { width: 100%; height: auto; margin-left: auto; margin-right: auto; }
.chose-us-middle .chose_us-img { left: 0%; margin-bottom: 30px; }
.chose-us-middle .chose_us-img img { max-width: 90%; }
.chose-us-right { padding-left: 0px; width: 100%; }
.chose_us-content { padding: 20px 0px; }
.chose_us-content .icons { margin-bottom: 5px; }
}
@media only screen and (min-width: 576px) and (max-width: 767px){
blockquote { font-size: 20px; padding: 30px 20px; }
}
@media only screen and (max-width: 575px){
blockquote { font-size: 18px; padding: 30px 20px; margin-bottom: 30px; }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px){
.single-portfolio.single-portfolio-1 { padding: 40px 30px; }
.single-portfolio.single-portfolio-1 .portfolio-title { font-size: 30px; }
}
@media only screen and (min-width: 992px) and (max-width: 1199px){
.single-portfolio.single-portfolio-1 { padding: 40px 30px; }
.single-portfolio .portfolio-link { left: 20px; bottom: 20px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px){
.single-portfolio.single-portfolio-1 { padding: 40px 30px; }
.single-portfolio.single-portfolio-1 .portfolio-title { font-size: 35px; }
.single-portfolio .portfolio-link { left: 20px; bottom: 20px; }
}
@media only screen and (min-width: 576px) and (max-width: 767px){
.single-portfolio { max-width: 516px; margin-left: auto; margin-right: auto; }
}
@media only screen and (max-width: 575px){
.single-portfolio.single-portfolio-1 { padding: 40px 20px; height: auto; }
.single-portfolio { height: 350px; max-width: 516px; margin-left: auto; margin-right: auto; }
}

/* --- rafter-unit.css --- */
:root { --tj-body-font: var(--tj-ff-body); --tj-body-f-size: var(--tj-fz-body); --tj-body-f-weight: 400; --tj-body-l-height: 1.2; --tj-body-color: var(--tj-text-body); --tj-primary-color: var(--tj-theme-primary); --tj-secondary-color: var(--tj-theme-secondary); --tj-color-white: var(--tj-common-white); --tj-color-border: var(--tj-border-4); --tj-color-gray: var(--tj-theme-9); --color-footer-text: #b4b8bb; }
body { overflow-wrap: break-word; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
.screen-reader-text { border: 0px; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0px; width: 1px; position: absolute !important; overflow-wrap: normal !important; }
.screen-reader-text:focus { background-color: rgb(241, 241, 241); border-radius: 3px; box-shadow: rgba(0, 0, 0, 0.6) 0px 0px 2px 2px; clip-path: none; color: rgb(33, 117, 155); display: block; font-size: 0.875rem; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; clip: auto !important; }
table { margin-bottom: 30px; }
pre { display: block; font-size: 87.5%; color: var(--tj-secondary-color); border: 1px solid rgb(221, 221, 221); padding: 15px; }
.tj-sidebar__widget.widget_categories ul { margin: 0px; padding-left: 20px; }
.tj-sidebar__widget.widget_categories ul li { width: 100%; margin: 0px; }
.tj-sidebar__widget.widget_categories ul li a { padding: 0px; background-color: transparent; display: inline-block; }
.tj-sidebar__widget.widget_categories ul li:not(:last-child) a { margin-bottom: 10px; }
.tj-sidebar__widget.widget_categories ul li a:hover { color: var(--tj-primary-color); }
.tj-sidebar__widget.widget_recent_entries ul { margin: 0px; padding: 0px; list-style: none; }
.tj-sidebar__widget.widget_recent_entries ul li { margin: 0px; }
.tj-sidebar__widget.widget_recent_entries ul li:not(:last-child) { margin-bottom: 10px; }
.tj-sidebar__widget.widget_recent_entries ul li a { display: initial; padding: 0px; background-color: transparent; font-size: initial; line-height: initial; }
.tj-sidebar__widget.widget_recent_entries ul li a:hover { color: var(--tj-primary-color); background-color: transparent; }
.tj-sidebar__widget form input { width: 100%; padding: 10px 20px; }

/* --- nice-select (listes deroulantes des formulaires) --- */
.nice-select { -webkit-tap-highlight-color: transparent; background-color: rgb(255, 255, 255); border-radius: 5px; border: 1px solid rgb(232, 232, 232); box-sizing: border-box; clear: both; cursor: pointer; display: block; float: left; font-family: inherit; font-size: 14px; font-weight: normal; height: 42px; line-height: 40px; outline: none; padding-left: 18px; padding-right: 30px; position: relative; transition: 0.2s ease-in-out; user-select: none; white-space: nowrap; width: auto; text-align: left !important; }
.nice-select:hover { border-color: rgb(219, 219, 219); }
.nice-select:active, .nice-select.open, .nice-select:focus { border-color: rgb(153, 153, 153); }
.nice-select::after { border-bottom: 1px solid rgb(153, 153, 153); border-right: 1px solid rgb(153, 153, 153); content: ""; display: block; height: 6px; margin-top: -4px; pointer-events: none; position: absolute; right: 10px; top: 50%; transform-origin: 66% 66%; transform: rotate(45deg); transition: 0.15s ease-in-out; width: 6px; }
.nice-select.open::after { transform: rotate(-135deg); }
.nice-select.open .list { opacity: 1; pointer-events: auto; transform: scale(1) translateY(0px); }
.nice-select.disabled { border-color: rgb(237, 237, 237); color: rgb(153, 153, 153); pointer-events: none; }
.nice-select.disabled::after { border-color: rgb(204, 204, 204); }
.nice-select.wide { width: 100%; }
.nice-select.wide .list { left: 0px !important; right: 0px !important; }
.nice-select.right { float: right; }
.nice-select.right .list { left: auto; right: 0px; }
.nice-select.small { font-size: 12px; height: 36px; line-height: 34px; }
.nice-select.small::after { height: 4px; width: 4px; }
.nice-select.small .option { line-height: 34px; min-height: 34px; }
.nice-select .list { background-color: rgb(255, 255, 255); border-radius: 5px; box-shadow: rgba(68, 68, 68, 0.11) 0px 0px 0px 1px; box-sizing: border-box; margin-top: 4px; opacity: 0; overflow: hidden; padding: 0px; pointer-events: none; position: absolute; top: 100%; left: 0px; transform-origin: 50% 0px; transform: scale(0.75) translateY(-21px); transition: 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out; z-index: 9; }
.nice-select .option { cursor: pointer; font-weight: 400; line-height: 40px; list-style: none; min-height: 40px; outline: none; padding-left: 18px; padding-right: 29px; text-align: left; transition: 0.2s; }
.nice-select .option.selected { font-weight: bold; }
.nice-select .option.disabled { background-color: transparent; color: rgb(153, 153, 153); cursor: default; }
.no-csspointerevents .nice-select .list { display: none; }
.no-csspointerevents .nice-select.open .list { display: block; }

/* --- Recherche (barre laterale du blog) --- */
.tj-search-box button svg{width:1em;height:1em;fill:currentColor;vertical-align:middle}

/* --- Archives du blog, categories et recherche (modele Elementor "Archives et recherche") --- */
body .tfb-archive .elementor-widget .elementor-post{display:block}
body .tfb-archive .elementor-widget .elementor-post__thumbnail__link{display:block;margin-bottom:30px!important;overflow:hidden}
body .tfb-archive .elementor-widget .elementor-post__thumbnail img{transition:transform .4s ease}
body .tfb-archive .elementor-widget .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.04)}
body .tfb-archive .elementor-widget .elementor-post__meta-data{font-size:16px!important;color:#787878!important;order:-1;font-family:var(--tj-ff-body);font-size:16px;color:#787878;margin:0 0 15px!important;display:flex;flex-wrap:wrap;gap:20px}
body .tfb-archive .elementor-widget .elementor-post__meta-data span:before{content:none!important}
body .tfb-archive .elementor-widget .elementor-post__text{display:flex;flex-direction:column}
body .tfb-archive .elementor-widget .elementor-post__title{font-family:var(--tj-ff-body)!important;font-size:35px!important;font-weight:600!important;line-height:42px!important;letter-spacing:0!important;font-family:var(--tj-ff-body);font-size:35px;font-weight:600;line-height:42px;margin:0 0 20px}
body .tfb-archive .elementor-widget .elementor-post__title a{color:#102039;font-family:var(--tj-ff-body)!important;font-weight:600!important}
body .tfb-archive .elementor-widget .elementor-post__title a:hover{color:#ea1826}
body .tfb-archive .elementor-widget .elementor-post__excerpt p{font-family:var(--tj-ff-body);font-size:16px;line-height:24px;color:#787878;margin-bottom:30px}
body .tfb-archive .elementor-widget a.elementor-post__read-more{align-self:flex-start;display:inline-block;font-family:Aldrich,sans-serif;font-size:18px;font-weight:600;line-height:1;color:#fff!important;background:#102039;padding:17px 30px;transition:background .3s}
body .tfb-archive .elementor-widget a.elementor-post__read-more:hover{background:#ea1826}
body .tfb-archive .elementor-widget .elementor-pagination{margin-top:20px;display:flex;gap:10px;justify-content:flex-start}
body .tfb-archive .elementor-widget .elementor-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;padding:0 10px;background:#f8f8f8;color:#102039;font-weight:600}
body .tfb-archive .elementor-widget .elementor-pagination .page-numbers.current,body .tfb-archive .elementor-widget .elementor-pagination a.page-numbers:hover{background:#ea1826;color:#fff}
@media (max-width:767px){body .tfb-archive .elementor-widget .elementor-post__title{font-size:26px!important;line-height:34px!important}}

/* --- Fiche realisation (modele Elementor "Realisation") --- */
.tfb-projet .elementor-widget-theme-post-featured-image img{width:100%;height:auto;object-fit:cover}

/* --- Fil d'Ariane (bandeaux photo des pages) : blanc et petit --- */
.elementor-widget-breadcrumbs,.elementor-widget-breadcrumbs p,.elementor-widget-breadcrumbs span,.elementor-widget-breadcrumbs a{color:#ffffff!important;font-family:var(--tj-ff-body)!important;font-size:13px!important;line-height:1.5!important;font-weight:400!important}
.elementor-widget-breadcrumbs a:hover{text-decoration:underline}
.elementor-widget-breadcrumbs .breadcrumb_last{opacity:.85}
@media (max-width:767px){.elementor-widget-breadcrumbs,.elementor-widget-breadcrumbs p,.elementor-widget-breadcrumbs span,.elementor-widget-breadcrumbs a{font-size:12px!important}}
/* fin fil d'Ariane */

/* --- Titres sur mobile : tailles raisonnables (ajout 30/10/2026) ---
   H1 28 px, H2 26 px, H3 21 px, H4 18 px sur telephone (767 px et moins).
   Pour un nouveau titre trop grand : regler sa taille Mobile dans Elementor,
   ou ajouter son identifiant ci-dessous. --- */
@media (max-width:767px){
.elementor-element-6c6af75 h2,
.elementor-element-4363b39 h2,
.elementor-element-e9b2ad1 h2,
.elementor-element-632588be h2,
.elementor-element-e8c102a h2,
.elementor-element-27532bd h2,
.elementor-element-ba931eb h2,
.elementor-element-b04eaba h2,
.elementor-element-2c2b39f h2,
.elementor-element-28a207b h2,
.elementor-element-41ad6ff h2,
.elementor-element-5b10db5 h2,
.elementor-element-89fd9cf h2,
.elementor-element-25611a2 h2,
.elementor-element-49dcd2c h2,
.elementor-element-20d5fd6 h2,
.elementor-element-5361573 h2,
.elementor-element-b4c4f57 h2,
.elementor-element-4f88113 h2,
.elementor-element-97d57d3 h2,
.elementor-element-f4e50bf h2,
.elementor-element-6b35586 h2,
.elementor-element-89a310f h2,
.elementor-element-29cf401 h2,
.elementor-element-44dfd9a h2,
.elementor-element-39f21cfc h2,
.elementor-element-62d8047e h2,
.elementor-element-39cbabcb h2,
.elementor-element-63a3b175 h2,
.elementor-element-6455e0a h2,
.elementor-element-6675a327 h2,
.elementor-element-40a0bfcb h2,
.elementor-element-1ad68d68 h2,
.elementor-element-657893ba h2,
.elementor-element-77b18cc5 h2,
.elementor-element-6c0fffc9 h2{font-size:26px!important;line-height:1.25!important}
.elementor-element-4a806b1 h3,
.elementor-element-c9625b6 h3,
.elementor-element-7b65162 h3,
.elementor-element-59b3acf h3,
.elementor-element-5bd9b31d h3,
.elementor-element-16ef29f7 h3,
.elementor-element-ed69718 h3,
.elementor-element-b00e2a2 h3,
.elementor-element-02b2480 h3,
.elementor-element-4d406bfb h3,
.elementor-element-c16d9a1 h3,
.elementor-element-3405629 h3,
.elementor-element-100e83b h3,
.elementor-element-a7c75d3 h3,
.elementor-element-4cf50be h3,
.elementor-element-ec8e161 h3,
.elementor-element-4195585 h3,
.elementor-element-1958c77 h3,
.elementor-element-a6ea759 h3,
.elementor-element-fbf8730 h3,
.elementor-element-f22af32 h3,
.elementor-element-d905308 h3,
.elementor-element-67ef450c h3,
.elementor-element-345f5102 h3,
.elementor-element-69ba9b80 h3,
.elementor-element-b97f367 h3,
.elementor-element-61e6054 h3,
.elementor-element-0362a45 h3,
.elementor-element-7c165f9 h3,
.elementor-element-2cf16a1 h3,
.elementor-element-963b805 h3,
.elementor-element-55c1e2a h3,
.elementor-element-31ff6302 h3,
.elementor-element-3709b235 h3,
.elementor-element-64e07b41 h3,
.elementor-element-1688db49 h3,
.elementor-element-c7c3329 h3,
.elementor-element-5f0774c h3{font-size:21px!important;line-height:1.25!important}
.elementor-element-682ada8c h4,
.elementor-element-78705aee h4,
.elementor-element-626b90c h4{font-size:18px!important;line-height:1.25!important}
}
/* fin titres mobile */
