/* CSS Document */

/* #region header */
body > header {
	position: relative;	
}

header > div.banniere {
	width: 100%;
	height: 150px;
	line-height: 150px;
	
	/* a rajouter dans specs.css */
	background-color: #FFF;
}
header > div.banniere a img {
    vertical-align: middle;
}

header > div.representant {
    position: absolute;
    text-align: center;	
    
    top: 35px;
    right: 10px;
    
    width: 130px;
    height: 130px;
}

header > div.representant > div {
    background-color: #FFF;
    width: 80px;
    height: 80px;
    
    margin: 0 auto;
    
    box-shadow: 0 1px 1px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 0 1px 1px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 1px 1px #ffffff inset, 0 1px 3px rgba(0, 0, 0, 0.4);
    
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    
    overflow: hidden;
    
    transition: all 0.4s cubic-bezier(1.000, -0.530, 0.405, 1.425);
    -webkit-transition: all .4s cubic-bezier(1.000, -0.530, 0.405, 1.425);
    -moz-transition: all .4s cubic-bezier(1.000, -0.530, 0.405, 1.425);
}

header > div.representant > div:hover {		
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    
    width: 110px;
    height: 110px;
}

header > div.representant > div img {
    width: 80px;	
}

header > nav.menu_catalogue_000 {
    display: inline-block;
    zoom: 1;
    
    position: absolute;
    right: 0;
    top: 0;	
    min-width:600px;
}

header > nav.menu_catalogue_000 > ul {
    position: relative;
}

header > nav.menu_catalogue_000 form {
    line-height: 20px !important;
    font-weight: normal;
}

header > nav.menu_catalogue_000 input#motscles {
    height: 20px !important;
}
	
nav.menu_catalogue_000 > ul > li > div {
    height: 30px !important;
    line-height: 30px !important;
}

header > nav.menu_catalogue_000 > ul > li {
	height: 40px;
    line-height: 40px;
	font-size: 12px;
}

header > nav.menu_catalogue_000 > ul > li,
header > nav.menu_catalogue_000 .sub_menu_000_content {
	border: solid #D5D4D4;
	border-collapse: collapse;
}

header > nav.menu_catalogue_000 > ul > li {
	border-width: 0 0 1px 1px;	
	padding: 0 3px;
}

header > nav.menu_catalogue_000 div.icon {
	white-space: nowrap;
	padding: 0;	
	vertical-align: middle;
}

header > nav.menu_catalogue_000 div.icon_menu_small {
	background: url("/module-de-vente/specs/images/theme_defaut_small.png") no-repeat;
	height: 30px;	/* 35px d'origine; rapport 30/35 */
	width: 30px;	/* 35px d'origine */
	background-size: 150px auto;	/*175 * (30/35)*/
}

header > nav.menu_catalogue_000 div.icon_menu_big {
	background: url("/module-de-vente/specs/images/theme_defaut_big.png") no-repeat;
	height: 50px;	/* 60px d'origine; rapport 30/34 */
	width: 50px;	/* 60px d'origine */
	background-size: 250px auto;	/*300 * (50/60)*/
}
	
header > nav.menu_catalogue_000 div.icon_menu_commande {
    background-position: 0 0;
}

header > nav.menu_catalogue_000 div.icon_menu_devis {
    background-position: 25% 0;
}

header > nav.menu_catalogue_000 div.icon_menu_espace_comm {
    background-position: 50% 0;
}

header > nav.menu_catalogue_000 div.icon_menu_historique_statistiques {
    background-position: 75% 0;		
}

header > nav.menu_catalogue_000 div.icon_menu_espace_client {
    background-position: 100% 0;
}

header > nav.menu_catalogue_000 div.icon_menu_offre {
    background-position: 0 100%;
}
	
header > nav.menu_catalogue_000 .sub_menu_000 {
	position: absolute;
	max-height: 0;
	overflow: hidden;
	left: 0;
	top: 100%;
	width: 100%;
	white-space: nowrap;
	height: auto !important;
	border-width: 0;    
	padding: 0;	
	z-index: 100;
}

header > nav.menu_catalogue_000 li:hover .sub_menu_000 {
	max-height: 800px;	
}

header > nav.menu_catalogue_000 .sub_menu_000_content {
	border-width: 0 1px 1px;	
	overflow: hidden;
}

header > nav.menu_catalogue_000 .sub_menu_000_content > * {
	margin: 20px;
}

header > nav.menu_catalogue_000 .sub_menu_000_content > div {
	font-size: 28px;
}

header > nav.menu_catalogue_000 .sub_menu_000 table {
	width: 100%;	
	table-layout: fixed;
}

header > nav.menu_catalogue_000 .sub_menu_000 ul.unclickable li {
	list-style: none;
	line-height: 25px;
}

header > nav.menu_catalogue_000 .sub_menu_000 li {
	list-style: url("/module-de-vente/specs/images/theme_defaut_list_style.png") inside;
	white-space: normal;
	opacity: .8;
}

header > nav.menu_catalogue_000 .sub_menu_000 td {
	vertical-align: top;
	max-width: 50%;
}

header > nav.menu_catalogue_000 .sub_menu_000 td > p {
	font-size: 16px;
}

nav.menu_catalogue_000 {
	font-size: 10px;
}

.menu_catalogue_nav h3 {
	font-size: 12px;
}

