/*
Theme Name: Twenty Twenty Child
Theme URI: https://dvn.fr/
Description: Twenty Twenty Child Theme
Author: DVN COMMUNICATION
Author URL: https://dvn.fr/
Template: twentytwenty
Version: 1.0.0
License: GNU General Public License v2 or later
License URL: https://www.gnu.org/licenses/gpl-2.0.html
*/

.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date, .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
	color:#f3e97a;
}

html, body {
	overflow-x: hidden;
}

/* BACKGROUNDS */

/* background homepage */
body.elementor-page-310 {
	background-image: url('https://territoiresetservices.fr/wp-content/uploads/2021/07/background-mobile.jpg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position-y: -55px;
}

@media (min-width:500px) {
	body.elementor-page-310 {
		background-position-y: -380px;
	}
}

@media (min-width:640px) {
	body.elementor-page-310 {
		background-position-y: -500px;
	}
}

@media (min-width:768px) {
	body.elementor-page-310 {
		background-image: url('https://territoiresetservices.fr/wp-content/uploads/2021/07/bg-home.jpg');
		background-repeat: no-repeat;
		background-size: contain;
		background-position-y: 0px;
	}
}

/* background bicolor */
.page-id-577, .page-id-628, .page-id-665 {
	background-image: url('https://territoiresetservices.fr/wp-content/uploads/2021/07/Rectangle-399.png');
	background-repeat: no-repeat;
	background-size: 71% 410px;
	background-position: 0px -45px;
}

@media (max-width:1280px) {
	.page-id-577, .page-id-628, .page-id-665 {
		background-size: 63% 410px !important;
	}
}

@media (max-width:767px) {
	.page-id-577, .page-id-628, .page-id-665 {
		background-size: 120% 410px !important;
		background-position: 0px -185px;
	}
}

/* background bicolor pour les pages articles, offres d'emploi et la page services */
.page-id-684,
.page-id-3637,
.page-id-3652,
.page-id-5257,
/*.post-template-default {
	background-image: url('https://territoiresetservices.fr/wp-content/uploads/2021/07/Rectangle-425.png');
	background-repeat: no-repeat;
	background-size: 71%;
	background-position: 0px -115px;
}*/

.page-id-684,
.page-id-3637,
.page-id-3652,
.page-id-5257 {
	background-position: 0px -115px;
}

@media (max-width:1280px) {
	.page-id-684,
	.page-id-3637,
	.page-id-3652,
	.page-id-5257,
	.post-template-default {
		background-size: 63% !important;
	}
}

@media (max-width:767px) {
	.page-id-684,
	.page-id-3637,
	.page-id-3652,
	.page-id-5257,
	.post-template-default {
		background-size: 100% !important;
	}
}

/* MENU */

/*.menu-principal nav:not(.elementor-nav-menu--dropdown) > ul > li > a:hover {
	text-decoration: underline !important;
}*/

.menu-principal div nav:not(.elementor-nav-menu--dropdown) ul:not(.sub-menu) > li:last-child a
{
	color: #ffffff !important;
	background-color: #08B3C3 !important;
	border-radius: 25px 0px 25px 25px;
	text-transform: none;
	padding: 10px 55px 10px 22px !important;
	background-image: url('https://territoiresetservices.fr/wp-content/uploads/2021/06/Icon-awesome-telegram-plane.png');
	background-repeat: no-repeat !important;
	background-position: 85% center !important;
	text-decoration: none !important;
}

.menu-principal div nav:not(.elementor-nav-menu--dropdown) ul:not(.sub-menu) > li:last-child a:hover {
	transform: scale(1.05);
}

.menu-principal:not(.elementor-sticky--active) nav:not(.elementor-nav-menu--dropdown) .menu-item-1116 a {
	color: #08B3C3 !important;
}

@media (min-width: 1400px) {
	.menu-item-5465 a {
		margin-right: 70px !important;
	}
}

@media (min-width: 1470px) {
	.menu-item-5465 a {
		margin-right: 120px !important;
	}
}

@media (min-width: 1700px) {
	.menu-item-5465 a {
		margin-right: 50px !important;
	}
}

.menu-light .menu-item-5465 a {
	margin-right: 0px !important;
}

/* SUB MENU */

ul.sub-menu {
	border-radius: 6px;
	padding: 6px 0px !important;
	border: solid 1px #ddd !important;
}

ul.sub-menu li a {
		font-family: "Open Sans", Sans-serif !important;
	font-size:15px;
	border-right: 8px solid transparent;
}

ul.sub-menu li a:hover {
	text-decoration: none !important;
	background-color: #d2d2d2 !important;
	color: #000 !important;
}

ul.sub-menu a.elementor-item-active {
	background-color: #fff !important;
	color: #494c4f !important;
}

.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item {
	font-size: 1.2em !important;
}

/* BURGER MENU */

.eicon-menu-bar {
	color: #fff !important;
}

.elementor-menu-toggle {
	background-color: transparent !important;
}

.menu-light .eicon-menu-bar {
	color: #08B3C3 !important;
}

@media (min-width:768px) {
	.eicon-menu-bar {
		color:#08B3C3 !important;
	}
}

.elementor-menu-toggle {
	font-size: 26px !important;
}

.elementor-sticky--active 
.eicon-menu-bar {
	color:#fff !important;
}

.elementor-nav-menu--dropdown {
	top: 47px !important;
}

/* STICKY MENU */

.elementor-sticky--active {
	background-color: #03879D;
	padding: 10px 0px 5px 0px;
	transition: color 0.4s ease;
	height:57px;
}

#logo_territoires_et_services a img,
#logo_ts a img {
	transition: all 0.4s ease;
	margin-left: -20px;
}

.elementor-sticky--active a img {
	width:59% !important;
}

@media (min-width:768px) {
	.elementor-sticky--active a img {
		width:90% !important;
	}
}

@media (min-width:1024px) {
	.elementor-sticky--active a img {
		width:80% !important;
	}
}

@media (min-width:1400px) {
	.elementor-sticky--active a img {
		width:54% !important;
	}
}

.elementor-sticky--active .menu-item-5465 a {
		transition: all 0.4s ease;
		margin-right: 0px !important;
	}
}

.elementor-sticky--active .eicon-menu-bar {
	color:#fff !important;
}

#sticky-menu-fix {
	position:fixed;
	top:0;
	left:0;
	right:0;
	height:57px; /* 57px non connecté ? */
	background-color:#03879D;
	z-index:90;
}

.d-none {
	display:none;
}

.elementor-sticky--active nav:not(.elementor-nav-menu--dropdown) .menu-item a:not(.elementor-sub-item) {
	color: #fff !important;
}

/* IMAGE GOUTTE */

@media (max-width:1580px) {
	#image-goutte {
		margin-right: 25px !important;
	}
}

/* LINK WITH ARROW */

.link-with-arrow .elementor-button-icon {
	margin-top: 5px;
	transition: all 0.4s ease;
}

.link-with-arrow a:hover .elementor-button-icon {
	margin-left: 30px !important;
}

#btn-missions .elementor-button-icon,
#btn-custom-quote .elementor-button-icon {
	margin-top: 10px !important;
}

/* LINK PRESTATIONS HOMEPAGE */

.img-prestations {
	margin-bottom: -2px !important;
}

.link-prestations a {
	display: block;
	text-align: right !important;
}

.link-prestations a:hover .elementor-align-icon-right {
	margin-right: -20px;
}

.mr--5 {
	margin-right: -20px;
}

.link-prestations a .elementor-align-icon-right {
	transition: all 0.4s ease;
}

.link-prestations .elementor-button-text {
	margin-right: 20px;
}

/* CADRE MISSION */

.cadre-mission > div:hover {
	cursor: pointer;
	box-shadow: 2px 2px 10px 0px rgba(0,0,0,0.30) !important;
}

.cadre-mission > div:hover .attachment-thumbnail {
	margin-left: 50px;
}

.cadre-mission > div .attachment-thumbnail {
	transition: all 0.5s ease;
}

/* BOUTON ORANGE */

.btn-orange a:hover, #team-contact-us:hover, .form-newsletter .elementor-button:hover {
	transform: scale(1.05);
}

/* THUMB ARTICLES */

.thumb-articles h3 {
	margin-top: 277px !important;
}

.thumb-articles .elementor-post__meta-data {
	margin-top: -52px;
}