.menu_catalogue_nav h4 {
	border-width: 4px !important;
}

nav.menu_catalogue_000 .input-group input {
	height: 30px;
}

nav.menu_catalogue_000 span.input-group-btn {
	vertical-align:top;
	color: #333;
	width: auto !important;
}

nav.menu_catalogue_000 span.input-group-btn button.btn {
	height: 30px;
}

@media (max-device-width: 768px) {
  .navbar-fixed-top {
  	position: absolute;
  }
}

@media (max-width: 992px) {
	.bootstrap-select .dropdown-menu li a.opt {
	  white-space: normal !important;
	}
}
/* #endregion header */

.modal-body .twitter-typeahead .tt-menu {
    width: 100%;
    min-width: 400px;
}

@media (max-width: 768px) {
	.modal-body .twitter-typeahead .tt-menu {
		width: 100%;
		left: 0 !important;
		right: 0 !important;
		position: fixed !important;
		top: unset !important;
		min-width: unset;
	} 
}


/* #region footer */

footer {
    position: relative;
    padding: 15px 0;
    margin-top: 15px;
}
footer > .container-footer {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    column-gap: 15px;
}
footer > .container-footer > .footer-section {
    z-index: 1;
    margin: 0 auto;
}
footer .footer-section > div {
    min-width: 200px;
    max-width: 225px;
    margin: 0 auto;
    padding: 0 10px;
}
footer .footer-section > div > p {
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    margin: 20px 0 10px;
}
footer .footer-section > div > .footer-card {
    display: flex;
    flex-direction: column;
    align-items: center;
}
footer .footer-section > div > .footer-card-col {
    /* display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); */
    display: flex;
    flex-direction: column;
    column-gap: 20px;
    row-gap: 5px;
}
footer .footer-section > div > .footer-card-col > div {
    overflow: hidden;
    text-overflow: ellipsis;
}
footer .footer-section > div > .footer-card-col > a {
    display: flex;
    align-items: center;
}
footer .footer-section > div > .footer-card > .footer-img-container {
    display: flex;
    align-items: center;
    gap: 10px;
}
footer .footer-section > div > .footer-card img {
    max-height: 35px;
}
footer .footer-contact-designation {
    font-size: 16px;
    font-weight: bold;
}

footer .footer-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    width: 100%;
    padding-top: 15px;
}
footer .footer-contact-actions > button,
footer .footer-contact-actions > a {
    padding: 2px 10px;
    margin: 0!important;
    flex: 1;
    color: #333;
    background-color: #00000011;
    outline: unset;
    border: 0;
    text-wrap: balance; /* Use pretty when firefox would support it */
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

footer .footer-contact {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}

footer .footer-contact > div {
    flex-grow: 1;
}
.footer-copier {
    display: flex;
    align-items:center;
    position: relative;
}

@keyframes apparition {
    from {
        display: block;
        opacity: 0;
    }
    to { 
        opacity: 100%;
    }
}

@keyframes disparition {
    from { 
        opacity: 100%;
    }
    to { 
        opacity: 0;
    }
}
.footer-copier > button:active::after,
.footer-copier > button:active::before { display: none; }

.footer-copier > button:focus::after {
    content: attr(data-copie);
    position: absolute;
    right: 220px;
    top: 8px;
    padding: 4px 15px;
    border-radius: 8px;
    background-color: #35353557;

    animation: apparition 1s, disparition cubic-bezier(1, 0, 0.1,-0.08) 2s;
    opacity: 0;
}
.footer-copier > button:focus::before {
    content: "";
    position: absolute;
    left: -15px;
    top: 17px;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 10px solid #35353557;

    animation: apparition 1s, disparition cubic-bezier(1, 0, 0.1,-0.08) 2s;
    opacity: 0;
}

.footer-politic {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 30px;
    z-index: 1;
    font-size: 13px;
    text-wrap: nowrap;
}
.footer-politic > div {
    display: flex;
    gap: 10px;
    z-index: 1;
}
.footer-politic > div > * {
    position: relative;
}
.footer-politic > div > *:not(:last-child):before {
    content: "|";
    position: absolute;
    right: -7px;
}

footer[data-theme="2"] .footer-grey-text,
footer[data-theme="3"] .footer-grey-text {
    color: #d9d9d9;
}
footer[data-theme="2"],
footer[data-theme="3"] {
    color: #fff;
}
footer a,
footer a:focus,
footer a:hover {
    color: #f3f3f3;
}
footer[data-theme="0"] a,
footer[data-theme="1"] a,
footer[data-theme="0"] a:hover,
footer[data-theme="1"] a:hover {
    color: #444;
}
footer[data-theme="2"] .footer-contact-actions > .btn-default,
footer[data-theme="3"] .footer-contact-actions > .btn-default {
    color: #fff;
    background-color: #ffffff33;
}

footer .footer-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #e7e7e7;
    z-index: 0;
}
footer[data-theme="1"] .footer-background {
    background-color: #d8dce8;
}
footer[data-theme="2"] .footer-background {
    background-color: #5d5d5d;
}
footer[data-theme="3"] .footer-background {
    background-color: #4c4c70;
}



@media (min-width: 1500px) {
    footer > .container-footer {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        column-gap: 15px;
    }
}
@media (max-width: 768px) {
	footer .footer-section.hide-sm {
		display: none;
	} 
}
/* #endregion footer */