.thumb-articles .elementor-post__text {
	background: rgb(3,135,157);
	background: linear-gradient(63deg, rgba(3,135,157,1) 0%, rgba(8,179,195,1) 100%);
	margin-left: 40px !important;
	height: 345px;
	border-radius: 50px;
	border-bottom-right-radius: 0px;
	padding: 20px;
	padding-left: 40px;
	margin-top:-275px;
	margin-right:-28px;
	width: auto;
	position: relative;
}

.thumb-articles .elementor-post__thumbnail {
	border-radius: 50px;
	border-top-left-radius: 0px;
	height: 400px;
}

.thumb-articles .elementor-grid-item {
	overflow: visible !important;
}

.thumb-articles .elementor-post__thumbnail__link {
	position: relative;
	z-index: 1;
}

.thumb-articles .elementor-post__read-more {
	position: absolute;
  bottom: 27px;
  right: 40px;
	transition: all 0.4s ease;
}

.thumb-articles .elementor-post__read-more:hover {
	padding-left: 15px;
	right: 25px !important;
}

.right-25 {
	right: 25px !important;
}

/* SIZE LOGO LINKEDIN */

#footer-linkedin svg {
	width: 20px;
	height: 20px;
	margin-top:-2px;
}

/* PAGE ACTUS */

.bloc-news .elementor-post__thumbnail__link {
	border-radius:10px;
	overflow: hidden;
}

.bloc-news .elementor-post__meta-data {
	border-top: none !important;
	padding-left:0px !important;
	padding-right:0px !important;
	padding-top: 0px !important;
}

.bloc-news .elementor-post__text {
	padding-left:0px !important;
	padding-right:0px !important;
}

/* FORMULAIRE BUTTON */

.custom-form .elementor-button {
	background: rgb(255,130,36);
  background: linear-gradient(
63deg
, rgba(255,130,36,1) 0%, rgba(255,183,48,1) 100%) !important;
	flex-basis: auto !important;
	margin: auto;
	border-radius: 0px 30px 30px 30px;
	padding: 5px 35px 5px 35px;
}

.custom-form .elementor-button:hover {
	text-decoration: none;
	transform: scale(1.05);
}

/* QUOTES HOMEPAGE */
#custom-quotes img {
	display: inline-block;
}

@media (max-width:767px) {
	#custom-quotes img {
		max-width: 45px !important;
		margin-right: 10px;
	}
}

/* TIMELINE */
#container-timeline {
	position: relative;
}

#timeline {
	display: none;
}

@media (min-width:1400px) {
	#timeline {
		display: block;
	}
}

/* habillage */
@media (min-width:1400px) {
	#decor-1 {
		position: absolute;
		top:-98px;
		right:0;
		width:300px;
		height:320px;
		border-bottom-left-radius: 230px;
		border-left: solid 1px #fff;
		border-bottom: solid 1px #fff;
	}

	#decor-1 div {
		width: 15px;
		height: 15px;
		border-radius: 30px;
		border: solid 1px #fff;
		background-color: #F6A841;
		position: absolute;
		right: 219px;
		top: 250px;
	}

	#decor-2 {
		position: absolute;
		bottom:-40px;
		left:0;
		width:320px;
		height:350px;
		border-top-right-radius: 230px;
		background-color: #fff;
		opacity: 0.15;
	}
}

/* général */
#timeline .bloc {
	display: flex;
	width: 65%;
	height: 200px;
	position: relative;
	z-index: 1;
}

#timeline .bloc .content {
	width: 25%;
	display: flex;
	flex-flow: column;
}

#timeline .bloc .content .date {
	background-color: #027082;
	font-size: 13px;
	font-family: "Open Sans";
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	padding: 5px 12px;
	color: #fff;
}

#timeline .bloc .content .date sup {
	font-size: 60% !important;
}

#timeline .bloc .content .text {
	font-size: 14px;
	font-family: "Open Sans";
	text-align: center;
	color: #fff;
}

#timeline .bloc .content .white-dot {
	height: 5px;
	width: 5px;
	background-color: #fff;
	border-radius: 10px;
	margin: 0px auto;
}

#timeline .bloc .content .white-line {
	height: 50px;
	width: 1px;
	background-color: #fff;
	margin: 0px auto;
}

#timeline .bloc .content .white-round {
	height: 40px;
	width: 40px;
	border: solid 1px #fff;
	border-radius: 40px;
	display: flex;
	margin: 0 auto;
}

#timeline .bloc .content .white-round .orange-dot {
	height: 15px;
	width: 15px;
	border: solid 1px #fff;
	border-radius: 15px;
	margin: auto;
	background-color: #F6A841;
}

/* bloc 1 */
#timeline #bloc-1 {
	border-bottom: solid 1px #fff;
	padding-left: 50px;
}

#timeline #bloc-1 .content {
	margin-bottom: -20px;
	align-self: flex-end;
}

#timeline #bloc-1 .content .date {
	margin: 0 auto 10px auto;
}

#timeline #bloc-1 .content .text {
	margin-bottom: 65px;
}

/* bloc 2 */
#timeline #bloc-2 {
	padding-left: 50px;
}

#timeline #bloc-2 .content {
	margin-top: -20px;
}

#timeline #bloc-2 .content .date {
	margin: 10px auto 0 auto;
}

#timeline #bloc-2 .content .text {
	margin-top: 65px;
}

div#rounded-1 {
	position: absolute;
	z-index: -1;
	top: -1px;
	right: -100px;
	height: 200px;
	width: 200px;
	border: solid 1px #fff;
	border-left: none;
	border-top-right-radius: 100px;
	border-bottom-right-radius: 100px;
}

/* bloc 3 */
#timeline #bloc-3 {
	border-bottom: solid 1px #fff;
	padding-right: 50px;
	margin-left: 35%;
}

#timeline #bloc-3 .content {
	margin-bottom: -20px;
	align-self: flex-end;
}

#timeline #bloc-3 .content .date {
	margin: 0 auto 10px auto;
}

#timeline #bloc-3 .content .text {
	margin-bottom: 65px;
}

div#rounded-2 {
	position: absolute;
	z-index: -1;
	top: -2px;
	left: -100px;
	height: 202px;
	width: 50%;
	border: solid 1px #fff;
	border-right: none;
	border-top-left-radius: 100px;
	border-bottom-left-radius: 100px;
}

/* bloc 4 */
#timeline #bloc-4 {
	padding-right: 50px;
	margin-left: 35%;
}

#timeline #bloc-4 .content {
	margin-top: -20px;
}

#timeline #bloc-4 .content .date {
	margin: 10px auto 0 auto;
}

#timeline #bloc-4 .content .text {
	margin-top: 65px;
}


#timeline #bloc-5,
#timeline #bloc-6 {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	padding: 0;
}

#timeline #bloc-5 {
	border-bottom: solid 1px #fff;
}

#timeline #bloc-5 .content,
#timeline #bloc-6 .content {
	width: 16.25%;
	display: flex;
	flex-flow: column;
}

#timeline #bloc-5 .content {
	margin-bottom: -20px;
	align-self: flex-end;
}

#timeline #bloc-6 .content {
	margin-top: -20px;
}

#timeline #bloc-5 .content .date {
	margin: 0 auto 10px auto;
}

#timeline #bloc-5 .content .text {
	margin-bottom: 65px;
}

#timeline #bloc-6 .content .date {
	margin: 10px auto 0 auto;
}

#timeline #bloc-6 .content .text {
	margin-top: 65px;
}

/* colonnes vides pour conserver l’alignement */
#timeline #bloc-5 .content.empty,
#timeline #bloc-6 .content.empty {
	visibility: hidden;
}

/* on garde le gabarit des 4 colonnes,
   mais sur 65% de la largeur totale, aligné à droite */
#timeline #bloc-5 .content,
#timeline #bloc-6 .content {
	width: 16.25%;
}

/* bloc 5 = éléments au-dessus de la ligne */
#timeline #bloc-5 .content {
	margin-bottom: -20px;
	align-self: flex-end;
}

#timeline #bloc-5 .content .date {
	margin: 0 auto 10px auto;
}

#timeline #bloc-5 .content .text {
	margin-bottom: 65px;
}

/* bloc 6 = éléments en dessous de la ligne */
#timeline #bloc-6 .content {
	margin-top: -20px;
}

#timeline #bloc-6 .content .date {
	margin: 10px auto 0 auto;
}

#timeline #bloc-6 .content .text {
	margin-top: 65px;
}

/* on supprime la courbe */
div#rounded-3 {
	display: none;
}

/* TIMELINE MOBILE */
#timeline-mobile {
	display: flex;
}

@media (min-width:1400px) {
	#timeline-mobile {
		display: none;
	}
}

#timeline-mobile #bloc-left {
	width: 50%;
	/*border-right: solid 1px #fff;*/
}

#timeline-mobile #bloc-right {
	width: 50%;
}

/* général */
#timeline-mobile .content {
	display: flex;
	width: 100%;
	height: 170px;
}

#timeline-mobile .content .date {
	background-color: #027082;
	font-size: 13px;
	font-family: "Open Sans";
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
	padding: 5px 12px;
	color: #fff;
	margin: auto 30px;
}

#timeline-mobile .content .date sup {
	font-size: 60% !important;
}

#timeline-mobile .content .text {
	font-size: 14px;
	font-family: "Open Sans";
	text-align: center;
	color: #fff;
	margin: auto 60px;
	max-width: 300px;
}

#timeline-mobile .content .white-dot {
	height: 5px;
	width: 5px;
	background-color: #fff;
	border-radius: 10px;
	margin: auto 0px;
}

#timeline-mobile .content .white-line {
	width: 50px;
	height: 1px;
	background-color: #fff;
	margin: auto 0px;
}

#timeline-mobile .content .white-round {
	height: 40px;
	width: 40px;
	border: solid 1px #fff;
	border-radius: 40px;
	display: flex;
	margin: auto 0px;
}

#timeline-mobile .content .white-round .orange-dot {
	height: 15px;
	width: 15px;
	border: solid 1px #fff;
	border-radius: 15px;
	margin: auto;
	background-color: #F6A841;
}

/* bloc left */
#timeline-mobile #bloc-left .content {
	justify-content: flex-end;
	border-right: solid 1px #fff;
}

#timeline-mobile #bloc-left .content .white-round {
	margin-right: -20px;
}

#timeline-mobile #bloc-left .content:first-child {
	border-right: none !important;
	position: relative;
}

#timeline-mobile #bloc-left .semi-line {
	position: absolute;
	right: 0;
	bottom: 0;
	top: calc(50% + 7px);
	width: 1px;
	background-color: #fff;
}

#timeline-mobile #bloc-left .end-line {
	height: 80px;
	border-right: solid 1px #fff;
}

/* bloc right */
#timeline-mobile #bloc-right .content .white-round {
	margin-left: -20.5px;
}

/* responsive (mobile) */
@media (max-width:640px) {
	
	#timeline-mobile .content .date {
		font-size: 11px;
		padding: 5px 7px;
		margin: auto 10px;
	}
	
	#timeline-mobile .content .white-line{
		width: 20px;
	}
	
	#timeline-mobile #bloc-left .content .text {
		font-size: 12px;
		margin: auto 30px auto 10px;
	}
	
	#timeline-mobile #bloc-right .content .text {
		font-size: 12px;
		margin: auto 10px auto 30px;
	}
}

/* Facteurs de réussite (page régie de quartier) */

@media (max-width:639.99px) {
	#facteurs-de-reussite {
		background-color: #03879C;
		background-image: none !important;
	}
}

/* Nous contacter (mobile)*/
#send-icon {
    display: block;
    width: 26px;
    height: 26px;
    position: absolute;
    right: 55px;
}

#send-icon img {
    width: 100% !important;
}

/* Footer */
@media (max-width:767px) {
	.form-newsletter input[type="email"] {
		font-size: 14px !important;
	}
	
	#footer .elementor-nav-menu--main a {
		padding-left: 0 !important;
	}
}

/* Avantages (page régie) */
@media (max-width:767px) {
	#avantages .elementor-image-box-wrapper {
		display: flex !important;
	}
	
	#avantages figure.elementor-image-box-img img {
		display: inline !important;
		max-width: 20px;
		vertical-align: middle;
	}
	
	#avantages .elementor-image-box-content {
		padding-left: 15px;
	}
}
