/* #PRODUIRE{fond=css/bootstrap.css}
   md5:35b87cafd34f61c9c809fcc8fd63fae7 */
/*!
 * Bootstrap v3.3.6 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

// Core variables and mixins
// ------ Couleurs ------

@black:         						#000;
@white:             				#fff;

@gris-base:         	 		#000;
@gris-darker:       		lighten(@gris-base, 13.5%); // #222
@gris-dark:          	 	lighten(@gris-base, 20%);   // #333
@gris:                  	 	lighten(@gris-base, 33.5%); // #555
@gris-light:          		lighten(@gris-base, 46.7%); // #777
@gris-lighter:       	 	lighten(@gris-base, 90.9%); // #e8e8e8
@gris-extralighter:  	lighten(@gris-base, 95%); // #e8e8e8

// Adaptateur BS2
@grisDarker: 						@gris-darker;
@grisDark:    						@gris-dark;
@grisLight:    						@gris-light;
@grisLighter: 					@gris-lighter;
@grisExtraLighter:		@gris-extralighter;

@bleu:                							#00969c;
@bleuLight:        							#7fc3ea;
@bleuDark:        							#044769;
@vert:           										#6fbd47;
@vertLight:           						#cbda42;
@rouge:                						#ec1e24;
@rougeLight:      							lighten(@rouge, 15%);
@rougeDark:      							darken(@rouge, 15%);
@jaune:          									#f0b214;
@orange:            							#ff3c00;;
@orangeLighter:   						#ed9140;
@orangeLight:     						#d2791d;
@orangeDark:    							#DE3700;
@rose:                							#c3325f;
@violet:            								#7C57A2;
@turquoise: 										#00BEDF;

@bleu_fb:													#5267AA;
@bleu_tw:												#26BBED;

@couleur-defaut : 					@orange;
@couleur-defautLight: 	lighten(@couleur-defaut, 15%);
@couleur-defautDark: 		darken(@couleur-defaut, 15%);

// Scaffolding
@bodyBackground:         @white;
@textColor:                     @grisDark;

// Links
@linkColor:                   @bleuDark;
@linkColorHover:          @bleu;

// Adaptateur BS2
@brand-defaut:   				@rouge;
@brand-primary:   			@bleu;
@brand-vert:   						@vert;
@brand-jaune:         	@jaune;
@brand-orange:     		@orange;
@brand-rouge:      			@rouge;
@body-bg:                 @bodyBackground;
@text-color:              	@textColor;
@link-color:              	@linkColor;
@link-hover-color:     @linkColorHover;
@link-hover-decoration: none;

// ===  Typography ===

@sansFontFamily: 			   	'Baloo Chettan 2', Verdana, sans-serif;
@labeur: 												@sansFontFamily;
@serifFontFamily:  			 	Georgia, Cambria, Times New Roman, Times, serif;
@monoFontFamily:    		"Courier New", Courier, monospace;

@baseFontSize:     			18px;
@baseFontFamily: 			@sansFontFamily;
@baseLineHeight:     		24px;
@altFontFamily:     			@sansFontFamily;
@labeur: 											@baseFontFamily;

@headingsFontFamily:    @baseFontFamily; // empty to use BS defaut, @baseFontFamily
@headingsFontWeight: 		normal;    // instead of browser defaut, bold
@headingsColor:         			inherit; // empty to use BS defaut, @textColor
@titraille: 												@baseFontFamily;

// Adaptateur BS2
@font-family-sans-serif:  			@sansFontFamily;
@font-family-serif:       				@serifFontFamily;
@font-family-monospace:   	@monoFontFamily;
@font-family-base:  						  @font-family-serif;
@font-size-base:          				@baseFontSize;
@font-size-large:     							@fontSizeLarge; // ~18px
@font-size-small:     						@fontSizeSmall; // ~12px

@font-size-h1:            floor((@font-size-base * 2));
@font-size-h2:            floor((@font-size-base * 1.5));
@font-size-h3:            ceil((@font-size-base * 1.25));
@font-size-h4:            ceil((@font-size-base * 1.1));
@font-size-h5:            @font-size-base;
@font-size-h6:            @font-size-base;

//** Unit-less `line-height` for use in components like buttons.
@line-height-base:        unit(@baseLineHeight / @baseFontSize);
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
@line-height-computed:    @baseLineHeight; // ~20px

//** By defaut, this inherits from the `<body>`.
@headings-font-family: 		@headingsFontFamily;
@headings-font-weight: 	@headingsFontWeight;
@headings-line-height: 		1.1;
@headings-color:          		@headingsColor;

//== Iconography
//
//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.

//** Load fonts from this directory.
@icon-font-path:          "../fonts/";
//** File name for all font files.
@icon-font-name:          "glyphicons-halflings-regular";
//** Element ID within SVG icon file.
@icon-font-svg-id:        "glyphicons_halflingsregular";

// ==== Component sizing ====

@fontSizeLarge: 									@baseFontSize * 1.25; // ~18px
@fontSizeSmall: 									@baseFontSize * 0.85; // ~12px
@fontSizeMini:    									@baseFontSize * 0.75; // ~11px

@paddingLarge: 									.2em .5em; // 44px
@paddingSmall: 									2px 10px;  // 26px
@paddingMini:   									0 6px;   // 22px

@baseBorderRadius:     				.2em;
@borderRadiusLarge:    			.2em;
@borderRadiusSmall:    			.4em;

// Utilisé pour les boutons
@padding-base-vertical:   		0.4em;
@padding-base-horizontal:  .8em;

@padding-large-vertical:    	0.2em;
@padding-large-horizontal: .7em;

@padding-small-vertical:    	.4em;
@padding-small-horizontal: .6em;

@padding-xs-vertical:       		1px;
@padding-xs-horizontal:     	5px;

@line-height-large:         1.3333333; // extra decimals for Win 8.1 Chrome
@line-height-small:         1.5;

// Adaptateur BS2
@border-radius-base:   				@baseBorderRadius;
@border-radius-large:  				@borderRadiusLarge;
@border-radius-small:  				@borderRadiusSmall;

//** Global color for active items (e.g., navs or dropdowns).
@component-active-color:    #fff;
//** Global background color for active items (e.g., navs or dropdowns).
@component-active-bg:       @brand-primary;

//** Width of the `border` for generating carets that indicator dropdowns.
@caret-width-base:          4px;
//** Carets increase slightly in size for larger components.
@caret-width-large:         5px;


// Tables
@tableBackground:               @grisLighter; // overall background-color
@tableBackgroundAccent:    #f9f9f9; // for striping
@tableBackgroundHover:     #f5f5f5; // for hover
@tableBorder:                       #ddd; // table and cell border

//** Padding for `<th>`s and `<td>`s.
@table-cell-padding:            8px;
//** Padding for cells in `.table-condensed`.
@table-condensed-cell-padding:  5px;

// Adaptateur BS2
@table-bg:                      		@tableBackground;
@table-bg-accent:     				  @tableBackgroundAccent;
@table-bg-hover:              	@tableBackgroundHover;
@table-bg-active:      				@table-bg-hover;
@table-border-color: 					@tableBorder;


// Buttons

@btnBackground:                							@couleur-defaut;
@btnBackgroundHighlight:  							darken(@couleur-defaut, 10%);
@btnBorder:                        							#bbb;

@btnPrimaryBackground:                	@linkColor;
@btnPrimaryBackgroundHighlight:  	spin(@btnPrimaryBackground, 20%);

@btnJauneBackground:             						lighten(@bleu, 5%);
@btnJauneBackgroundHighlight:  				darken(@bleu, 5%);

@btnVertBackground:              		lighten(@vert, 5%);
@btnVertBackgroundHighlight:   darken(@vert, 5%);

@btnOrangeBackground:            			lighten(@orange, 15%);
@btnOrangeBackgroundHighlight: 	@orange;

@btnRougeBackground:               		@rouge;
@btnRougeBackgroundHighlight:    darken(@rouge, 5%);

@btnBleuBackground:               		@bleu;
@btnBleuBackgroundHighlight:     darken(@bleu, 5%);

@btnVioletBackground:               		@violet;
@btnVioletBackgroundHighlight:     darken(@violet, 5%);

@btnInverseBackground:              #444;
@btnInverseBackgroundHighlight:   @grisDarker;

// Adaptateur BS2
@btn-font-weight:              				normal;
@btn-defaut-color:            					#fff;
@btn-defaut-bg:               					@btnBackground;
@btn-defaut-border:        					darken(@btn-defaut-bg, 5%);
@btn-primary-color:           			  #fff;
@btn-primary-bg:              			  @btnPrimaryBackground;
@btn-primary-border:        			  darken(@btn-primary-bg, 5%);
@btn-vert-color:           			  			#fff;
@btn-vert-bg:              			  			@btnVertBackground;
@btn-vert-border:        			  			darken(@btn-vert-bg, 5%);
@btn-jaune-color:                 			#fff;
@btn-jaune-bg:                    			@brand-jaune;
@btn-jaune-border:              			darken(@btn-jaune-bg, 5%);
@btn-orange-color:          			  	#fff;
@btn-orange-bg:              			  	@btnOrangeBackground;
@btn-orange-border:        			  	darken(@btn-orange-bg, 5%);
@btn-rouge-color:            			  	#fff;
@btn-rouge-bg:                			 		@btnRougeBackground;
@btn-rouge-border:         			  	darken(@btn-rouge-bg, 5%);
@btn-bleu-color:            			  		#fff;
@btn-bleu-bg:                			 			@btnBleuBackground;
@btn-bleu-border:         			  			darken(@btn-bleu-bg, 5%);
@btn-violet-color:            			  	#fff;
@btn-violet-bg:                			 		@btnVioletBackground;
@btn-violet-border:         			  		darken(@btn-violet-bg, 5%);
@btn-link-disabled-color:   			  @gris-light;
@btn-border-radius-base:  			  @border-radius-base;
@btn-border-radius-large: 			  @border-radius-large;
@btn-border-radius-small: 			  @border-radius-small;

// ==== Filigrane ====

@filigrane : 																url('');

// ==== Forms ====

// --- Couleurs ---
@formActionsBackground:        #f5f5f5;
@inputBackground:            				@white;
@inputBorder:                   					#ccc;
@inputDisabledBackground:     @grisLighter;
@placeholderText:         						@grisLight;
@input-border-focus:             #66afe9;
@legend-color:                   				@gris-dark;
@legend-border-color:            		#e5e5e5;
@input-group-addon-bg:           @gris-lighter;

// --- Hauteurs ---
@inputHeight:                   					@baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
@input-height-base:              (@line-height-computed + (@padding-base-vertical * 2) + 2);
@input-height-large:             (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
@input-height-small:             (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
@form-group-margin-bottom:   0;

@cursor-disabled:                not-allowed;

// Adaptateur BS2
@input-group-addon-border-color: @input-border;
@input-bg:                       					@inputBackground;
@input-bg-disabled:              			@inputDisabledBackground;
@input-color:                    					@gris;
@input-border:                   				@inputBorder;
@input-border-radius:            		@inputBorderRadius;
@input-color-placeholder:        @placeholderText;
@input-border-radius-large:      @border-radius-large;
@input-border-radius-small:      @border-radius-small;
@inputBorderRadius:             		@baseBorderRadius;


// ==== Dropdowns ====
@dropdownBackground:            	@white;
@dropdownBorder:                			rgba(0,0,0,.2);
@dropdownDividerTop:            		#e5e5e5;
@dropdownDividerBottom:         @white;

@dropdownLinkColor:             			@grisDark;
@dropdownLinkColorHover:        	@white;
@dropdownLinkColorActive:       	@white;

@dropdownLinkBackgroundActive:  	@linkColor;
@dropdownLinkBackgroundHover:   	@dropdownLinkBackgroundActive;

// Adaptateur BS2
@dropdown-bg:                    				@dropdownBackground;
@dropdown-border:                			@dropdownBorder;
@dropdown-fallback-border:       #ccc;
@dropdown-divider-bg:            		@dropdownDividerTop;
@dropdown-link-color:            			@dropdownLinkColor;
@dropdown-link-hover-color:      	@dropdownLinkColorHover;
@dropdown-link-hover-bg:         	@dropdownLinkBackgroundHover;
@dropdown-link-active-color:     	@dropdownLinkColorActive;
@dropdown-link-active-bg:        	@dropdownLinkBackgroundActive;
@dropdown-link-disabled-color:  @gris-light;
@dropdown-header-color:          	@gris-light;
@dropdown-caret-color:           		#000;



// ==== Z-index master list ====
@zindexDropdown:          				1000;
@zindexPopover:           					1010;
@zindexTooltip:           						1030;
@zindexFixedNavbar:       				1030;
@zindexModalBackdrop:   				1040;
@zindexModal:             						1050;

// Adaptateur border-style: 2px;
@zindex-navbar:            					1000;
@zindex-dropdown:          				@zindexDropdown;
@zindex-popover:           					@zindexPopover;
@zindex-tooltip:           						@zindexTooltip;
@zindex-navbar-fixed:      				@zindexFixedNavbar;
@zindex-modal-background:  	@zindexModalBackdrop;
@zindex-modal:             					@zindexModal;

// ============================= GRILLE =============================

// Grille par defaut
@gridColumns:             							12;
@gridColumnWidth:      							60px;
@gridGutterWidth:         						60px;
@gridRowWidth:            						(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
@fluidGridColumnWidth: 						percentage(@gridColumnWidth/@gridRowWidth);
@fluidGridGutterWidth:    					percentage(@gridGutterWidth/@gridRowWidth);
// Adaptateur BS2
@grid-columns:              						@gridColumns;
@grid-gutter-width:         						@gridGutterWidth;
@grid-float-breakpoint:     					@navbarCollapseDesktopWidth;
@grid-float-breakpoint-max: 			(@grid-float-breakpoint - 1);

// Extra small screen / phone
@screen-xs:                  		480px;
@screen-xs-min:             @screen-xs;
@screen-phone:              @screen-xs-min;

// Small screen - 768px max ( tablette )
@screen-sm:                  	768px;
@screen-sm-min:            	@screen-sm;
@screen-xs-max:            	(@screen-sm-min - 1);
@screen-tablet:              	@screen-sm-min;

// Medium screen - 992 max
@screen-md:                  	992px;
@screen-md-min:            	@screen-md;
@screen-sm-max:           	(@screen-md-min - 1);
@screen-desktop:           	@screen-md-min;

// Large - 1280px max
@screen-lg:                  		1280px;
@screen-lg-min:              	@screen-lg;
@screen-md-max:           	(@screen-lg-min - 1);
@screen-lg-desktop:       	@screen-lg-min;

// Extra Large - 1366px max
@screen-xl:                  		1366px;
@screen-xl-min:              	@screen-xl;
@screen-lg-max:           		(@screen-xl-min - 1);
@screen-xl-desktop:       	@screen-xl-min;

// So media queries don't overlap when required, provide a maximum

// Small screen / tablet
@container-tablet:             				(720px + @grid-gutter-width);
@container-sm:                 					@container-tablet;

// Medium screen / desktop
@container-desktop:            			(950px + @grid-gutter-width);
@container-md:                 				@container-desktop;

// Large screen / wide desktop
@container-large-desktop:      		(1200px + @grid-gutter-width);
@container-lg:                 					@container-large-desktop;

// Trés largeLarge screen / wide desktop
@container-treslarge-desktop:   (1306px + @grid-gutter-width);
@container-xl:                 						@container-treslarge-desktop;

// ============================= MENU =============================

@navbarCollapseWidth:             			767px;
@navbarCollapseDesktopWidth:     @navbarCollapseWidth + 1;
@navbarHeight:                    						45px;
@navbarBackgroundHighlight:       #ffffff;
@navbarBackground:       								@bleu;
@navbarBorder:               								lighten(@navbarBackground, 12%);
@navbarText:                   								@white;
@navbarLinkColor:           								@white;
@navbarLinkColorHover:  								@grisDark;
@navbarLinkColorActive:  								@gris;
@navbarLinkBackgroundHover:       transparent;
@navbarLinkBackgroundActive:      darken(@navbarBackground, 5%);
@navbarBrandColor:                				@navbarLinkColor;

// Ajout Laurent
@navbarsupHeight:                    			45px;

// ------ Menu navba: r negatif ------

@navbarInverseBackground:                					#111111;
@navbarInverseBackgroundHighlight:       		#222222;
@navbarInverseBorder:                    							#252525;
@navbarInverseText:                    									@grisLight;
@navbarInverseLinkColor:             								@grisLight;
@navbarInverseLinkColorHover:   									@white;
@navbarInverseLinkColorActive:   								@navbarInverseLinkColorHover;
@navbarInverseLinkBackgroundHover:       	transparent;
@navbarInverseLinkBackgroundActive:      		@navbarInverseBackground;
@navbarInverseSearchBackground:          		lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus:    @white;
@navbarInverseSearchBorder:              				@navbarInverseBackground;
@navbarInverseSearchPlaceholderColor:    	#ccc;
@navbarInverseBrandColor:                					@navbarInverseLinkColor;


// Adaptateur BS2
// Basics of a navbar
@navbar-height:                    @navbarHeight;
@navbar-margin-bottom:             @line-height-computed;
@navbar-border-radius:             @border-radius-base;
@navbar-padding-horizontal:        floor((@grid-gutter-width / 2));
@navbar-padding-vertical:          ((@navbar-height - @line-height-computed) / 2);
@navbar-collapse-max-height:       340px;
@navbar-defaut-color:             @navbarText;
@navbar-defaut-bg:                @navbarBackground;
@navbar-defaut-border:            @navbarBorder;
// Navbar links
@navbar-defaut-link-color:               					@navbarLinkColor;
@navbar-defaut-link-hover-color:          		@navbarLinkColorHover;
@navbar-defaut-link-hover-bg:             		@navbarLinkBackgroundHover;
@navbar-defaut-link-active-color:    					@navbarLinkColorActive;
@navbar-defaut-link-active-bg:        					@navbarLinkBackgroundActive;
@navbar-defaut-link-disabled-color:       	#ccc;
@navbar-defaut-link-disabled-bg:    					transparent;
// Navbar brand label
@navbar-defaut-brand-color:               @navbarBrandColor;
@navbar-defaut-brand-hover-color:         darken(@navbar-defaut-brand-color, 10%);
@navbar-defaut-brand-hover-bg:            transparent;
// Navbar toggle
@navbar-defaut-toggle-hover-bg:       				transparent;
@navbar-defaut-toggle-icon-bar-bg:   				#888;
@navbar-defaut-toggle-border-color:  				#ddd;

//=== Inverted navbar
// Reset inverted navbar basics
@navbar-inverse-color:                    						@navbarInverseText;
@navbar-inverse-bg:                        						@navbarInverseBackground;
@navbar-inverse-border:                  						@navbarInverseBorder;
// Inverted navbar list-style: 						;
@navbar-inverse-link-color:              						@navbarInverseLinkColor;
@navbar-inverse-link-hover-color:    						@navbarInverseLinkColorHover;
@navbar-inverse-link-hover-bg:            				@navbarInverseLinkBackgroundHover;
@navbar-inverse-link-active-color:        			@navbarInverseLinkColorActive;
@navbar-inverse-link-active-bg:           				@navbarInverseLinkBackgroundActive;
@navbar-inverse-link-disabled-color:    				#444;
@navbar-inverse-link-disabled-bg:        			transparent;
// Inverted navbar brand label
@navbar-inverse-brand-color:            					@navbarInverseBrandColor;
@navbar-inverse-brand-hover-color:  					#fff;
@navbar-inverse-brand-hover-bg:      					transparent;
// Inverted navbar toggle
@navbar-inverse-toggle-hover-bg:     					transparent;
@navbar-inverse-toggle-icon-bar-bg: 					#fff;
@navbar-inverse-toggle-border-color:					#333;


//== Tabs
@nav-tabs-border-color:                     #ddd;
@nav-tabs-link-hover-border-color:          @gris-lighter;
@nav-tabs-active-link-hover-bg:             @body-bg;
@nav-tabs-active-link-hover-color:          @gris;
@nav-tabs-active-link-hover-border-color:   #ddd;
@nav-tabs-justified-link-border-color:            #ddd;
@nav-tabs-justified-active-link-border-color:     @body-bg;

//== Pills
@nav-pills-border-radius:                   @border-radius-base;
@nav-pills-active-link-hover-bg:            @component-active-bg;
@nav-pills-active-link-hover-color:         @component-active-color;


// ==== Pagination =====
@paginationBackground:                #fff;
@paginationBorder:                    #ddd;
@paginationActiveBackground:          #f5f5f5;

// Adaptateur BS2
@pagination-color:                 						@link-color;
@pagination-bg:                     						@paginationBackground;
@pagination-border:               						@paginationBorder;
@pagination-hover-color:       						@link-hover-color;
@pagination-hover-bg:           						@gris-lighter;
@pagination-hover-border:     						#ddd;
@pagination-active-color:       						#fff;
@pagination-active-bg:           						@brand-primary;
@pagination-active-border:    						@brand-primary;
@pagination-disabled-color:   						@gris-light;
@pagination-disabled-bg:       						#fff;
@pagination-disabled-border:						#ddd;


// ==== Pager (BS2) ====

@pager-bg:                    									@pagination-bg;
@pager-border:             									  @pagination-border;
@pager-border-radius:   									15px;
@pager-hover-bg:          									@pagination-hover-bg;
@pager-active-bg:         									@pagination-active-bg;
@pager-active-color:     									  @pagination-active-color;
@pager-disabled-color:  									@pagination-disabled-color;

/* ==== Form states and alerts ==== */

@orangeText:             				#c09853;
@orangeBackground:       	#fcf8e3;
@orangeBorder:           			darken(spin(@orangeBackground, -10), 3%);
@rougeText: 													#b94a48;
@rougeBackground: 							#f2dede;
@rougeBorder: 											darken(spin(@rougeBackground, -10), 3%);
@vertText: 										#468847;
@vertBackground: 				#dff0d8;
@vertBorder: 								darken(spin(@vertBackground, -10), 5%);
@jauneText: 													#3a87ad;
@jauneBackground: 								#d9edf7;
@jauneBorder: 												darken(spin(@jauneBackground, -10), 7%);

/* Adaptateur BS2 */

@state-vert-text: 					@vertText;
@state-vert-bg: 					    @vertBackground;
@state-vert-border: 			@vertBorder;
@state-jaune-text: 					     		@jauneText;
@state-jaune-bg: 					       		@jauneBackground;
@state-jaune-border: 					   	@jauneBorder;
@state-orange-text: 					@orangeText;
@state-orange-bg: 					  @orangeBackground;
@state-orange-border: 			@orangeBorder;
@state-rouge-text: 					  @rougeText;
@state-rouge-bg: 					    @rougeBackground;
@state-rouge-border: 				@rougeBorder;

/* ==== Tooltips and popovers ==== */

@tooltipColor:            					#fff;
@tooltipBackground:      			#000;
@tooltipArrowWidth:      			5px;
@tooltipArrowColor:       			@tooltipBackground;
@popoverBackground:   			#fff;
@popoverArrowWidth:   			10px;
@popoverArrowColor:    			#fff;
@popoverTitleBackground: 	darken(@popoverBackground, 3%);

/* Adaptateur BS2 */
@tooltip-max-width:           	200px;
@tooltip-color:               			@tooltipColor;
@tooltip-bg:                  				@tooltipBackground;
@tooltip-opacity:             			.9;
@tooltip-arrow-width:         	@tooltipArrowWidth;
@tooltip-arrow-color:         	@tooltipArrowColor;


/* ==== Special enhancement for popovers ==== */
@popoverArrowOuterWidth:  @popoverArrowWidth + 1;
@popoverArrowOuterColor:  rgba(0,0,0,.25);

/* Adaptateur BS2 */
@popover-bg:                          							@popoverBackground;
@popover-max-width:                   					276px;
@popover-border-color:               					fadeout(@popoverArrowOuterColor, 5%);
@popover-fallback-border-color:     				#ccc;
@popover-title-bg:                    							@popoverTitleBackground;
@popover-arrow-width:                 				@popoverArrowWidth;
@popover-arrow-color:                 					@popover-bg;
@popover-arrow-outer-width:         				@popoverArrowOuterWidth;
@popover-arrow-outer-color:          				@popoverArrowOuterColor;
@popover-arrow-outer-fallback-color:  	darken(@popover-fallback-border-color, 20%);

/* ==== Labels (BS2) ==== */

@label-defaut-bg:            	@gris-light;
@label-primary-bg:           	@brand-primary;
@label-vert-bg:           	 			@vert;
@label-jaune-bg:               	@jaune;
@label-orange-bg:            	@orange;
@label-rouge-bg:             	@rouge;
@label-bleu-bg:             			@bleu;
@label-violet-bg:             		@violet;
@label-rose-bg:             			@rose;
@label-turquoise-bg:         	@turquoise;
@label-color:                 				#fff;
@label-link-hover-color:      	#fff;

/* ==== Modals (BS2) ==== */

// Padding applied to the modal body
@modal-inner-padding:         15px;
// Padding applied to the modal title
@modal-title-padding:         15px;
// Modal title line-height
@modal-title-line-height:     @line-height-base;
// Background color of modal content area
@modal-content-bg:                             #fff;
// Modal content border color
@modal-content-border-color:                   rgba(0,0,0,.2);
// Modal content border color **for IE8**
@modal-content-fallback-border-color:          #999;
// Modal backdrop background color
@modal-backdrop-bg:           #000;
// Modal backdrop opacity
@modal-backdrop-opacity:      .5;
// Modal header border color
@modal-header-border-color:   #e5e5e5;
// Modal footer border color
@modal-footer-border-color:   @modal-header-border-color;
@modal-lg:                    			900px;
@modal-md:                    		600px;
@modal-sm:                    			300px;


/* ==== Alerts (BS2) ==== */

@alert-padding:              			15px;
@alert-border-radius:         	@border-radius-base;
@alert-link-font-weight:      	bold;

@alert-vert-bg:           		@state-vert-bg;
@alert-vert-text:         		@state-vert-text;
@alert-vert-border:     		@state-vert-border;

@alert-jaune-bg:               			@state-jaune-bg;
@alert-jaune-text:             			@state-jaune-text;
@alert-jaune-border:         			@state-jaune-border;

@alert-orange-bg:            	@state-orange-bg;
@alert-orange-text:          	@state-orange-text;
@alert-orange-border:      	@state-orange-border;

@alert-rouge-bg:             		@state-rouge-bg;
@alert-rouge-text:           	@state-rouge-text;
@alert-rouge-border:         @state-rouge-border;


/* ==== Progress bars (BS2) ==== */

// Background color of the whole progress component
@progress-bg:                 #f5f5f5;
// Progress bar text color
@progress-bar-color:          #fff;
// Variable for setting rounded corners on progress bar.
@progress-border-radius:      @border-radius-base;
// Defaut progress bar color
@progress-bar-bg:             @brand-primary;
// Vert progress bar color
@progress-bar-vert-bg:     @brand-vert;
// Orange progress bar color
@progress-bar-orange-bg:     @brand-orange;
// Rouge progress bar color
@progress-bar-rouge-bg:      @brand-rouge;
// Info progress bar color
@progress-bar-jaune-bg:        @brand-jaune;

/* ==== Thumbail (BS2) ==== */

@thumbnail-padding:           			4px;
@thumbnail-bg:                					@body-bg;
@thumbnail-border:            				#ddd;
@thumbnail-border-radius:     		@border-radius-base;
@thumbnail-caption-color:     		@text-color;
@thumbnail-caption-padding:   	9px;


/* ==== Wells ===== */
@wellBackground:                  #f5f5f5;

// Adaptateur BS2
@well-bg:                     							@wellBackground;
@well-border:                 						darken(@well-bg, 7%);


/* ==== Badges (BS2) ==== */

@badge-color:                 						#fff;
@badge-link-hover-color:      			#fff;
@badge-bg:                    						@gris-light;
@badge-active-color:          				@link-color;
@badge-active-bg:             				#fff;
@badge-font-weight:           			bold;
@badge-line-height:           				1;
@badge-border-radius:         			10px;

/* ==== Carousel (BS2) ==== */

@carousel-text-shadow:                			 0 1px 2px rgba(0,0,0,.6);
@carousel-control-color:                			#fff;
@carousel-control-width:               			 15%;
@carousel-control-opacity:            			.5;
@carousel-control-font-size:          			 20px;
@carousel-indicator-active-bg:      			#fff;
@carousel-indicator-border-color:  			#fff;
@carousel-caption-color:               			#fff;


/* ==== Close (BS2) ==== */

@close-font-weight:           bold;
@close-color:                 #000;
@close-text-shadow:           0 1px 0 #fff;


/* ==== Code  (BS2) ==== */

@code-color:                  #c7254e;
@code-bg:                     #f9f2f4;

@kbd-color:                   #fff;
@kbd-bg:                      #333;

@pre-bg:                      #f5f5f5;
@pre-color:                   @gris-dark;
@pre-border-color:            #ccc;
@pre-scrollable-max-height:   340px;

/* ==== Type  (BS2) ==== */

/* Horizontal offset for forms and lists. */
@component-offset-horizontal: 180px;
/* Text muted color */
@text-muted:                  @gris-light;
/* Abbreviations and acronyms border color */
@abbr-border-color:           @gris-light;
/* Headings small color */
@headings-small-color:        @gris-light;
/* Blockquote small color */
@blockquote-small-color:      @gris-light;
/* Blockquote font size */
@blockquote-font-size:        inherit;
/* Blockquote border color */
@blockquote-border-color:     @gris-lighter;
/* Page header border color */
@page-header-border-color:    @gris-lighter;
/* Width of horizontal description list titles */
@dl-horizontal-offset:        @component-offset-horizontal;
/* Point at which .dl-horizontal becomes horizontal */
@dl-horizontal-breakpoint:    @grid-float-breakpoint;
/* Horizontal line color. */
@hrBorder:                @grisLighter;
@hr-border:                @hrBorder;


/* ==== Sprite icons path ==== */
@iconSpritePath:          "../img/glyphicons-halflings.png";
@iconWhiteSpritePath:     "../img/glyphicons-halflings-white.png";

/* ==== Horizontal forms & lists ==== */
@horizontalComponentOffset:       180px;

/* ==== Hero unit ==== */
@heroUnitBackground:              @grisLighter;
@heroUnitHeadingColor:            inherit;
@heroUnitLeadColor:               inherit;

/* Typo SPIP */
@emFontSize : 1em * (@font-size-base / 16);
@emLineHeight : 1em * (@line-height-base);
@emVertMargin : @emLineHeight;

@indentStep : (@container-md / @grid-columns) / 2;
@indentStep1200 : (@container-lg / @grid-columns) / 2;
@indentStep768 : (@container-sm / @grid-columns) / 2;

@font-size-large-em : 1em * @font-size-large / @font-size-base;
@font-size-small-em : 1em * @font-size-small / @font-size-base;
@font-size-h1-em: 1em * @font-size-h1 / @font-size-base;
@font-size-h2-em: 1em * @font-size-h2 / @font-size-base;
@font-size-h3-em: 1em * @font-size-h3 / @font-size-base;
@font-size-h4-em: 1em * @font-size-h4 / @font-size-base;
@font-size-h5-em: 1em * @font-size-h5 / @font-size-base;
@font-size-h6-em: 1em * @font-size-h6 / @font-size-base;
//
// Mixins
// --------------------------------------------------

// Vendor Prefixes
//
// All vendor mixins are deprecated as of v3.2.0 due to the introduction of
// Autoprefixer in our Gruntfile. They have been removed in v4.

// - Animations
// - Backface visibility
// - Box shadow
// - Box sizing
// - Content columns
// - Hyphens
// - Placeholder text
// - Transformations
// - Transitions
// - User Select


// Animations
.animation(@animation) {
  -webkit-animation: @animation;
       -o-animation: @animation;
          animation: @animation;
}
.animation-name(@name) {
  -webkit-animation-name: @name;
          animation-name: @name;
}
.animation-duration(@duration) {
  -webkit-animation-duration: @duration;
          animation-duration: @duration;
}
.animation-timing-function(@timing-function) {
  -webkit-animation-timing-function: @timing-function;
          animation-timing-function: @timing-function;
}
.animation-delay(@delay) {
  -webkit-animation-delay: @delay;
          animation-delay: @delay;
}
.animation-iteration-count(@iteration-count) {
  -webkit-animation-iteration-count: @iteration-count;
          animation-iteration-count: @iteration-count;
}
.animation-direction(@direction) {
  -webkit-animation-direction: @direction;
          animation-direction: @direction;
}
.animation-fill-mode(@fill-mode) {
  -webkit-animation-fill-mode: @fill-mode;
          animation-fill-mode: @fill-mode;
}

// Backface visibility
// Prevent browsers from flickering when using CSS 3D transforms.
// Defaut value is `visible`, but can be changed to `hidden`

.backface-visibility(@visibility) {
  -webkit-backface-visibility: @visibility;
     -moz-backface-visibility: @visibility;
          backface-visibility: @visibility;
}

// Drop shadows
//
// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
// supported browsers that have box shadow capabilities now support it.

.box-shadow(@shadow) {
  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1
          box-shadow: @shadow;
}

// Box sizing
.box-sizing(@boxmodel) {
  -webkit-box-sizing: @boxmodel;
     -moz-box-sizing: @boxmodel;
          box-sizing: @boxmodel;
}

// CSS3 Content Columns
.content-columns(@column-count; @column-gap: @grid-gutter-width) {
  -webkit-column-count: @column-count;
     -moz-column-count: @column-count;
          column-count: @column-count;
  -webkit-column-gap: @column-gap;
     -moz-column-gap: @column-gap;
          column-gap: @column-gap;
}

// Optional hyphenation
.hyphens(@mode: auto) {
  word-wrap: break-word;
  -webkit-hyphens: @mode;
     -moz-hyphens: @mode;
      -ms-hyphens: @mode; // IE10+
       -o-hyphens: @mode;
          hyphens: @mode;
}

// Placeholder text
.placeholder(@color: @input-color-placeholder) {
  // Firefox
  &::-moz-placeholder {
    color: @color;
    opacity: 1; // Override Firefox's unusual defaut opacity; see https://github.com/twbs/bootstrap/pull/11526
  }
  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome
}

// Transformations
.scale(@ratio) {
  -webkit-transform: scale(@ratio);
      -ms-transform: scale(@ratio); // IE9 only
       -o-transform: scale(@ratio);
          transform: scale(@ratio);
}
.scale(@ratioX; @ratioY) {
  -webkit-transform: scale(@ratioX, @ratioY);
      -ms-transform: scale(@ratioX, @ratioY); // IE9 only
       -o-transform: scale(@ratioX, @ratioY);
          transform: scale(@ratioX, @ratioY);
}
.scaleX(@ratio) {
  -webkit-transform: scaleX(@ratio);
      -ms-transform: scaleX(@ratio); // IE9 only
       -o-transform: scaleX(@ratio);
          transform: scaleX(@ratio);
}
.scaleY(@ratio) {
  -webkit-transform: scaleY(@ratio);
      -ms-transform: scaleY(@ratio); // IE9 only
       -o-transform: scaleY(@ratio);
          transform: scaleY(@ratio);
}
.skew(@x; @y) {
  -webkit-transform: skewX(@x) skewY(@y);
      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
       -o-transform: skewX(@x) skewY(@y);
          transform: skewX(@x) skewY(@y);
}
.translate(@x; @y) {
  -webkit-transform: translate(@x, @y);
      -ms-transform: translate(@x, @y); // IE9 only
       -o-transform: translate(@x, @y);
          transform: translate(@x, @y);
}
.translate3d(@x; @y; @z) {
  -webkit-transform: translate3d(@x, @y, @z);
          transform: translate3d(@x, @y, @z);
}
.rotate(@degrees) {
  -webkit-transform: rotate(@degrees);
      -ms-transform: rotate(@degrees); // IE9 only
       -o-transform: rotate(@degrees);
          transform: rotate(@degrees);
}
.rotateX(@degrees) {
  -webkit-transform: rotateX(@degrees);
      -ms-transform: rotateX(@degrees); // IE9 only
       -o-transform: rotateX(@degrees);
          transform: rotateX(@degrees);
}
.rotateY(@degrees) {
  -webkit-transform: rotateY(@degrees);
      -ms-transform: rotateY(@degrees); // IE9 only
       -o-transform: rotateY(@degrees);
          transform: rotateY(@degrees);
}
.perspective(@perspective) {
  -webkit-perspective: @perspective;
     -moz-perspective: @perspective;
          perspective: @perspective;
}
.perspective-origin(@perspective) {
  -webkit-perspective-origin: @perspective;
     -moz-perspective-origin: @perspective;
          perspective-origin: @perspective;
}
.transform-origin(@origin) {
  -webkit-transform-origin: @origin;
     -moz-transform-origin: @origin;
      -ms-transform-origin: @origin; // IE9 only
          transform-origin: @origin;
}


// Transitions

.transition(@transition) {
  -webkit-transition: @transition;
       -o-transition: @transition;
          transition: @transition;
}
.transition-property(@transition-property) {
  -webkit-transition-property: @transition-property;
          transition-property: @transition-property;
}
.transition-delay(@transition-delay) {
  -webkit-transition-delay: @transition-delay;
          transition-delay: @transition-delay;
}
.transition-duration(@transition-duration) {
  -webkit-transition-duration: @transition-duration;
          transition-duration: @transition-duration;
}
.transition-timing-function(@timing-function) {
  -webkit-transition-timing-function: @timing-function;
          transition-timing-function: @timing-function;
}
.transition-transform(@transition) {
  -webkit-transition: -webkit-transform @transition;
     -moz-transition: -moz-transform @transition;
       -o-transition: -o-transform @transition;
          transition: transform @transition;
}


// User select
// For selecting text on the page

.user-select(@select) {
  -webkit-user-select: @select;
     -moz-user-select: @select;
      -ms-user-select: @select; // IE10+
          user-select: @select;
}
// Form validation states
//
// Used in forms.less to generate the form validation CSS for warnings, errors,
// and successes.

.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {
  // Color the label and help text
  .help-block,
  .control-label,
  .radio,
  .checkbox,
  .radio-inline,
  .checkbox-inline,
  &.radio label,
  &.checkbox label,
  &.radio-inline label,
  &.checkbox-inline label  {
    color: @text-color;
  }
  // Set the border and box shadow on specific inputs to match
  .form-control {
    border-color: @border-color;
    .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
    &:focus {
      border-color: darken(@border-color, 10%);
      @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);
      .box-shadow(@shadow);
    }
  }
  // Set validation states also for addons
  .input-group-addon {
    color: @text-color;
    border-color: @border-color;
    background-color: @background-color;
  }
  // Optional feedback icon
  .form-control-feedback {
    color: @text-color;
  }
}


// Form control focus state
//
// Generate a customized focus state and for any input with the specified color,
// which defauts to the `@input-border-focus` variable.
//
// We highly encourage you to not customize the defaut value, but instead use
// this to tweak colors on an as-needed basis. This aesthetic change is based on
// WebKit's defaut styles, but applicable to a wider range of browsers. Its
// usability and accessibility should be taken into account with any change.
//
// Example usage: change the defaut bleu border and shadow to white for better
// contrast against a dark gris background.
.form-control-focus(@color: @input-border-focus) {
  @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);
  &:focus {
    border-color: @color;
    outline: 0;
    .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}");
  }
}

// Form control sizing
//
// Relative text size, padding, and border-radii changes for form controls. For
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
// element gets special love because it's special, and that's a fact!
.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
  height: @input-height;
  padding: @padding-vertical @padding-horizontal;
  font-size: @font-size;
  line-height: @line-height;
  border-radius: @border-radius;

  select& {
    height: @input-height;
    line-height: @input-height;
  }

  textarea&,
  select[multiple]& {
    height: auto;
  }
}

// WebKit-style focus

.tab-focus() {
  // Defaut
  outline: thin dotted;
  // WebKit
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
// MIXINS Button variants
//
// Easily pump out defaut styles, as well as :hover, :focus, :active,
// and disabled options for all buttons

.button-variant(@color; @background; @border) {
  color: @color;
  background-color: @background;
  border-color: @border;

  &:focus,
  &.focus {
    color: @color;
    background-color: darken(@background, 10%);
        border-color: darken(@border, 25%);
  }
  &:hover {
    color: @color;
    background-color: darken(@background, 10%);
        border-color: darken(@border, 12%);
  }
  &:active,
  &.active,
  .open > .dropdown-toggle& {
    color: @color;
    background-color: darken(@background, 10%);
        border-color: darken(@border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: @color;
      background-color: darken(@background, 17%);
          border-color: darken(@border, 25%);
    }
  }
  &:active,
  &.active,
  .open > .dropdown-toggle& {
    background-image: none;
  }
  &.disabled,
  &[disabled],
  fieldset[disabled] & {
    &:hover,
    &:focus,
    &.focus {
      background-color: @background;
          border-color: @border;
    }
  }

  .badge {
    color: @background;
    background-color: @color;
  }
}

// Button sizes
.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
  padding: @padding-vertical @padding-horizontal;
  font-size: @font-size;
  line-height: @line-height;
  border-radius: @border-radius;
}

// Base styles
// --------------------------------------------------

.btn {
  display: inline-block;
  margin-bottom: 0; // For input.btn
  font-weight: @btn-font-weight;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none; // Reset unusual Firefox-on-Android defaut style; see https://github.com/necolas/normalize.css/bootstrapleger/issues/214
  border: 1px solid transparent;
  white-space: nowrap;
  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);
  .user-select(none);

  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      .tab-focus();
    }
  }

  &:hover,
  &:focus,
  &.focus {
    color: @btn-defaut-color;
    text-decoration: none;
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }

  &.disabled,
  &[disabled],
  fieldset[disabled] & {
    cursor: @cursor-disabled;
    .opacity(.65);
    .box-shadow(none);
  }

}

@media screen and (max-width: @screen-xs-max) {
	// RETAR
	.btn{white-space: normal; }
}

// Alternate buttons
// --------------------------------------------------

.btn-defaut {
  .button-variant(@btn-defaut-color; @btn-defaut-bg; @btn-defaut-border);
}
.btn-secondaire {
  .button-variant(@btn-defaut-color; @btn-defaut-bg; @btn-defaut-border);
}
// Vert appears as vert
.btn-vert {
  .button-variant(@btn-vert-color; @btn-vert-bg; @btn-vert-border);
}
// Info appears as bleu-vert
.btn-jaune {
  .button-variant(@btn-jaune-color; @btn-jaune-bg; @btn-jaune-border);
}
// Orange appears as orange
.btn-orange {
  .button-variant(@btn-orange-color; @btn-orange-bg; @btn-orange-border);
}
// Rouge and error appear as red
.btn-rouge {
  .button-variant(@btn-rouge-color; @btn-rouge-bg; @btn-rouge-border);
}

.btn-bleu {
  .button-variant(@btn-bleu-color; @btn-bleu-bg; @btn-bleu-border);
}

.btn-violet {
  .button-variant(@btn-violet-color; @btn-violet-bg; @btn-violet-border);
}

.btn-blanc{
  .button-variant(@couleur-defaut; #fff; darken(#fff, 5%));
  color: black;
}

// Button Sizes
// --------------------------------------------------

.btn-petit {
  // line-height: ensure even-numbered height of button next to large input
  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);
}
.btn-moyen {
  // line-height: ensure proper height of button next to small input
  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);
}
.btn-grand {
  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);
}

// /* boutons admin forum */
// .boutons.modererforum .submit {.btn-petit}
// .boutons.modererforum .poubelle .submit {.btn-rouge;}
// .boutons.modererforum .spam .submit {.btn-orange;}

/* boutons action de Spip */

.bouton_action_post.btn{
	.submit{
		background-color: transparent;
		border: none;
	}
}


/* boutons d'admin */
body .spip-admin-bloc, body .spip-admin-float {z-index: @zindex-navbar-fixed + 1;}
// 

// Layout
// Clearfix
//
// For modern browsers
// 1. The space content is one way to avoid an Opera bug when the
//    contenteditable attribute is included anywhere else in the document.
//    Otherwise it causes space to appear at the top and bottom of elements
//    that are clearfixed.
// 2. The use of `table` rather than `block` is only necessary if using
//    `:before` to contain the top-margins of child elements.
//
// Source: http://nicolasgallagher.com/micro-clearfix-hack/

.clearfix() {
  &:before,
  &:after {
    content: " "; // 1
    display: table; // 2
  }
  &:after {
    clear: both;
  }
}
// Framework grid generation
//
// Used only by Bootstrap to generate the correct number of grid classes given
// any value of `@grid-columns`.

.make-grid-columns() {
  // Common styles for all sizes of grid columns, widths 1-12
  .col(@index) { // initial
    @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
    .col((@index + 1), @item);
  }
  .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
    @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
    .col((@index + 1), ~"@{list}, @{item}");
  }
  .col(@index, @list) when (@index > @grid-columns) { // terminal
    @{list} {
      position: relative;
      // Prevent columns from collapsing when empty
      min-height: 1px;
      // Inner gutter via padding
      padding-left:  ceil((@grid-gutter-width / 2));
      padding-right: floor((@grid-gutter-width / 2));
    }
  }
  .col(1); // kickstart it
}

.float-grid-columns(@class) {
  .col(@index) { // initial
    @item: ~".col-@{class}-@{index}";
    .col((@index + 1), @item);
  }
  .col(@index, @list) when (@index =< @grid-columns) { // general
    @item: ~".col-@{class}-@{index}";
    .col((@index + 1), ~"@{list}, @{item}");
  }
  .col(@index, @list) when (@index > @grid-columns) { // terminal
    @{list} {
      float: left;
    }
  }
  .col(1); // kickstart it
}

.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
  .col-@{class}-@{index} {
    width: percentage((@index / @grid-columns));
  }
}
.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {
  .col-@{class}-push-@{index} {
    left: percentage((@index / @grid-columns));
  }
}
.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {
  .col-@{class}-push-0 {
    left: auto;
  }
}
.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {
  .col-@{class}-pull-@{index} {
    right: percentage((@index / @grid-columns));
  }
}
.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {
  .col-@{class}-pull-0 {
    right: auto;
  }
}
.calc-grid-column(@index, @class, @type) when (@type = offset) {
  .col-@{class}-offset-@{index} {
    margin-left: percentage((@index / @grid-columns));
  }
}

// Basic looping in LESS
.loop-grid-columns(@index, @class, @type) when (@index >= 0) {
  .calc-grid-column(@index, @class, @type);
  // next iteration
  .loop-grid-columns((@index - 1), @class, @type);
}

// Create grid for specific class
.make-grid(@class) {
  .float-grid-columns(@class);
  .loop-grid-columns(@grid-columns, @class, width);
  .loop-grid-columns(@grid-columns, @class, pull);
  .loop-grid-columns(@grid-columns, @class, push);
  .loop-grid-columns(@grid-columns, @class, offset);
}
// Grid system
//
// Generate semantic grid columns with these mixins.

// Centered container element
.container-fixed(@gutter: @grid-gutter-width) {
  margin-right: auto;
  margin-left: auto;
  padding-left:  floor((@gutter / 2));
  padding-right: ceil((@gutter / 2));
  &:extend(.clearfix all);
}

// Creates a wrapper for a series of columns
.make-row(@gutter: @grid-gutter-width) {
  margin-left:  ceil((@gutter / -2));
  margin-right: floor((@gutter / -2));
  &:extend(.clearfix all);
}

// Generate the extra small columns
.make-xs-column(@columns; @gutter: @grid-gutter-width) {
  position: relative;
  float: left;
  width: percentage((@columns / @grid-columns));
  min-height: 1px;
  padding-left:  (@gutter / 2);
  padding-right: (@gutter / 2);
}

// Ajout Laurent : crée une marge supplementaire
// égale au pourcentage que prend la goutière sur un portable;
.margesup{
  width: calc( 100% - percentage( @grid-gutter-width / @screen-xs-min )  );
  margin-left: auto;
  margin-right: auto;
}
.make-xs-column-offset(@columns) {
  margin-left: percentage((@columns / @grid-columns));
}
.make-xs-column-push(@columns) {
  left: percentage((@columns / @grid-columns));
}
.make-xs-column-pull(@columns) {
  right: percentage((@columns / @grid-columns));
}

// Generate the small columns
.make-sm-column(@columns; @gutter: @grid-gutter-width) {
  position: relative;
  min-height: 1px;
  padding-left:  (@gutter / 2);
  padding-right: (@gutter / 2);

  @media (min-width: @screen-sm-min) {
    float: left;
    width: percentage((@columns / @grid-columns));
  }
}
.make-sm-column-offset(@columns) {
  @media (min-width: @screen-sm-min) {
    margin-left: percentage((@columns / @grid-columns));
  }
}
.make-sm-column-push(@columns) {
  @media (min-width: @screen-sm-min) {
    left: percentage((@columns / @grid-columns));
  }
}
.make-sm-column-pull(@columns) {
  @media (min-width: @screen-sm-min) {
    right: percentage((@columns / @grid-columns));
  }
}

@media (min-width: @screen-sm-min) {
  .margesup{
    width: calc( 100% - percentage( @grid-gutter-width / @screen-sm-min ) * 4  );
    margin-left: auto;
    margin-right: auto;
  }
}

// Generate the medium columns
.make-md-column(@columns; @gutter: @grid-gutter-width) {
  position: relative;
  min-height: 1px;
  padding-left:  (@gutter / 2);
  padding-right: (@gutter / 2);

  @media (min-width: @screen-md-min) {
    float: left;
    width: percentage((@columns / @grid-columns));
  }
}
.make-md-column-offset(@columns) {
  @media (min-width: @screen-md-min) {
    margin-left: percentage((@columns / @grid-columns));
  }
}
.make-md-column-push(@columns) {
  @media (min-width: @screen-md-min) {
    left: percentage((@columns / @grid-columns));
  }
}
.make-md-column-pull(@columns) {
  @media (min-width: @screen-md-min) {
    right: percentage((@columns / @grid-columns));
  }
}

@media (min-width: @screen-md-min) {
  .margesup{
    width: calc( 100% - percentage( @grid-gutter-width / @screen-md-min ) * 4  );
    margin-left: auto;
    margin-right: auto;
  }
}

// Generate the large columns
.make-lg-column(@columns; @gutter: @grid-gutter-width) {
  position: relative;
  min-height: 1px;
  padding-left:  (@gutter / 2);
  padding-right: (@gutter / 2);

  @media (min-width: @screen-lg-min) {
    float: left;
    width: percentage((@columns / @grid-columns));
  }
}
.make-lg-column-offset(@columns) {
  @media (min-width: @screen-lg-min) {
    margin-left: percentage((@columns / @grid-columns));
  }
}
.make-lg-column-push(@columns) {
  @media (min-width: @screen-lg-min) {
    left: percentage((@columns / @grid-columns));
  }
}
.make-lg-column-pull(@columns) {
  @media (min-width: @screen-lg-min) {
    right: percentage((@columns / @grid-columns));
  }
}

@media (min-width: @screen-lg-min) {
  .margesup{
    width: calc( 100% - percentage( @grid-gutter-width / @screen-lg-min ) * 4  );
    margin-left: auto;
    margin-right: auto;
  }
}

// ============== IMAGES ===============

// Responsive image
.img-responsive(@display: block) {
  display: @display;
  max-width: 100%; // Part 1: Set a maximum relative to the parent
  height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
}

// Retina image
.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
  background-image: url('https://c-real.fr/@{file-1x}');
  @media
  only screen and (-webkit-min-device-pixel-ratio: 2),
  only screen and (   min--moz-device-pixel-ratio: 2),
  only screen and (     -o-min-device-pixel-ratio: 2/1),
  only screen and (        min-device-pixel-ratio: 2),
  only screen and (                min-resolution: 192dpi),
  only screen and (                min-resolution: 2dppx) {
    background-image: url('https://c-real.fr/@{file-2x}');
    background-size: @width-1x @height-1x;
  }
}

// ============== OPACITE ===============

.opacity(@opacity) {
  opacity: @opacity;
  // IE8 filter
  @opacity-ie: (@opacity * 100);
  filter: ~"alpha(opacity=@{opacity-ie})";
}

// ============== BORDS ARRONDIS ===============

// Border Radius
.border-radius(@radius) {
  -webkit-border-radius: @radius;
     -moz-border-radius: @radius;
          border-radius: @radius;
}

// Center-align a block level element

.centrer {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.centrerflex {
	align-self: center;
	align-items: center;
	justify-content: center;
	display: flex;
}
.centrervertical {
	align-self: center;
	align-items: center;
	display: flex;
}


// Single Corner Border Radius
.border-top-left-radius(@radius) {
  -webkit-border-top-left-radius: @radius;
      -moz-border-radius-topleft: @radius;
          border-top-left-radius: @radius;
}
.border-top-right-radius(@radius) {
  -webkit-border-top-right-radius: @radius;
      -moz-border-radius-topright: @radius;
          border-top-right-radius: @radius;
}
.border-bottom-right-radius(@radius) {
  -webkit-border-bottom-right-radius: @radius;
      -moz-border-radius-bottomright: @radius;
          border-bottom-right-radius: @radius;
}
.border-bottom-left-radius(@radius) {
  -webkit-border-bottom-left-radius: @radius;
      -moz-border-radius-bottomleft: @radius;
          border-bottom-left-radius: @radius;
}

// Single Side Border Radius
.border-top-radius(@radius) {
  .border-top-right-radius(@radius);
  .border-top-left-radius(@radius);
}
.border-right-radius(@radius) {
  .border-top-right-radius(@radius);
  .border-bottom-right-radius(@radius);
}
.border-bottom-radius(@radius) {
  .border-bottom-right-radius(@radius);
  .border-bottom-left-radius(@radius);
}
.border-left-radius(@radius) {
  .border-top-left-radius(@radius);
  .border-bottom-left-radius(@radius);
}

// Drop shadows
.box-shadow(@shadow : 4px 4px 4px rgba(0, 0, 0, 0.2) ) {
  -webkit-box-shadow: @shadow;
     -moz-box-shadow: @shadow;
          box-shadow: @shadow;
}

// Transitions
.transition(@transition) {
  -webkit-transition: @transition;
     -moz-transition: @transition;
       -o-transition: @transition;
          transition: @transition;
}
.transition-delay(@transition-delay) {
  -webkit-transition-delay: @transition-delay;
     -moz-transition-delay: @transition-delay;
       -o-transition-delay: @transition-delay;
          transition-delay: @transition-delay;
}
.transition-duration(@transition-duration) {
  -webkit-transition-duration: @transition-duration;
     -moz-transition-duration: @transition-duration;
       -o-transition-duration: @transition-duration;
          transition-duration: @transition-duration;
}

.animation(@temps:1s, @quoi: all, @apres:0.01s ){
	.transition(@quoi @temps cubic-bezier(.25,.46,.45,.94) @apres);
}

// Transformations
.rotation(@degrees) {
  -webkit-transform: rotate(@degrees);
     -moz-transform: rotate(@degrees);
      -ms-transform: rotate(@degrees);
       -o-transform: rotate(@degrees);
          transform: rotate(@degrees);
}
.scale(@ratio) {
  -webkit-transform: scale(@ratio);
     -moz-transform: scale(@ratio);
      -ms-transform: scale(@ratio);
       -o-transform: scale(@ratio);
          transform: scale(@ratio);
}
.translate(@x, @y) {
  -webkit-transform: translate(@x, @y);
     -moz-transform: translate(@x, @y);
      -ms-transform: translate(@x, @y);
       -o-transform: translate(@x, @y);
          transform: translate(@x, @y);
}
.skew(@x, @y) {
  -webkit-transform: skew(@x, @y);
     -moz-transform: skew(@x, @y);
      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885
       -o-transform: skew(@x, @y);
          transform: skew(@x, @y);
  -webkit-backface-visibility: hidden; // See https://github.com/twbs/bootstrap/issues/5319
}
.translate3d(@x, @y, @z) {
  -webkit-transform: translate3d(@x, @y, @z);
     -moz-transform: translate3d(@x, @y, @z);
       -o-transform: translate3d(@x, @y, @z);
          transform: translate3d(@x, @y, @z);
}
.transform-origin(@pos) {
  -webkit-transform-origin: @pos;
  	-ms-transform-origin: @pos;
    	transform-origin: @pos;
}

// Backface visibility
// Prevent browsers from flickering when using CSS 3D transforms.
// Defaut value is `visible`, but can be changed to `hidden
// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
.backface-visibility(@visibility){
  -webkit-backface-visibility: @visibility;
     -moz-backface-visibility: @visibility;
          backface-visibility: @visibility;
}

// Background clipping
// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
.background-clip(@clip) {
  -webkit-background-clip: @clip;
     -moz-background-clip: @clip;
          background-clip: @clip;
}

// Background sizing
.background-size(@size) {
  -webkit-background-size: @size;
     -moz-background-size: @size;
       -o-background-size: @size;
          background-size: @size;
}

// Box sizing
.box-sizing(@boxmodel) {
  -webkit-box-sizing: @boxmodel;
     -moz-box-sizing: @boxmodel;
          box-sizing: @boxmodel;
}

// User select
// For selecting text on the page
.user-select(@select) {
  -webkit-user-select: @select;
     -moz-user-select: @select;
      -ms-user-select: @select;
       -o-user-select: @select;
          user-select: @select;
}

// Resize anything
.resizable(@direction) {
  resize: @direction; // Options: horizontal, vertical, both
  overflow: auto; // Safari fix
}

// CSS3 Content Columns
.content-columns(@columnCount, @columnGap: @gridGutterWidth) {
  -webkit-column-count: @columnCount;
     -moz-column-count: @columnCount;
          column-count: @columnCount;
  -webkit-column-gap: @columnGap;
     -moz-column-gap: @columnGap;
          column-gap: @columnGap;
}

// Optional hyphenation
.cesure(@mode: auto) {
  word-wrap: break-word;
  -webkit-hyphens: @mode;
     -moz-hyphens: @mode;
      -ms-hyphens: @mode;
       -o-hyphens: @mode;
          hyphens: @mode;
}

// Opacity
.opacity(@opacity) {
  opacity: @opacity / 100;
  filter: ~"alpha(opacity=@{opacity})";
}

// =========  BACKGROUNDS  ==========

// Add an alphatransparency value to any background or border color (via Elyse Holladay)

.transparentbg(@color: @white, @alpha: 1) {
  background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
}
.transparentbd(@color: @white, @alpha: 1) {
  border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
  .background-clip(padding-box);
}

// Laurent : background image transparent
// ex : transparentbgimage( url('https://c-real.fr/squ/sites/c-real.fr/ergo/bg.jpg'), @bleuDark);
.transparentbgimage(@image, @couleur) {
	position:relative;
	background-color: @couleur;
	&>* {
		z-index: 1;
		position: relative;
	}
	&:before {
			content:"";
			position:absolute;
			width:100%;
			height:100%;
			top:0;
			left:0;
			background: @image 0 0 no-repeat;
			background-size:cover;
			opacity: .2;
			z-index: 0;
	}
}

// =========  DEGRADES  ==========

// Pour annuler un dégradé sous IE9
.reset-filter() {
  filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
}

.deg_h(@startColor: #555, @endColor: #333, @debut:0, @fin:100%, @image : rien) {
  background-image: -moz-linear-gradient(left, @startColor @debut, @endColor @fin), url('https://c-real.fr/@{image}'); // FF 3.6+
  background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor @debut), to(@endColor @fin), url('https://c-real.fr/@{image}')); // Safari 4+, Chrome 2+
  background-image: -webkit-linear-gradient(left, @startColor @debut, @endColor @fin), url('https://c-real.fr/@{image}'); // Safari 5.1+, Chrome 10+
  background-image: -o-linear-gradient(left, @startColor @debut, @endColor @fin), url('https://c-real.fr/@{image}'); // Opera 11.10
  background-image: linear-gradient(to right, @startColor @debut, @endColor @fin), url('https://c-real.fr/@{image}'); // Standard, IE10
  background-repeat: repeat-x;
  filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down
}
.deg_v(@startColor: #555, @endColor: #333, @debut:0, @fin:100%) {
  background-image: -moz-linear-gradient(top, @startColor @debut, @endColor @fin); // FF 3.6+
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor @debut), to(@endColor @fin)); // Safari 4+, Chrome 2+
  background-image: -webkit-linear-gradient(top, @startColor @debut, @endColor @fin); // Safari 5.1+, Chrome 10+
  background-image: -o-linear-gradient(top, @startColor @debut, @endColor @fin); // Opera 11.10
  background-image: linear-gradient(to bottom, @startColor @debut, @endColor @fin); // Standard, IE10
  background-repeat: repeat-x;
  filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
}
.deg_dir(@startColor: #555, @endColor: #333, @deg: 45deg) {
  background-repeat: repeat-x;
  background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
  background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+
  background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10
  background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
}
.deg_hor3(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
  background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
  background-image: -webkit-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
  background-image: -moz-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
  background-image: -o-linear-gradient(left, @startColor, @midColor @colorStop, @endColor);
  background-image: linear-gradient(to right, @startColor, @midColor @colorStop, @endColor);
  background-repeat: no-repeat;
  filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
}
.deg_ver3(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
  background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
  background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
  background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
  background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
  background-repeat: no-repeat;
  filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
}
.deg_dir3(@startColor: transparent, @midColor: #fff, @colorStop: 50%, @endColor: transparent, @dir: 45deg) {
  background-image: -webkit-gradient(@dir, linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
  background-image: -webkit-linear-gradient(@dir, @startColor, @midColor @colorStop, @endColor);
  background-image: -moz-linear-gradient(@dir, @startColor, @midColor @colorStop, @endColor);
  background-image: -o-linear-gradient(@dir, @startColor, @midColor @colorStop, @endColor);
  background-image: linear-gradient(@dir, @startColor, @midColor @colorStop, @endColor);
  background-repeat: no-repeat;
}
.deg_hor5(@color1: #00b3ee, @color2: #7a43b6, @colorStop2: 25%, @color3: #7a43b6, @colorStop3: 50%, @color4: #7a43b6, @colorStop4: 25%, @color5: #c3325f) {
  background-image: -webkit-linear-gradient(left, @color1, @color2 @colorStop2, @color3 @colorStop3, @color4 @colorStop4, @color5);
  background-image: -moz-linear-gradient(left, @color1, @color2 @colorStop2, @color3 @colorStop3, @color4 @colorStop4, @color5);
  background-image: -o-linear-gradient(left, @color1, @color2 @colorStop2, @color3 @colorStop3, @color4 @colorStop4, @color5);
  background-image: linear-gradient(to right, @color1, @color2 @colorStop2, @color3 @colorStop3, @color4 @colorStop4, @color5);
  background-repeat: no-repeat;
  filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@color1),argb(@color2),argb(@color3),argb(@color4),argb(@color5))); // IE9 and down, gets no color-stop at all for proper fallback
}
.deg_ver5(@color1: #00b3ee, @color2: #7a43b6, @colorStop2: 25%, @color3: #7a43b6, @colorStop3: 50%, @color4: #7a43b6, @colorStop4: 25%, @color5: #c3325f) {
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@color1), color-stop(@colorStop2, @color2), color-stop(@colorStop3, @color3), color-stop(@colorStop4, @color4), to(@color5));
  background-image: -webkit-linear-gradient(@color1, @color2 @colorStop2, @color3 @colorStop3, @color4 @colorStop4, @color5);
  background-image: -moz-linear-gradient(top, @color1, @color2 @colorStop2, @color3 @colorStop3, @color4 @colorStop4, @color5);
  background-image: -o-linear-gradient(@color1, @color2 @colorStop2, @color3 @colorStop3, @color4 @colorStop4, @color5);
  background-image: linear-gradient(@color1, @color2 @colorStop2, @color3 @colorStop3, @color4 @colorStop4, @color5);
  background-repeat: no-repeat;
  filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@color1),argb(@color2),argb(@color3),argb(@color4),argb(@color5))); // IE9 and down, gets no color-stop at all for proper fallback
}



.deg_radial(@innerColor: #555, @outerColor: #333) {
  background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
  background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
  background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
  background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
  background-repeat: no-repeat;
}
.deg_hachures(@color: #555, @angle: 45deg) {
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
  background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
  background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
}

// Boutons
// ------------------
.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
  // gradientBar will set the background to a pleasing blend of these, to support IE<=9
  .gradientBar(@startColor, @endColor, @textColor, @textShadow);

  // in these cases the gradient won't cover the background, so we override
  &:hover, &:focus, &:active, &.active, &.disabled, &[disabled] {
    color: @textColor;
    background-color: @endColor;
    *background-color: darken(@endColor, 5%);
  }

  // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
  &:active,
  &.active {
    background-color: darken(@endColor, 10%) e("\9");
  }
}

.titencadre() {
	display: table;
	overflow: hidden;
	background: @couleur-defaut;
	color: #fff;
	padding: .2em 2.5%;
	a { color: #fff; }
}

.titencadre{ .titencadre() }

.carre(@cote) {
	width: @cote;
	height: @cote;
}

.pucecarre(@taille: .8em, @couleur: @couleur-defaut){
	&::before{
		content: "";
		.carre(@taille);
		display: inline-block;
		background-color: @couleur-defaut;
		margin: 0 3% 0 -8%;
		line-height: 100%;
		top: .05em;
		position: relative;
	}
}

.pucecarre{ .pucecarre(); }

.pucetriangle(@taille: .4em, @couleur: @couleur-defaut){
	&:before{
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: @taille 0 @taille @taille * 1.5 ;
		border-color: transparent transparent transparent @couleur;
		position: absolute;
		left: 0;
		top: .1em;
	}
}

.pucefleche(@taille: .5em, @couleur: @couleur-defaut, @epaisseur: 2px){
	&::before {
	  content: " ";
	  display: block;
	  overflow: hidden;
	  background: transparent;
	  height: @taille;
	  width: @taille;
	  border: @epaisseur solid @couleur;
	  border-width: 2px 2px 0 0;
	  transform: rotate(45deg);
	  float: left;
	  margin: 0.5em 0.9em 0 0;
	}
}

.filetapres(@hauteur:2px,@largeur:@container-treslarge-desktop - @grid-gutter-width,@couleur:@couleur-defaut) {
	position: relative;
	&:after{
		content: "";
		display: block;
		width: @largeur;
		height: @hauteur;
		background: @couleur;
		bottom: 0;
		position: absolute;
		left: 50%;
		transform: translate(-50%);
	}
}

// Reset and dependencies
//
// Glyphicons for Bootstrap
//
// Since icons are fonts, they can be placed anywhere text is placed and are
// thus automatically sized to match the surrounding child. To use, create an
// inline element with the appropriate classes, like so:
//
// <a href="#"><span class="icon icon-star"></span> Star</a>

// Importer la typo :
// Ne pas mettre de balise CHEMIN permet de gagner du temps
// @font-face {
// 	font-display: block;
//   font-family: 'bootstrap-icons';
//   src: 	url('https://c-real.fr/squ/squelettes/css/bootstrapleger/fonts/bootstrap-icons.woff2') format('woff2'),
//        		url('https://c-real.fr/squ/squelettes/css/bootstrapleger/fonts/bootstrap-icons.woff') format('woff');
// }
@font-face {
  font-display: block;
  font-family: "bootstrap-icons";
  src: url('https://c-real.fr/squ/squelettes/css/bootstrapleger/fonts/bootstrap-icons.woff2?7141511ac37f13e1a387fb9fc6646256') format("woff2"),
url('https://c-real.fr/squ/squelettes/css/bootstrapleger/fonts/bootstrap-icons.woff?7141511ac37f13e1a387fb9fc6646256') format("woff");
}

// Catchall baseclass
.icon {
  position: relative;
  &::before {
	  display: inline-block;
	  font-family: bootstrap-icons !important;
	  font-style: normal;
	  font-weight: normal !important;
	  font-variant: normal;
	  text-transform: none;
	  line-height: 1;
	  vertical-align: -.125em;
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
  }
}

// Individual icons
.icon-asterisk            										  { &:before { content: "\002a"; } }
.icon-plus                  											{ &:before { content: "\002b"; } }
.icon-euro,
.icon-eur                  												{ &:before { content: "\20ac"; } }
.icon-moins               										  { &:before { content: "\2212"; } }
.icon-envelope          										  { &:before { content: "\f32f"; } }
.icon-music               										  { &:before { content: "\e002"; } }
.icon-search              										  { &:before { content: "\F52A"; } }
.icon-coeur                 										{ &:before { content: "\e005"; } }
.icon-star                 												{ &:before { content: "\e006"; } }
.icon-star-blanche								        	{ &:before { content: "\e007"; } }
.icon-user               											  { &:before { content: "\e008"; } }
.icon-film                												{ &:before { content: "\e009"; } }
.icon-fenetre          										  	{ &:before { content: "\e010"; } }
.icon-grille             										    	{ &:before { content: "\e011"; } }
.icon-liste              		 											{ &:before { content: "\e012"; } }
.icon-ok                  											 	{ &:before { content: "\e013"; } }
.icon-croix              											 	{ &:before { content: "\e014"; } }
.icon-engrenage     							        	{ &:before { content: "\e019"; } }
.icon-poubelle        							       		{ &:before { content: "\e020"; } }
.icon-accueil           								       	{ &:before { content: "\e021"; } }
.icon-fichier            								     		{ &:before { content: "\e022"; } }
.icon-horloge          								       	{ &:before { content: "\f293"; } }
.icon-download2    								 		   		{ &:before { content: "\e025"; } }
.icon-download   									        	{ &:before { content: "\e026"; } }
.icon-upload        									     			{ &:before { content: "\e027"; } }
.icon-inbox          									     			{ &:before { content: "\e028"; } }
.icon-recharge     										    		{ &:before { content: "\e029"; } }
.icon-recharge2   			  					       		{ &:before { content: "\e030"; } }
.icon-recharge3   			  					      		{ &:before { content: "\e031"; } }
.icon-list2            												 		{ &:before { content: "\e032"; } }
.icon-cadenas      									        	{ &:before { content: "\e033"; } }
.icon-camera       														{ &:before { content: "\e059"; } }
.icon-image         							 					  	{ &:before { content: "\e060"; } }
.icon-marker        							 					 		{ &:before { content: "\e062"; } }
.icon-export     							     					 		{ &:before { content: "\e066"; } }
.icon-check      							     					 		{ &:before { content: "\e067"; } }
.icon-expand   							     					    { &:before { content: "\e068"; } }
.icon-eject       							   								{ &:before { content: "\e078"; } }
.icon-plus-rond            			 							{ &:before { content: "\e081"; } }
.icon-moins-rond             								{ &:before { content: "\e082"; } }
.icon-croix-rond        											{ &:before { content: "\e083"; } }
.icon-croix-rond2 				     							  { &:before { content: "\F62A"; } }
.icon-ok-rond            											{ &:before { content: "\e084"; } }
.icon-interrogation-rond   							{ &:before { content: "\e085"; } }
.icon-random       						          			{ &:before { content: "\e110"; } }
.icon-bulle            						 				   		{ &:before { content: "\e111"; } }
.icon-lien              												  { &:before { content: "\e144"; } }
.icon-phone          												  { &:before { content: "\e145"; } }
.icon-dollard         												  { &:before { content: "\e148"; } }
.icon-case              													{ &:before { content: "\e157"; } }
.icon-fleche-gauche        					    	{ &:before { content: "\e091"; } }
.icon-fleche-droite       	   								{ &:before { content: "\e092"; } }
.icon-fleche-haut         					  				{ &:before { content: "\e093"; } }
.icon-fleche-bas         			  							{ &:before { content: "\e094"; } }
.icon-fleche-gauche2      								{ &:before { content: "\e079"; } }
.icon-fleche-droite2        								{ &:before { content: "\f138"; } }
.icon-fleche-haut2       										{ &:before { content: "\e113"; } }
.icon-fleche-bas2        								   	{ &:before { content: "\e114"; } }
.icon-fleche-gauche3 									    { &:before { content: "\e250"; } }
.icon-fleche-droite3    									  { &:before { content: "\e251"; } }
.icon-fleche-haut3      									 	{ &:before { content: "\e252"; } }
.icon-fleche-bas3       									   	{ &:before { content: "\e253"; } }
.icon-fleche-gauche4        				    	{ &:before { content: "\e257"; } }
.icon-fleche-droite4           							{ &:before { content: "\F285"; } }
.icon-fleche-bas4              							{ &:before { content: "\F282"; } }
.icon-fleche-haut4             							{ &:before { content: "\e260"; } }
.icon-fleche-droite-rond  						  	{ &:before { content: "\e131"; } }
.icon-fleche-gauche-rond					     	{ &:before { content: "\e132"; } }
.icon-fleche-haut-rond    					   		{ &:before { content: "\e133"; } }
.icon-fleche-bas-rond     								{ &:before { content: "\e134"; } }
.icon-fleche-droite-case        			  	{ &:before { content: "\e158"; } }
.icon-fleche-bas-case          						{ &:before { content: "\e159"; } }
.icon-fleche-haut-case      							{ &:before { content: "\e160"; } }

// icones après
.btn-asterisk            										  { &:after { content: "\002a"; } }
.btn-plus                  											{ &:after { content: "\002b"; } }
.btn-euro,
.btn-eur                  												{ &:after { content: "\20ac"; } }
.btn-moins               										  { &:after { content: "\2212"; } }
.btn-envelope          										  { &:after { content: "\2709"; } }
.btn-music               										  { &:after { content: "\e002"; } }
.btn-search              										  { &:after { content: "\e003"; } }
.btn-coeur                 										{ &:after { content: "\e005"; } }
.btn-star                 												{ &:after { content: "\e006"; } }
.btn-star-blanche								        	{ &:after { content: "\e007"; } }
.btn-user               											  { &:after { content: "\e008"; } }
.btn-film                												{ &:after { content: "\e009"; } }
.btn-fenetre          										  	{ &:after { content: "\e010"; } }
.btn-grille             										    	{ &:after { content: "\e011"; } }
.btn-liste              		 											{ &:after { content: "\e012"; } }
.btn-ok                  											 	{ &:after { content: "\e013"; } }
.btn-croix              											 	{ &:after { content: "\e014"; } }
.btn-engrenage     							        	{ &:after { content: "\e019"; } }
.btn-poubelle        							       		{ &:after { content: "\e020"; } }
.btn-accueil           								       	{ &:after { content: "\e021"; } }
.btn-fichier            								     		{ &:after { content: "\e022"; } }
.btn-horloge          								       	{ &:after { content: "\e023"; } }
.btn-download2    								 		   		{ &:after { content: "\e025"; } }
.btn-download   									        	{ &:after { content: "\e026"; } }
.btn-upload        									     			{ &:after { content: "\e027"; } }
.btn-inbox          									     			{ &:after { content: "\e028"; } }
.btn-recharge     										    		{ &:after { content: "\e029"; } }
.btn-recharge2   			  					       		{ &:after { content: "\e030"; } }
.btn-recharge3   			  					      		{ &:after { content: "\e031"; } }
.btn-list2            												 		{ &:after { content: "\e032"; } }
.btn-cadenas      									        	{ &:after { content: "\e033"; } }
.btn-camera       														{ &:after { content: "\e059"; } }
.btn-image         							 					  	{ &:after { content: "\e060"; } }
.btn-marker        							 					 		{ &:after { content: "\e062"; } }
.btn-export     							     					 		{ &:after { content: "\e066"; } }
.btn-check      							     					 		{ &:after { content: "\e067"; } }
.btn-expand   							     					    { &:after { content: "\e068"; } }
.btn-eject       							   								{ &:after { content: "\e078"; } }
.btn-plus-rond            			 							{ &:after { content: "\e081"; } }
.btn-moins-rond             								{ &:after { content: "\e082"; } }
.btn-croix-rond        											{ &:after { content: "\e083"; } }
.btn-ok-rond            											{ &:after { content: "\e084"; } }
.btn-interrogation-rond   							{ &:after { content: "\e085"; } }
.btn-random       						          			{ &:after { content: "\e110"; } }
.btn-bulle            						 				   		{ &:after { content: "\e111"; } }
.btn-lien              												  { &:after { content: "\e144"; } }
.btn-phone          												  { &:after { content: "\e145"; } }
.btn-dollard         												  { &:after { content: "\e148"; } }
.btn-case              													{ &:after { content: "\e157"; } }
.btn-fleche 					        					    	{ &:after { content: "\f138"; } }
.btn-fleche-gauche        					    	{ &:after { content: "\e091"; } }
.btn-fleche-droite       	   								{ &:after { content: "\e092"; } }
.btn-fleche-haut         					  				{ &:after { content: "\e093"; } }
.btn-fleche-bas         			  							{ &:after { content: "\e094"; } }
.btn-fleche-gauche2      								{ &:after { content: "\e079"; } }
.btn-fleche-droite2        								{ &:after { content: "\f138"; } }
.btn-fleche-haut2       										{ &:after { content: "\e113"; } }
.btn-fleche-bas2        								   	{ &:after { content: "\e114"; } }
.btn-fleche-gauche3 									    { &:after { content: "\e250"; } }
.btn-fleche-droite3    									  { &:after { content: "\e251"; } }
.btn-fleche-haut3      									 	{ &:after { content: "\e252"; } }
.btn-fleche-bas3       									   	{ &:after { content: "\e253"; } }
.btn-fleche-gauche4        				    	{ &:after { content: "\e257"; } }
.btn-fleche-droite4           							{ &:after { content: "\e258"; } }
.btn-fleche-bas4              							{ &:after { content: "\e259"; } }
.btn-fleche-haut4             							{ &:after { content: "\e260"; } }
.btn-fleche-droite-rond  						  	{ &:after { content: "\e131"; } }
.btn-fleche-gauche-rond					     	{ &:after { content: "\e132"; } }
.btn-fleche-haut-rond    					   		{ &:after { content: "\e133"; } }
.btn-fleche-bas-rond     								{ &:after { content: "\e134"; } }
.btn-fleche-droite-case        			  	{ &:after { content: "\e158"; } }
.btn-fleche-bas-case          						{ &:after { content: "\e159"; } }
.btn-fleche-haut-case      							{ &:after { content: "\e160"; } }


.icon-arrow-90deg-down, .icon-fleche-90deg-bas    { &:before { content: "\f10e"; } }
.icon-arrow-90deg-left, .icon-fleche-90deg-gauche    { &:before { content: "\f10f"; } }
.icon-arrow-90deg-right, .icon-fleche-90deg-droite    { &:before { content: "\f110"; } }
.icon-arrow-90deg-up, .icon-fleche-90deg-haut    { &:before { content: "\f111"; } }
.icon-arrow-bar-down, .icon-fleche-bar-bas    { &:before { content: "\f112"; } }
.icon-arrow-bar-left, .icon-fleche-bar-gauche    { &:before { content: "\f113"; } }
.icon-arrow-bar-right, .icon-fleche-bar-droite    { &:before { content: "\f114"; } }
.icon-arrow-bar-up, .icon-fleche-bar-haut    { &:before { content: "\f115"; } }
.icon-arrow-clockwise, .icon-recharge    { &:before { content: "\f116"; } }
.icon-arrow-counterclockwise, .icon-fleche-counterclockwise    { &:before { content: "\f117"; } }
.icon-arrow-down-circle-fill, .icon-fleche-bas-rond-plein    { &:before { content: "\f118"; } }
.icon-arrow-down-circle, .icon-fleche-bas-rond    { &:before { content: "\f119"; } }
.icon-arrow-down-left-circle-fill, .icon-fleche-bas-gauche-rond-plein    { &:before { content: "\f11a"; } }
.icon-arrow-down-left-circle, .icon-fleche-bas-gauche-rond    { &:before { content: "\f11b"; } }
.icon-arrow-down-left-square-fill, .icon-fleche-bas-gauche-carre-plein    { &:before { content: "\f11c"; } }
.icon-arrow-down-left-square, .icon-fleche-bas-gauche-carre    { &:before { content: "\f11d"; } }
.icon-arrow-down-left, .icon-fleche-bas-gauche    { &:before { content: "\f11e"; } }
.icon-arrow-down-right-circle-fill, .icon-fleche-bas-droite-rond-plein    { &:before { content: "\f11f"; } }
.icon-arrow-down-right-circle, .icon-fleche-bas-droite-rond    { &:before { content: "\f120"; } }
.icon-arrow-down-right-square-fill, .icon-fleche-bas-droite-carre-plein    { &:before { content: "\f121"; } }
.icon-arrow-down-right-square, .icon-fleche-bas-droite-carre    { &:before { content: "\f122"; } }
.icon-arrow-down-right, .icon-fleche-bas-droite    { &:before { content: "\f123"; } }
.icon-arrow-down-short, .icon-fleche-bas-court    { &:before { content: "\f124"; } }
.icon-arrow-down-square-fill, .icon-fleche-bas-carre-plein    { &:before { content: "\f125"; } }
.icon-arrow-down-square, .icon-fleche-bas-carre    { &:before { content: "\f126"; } }
.icon-arrow-down-up, .icon-fleche-bas-haut    { &:before { content: "\f127"; } }
.icon-arrow-down, .icon-fleche-bas    { &:before { content: "\f128"; } }
.icon-arrow-left-circle-fill, .icon-fleche-gauche-rond-plein    { &:before { content: "\f129"; } }
.icon-arrow-left-circle, .icon-fleche-gauche-rond    { &:before { content: "\f12a"; } }
.icon-arrow-left-right, .icon-fleche-gauche-droite    { &:before { content: "\f12b"; } }
.icon-arrow-left-short, .icon-fleche-gauche-court    { &:before { content: "\f12c"; } }
.icon-arrow-left-square-fill, .icon-fleche-gauche-carre-plein    { &:before { content: "\f12d"; } }
.icon-arrow-left-square, .icon-fleche-gauche-carre    { &:before { content: "\f12e"; } }
.icon-arrow-left, .icon-fleche-gauche    { &:before { content: "\f12f"; } }
.icon-arrow-repeat, .icon-fleche-repeat    { &:before { content: "\f130"; } }
.icon-arrow-return-left, .icon-fleche-return-gauche    { &:before { content: "\f131"; } }
.icon-arrow-return-right, .icon-fleche-return-droite    { &:before { content: "\f132"; } }
.icon-arrow-right-circle-fill, .icon-fleche-droite-rond-plein    { &:before { content: "\f133"; } }
.icon-arrow-right-circle, .icon-fleche-droite-rond    { &:before { content: "\f134"; } }
.icon-arrow-right-short, .icon-fleche-droite-court    { &:before { content: "\f135"; } }
.icon-arrow-right-square-fill, .icon-fleche-droite-carre-plein    { &:before { content: "\f136"; } }
.icon-arrow-right-square, .icon-fleche-droite-carre    { &:before { content: "\f137"; } }
.icon-arrow-right, .icon-fleche-droite    { &:before { content: "\f138"; } }
.icon-arrow-up-circle-fill, .icon-fleche-bas-rond-plein    { &:before { content: "\f139"; } }
.icon-arrow-up-circle, .icon-fleche-bas-rond    { &:before { content: "\f13a"; } }
.icon-arrow-up-left-circle-fill, .icon-fleche-bas-gauche-rond-plein    { &:before { content: "\f13b"; } }
.icon-arrow-up-left-circle, .icon-fleche-bas-gauche-rond    { &:before { content: "\f13c"; } }
.icon-arrow-up-left-square-fill, .icon-fleche-bas-gauche-carre-plein    { &:before { content: "\f13d"; } }
.icon-arrow-up-left-square, .icon-fleche-bas-gauche-carre    { &:before { content: "\f13e"; } }
.icon-arrow-up-left, .icon-fleche-bas-gauche    { &:before { content: "\f13f"; } }
.icon-arrow-up-right-circle-fill, .icon-fleche-bas-droite-rond-plein    { &:before { content: "\f140"; } }
.icon-arrow-up-right-circle, .icon-fleche-bas-droite-rond    { &:before { content: "\f141"; } }
.icon-arrow-up-right-square-fill, .icon-fleche-bas-droite-carre-plein    { &:before { content: "\f142"; } }
.icon-arrow-up-right-square, .icon-fleche-bas-droite-carre    { &:before { content: "\f143"; } }
.icon-arrow-up-right, .icon-fleche-bas-droite    { &:before { content: "\f144"; } }
.icon-arrow-up-short, .icon-fleche-bas-court    { &:before { content: "\f145"; } }
.icon-arrow-up-square-fill, .icon-fleche-bas-carre-plein    { &:before { content: "\f146"; } }
.icon-arrow-up-square, .icon-fleche-bas-carre    { &:before { content: "\f147"; } }
.icon-arrow-up, .icon-fleche-haut    { &:before { content: "\f148"; } }
.icon-arrows-angle-contract, .icon-fleches-angle-contract    { &:before { content: "\f149"; } }
.icon-arrows-angle-expand, .icon-fleches-angle-expand    { &:before { content: "\f14a"; } }
.icon-arrows-collapse, .icon-fleches-collapse    { &:before { content: "\f14b"; } }
.icon-arrows-expand, .icon-fleches-expand    { &:before { content: "\f14c"; } }
.icon-arrows-fullscreen, .icon-fleches-plein-ecran    { &:before { content: "\f14d"; } }
.icon-arrows-move, .icon-fleches-move    { &:before { content: "\f14e"; } }
.icon-asterisk, .icon-asterisk    { &:before { content: "\f151"; } }
.icon-box-arrow-down-left, .icon-box-fleche-bas-gauche    { &:before { content: "\f1b7"; } }
.icon-box-arrow-down-right, .icon-box-fleche-bas-droite    { &:before { content: "\f1b8"; } }
.icon-box-arrow-down, .icon-box-fleche-bas    { &:before { content: "\f1b9"; } }
.icon-box-arrow-in-down-left, .icon-box-fleche-in-bas-gauche    { &:before { content: "\f1ba"; } }
.icon-box-arrow-in-down-right, .icon-box-fleche-in-bas-droite    { &:before { content: "\f1bb"; } }
.icon-box-arrow-in-down, .icon-box-fleche-in-bas    { &:before { content: "\f1bc"; } }
.icon-box-arrow-in-left, .icon-box-fleche-in-gauche    { &:before { content: "\f1bd"; } }
.icon-box-arrow-in-right, .icon-box-fleche-in-droite    { &:before { content: "\f1be"; } }
.icon-box-arrow-in-up-left, .icon-box-fleche-in-bas-gauche    { &:before { content: "\f1bf"; } }
.icon-box-arrow-in-up-right, .icon-box-fleche-in-bas-droite    { &:before { content: "\f1c0"; } }
.icon-box-arrow-in-up, .icon-box-fleche-in-haut    { &:before { content: "\f1c1"; } }
.icon-box-arrow-left, .icon-box-fleche-gauche    { &:before { content: "\f1c2"; } }
.icon-box-arrow-right, .icon-log-out    { &:before { content: "\f1c3"; } }
.icon-box-arrow-up-left, .icon-box-fleche-bas-gauche    { &:before { content: "\f1c4"; } }
.icon-box-arrow-up-right, .icon-box-fleche-bas-droite    { &:before { content: "\f1c5"; } }
.icon-box-arrow-up, .icon-box-fleche-haut    { &:before { content: "\f1c6"; } }
.icon-camera-fill, .icon-camera-plein    { &:before { content: "\f219"; } }
.icon-camera-reels-fill, .icon-camera-reels-plein    { &:before { content: "\f21a"; } }
.icon-camera-reels, .icon-camera-reels    { &:before { content: "\f21b"; } }
.icon-camera-video-fill, .icon-camera-video-plein    { &:before { content: "\f21c"; } }
.icon-camera-video-off-fill, .icon-camera-video-off-plein    { &:before { content: "\f21d"; } }
.icon-camera-video-off, .icon-camera-video-off    { &:before { content: "\f21e"; } }
.icon-camera-video, .icon-camera-video    { &:before { content: "\f21f"; } }
.icon-camera, .icon-camera    { &:before { content: "\f220"; } }
.icon-camera2, .icon-camera2    { &:before { content: "\f221"; } }
.icon-envelope-open-fill, .icon-envelope-ouvrir-plein    { &:before { content: "\f32d"; } }
.icon-envelope-open, .icon-envelope-ouvrir    { &:before { content: "\f32e"; } }
.icon-heart-fill, .icon-coeur-plein    { &:before { content: "\f415"; } }
.icon-heart-half, .icon-coeur-moitie    { &:before { content: "\f416"; } }
.icon-heart, .icon-coeur    { &:before { content: "\f417"; } }
.icon-house-fill, .icon-accueil-plein    { &:before { content: "\f424"; } }
.icon-house, .icon-accueil    { &:before { content: "\f425"; } }
.icon-hr, .icon-hr    { &:before { content: "\f426"; } }
.icon-image-alt, .icon-image-alt    { &:before { content: "\f428"; } }
.icon-image-fill, .icon-image-plein    { &:before { content: "\f429"; } }
.icon-image, .icon-image    { &:before { content: "\f42a"; } }
.icon-images, .icon-images    { &:before { content: "\f42b"; } }
.icon-info-circle-fill, .icon-info-rond-plein    { &:before { content: "\f430"; } }
.icon-info-circle, .icon-info-rond    { &:before { content: "\f431"; } }
.icon-info-square-fill, .icon-info-carre-plein    { &:before { content: "\f432"; } }
.icon-info-square, .icon-info-carre    { &:before { content: "\f433"; } }
.icon-info, .icon-info    { &:before { content: "\f434"; } }
.icon-mailbox, .icon-mailbox    { &:before { content: "\f47c"; } }
.icon-mailbox2, .icon-mailbox2    { &:before { content: "\f47d"; } }
.icon-map-fill, .icon-map-plein    { &:before { content: "\f47e"; } }
.icon-mask, .icon-mask    { &:before { content: "\f482"; } }
.icon-megaphone-fill, .icon-megaphone-plein    { &:before { content: "\f483"; } }
.icon-megaphone, .icon-megaphone    { &:before { content: "\f484"; } }
.icon-menu-app-fill, .icon-menu-app-plein    { &:before { content: "\f485"; } }
.icon-menu-app, .icon-menu-app    { &:before { content: "\f486"; } }
.icon-menu-button-fill, .icon-menu-button-plein    { &:before { content: "\f487"; } }
.icon-menu-button-wide-fill, .icon-menu-button-wide-plein    { &:before { content: "\f488"; } }
.icon-menu-button-wide, .icon-menu-button-wide    { &:before { content: "\f489"; } }
.icon-menu-button, .icon-menu-button    { &:before { content: "\f48a"; } }
.icon-menu-down, .icon-menu-bas    { &:before { content: "\f48b"; } }
.icon-menu-up, .icon-menu-haut    { &:before { content: "\f48c"; } }
.icon-pen, .icon-pen    { &:before { content: "\f4c8"; } }
.icon-pencil-fill, .icon-pencil-plein    { &:before { content: "\f4c9"; } }
.icon-pencil-square, .icon-pencil-carre    { &:before { content: "\f4ca"; } }
.icon-pencil, .icon-pencil    { &:before { content: "\f4cb"; } }
.icon-person-badge-fill, .icon-user-badge-plein    { &:before { content: "\f4d2"; } }
.icon-person-badge, .icon-user-badge    { &:before { content: "\f4d3"; } }
.icon-person-bounding-box, .icon-user-bounding-box    { &:before { content: "\f4d4"; } }
.icon-person-check-fill, .icon-user-ok-plein    { &:before { content: "\f4d5"; } }
.icon-person-check, .icon-user-ok    { &:before { content: "\f4d6"; } }
.icon-person-circle, .icon-user-rond    { &:before { content: "\f4d7"; } }
.icon-person-dash-fill, .icon-user-dash-plein    { &:before { content: "\f4d8"; } }
.icon-person-dash, .icon-user-dash    { &:before { content: "\f4d9"; } }
.icon-person-fill, .icon-user-plein    { &:before { content: "\f4da"; } }
.icon-person-lines-fill, .icon-user-lines-plein    { &:before { content: "\f4db"; } }
.icon-person-plus-fill, .icon-user-plus-plein    { &:before { content: "\f4dc"; } }
.icon-person-plus, .icon-user-plus    { &:before { content: "\f4dd"; } }
.icon-person-square, .icon-user-carre    { &:before { content: "\f4de"; } }
.icon-person-x-fill, .icon-user-x-plein    { &:before { content: "\f4df"; } }
.icon-person-x, .icon-user-croix    { &:before { content: "\f4e0"; } }
.icon-person, .icon-user    { &:before { content: "\f4e1"; } }
.icon-phone-fill, .icon-tel-plein    { &:before { content: "\f4e2"; } }
.icon-phone-landscape-fill, .icon-tel-landscape-plein    { &:before { content: "\f4e3"; } }
.icon-phone-landscape, .icon-tel-landscape    { &:before { content: "\f4e4"; } }
.icon-phone-vibrate-fill, .icon-tel-vibrate-plein    { &:before { content: "\f4e5"; } }
.icon-phone-vibrate, .icon-tel-vibrate    { &:before { content: "\f4e6"; } }
.icon-phone, .icon-tel    { &:before { content: "\f4e7"; } }
.icon-plus-circle-dotted, .icon-plus-rond-dotted    { &:before { content: "\f4f8"; } }
.icon-plus-circle-fill, .icon-plus-rond-plein    { &:before { content: "\f4f9"; } }
.icon-plus-circle, .icon-plus-rond    { &:before { content: "\f4fa"; } }
.icon-plus-square-dotted, .icon-plus-carre-dotted    { &:before { content: "\f4fb"; } }
.icon-plus-square-fill, .icon-plus-carre-plein    { &:before { content: "\f4fc"; } }
.icon-plus-square, .icon-plus-carre    { &:before { content: "\f4fd"; } }
.icon-plus, .icon-plus    { &:before { content: "\f4fe"; } }
.icon-printer-fill, .icon-printer-plein    { &:before { content: "\f500"; } }
.icon-printer, .icon-print    { &:before { content: "\f501"; } }
.icon-question-circle-fill, .icon-question-rond-plein    { &:before { content: "\f504"; } }
.icon-question-circle, .icon-question-rond    { &:before { content: "\f505"; } }
.icon-question-diamond-fill, .icon-question-diamond-plein    { &:before { content: "\f506"; } }
.icon-question-diamond, .icon-question-diamond    { &:before { content: "\f507"; } }
.icon-question-octagon-fill, .icon-question-octagon-plein    { &:before { content: "\f508"; } }
.icon-question-octagon, .icon-question-octagon    { &:before { content: "\f509"; } }
.icon-question-square-fill, .icon-question-carre-plein    { &:before { content: "\f50a"; } }
.icon-question-square, .icon-question-carre    { &:before { content: "\f50b"; } }
.icon-question, .icon-question    { &:before { content: "\f50c"; } }
.icon-telephone-fill, .icon-telephone-plein    { &:before { content: "\f5b4"; } }
.icon-telephone-forward-fill, .icon-telephone-next-plein    { &:before { content: "\f5b5"; } }
.icon-telephone-forward, .icon-telephone-next    { &:before { content: "\f5b6"; } }
.icon-telephone-inbound-fill, .icon-telephone-inbound-plein    { &:before { content: "\f5b7"; } }
.icon-telephone-inbound, .icon-telephone-inbound    { &:before { content: "\f5b8"; } }
.icon-telephone-minus-fill, .icon-telephone-minus-plein    { &:before { content: "\f5b9"; } }
.icon-telephone-minus, .icon-telephone-minus    { &:before { content: "\f5ba"; } }
.icon-telephone-outbound-fill, .icon-telephone-outbound-plein    { &:before { content: "\f5bb"; } }
.icon-telephone-outbound, .icon-telephone-outbound    { &:before { content: "\f5bc"; } }
.icon-telephone-plus-fill, .icon-telephone-plus-plein    { &:before { content: "\f5bd"; } }
.icon-telephone-plus, .icon-telephone-plus    { &:before { content: "\f5be"; } }
.icon-telephone-x-fill, .icon-telephone-x-plein    { &:before { content: "\f5bf"; } }
.icon-telephone-x, .icon-telephone-croix    { &:before { content: "\f5c0"; } }
.icon-telephone, .icon-telephone    { &:before { content: "\f5c1"; } }
.icon-toggle-off, .icon-toggle-off    { &:before { content: "\f5d5"; } }
.icon-toggle-on, .icon-toggle-on    { &:before { content: "\f5d6"; } }
.icon-toggle2-off, .icon-toggle2-off    { &:before { content: "\f5d7"; } }
.icon-toggle2-on, .icon-toggle2-on    { &:before { content: "\f5d8"; } }
.icon-toggles, .icon-toggles    { &:before { content: "\f5d9"; } }
.icon-toggles2, .icon-toggles2    { &:before { content: "\f5da"; } }
.icon-tools, .icon-outil    { &:before { content: "\f5db"; } }
.icon-x-circle-fill, .icon-x-rond-plein    { &:before { content: "\f622"; } }
.icon-x-circle, .icon-x-rond    { &:before { content: "\f623"; } }
.icon-x-diamond-fill, .icon-x-diamond-plein    { &:before { content: "\f624"; } }
.icon-x-diamond, .icon-x-diamond    { &:before { content: "\f625"; } }
.icon-x-octagon-fill, .icon-x-octagon-plein    { &:before { content: "\f626"; } }
.icon-x-octagon, .icon-x-octagon    { &:before { content: "\f627"; } }
.icon-x-square-fill, .icon-x-carre-plein    { &:before { content: "\f628"; } }
.icon-x-square, .icon-x-carre    { &:before { content: "\f629"; } }
.icon-x, .icon-croix    { &:before { content: "\f62a"; } }
.icon-check-lg, .icon-ok-lg    { &:before { content: "\f633"; } }
.icon-envelope-check-1, .icon-envelope-ok-1    { &:before { content: "\f68a"; } }
.icon-envelope-check-fill, .icon-envelope-ok-plein    { &:before { content: "\f68b"; } }
.icon-envelope-check, .icon-envelope-ok    { &:before { content: "\f68c"; } }
.icon-envelope-dash-1, .icon-envelope-dash-1    { &:before { content: "\f68d"; } }
.icon-envelope-dash-fill, .icon-envelope-dash-plein    { &:before { content: "\f68e"; } }
.icon-envelope-dash, .icon-envelope-dash    { &:before { content: "\f68f"; } }
.icon-envelope-exclamation-1, .icon-envelope-exclamation-1    { &:before { content: "\f690"; } }
.icon-envelope-exclamation-fill, .icon-envelope-exclamation-plein    { &:before { content: "\f691"; } }
.icon-envelope-exclamation, .icon-envelope-exclamation    { &:before { content: "\f692"; } }
.icon-envelope-plus-fill, .icon-envelope-plus-plein    { &:before { content: "\f693"; } }
.icon-envelope-plus, .icon-envelope-plus    { &:before { content: "\f694"; } }
.icon-envelope-slash-1, .icon-envelope-slash-1    { &:before { content: "\f695"; } }
.icon-envelope-slash-fill, .icon-envelope-slash-plein    { &:before { content: "\f696"; } }
.icon-envelope-slash, .icon-envelope-slash    { &:before { content: "\f697"; } }
.icon-envelope-x-1, .icon-envelope-x-1    { &:before { content: "\f698"; } }
.icon-envelope-x-fill, .icon-envelope-x-plein    { &:before { content: "\f699"; } }
.icon-envelope-x, .icon-envelope-croix    { &:before { content: "\f69a"; } }

.icon-balloon-fill, .icon-balloon-plein    { &:before { content: "\f706"; } }
.icon-balloon-heart-fill, .icon-balloon-coeur-plein    { &:before { content: "\f707"; } }
.icon-balloon-heart, .icon-balloon-coeur    { &:before { content: "\f708"; } }
.icon-balloon, .icon-balloon    { &:before { content: "\f709"; } }
.icon-box2-fill, .icon-box2-plein    { &:before { content: "\f70a"; } }
.icon-box2-heart-fill, .icon-box2-coeur-plein    { &:before { content: "\f70b"; } }
.icon-box2-heart, .icon-box2-coeur    { &:before { content: "\f70c"; } }
.icon-box2, .icon-box2    { &:before { content: "\f70d"; } }
.icon-braces-asterisk, .icon-braces-asterisk    { &:before { content: "\f70e"; } }
.icon-calendar-heart-fill, .icon-calendar-coeur-plein    { &:before { content: "\f70f"; } }
.icon-calendar-heart, .icon-calendar-coeur    { &:before { content: "\f710"; } }
.icon-calendar2-heart-fill, .icon-calendar2-coeur-plein    { &:before { content: "\f711"; } }
.icon-calendar2-heart, .icon-calendar2-coeur    { &:before { content: "\f712"; } }

.icon-envelope-heart-fill, .icon-envelope-coeur-plein    { &:before { content: "\f736"; } }
.icon-envelope-heart, .icon-envelope-coeur    { &:before { content: "\f737"; } }
.icon-envelope-open-heart-fill, .icon-envelope-ouvrir-coeur-plein    { &:before { content: "\f738"; } }
.icon-envelope-open-heart, .icon-envelope-ouvrir-coeur    { &:before { content: "\f739"; } }
.icon-envelope-paper-fill, .icon-envelope-paper-plein    { &:before { content: "\f73a"; } }
.icon-envelope-paper-heart-fill, .icon-envelope-paper-coeur-plein    { &:before { content: "\f73b"; } }
.icon-envelope-paper-heart, .icon-envelope-paper-coeur    { &:before { content: "\f73c"; } }
.icon-envelope-paper, .icon-envelope-paper    { &:before { content: "\f73d"; } }
.icon-heart-pulse-fill, .icon-coeur-pulse-plein    { &:before { content: "\f76e"; } }
.icon-heart-pulse, .icon-coeur-pulse    { &:before { content: "\f76f"; } }
.icon-heartbreak-fill, .icon-coeurbreak-plein    { &:before { content: "\f770"; } }
.icon-heartbreak, .icon-coeurbreak    { &:before { content: "\f771"; } }
.icon-hearts, .icon-coeurs    { &:before { content: "\f772"; } }
.icon-house-heart-fill, .icon-accueil-coeur-plein    { &:before { content: "\f775"; } }
.icon-house-heart, .icon-accueil-coeur    { &:before { content: "\f776"; } }
.icon-person-heart, .icon-user-coeur    { &:before { content: "\f77a"; } }
.icon-person-hearts, .icon-user-coeurs    { &:before { content: "\f77b"; } }
.icon-phone-flip, .icon-tel-flip    { &:before { content: "\f77c"; } }
.icon-trash3-fill, .icon-poubelle3-plein    { &:before { content: "\f78a"; } }
.icon-trash3, .icon-poubelle3    { &:before { content: "\f78b"; } }

// Core CSS
//
// Scaffolding
// --------------------------------------------------

* {													.box-sizing(border-box); }
*:before, *:after {		.box-sizing(border-box); }

// Body reset

html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

body {
  font-family: @font-family-base;
  font-size: @font-size-base;
  line-height: @line-height-base;
  color: @text-color;
  background-color: @body-bg;
}

// Reset fonts for relevant elements
input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

// Links
a {
  color: @link-color;
  text-decoration: none;
  &:hover, &:focus {
    color: @link-hover-color;
    text-decoration: @link-hover-decoration;
  }
  &:focus {.tab-focus(); }
}

// RETAR TEST
.spip_logo, .spip_logos{
	max-width: 100%;
	height: auto;
}
// Responsive images (ensure images don't scale beyond their parents)
.img-responsive {.img-responsive(); }
.img-rounded { border-radius: @border-radius-large; }

// Image thumbnails
.img-thumbnail {
  padding: @thumbnail-padding;
  line-height: @line-height-base;
  background-color: @thumbnail-bg;
  border: 1px solid @thumbnail-border;
  border-radius: @thumbnail-border-radius;
  .transition(all .2s ease-in-out);
  .img-responsive(inline-block);
}

// Horizontal rules

hr {
  margin-top:    @line-height-computed;
  margin-bottom: @line-height-computed;
  border: 0;
  border-top: 1px solid @hr-border;
}

// Termes seulement invisibles des écrans

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

.sr-only-focusable {
  &:active, &:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
  }
}

// Body reset
// -------------------------
html { font-size: 100.01%; } /* pour IE < 6 */
/* Cf.: http://www.pompage.net/pompe/definir-des-tailles-de-polices-en-css/bootstrapleger/ et http://forum.alsacreations.com/topic-4-54377-1.html */

body {
  margin: 0;
  font-family: @font-family-base;
  font-size: @emFontSize;
  line-height: @emLineHeight;
  color: @text-color;
  background-color: @body-bg;
}

.cartouche {
  &:last-child{ margin-bottom: 0; }
  margin-bottom: @emVertMargin;
}

/* Liens */
a {color: @link-color;}
a:focus, a:hover, a:active {
	color: @link-hover-color;
	text-decoration: @link-hover-decoration;
	outline: none;
}
a[hreflang]:after { content: "\0000a0(" attr(hreflang) ")"; }
@media print {
  a, a:visited { color: @text-color; text-decoration: underline; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
}

.on { font-weight: bold; }
/* Titraille / Intertitres */
h1,.h1,.h1-like,
h2,.h2,.h2-like,
h3,.h3,.h3-like,
h4,.h4,.h4-like,
h5,.h5,.h5-like,
h6,.h6,.h6-like {
  font-family: @headings-font-family;
  color:@headings-color;
  display: block; margin: 0; padding: 0; font-size: 100%; font-weight: @headings-font-weight;
  text-rendering: optimizelegibility; // Fix the character spacing for headings
  small {
    font-weight: normal;
    line-height: 1;
    color: @headings-small-color;
    display:inline;
    display:inline-block; /* evite de le couper si ne tient pas sur la fin de la ligne */
  }
}
hr { height: 1px;margin: @emLineHeight 0;border: 0;background: @hr-border; color: @hr-border;}

h1,.h1,.h1-like { font-size: @font-size-h1-em; line-height: @headings-line-height; margin-bottom: @emVertMargin / @font-size-h1-em; small { font-size: 0.65em; }}
h2,.h2,.h2-like { font-size: @font-size-h2-em; line-height: 1.2em; margin-bottom: @emVertMargin / @font-size-h2-em; small { font-size: 0.70em; }}
h3,.h3,.h3-like { font-size: @font-size-h3-em; line-height: 1.2em; margin-bottom: @emVertMargin / @font-size-h3-em; small { font-size: 0.80em; }}
h4,.h4,.h4-like { font-size: @font-size-h4-em; line-height: 1.2em; margin-bottom: @emVertMargin / @font-size-h4-em; }
h5,.h5,.h5-like { font-size: @font-size-h5-em; line-height: 1.2em; font-weight: bold; margin-bottom: @emVertMargin; }
h6,.h6,.h6-like { font-size: @font-size-h6-em; line-height: 1.2em; font-weight: bold; }


// Alignment
.text-left          	{ text-align: left; }
.text-right        	{ text-align: right; }
.text-center     	{ text-align: center; }
.text-justify      { text-align: justify; }
.text-nowrap    { white-space: nowrap; }

// Transformation
.text-lowercase   	{ text-transform: lowercase; }
.text-uppercase   	{ text-transform: uppercase; }
.text-capitalize    	{ text-transform: capitalize; }

// Contextual colors

.text-emphasis-variant(@color) {
  color: @color;
  a&:hover,
  a&:focus {
    color: darken(@color, 10%);
  }
}
.muted,.text-muted   {
	.text-emphasis-variant(@text-muted);
}
.text-defaut {
  .text-emphasis-variant(@brand-defaut);
}
.text-vert {
  .text-emphasis-variant(@state-vert-text);
}
.text-jaune {
  .text-emphasis-variant(@state-jaune-text);
}
.text-orange {
  .text-emphasis-variant(@state-orange-text);
}
.text-rouge {
  .text-emphasis-variant(@state-rouge-text);
}

.bg-variant(@color) {
  background-color: @color;
  a&:hover,
  a&:focus {
    background-color: darken(@color, 10%);
  }
}

// Contextual backgrounds
// For now we'll leave these alongside the text classes until v4 when we can
// safely shift things around (per SemVer rules).
.bg-defaut {
  // Given the contrast here, this is the only class to have its color inverted
  // automatically.
  color: #fff;
  .bg-variant(@brand-defaut);
}
.bg-vert {
  .bg-variant(@state-vert-bg);
}
.bg-jaune {
  .bg-variant(@state-jaune-bg);
}
.bg-orange {
  .bg-variant(@state-orange-bg);
}
.bg-rouge {
  .bg-variant(@state-rouge-bg);
}

/* Enrichissements typographiques */
small, .small { font-size: floor((100% * @font-size-small / @font-size-base)); }
big, .big { font-size: floor((100% * @font-size-large / @font-size-base)); }
mark,.mark { background-color: @state-orange-bg;}


cite { font-style: italic; }

// Blockquotes
blockquote {
	font-size: @blockquote-font-size;
	border-left: 1px solid @blockquote-border-color;

	p,
	ul,
	ol {
		&:last-child {
			margin-bottom: 0;
		}
	}

 // Note: Deprecated small and .small as of v3.1.0
 // Context: https://github.com/twbs/bootstrap/issues/11660
 footer,
 small,
 .small {
   display: block;
	 line-height: inherit;
   color: @blockquote-small-color;

   &:before {
     content: '\2014 \00A0'; // em dash, nbsp
   }
 }
}

.lead {
  margin-bottom: @line-height-computed;
  font-size: 1.5em;
  font-weight: 200;
  line-height: @emLineHeight;
}

/* Complements */

.page-header {
  padding-bottom: (@line-height-computed / 2) - 1;
  margin: @line-height-computed 0 (@line-height-computed * 1.5);
  border-bottom: 1px solid @page-header-border-color;
}

.jumbotron h1 {word-wrap: break-word;}
.spip_surligne {
  background-color: @state-jaune-bg;
  color: @state-jaune-text;
}

/* Citations, poesie */
.spip_poesie { border-left: 1px solid @blockquote-border-color; }
.spip_poesie div { margin-left: @indentStep; text-indent: -1 * @indentStep; }
@media (min-width: @screen-lg-min) {
  .spip_poesie div { margin-left: @indentStep1200; text-indent: -1 * @indentStep1200; }
}
@media (max-width: @screen-sm-max) {
  .spip_poesie div { margin-left: @indentStep768; text-indent: -1 * @indentStep768; }
}

/* Enluminures typo V3 / Cf.: https://contrib.spip.net/3118 */
.caractencadre-spip {}
.caractencadre2-spip {}
.texteencadre-spip {}
//
// Grid system
// --------------------------------------------------


// Container widths
.container {
  .container-fixed();
  @media (min-width: @screen-sm-min) {width: @container-sm; }
  @media (min-width: @screen-md-min) {width: @container-md; }
  @media (min-width: @screen-lg-min) {width: @container-lg; }
  @media (min-width: @screen-xl-min) {width: @container-xl; }
}

.container-fluid {.container-fixed(); }
.row {.make-row(); }
.make-grid-columns();
.make-grid(xs);

// Responsive
@media (min-width: @screen-sm-min) {.make-grid(sm); }
@media (min-width: @screen-md-min) {.make-grid(md); }
@media (min-width: @screen-lg-min) {.make-grid(lg); }
@media (min-width: @screen-xl-min) {.make-grid(xl); }

/**
 * HashGrid from http://hashgrid.com/
 * only visible for webmaster users
 */
#grid {
  .hashgrid (@container-width, @grid-gutter-width, @grid-columns, @line-height-computed) {
    #bsgrid{
      /* Dimensions - same width as your grid with gutters */
      width: @container-width;
      margin-left: -1 * (@container-width / 2 );
    }

    /* Vertical grid lines */
    #bsgrid div.vert{
      width: percentage((1 / @grid-columns));
      //border-left:1px solid darkturquoise;
      //border-right:1px solid darkturquoise;
      //margin-right: @grid-gutter-width - 1px;
      position: relative;
      &:before {
        display: block;
        position: absolute;
        content: "";
        height: 100%;
        width: 1px;
        top:0;
        left: 0;
        border-left: 1px solid darkturquoise;
      }
      &:after {
        display: block;
        position: absolute;
        content: "";
        height: 100%;
        width: 1px;
        top:0;
        right: @grid-gutter-width;
        border-right: 1px solid darkturquoise;
      }
    }
    #bsgrid .vert-container {margin-left: @grid-gutter-width / 2; }

    /* Horizontal grid lines, defined by your base line height */
    #bsgrid div.horiz{
      /* 20px line height */
      height: @line-height-computed - 1px;
      border-bottom: 1px dotted darkgris;
      margin: 0;
      padding: 0;
    }
  }
}

// Fixed (940px)
#grid > .hashgrid(@container-md, @grid-gutter-width, @grid-columns, @line-height-computed);
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
  #grid > .hashgrid(@container-sm, @grid-gutter-width, @grid-columns, @line-height-computed);
}
@media (min-width: @screen-lg-min) {
  #grid > .hashgrid(@container-lg, @grid-gutter-width, @grid-columns, @line-height-computed);
}
@media (min-width: @screen-xl-min) {
  #grid > .hashgrid(@container-xl, @grid-gutter-width, @grid-columns, @line-height-computed);
}
#bsgrid{
    /* Grid (left-aligned)
    position: absolute;
    top: 0;
    left: 0;
    margin-left:0;
    */

    /* Grid (centered) */
    position: absolute;
    top: 0;
    left: 50%;
}

// Basic looping in LESS
.loop-grid-spans(@index, @type) when (@index >= 0) {
  .calc-grid-span(@index, @type);
  // next iteration
  .loop-grid-spans((@index - 1), @type);
}

// Create grid for specific class
.make-grid-span() {
  .float-grid-spans();
  .loop-grid-spans(@grid-columns, width);
  .loop-grid-spans(@grid-columns, offset);
}
//
// Tables
// --------------------------------------------------

table {background-color: @table-bg; }
caption {
  padding-top: @table-cell-padding;
  padding-bottom: @table-cell-padding;
  color: @text-muted;
  text-align: left;
}
th {text-align: left; }

// Baseline styles

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: @line-height-computed;
  // Cells
  > thead,
  > tbody,
  > tfoot {
    > tr {
      > th,
      > td {
        padding: @table-cell-padding;
        line-height: @line-height-base;
        vertical-align: top;
        border-top: 1px solid @table-border-color;
      }
    }
  }
  // Bottom align for column headings
  > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid @table-border-color;
  }
  // Remove top border from thead by defaut
  > caption + thead,
  > colgroup + thead,
  > thead:first-child {
    > tr:first-child {
      > th,
      > td {
        border-top: 0;
      }
    }
  }
  // Account for multiple tbody instances
  > tbody + tbody {border-top: 2px solid @table-border-color; }

  // Nesting
  .table {background-color: @body-bg; }
  > tbody > tr:hover {background-color: @table-bg-hover; }
  > tbody > tr:nth-of-type(odd) {background-color: @table-bg-accent; }
}


// Condensed table w/ half padding

.table-condensed {
  > thead,
  > tbody,
  > tfoot {
    > tr {
      > th,
      > td {
        padding: @table-condensed-cell-padding;
      }
    }
  }
}


// Bordered version
//
// Add borders all around the table and between all the columns.

.table-bordered {
  border: 1px solid @table-border-color;
  > thead,
  > tbody,
  > tfoot {
    > tr {
      > th,
      > td {
        border: 1px solid @table-border-color;
      }
    }
  }
  > thead > tr {
    > th,
    > td {
      border-bottom-width: 2px;
    }
  }
}

// Table cell sizing
table col[class*="col-"] {
  position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
  float: none;
  display: table-column;
}
table {
  td,
  th {
    &[class*="col-"] {
      position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)
      float: none;
      display: table-cell;
    }
  }
}

.table-row-variant(@state; @background) {
  // Exact selectors below required to override `.table-striped` and prevent
  // inheritance to nested tables.
  .table > thead > tr,
  .table > tbody > tr,
  .table > tfoot > tr {
    > td.@{state},
    > th.@{state},
    &.@{state} > td,
    &.@{state} > th {
      background-color: @background;
    }
  }

  // Hover states for `.table-hover`
  // Note: this is not available for cells or rows within `thead` or `tfoot`.
  .table-hover > tbody > tr {
    > td.@{state}:hover,
    > th.@{state}:hover,
    &.@{state}:hover > td,
    &:hover > .@{state},
    &.@{state}:hover > th {
      background-color: darken(@background, 5%);
    }
  }
}

// Table backgrounds
//
// Exact selectors below required to override `.table-striped` and prevent
// inheritance to nested tables.

// Generate the contextual variants
.table-row-variant(active; @table-bg-active);
.table-row-variant(success; @state-vert-bg);
.table-row-variant(info; @state-jaune-bg);
.table-row-variant(orange; @state-orange-bg);
.table-row-variant(rouge; @state-rouge-bg);


// Responsive tables
//
// Wrap your tables in `.table-responsive` and we'll make them mobile friendly
// by enabling horizontal scrolling. Only applies <768px. Everything above that
// will display normally.

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)

  @media screen and (max-width: @screen-xs-max) {
    width: 100%;
    margin-bottom: (@line-height-computed * 0.75);
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid @table-border-color;

    // Tighten up spacing
    > .table {
      margin-bottom: 0;

      // Ensure the content doesn't wrap
      > thead,
      > tbody,
      > tfoot {
        > tr {
          > th,
          > td {
            white-space: nowrap;
          }
        }
      }
    }

    // Special overrides for the bordered tables
    > .table-bordered {
      border: 0;

      // Nuke the appropriate borders so that the parent can handle them
      > thead,
      > tbody,
      > tfoot {
        > tr {
          > th:first-child,
          > td:first-child {
            border-left: 0;
          }
          > th:last-child,
          > td:last-child {
            border-right: 0;
          }
        }
      }

      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since
      // chances are there will be only one `tr` in a `thead` and that would
      // remove the border altogether.
      > tbody,
      > tfoot {
        > tr:last-child {
          > th,
          > td {
            border-bottom: 0;
          }
        }
      }

    }
  }
}

/* Tableaux SPIP */
table.spip {.table}
//
// Forms
// --------------------------------------------------

button, input, optgroup, select, textarea {
  color: inherit; // 1
  font: inherit; // 2
  margin: 0; // 3
}
button {overflow: visible; }
button, select {text-transform: none; }
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button; // 2
  cursor: pointer; // 3
}
button[disabled], html input[disabled] {cursor: defaut; }
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {line-height: normal; }
input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box; // 1
  padding: 0; // 2
}
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {height: auto; }
input[type="search"] {
  -webkit-appearance: textfield; // 1
  box-sizing: content-box; //2
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0; // 1
  padding: 0; // 2
}
textarea {overflow: auto; }
optgroup {font-weight: bold; }

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 1.1em;
  font-size: (@font-size-base * 1.5);
  line-height: inherit;
  color: @legend-color;
  border: 0;
  border-bottom: 1px solid @legend-border-color;
}

label {
  display: inline-block;
  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
  margin-bottom: 5px;
  font-weight: bold;
}

// Normalize form controls
input[type="search"] {.box-sizing(border-box); }
input[type="radio"], input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9; // IE8-9
  line-height: normal;
}
input[type="file"] {display: block; }

// Make range inputs behave like textual form controls
input[type="range"] {
  display: block;
  width: 100%;
}

// Make multiple select elements height not fixed
select[multiple], select[size] {height: auto; }

// Focus for file, radio, and checkbox
input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus {
  .tab-focus();
}

// Adjust output element
output {
  display: block;
  padding-top: (@padding-base-vertical + 1);
  font-size: @font-size-base;
  line-height: @line-height-base;
  color: @input-color;
}

.form-control {
  display: block;
  width: 100%;
  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
  padding: @padding-base-vertical @padding-base-horizontal;
  font-size: @font-size-base;
  line-height: @line-height-base;
  color: @input-color;
  background-color: @input-bg;
  background-image: none; // Reset unusual Firefox-on-Android defaut style; see https://github.com/necolas/normalize.css/bootstrapleger/issues/214
  border: 1px solid @input-border;
  border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.
  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
  .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s");
  .form-control-focus();
  .placeholder();

  // Unstyle the caret on `<select>`s in IE10+.
  &::-ms-expand {
    border: 0;
    background-color: transparent;
  }

  // Disabled and read-only inputs
  &[disabled], &[readonly], fieldset[disabled] & {
    background-color: @input-bg-disabled;
    opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
  }

  &[disabled],
  fieldset[disabled] & {cursor: @cursor-disabled; }
  textarea& {height: auto; }
}

input[type="search"] {-webkit-appearance: none; }

// Special styles for iOS temporal inputs

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"] {
    &.form-control {line-height: @input-height-base; }
    &.input-sm, .input-group-moyen & {line-height: @input-height-small; }
    &.input-lg, .input-group-lg & {line-height: @input-height-large; } }
}

.form-group {margin-bottom: @form-group-margin-bottom; }

// Checkboxes and radios
.radio, .checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;

  label {
    min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer;
  }
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}

.radio + .radio, .checkbox + .checkbox {margin-top: -5px; }

// Radios and checkboxes on same line
.radio-inline, .checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px; // space out consecutive inline controls
}

// Apply same disabled cursor tweak as for inputs
input[type="radio"], input[type="checkbox"] {
  &[disabled], &.disabled,
  fieldset[disabled] & {cursor: @cursor-disabled; }
}
// These classes are used directly on <label>s
.radio-inline, .checkbox-inline {
  &.disabled,
  fieldset[disabled] & {cursor: @cursor-disabled; }
}
// These classes are used on elements with <label> descendants
.radio, .checkbox {
  &.disabled, fieldset[disabled] & {
    label {cursor: @cursor-disabled; }
  }
}

// Static form control text
.form-control-static {
  // Size it appropriately next to real form controls
  padding-top: (@padding-base-vertical + 1);
  padding-bottom: (@padding-base-vertical + 1);
  // Remove defaut margin from `p`
  margin-bottom: 0;
  min-height: (@line-height-computed + @font-size-base);

  &.input-grand, &.input-petit {
    padding-left: 0;
    padding-right: 0;
  }
}

// Redimensionnement d'elements par groupe

.input-petit {
  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
}
.form-group-petit {
  .form-control {
    height: @input-height-small;
    padding: @padding-small-vertical @padding-small-horizontal;
    font-size: @font-size-small;
    line-height: @line-height-small;
    border-radius: @input-border-radius-small;
  }
  select.form-control {
    height: @input-height-small;
    line-height: @input-height-small;
  }
  textarea.form-control, select[multiple].form-control {
    height: auto;
  }
  .form-control-static {
    height: @input-height-small;
    min-height: (@line-height-computed + @font-size-small);
    padding: (@padding-small-vertical + 1) @padding-small-horizontal;
    font-size: @font-size-small;
    line-height: @line-height-small;
  }
}

.input-grand {
  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
}
.form-group-grand {
  .form-control {
    height: @input-height-large;
    padding: @padding-large-vertical @padding-large-horizontal;
    font-size: @font-size-large;
    line-height: @line-height-large;
    border-radius: @input-border-radius-large;
  }
  select.form-control {
    height: @input-height-large;
    line-height: @input-height-large;
  }
  textarea.form-control, select[multiple].form-control {
    height: auto;
  }
  .form-control-static {
    height: @input-height-large;
    min-height: (@line-height-computed + @font-size-large);
    padding: (@padding-large-vertical + 1) @padding-large-horizontal;
    font-size: @font-size-large;
    line-height: @line-height-large;
  }
}

// Feedback states
.ok {
  .form-control-validation(@state-vert-text; @state-vert-text; @state-vert-bg);
}
.avertissement {
  .form-control-validation(@state-orange-text; @state-orange-text; @state-orange-bg);
}
.erreur {
  .form-control-validation(@state-rouge-text; @state-rouge-text; @state-rouge-bg);
}

// Help text

.aide {
  display: block; // account for any element using help-block
  margin-top: 5px;
  margin-bottom: 10px;
  color: lighten(@text-color, 25%); // lighten the text some for contrast
}

// Horizontal forms

.form-large {

  .radio, .checkbox, .radio-inline, .checkbox-inline {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: (@padding-base-vertical + 1); // Defaut padding plus a border
  }
  // Account for padding we're adding to ensure the alignment and of help text
  .radio, .checkbox {min-height: (@line-height-computed + (@padding-base-vertical + 1)); }
  .form-group {.make-row(); }

  // Reset spacing and right align labels, but scope to media queries so that
  @media (min-width: @screen-sm-min) {
    .control-label {
      text-align: right;
      margin-bottom: 0;
      padding-top: (@padding-base-vertical + 1); // Defaut padding plus a border
    }
  }

  // Form group sizes
  .form-group-grand {
    @media (min-width: @screen-sm-min) {
      .control-label {
        padding-top: (@padding-large-vertical + 1);
        font-size: @font-size-large;
      }
    }
  }
  .form-group-petit {
    @media (min-width: @screen-sm-min) {
      .control-label {
        padding-top: (@padding-small-vertical + 1);
        font-size: @font-size-small;
      }
    }
  }
}

legend {
	font-size: @font-size-h3-em;
	line-height: @emLineHeight / @font-size-h3-em;
	margin-bottom: @emVertMargin / @font-size-h3-em / 2;
	margin-top: @emVertMargin / @font-size-h3-em / 2;
}


// Form controls
// -------------------------

// Shared size and type resets
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
	padding: 0.8em;
	margin-bottom: 0;
}
select {
	line-height: 2.2em;
	height: @baseLineHeight * 1.8;
  padding: 0.1em .8em 0;
}

legend {
	font-size: @font-size-h3-em;
	line-height: @emLineHeight / @font-size-h3-em;
	margin-bottom: @emVertMargin / @font-size-h3-em / 2;
	margin-top: @emVertMargin / @font-size-h3-em / 2;
}

/* Surcharge RTL */
.rtl {
  .form-search .input-append .search-query {border-radius : 0 14px 14px 0; }
  .form-search .input-append .btn {border-radius : 14px 0 0 14px; }
  .form-search .input-prepend .search-query {border-radius : 14px 0 0 14px; }
  .form-search .input-prepend .btn {border-radius : 0 14px 14px 0; }
}

/* ========== Formulaires Spip de tout le site ========= */

.formulaire_spip, .jeux_cadre {
	clear: both;
	margin-bottom: @emLineHeight;
	position: relative;

	form {
		margin-bottom: 0;

		/* ---------- Lignes  ------------ */

		.editer-groupe,		>div>ul, fieldset>ul, form>ul, form>div>ul, .auteurs_multiples {
			list-style: none;
			.form-group;
		}

		.editer, .row-fluid, .fieldset,ul {
			list-style: none;
			clear: both;
			vertical-align: top;
		}
		.editer {
			margin-top: 0;
			margin-bottom: 1.5em;
			vertical-align: bottom;
		}

		//  ---------- Champ texte ---------- */

		input.text,input.password,input.email,input.date, textarea, select {
			width: 100%;
			color: @input-color;
			border: 1px solid @inputBorder;
			background-color: @inputBackground;
			border-radius: @inputBorderRadius;
		}
		select{
			border-radius: @inputBorderRadius 0 0 @inputBorderRadius;
		}
		textarea {height: auto;}

		.markItUp {
			margin-top: .8em;
			.markItUpContainer .markItUpHeader {
					width: 100%;
					padding-right: 0;
					padding-left: 0;
				}
			.markItUpContainer .markItUpHeader + textarea {
					border-top-left-radius: 0;
					border-top-right-radius: 0;
					border-top:0;
				}
		}

		// Certains champs ne font que la moitié  de la largeur en grand écran
		.saisie_pays,
		.saisie_input,
		.saisie_nom_inscription,
		.saisie_mail_inscription,
		.saisie_mot,
		.saisie_case,
		.saisie_radio,
		.editer_nom,
		.editer_portable, // Pour le portable des formulaires contact
		.editer_pays,
		.editer_nom_site,
		.editer_url_site,
		.editer_new_pass,
		.editer_new_pass2,
		.saisie_email,
		.editer_session_email,
		.editer_email {
			width: 44.5%;
			margin-left: 5%;
			display: inline-block;
			@media (max-width:@screen-xs-min) { width: 94%; }
		}

		input.submit, button.submit {.animation(.5s); }

	}
}

/* ========== Formulaires Spip du contenu  ========= */

/* ---------- La logique de ligne est reservée à la classe contenu   ------------ */

.contenu {

	.formulaire_spip, .jeux_cadre  {
		margin-bottom: 			@emLineHeight;
		padding: 								@emLineHeight @emLineHeight*1.7 @emLineHeight*1.7;
		background-color: 	@well-bg;
		position: relative;
		text-align: left;
		position: relative;

		form {
			.editer-groupe,		>div>ul, fieldset>ul, form>ul, form>div>ul, .auteurs_multiples {
				margin-left: -5%;
				padding: 0;
				.form-group;
				> li { margin-left: 5% }
			}
			.editer, .row-fluid, .fieldset,ul {margin-left: 5%; }
		}
	}

}

.contenu, .footer {

	.formulaire_spip, .jeux_cadre {

		form {

			/* ---------- TItres, labels et légendes  ------------ */

			legend, .legend {
				display: block;
				width: 100%;
				padding: 0;
				text-align: left;
				margin-bottom: 1em;
				font-size: @baseFontSize * 1.5;
				line-height: @baseLineHeight * 2;
				color: @textColor;
				border: 0;
				border-bottom: 1px solid #e5e5e5;
				// Small
				small {
					font-size: @baseLineHeight * .75;
					color: @grisLight;
				}
			}

			legend {&:extend(h3);}

			label {
				font-weight: 600;
				color: @textColor;
				text-align: left;
				font-size: 18px;
				line-height: 26px;
				min-width: 12%;
			}

			/* ---------- Fieldset  ------------ */

			fieldset {
				&.serre {
					padding: 16px .8em 0;
					margin: 1em 0 2em 0;
					border: 0;
					border: 1px solid #ddd;
					border-radius: 0.5em;
				}
				// RETAR : .editer,
				legend, .legend, .row-fluid {width: 100%; }
				li { text-align: left; }
				.saisie_case { margin-left: 0; }
			}

			/* ---------- Cases à cocher  ------------ */

			.choix {
				display: inline-block;
				text-align: left;
				margin: .3em 0 0 0;
				label {
					display:inline;
					font-weight:normal;
				}
				input.checkbox, input.radio {
					margin-top: .3em;
					margin-bottom: 1px;
				}
			}

			input.radio, input.checkbox, .editer input#horaire {
				width:auto;
				margin: @paddingMini;
				margin-left:0;
				vertical-align: top;
				display: inline-block;
			}
			.editer input#horaire {margin-top: 6px; }

			/* ---------- boutons radio   ------------ */

			.saisie_radio, .saisie_oui_non {
				label { margin-right: 1em; }
			}

			/* ---------- Checkbox   ------------ */

			// Si une seule case à cocher
			.case_et_radio {
				margin-top: 0;
				margin-bottom: 0;
				width: 100%;
				label {
					margin-bottom: 1em;
					width: 90%;
				}
			}
			.editer_horaire{
				.case_et_radio;
				margin-bottom: 1em;
			}

			.saisie_checkbox, .saisie_case,  .editer_session, .saisie_listes, .saisie_listes_diffusion {
				.choix{
					.case_et_radio;
				}
				.choix + .choix { margin-top: .3em; }
			}

			.saisie_selection_multiple select {
					padding: .7em .7em;
					option{
						border: 1px solid #eee;
						margin-bottom: 0.5em;
						padding: 0.3em 0.6em;
						border-radius: 0.2em;
						min-height: 1.9em;
						&:checked {
							background-color: @couleur-defaut;
						}
					}
			}
			/* choix de mot dans le form forum notamment */
			.choix_mots {
				.saisie_mot {
					.make-xs-column(6);
					@media (max-width:@screen-xs-min) {
						width: 100%;
						float: none;
					}
				  float: left;
				  margin-left: @fluidGridGutterWidth;
				  *margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%);
					&:nth-child(2n-1) {clear: both;}
					label {display:inline;font-weight:normal;}
					input.radio,
					input.checkbox {
						width:auto;
						margin: @paddingMini;
						margin-left:0;
						margin-bottom: 1px;
					}
				}
			}

			/* Champs date */

			.editer_date_debut_fin {
				label {
					float: left;
					width: 15%;
					padding: 0.7em 0;
				}
				input.date {
					width:5em;
					padding-right:25px;
					float: left;
					font-size: 18px;
				}
				input.heure {width:7em; }

				img.ui-datepicker-trigger {
					float: left;
					padding: 1em;
					margin-left: -2.9em;
				}
			}

			/* ---------- Ajout d'articles ou de rubriques ---------- */

			.browser {
				display: block;
				overflow: hidden;
				background: #fff;
				padding: 1em .8em;
				margin: 1.5em 0 0;
				h2 {
					font-size: 1.1em !important;
					color: #000;
					text-transform: none;
				}
				.items {li { list-style: none;} }
				.chemin {
					margin-bottom: 0.9em;
					a, strong {
						font-weight: 500;
						font-style: italic;
					}
				}
				.ajaxbloc {
					border: 1px solid #ddd;
					display: block;
					overflow: hidden;
					margin: 1em 0;
					padding: 1em 3%;
					.choix_rapide{
						input{ padding: 0.6em; }
						a {
							background: @grisLighter;
							padding: 0.6em;
							border-radius: 0.3em;
							margin-left: 0.9em;
						}
					}
					.frame {
						display: inline-block;
						border-right: 1px solid #ddd;
						padding-right: 3%;
						margin-right: 3%;
						width:45%;
						vertical-align: top;
						.article{
							margin-top: 0.1em;
							position: inherit;
							padding: 0.3em 0 0;
						}
						&:last-of-type{border-right: 0 solid #fff; }
						a {margin-right: 2%; }
					}
				}
			}

			/* ---------- Boutons ---------- */

			p.boutons {
				margin: @emLineHeight*.8 0;
				text-align: center;
			}
			input.submit, button.submit {
				.btn;
				.btn-defaut;
				padding: 0.6em 7%;
				font-size: 1.2em;
				line-height: 1.5em;
				background-color: @couleur-defaut;
				white-space: normal;
			}


			.picker_bouton {
				.btn();
				.btn-orange();
				color: rgba(0,0,0,0);
				.bind-ajax{
					color: #fff;
					margin: 0 3%;
				}
			}

			/* ---------- Explications   ------------ */

			.help-block, .help-inline {
				color: lighten(@textColor, 15%); // lighten the text some for contrast
				font-style: italic;
				text-align: left;
			}

			.explication {
				margin-bottom: .2em !important ; // Important car explication est un <P> qui a une marge par défaut dans les articles
				margin:0 0 @emVertMargin;
				font-weight: 400;
				font-size: 1.05em;
				display: block;
				.help-block;
			}

			.editer.obligatoire label {font-weight: 500;}

			.attention {
				color: @orange;
				display: block;
				margin: -.2em 0 0.3em;
			}

			/* Reponses, previsu et erreurs
			----------------------------------------------- */

			.erreur {
				display: block;
				color: @state-rouge-text;
				.erreur_message {
					display: block;
					// float: right;
					color: @rouge;
					font-weight: bold;
					margin-bottom: .5em;
					label {display: inline;}
					input {margin: 0;}
				}
				input.text,input.password,input.email,input.date, textarea, select {
			    border-color: @state-rouge-text;
			    color: @state-rouge-text;
			    width: 100%;
			    .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
			    &:focus {
			      border-color: darken(@state-rouge-text, 10%);
			      @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@state-rouge-text, 20%);
			      .box-shadow(@shadow);
			    }
			  }
			}

		}

		/* ========== Formulaires en une ligne  ========= */

		.form-inline {

		  // Kick in the inline
		  @media (min-width: @screen-sm-min) {

		    .form-group, .form-control, .input-group, .radio, .checkbox, .form-control-static {
		      display: inline-block;
		      vertical-align: middle;
		    }

		    .form-group { margin-bottom: 0; }
		    // In navbar-form, allow folks to *not* use `.form-group`
		    .form-control {
		      width: auto; // Prevent labels from stacking above inputs in `.form-group`
		    }
		    .input-group {
		      display: inline-table;
		      .input-group-addon, .input-group-btn, .form-control {width: auto; }
			    & > .form-control {width: 100%; }
		    }
		    .control-label {
		      margin-bottom: 0;
		      vertical-align: middle;
		    }

		    .radio, .checkbox {
		      margin-top: 0;
		      margin-bottom: 0;
		      label {padding-left: 0; }
		    }
		    .radio input[type="radio"], .checkbox input[type="checkbox"] {
		      position: relative;
		      margin-left: 0;
		    }

				// Spécial Spip
				.saisie_input, .saisie_nom_inscription, .saisie_mail_inscription, .saisie_mot, .saisie_case, .saisie_email  {
					margin-left: 0;
				}
				.editer { margin-bottom: 0; }

		  }

		}

	}

}

.contenu .formulaire_uploadhtml5{
	padding: 2.5em;
	margin-bottom: 4em;
}

/* Reponses */
.reponse_formulaire {.message;}
.reponse_formulaire_ok {
	.message-vert;
	.nospam-checkbox { display: none; }
}
.reponse_formulaire_erreur {.message-rouge;}
.content .article .reponse_formulaire { margin: 0.7em 0 0.1em; }

.secondary {
	.formulaire_spip {
		padding: @emLineHeight/2;
		margin-bottom: 2em;
		.boutons {
			margin: 0 -@emLineHeight/2 -@emLineHeight/2;
			padding: @emLineHeight/2;
		}
	}
}

/* Variantes et cas particuliers
----------------------------------------------- */

/* quelques fieldset.info qui ne sont pas des messages d'info */
.formulaire_spip, .jeux_cadre {
	 fieldset.info {
	  background-color: inherit;
	  color: inherit;
	  text-shadow:inherit;
	  .border-radius(inherit);
	  &:extend(fieldset);
	}
}

/* Selection des langues */
.formulaire_menu_lang {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;}
.formulaire_menu_lang form select {width: 100%; }

/* Formulaire de login dans une page */
.formulaire_login form {
	.editer {clear:left;}
	input.text,
	input.password {
		width: 89%;
		@media (max-width: @screen-xs) {width: 100%; }
	}
	.editer_password p.details 	{ margin-top: 0.9em; }
	#pass_securise 									{ margin-left: 0.9em; }
}

.formulaire_login #spip_logo_auteur {
	float:right;
	@media (max-width: @screen-xs) {margin-top: -35px; }
}

/* Formulaire formidable seulement */

.formulaire_formidable form {
	p.boutons {
		margin: @emLineHeight*1.5 0 0;
		padding: @emLineHeight*1.5 @emLineHeight 0;
		border-top: 1px solid @grisLight;
		text-align: center;
	}
	.editer {width: 94.7%; }
}

/* Time Picker
----------------------------------------------- */

body div.time-picker {
	width: 144px;
	li {
		padding: 0.5em 0.7em;
		font-size: 1.4em;
	}
}

body .ui-datepicker {
	.ui-datepicker-header {
		padding: 3% .8em 0;
		.ui-datepicker-prev {	float: left; }
		.ui-datepicker-next {	float: right; }
		.ui-datepicker-title {
			width: 100%;
			display: block;
			overflow: hidden;
			select {
				font-size: .9em;
				width: 50%;
				height: 100%;
				padding: 0;
				margin: 3% 0;
			}
		}
	}
	img.ui-datepicker-trigger {
		display: inline-block;
		padding: 0;
		margin: 0px 0 0 -19px;
		vertical-align: middle;
		z-index:2;
	}
	table {
		text-align: center;
		td{
			padding: 1px 2px;
			overflow: hidden;
			a{
				display: block;
				width: 80%;
				padding: 10%;
			}
		}
	}
	div.time-picker {
		font-size:11px;
		width:5em; /* needed for IE */
	}
}

/*  */
.bugajaxie { display: none; }

/* ============ RESPONSIVE GENERIQUE  ============ */

@media (max-width: @screen-xs) {
	// RETAR
	.contenu .formulaire_spip {
		padding: 1em 5vw 1.4em;
		form{
			.saisie_input, .saisie_nom_inscription, .saisie_mail_inscription, .saisie_mot, .saisie_fieldset, .saisie_email  {
				width: 95%;
				margin-bottom: 1em;
			}
			p.boutons {
			    margin: 0;
			    padding: 1.5em 0 .5em;
			    text-align: center;
	  	}
			input.submit{
				padding: 0.2em 7%;
				border-radius: .3em;
			}
		}
	}
}
// MIXINS Button variants
//
// Easily pump out defaut styles, as well as :hover, :focus, :active,
// and disabled options for all buttons

.button-variant(@color; @background; @border) {
  color: @color;
  background-color: @background;
  border-color: @border;

  &:focus,
  &.focus {
    color: @color;
    background-color: darken(@background, 10%);
        border-color: darken(@border, 25%);
  }
  &:hover {
    color: @color;
    background-color: darken(@background, 10%);
        border-color: darken(@border, 12%);
  }
  &:active,
  &.active,
  .open > .dropdown-toggle& {
    color: @color;
    background-color: darken(@background, 10%);
        border-color: darken(@border, 12%);

    &:hover,
    &:focus,
    &.focus {
      color: @color;
      background-color: darken(@background, 17%);
          border-color: darken(@border, 25%);
    }
  }
  &:active,
  &.active,
  .open > .dropdown-toggle& {
    background-image: none;
  }
  &.disabled,
  &[disabled],
  fieldset[disabled] & {
    &:hover,
    &:focus,
    &.focus {
      background-color: @background;
          border-color: @border;
    }
  }

  .badge {
    color: @background;
    background-color: @color;
  }
}

// Button sizes
.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
  padding: @padding-vertical @padding-horizontal;
  font-size: @font-size;
  line-height: @line-height;
  border-radius: @border-radius;
}

// Base styles
// --------------------------------------------------

.btn {
  display: inline-block;
  margin-bottom: 0; // For input.btn
  font-weight: @btn-font-weight;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none; // Reset unusual Firefox-on-Android defaut style; see https://github.com/necolas/normalize.css/bootstrapleger/issues/214
  border: 1px solid transparent;
  white-space: nowrap;
  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);
  .user-select(none);

  &,
  &:active,
  &.active {
    &:focus,
    &.focus {
      .tab-focus();
    }
  }

  &:hover,
  &:focus,
  &.focus {
    color: @btn-defaut-color;
    text-decoration: none;
  }

  &:active,
  &.active {
    outline: 0;
    background-image: none;
    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
  }

  &.disabled,
  &[disabled],
  fieldset[disabled] & {
    cursor: @cursor-disabled;
    .opacity(.65);
    .box-shadow(none);
  }

}

@media screen and (max-width: @screen-xs-max) {
	// RETAR
	.btn{white-space: normal; }
}

// Alternate buttons
// --------------------------------------------------

.btn-defaut {
  .button-variant(@btn-defaut-color; @btn-defaut-bg; @btn-defaut-border);
}
.btn-secondaire {
  .button-variant(@btn-defaut-color; @btn-defaut-bg; @btn-defaut-border);
}
// Vert appears as vert
.btn-vert {
  .button-variant(@btn-vert-color; @btn-vert-bg; @btn-vert-border);
}
// Info appears as bleu-vert
.btn-jaune {
  .button-variant(@btn-jaune-color; @btn-jaune-bg; @btn-jaune-border);
}
// Orange appears as orange
.btn-orange {
  .button-variant(@btn-orange-color; @btn-orange-bg; @btn-orange-border);
}
// Rouge and error appear as red
.btn-rouge {
  .button-variant(@btn-rouge-color; @btn-rouge-bg; @btn-rouge-border);
}

.btn-bleu {
  .button-variant(@btn-bleu-color; @btn-bleu-bg; @btn-bleu-border);
}

.btn-violet {
  .button-variant(@btn-violet-color; @btn-violet-bg; @btn-violet-border);
}

.btn-blanc{
  .button-variant(@couleur-defaut; #fff; darken(#fff, 5%));
  color: black;
}

// Button Sizes
// --------------------------------------------------

.btn-petit {
  // line-height: ensure even-numbered height of button next to large input
  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);
}
.btn-moyen {
  // line-height: ensure proper height of button next to small input
  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);
}
.btn-grand {
  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);
}

// /* boutons admin forum */
// .boutons.modererforum .submit {.btn-petit}
// .boutons.modererforum .poubelle .submit {.btn-rouge;}
// .boutons.modererforum .spam .submit {.btn-orange;}

/* boutons action de Spip */

.bouton_action_post.btn{
	.submit{
		background-color: transparent;
		border: none;
	}
}


/* boutons d'admin */
body .spip-admin-bloc, body .spip-admin-float {z-index: @zindex-navbar-fixed + 1;}

// Components
//
// Component animations
// --------------------------------------------------

// Heads up!
//
// We don't use the `.opacity()` mixin here since it causes a bug with text
// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.

.fade {
  opacity: 0;
  .transition(opacity .15s linear);
  &.in {
    opacity: 1;
  }
}

.collapse {
  display: none;

  &.in      { display: block; }
  tr&.in    { display: table-row; }
  tbody&.in { display: table-row-group; }
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  .transition-property(~"height, visibility");
  .transition-duration(.35s);
  .transition-timing-function(ease);
}

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */

@animate-duration: 1s;
@animate-delay: 1s;
@animate-repeat: 100;

.anime {
	animation-duration: 1s;
  .animation-duration(@animate-duration);
  .animation-fill-mode(both);
}
.anime.anim_infinite {
  .animation-iteration-count(infinite);
}
.anime.anim_repeat-1 {
  .animation-iteration-count(1);
  .animation-iteration-count(@animate-repeat);
}
.anime.anim_repeat-2 {
  .animation-iteration-count(calc(1 * 2));
  .animation-iteration-count(calc(@animate-repeat * 2));
}
.anime.anim_repeat-3 {
  .animation-iteration-count(calc(1 * 3));
  .animation-iteration-count(calc(@animate-repeat * 3));
}
.anime.anim_delay-1s {
	.animation-delay(1s);
  .animation-delay(@animate-delay);
}
.anime.anim_delay-2s {
  .animation-delay(calc(1s * 2));
  .animation-delay(calc(@animate-delay * 2));
}
.anime.anim_delay-3s {
  .animation-delay(calc(1s * 3));
  .animation-delay(calc(@animate-delay * 3));
}
.anime.anim_delay-4s {
  .animation-delay(calc(1s * 4));
  .animation-delay(calc(@animate-delay * 4));
}
.anime.anim_delay-5s {
  .animation-delay(calc(1s * 5));
  .animation-delay(calc(@animate-delay * 5));
}
.anime.anim_faster {
  .animation-duration(calc(1s / 2));
  .animation-duration(calc(@animate-duration / 2));
}
.anime.anim_fast {
  .animation-duration(calc(1s * 0.8));
  .animation-duration(calc(@animate-duration * 0.8));
}
.anime.anim_slow {
  .animation-duration(calc(1s * 2));
  .animation-duration(calc(@animate-duration * 2));
}
.anime.anim_slower {
  .animation-duration(calc(1s * 3));
  .animation-duration(calc(@animate-duration * 3));
}
@media print, (prefers-reduced-motion: reduce) {
  .anime {
    .animation-duration(1ms) !important;
    .transition-duration(1ms) !important;
    .animation-iteration-count(1) !important;
  }

  .anime[class*='Out'] { opacity: 0; }
}
/* Attention seekers  */
@rebond1:-10px;
@rebond2:-5px;
@rebond3:-1px;
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    .animation-timing-function(cubic-bezier(0.755, 0.05, 0.855, 0.06));
    transform: translate3d(0, @rebond1, 0) scaleY(1.1);
  }

  70% {
    .animation-timing-function(cubic-bezier(0.755, 0.05, 0.855, 0.06));
    transform: translate3d(0, @rebond2, 0) scaleY(1.05);
  }

  80% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, @rebond3, 0) scaleY(1.02);
  }
}
@keyframes bounce {
  from,
  20%,
  53%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    .animation-timing-function(cubic-bezier(0.755, 0.05, 0.855, 0.06));
    transform: translate3d(0, @rebond1, 0) scaleY(1.1);
  }

  70% {
    .animation-timing-function(cubic-bezier(0.755, 0.05, 0.855, 0.06));
    transform: translate3d(0, @rebond2, 0) scaleY(1.05);
  }

  80% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, @rebond3, 0) scaleY(1.02);
  }
}
.anim_bounce {
  .animation-name(bounce);
  .transform-origin(center bottom);
}
@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}
.anim_flash {
  .animation-name(flash);
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
        transform: scale3d(1, 1, 1);
  }

  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1) !important;
  }

  50% {
    transform: scale3d(1.05, 1.05, 1.05) !important;
  }

  to {
    transform: scale3d(1, 1, 1) !important;
  }
}
.anim_pulse {
  .animation-name(pulse);
  .animation-timing-function(ease-in-out);
}
@-webkit-keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }

  30% {
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }

  30% {
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}
.anim_rubberBand {
  .animation-name(rubberBand);
}
@-webkit-keyframes shakeX {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shakeX {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translate3d(10px, 0, 0);
  }
}
.anim_shakeX {
  .animation-name(shakeX);
}
@-webkit-keyframes shakeY {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translate3d(0, 10px, 0);
  }
}
@keyframes shakeY {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translate3d(0, 10px, 0);
  }
}
.anim_shakeY {
  .animation-name(shakeY);
}
@-webkit-keyframes headShake {
  0% {
    transform: translateX(0);
  }

  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    transform: translateX(0);
  }
}
@keyframes headShake {
  0% {
    transform: translateX(0);
  }

  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    transform: translateX(0);
  }
}
.anim_headShake {
  .animation-timing-function(ease-in-out);
  .animation-name(headShake);
}
@-webkit-keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.anim_swing {
  .transform-origin(top center);
  .animation-name(swing);
}
@-webkit-keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}
.anim_tada {
  .animation-name(tada);
}
/* ----------------------------------------------
 * Generated by Animista on 2022-9-13 18:8:37
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info.
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation pulsate-bck
 * ----------------------------------------
 */
@-webkit-keyframes dansant {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes dansant {
  0% {
            transform: scale(1);
  }
  10% {
            transform: rotate3d(0, 0, 1, -1deg);
  }
  20% {
            transform: scale(0.95) rotate3d(0, 0, 1, 1deg);
  }
  30% {
            transform: rotate3d(0, 0, 1, -1deg) skewX(1.5625deg) skewY(-1.5625deg);
  }
  40% {
            transform: rotate3d(0, 0, 1, -1deg);
  }
  50% {
            transform: scale(0.98) ;
  }
  60% {
            transform: scale(0.95) rotate3d(0, 0, 1, 1deg);
  }
  70% {
            transform: rotate3d(0, 0, 1, -1deg) skewX(-1.5625deg) skewY(1.5625deg);
  }
  80% {
            transform: scale(0.98) rotate3d(0, 0, 1, 1deg);
  }
  90% {
            transform: scale(0.9) rotate3d(0, 0, 1, 1deg);
  }
  100% {
            transform: scale(1);
  }
}


.anim_dansant {
  .animation-name(dansant);
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    transform: translate3d(0, 0, 0);
  }

  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes wobble {
  from {
    transform: translate3d(0, 0, 0);
  }

  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_wobble {
  .animation-name(wobble);
}
@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from,
  11.1%,
  to {
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.anim_jello {
  .animation-name(jello);
  .transform-origin(center);
}
@-webkit-keyframes heartBeat {
  0% {
    transform: scale(1);
  }

  14% {
    transform: scale(1.3);
  }

  28% {
    transform: scale(1);
  }

  42% {
    transform: scale(1.3);
  }

  70% {
    transform: scale(1);
  }
}
@keyframes heartBeat {
  0% {
    transform: scale(1);
  }

  14% {
    transform: scale(1.3);
  }

  28% {
    transform: scale(1);
  }

  42% {
    transform: scale(1.3);
  }

  70% {
    transform: scale(1);
  }
}
.anim_heartBeat {
  .animation-name(heartBeat);
  .animation-duration(calc(1s * 1.3));
  .animation-duration(calc(@animate-duration * 1.3));
  .animation-timing-function(ease-in-out);
}
/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInDown {
  0% {
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.anim_backInDown {
  .animation-name(backInDown);
}
@-webkit-keyframes backInLeft {
  0% {
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInLeft {
  0% {
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.anim_backInLeft {
  .animation-name(backInLeft);
}
@-webkit-keyframes backInRight {
  0% {
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInRight {
  0% {
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.anim_backInRight {
  .animation-name(backInRight);
}
@-webkit-keyframes backInUp {
  0% {
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInUp {
  0% {
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.anim_backInUp {
  .animation-name(backInUp);
}
/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutDown {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
.anim_backOutDown {
  .animation-name(backOutDown);
}
@-webkit-keyframes backOutLeft {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutLeft {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
.anim_backOutLeft {
  .animation-name(backOutLeft);
}
@-webkit-keyframes backOutRight {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutRight {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
.anim_backOutRight {
  .animation-name(backOutRight);
}
@-webkit-keyframes backOutUp {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutUp {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
.anim_backOutUp {
  .animation-name(backOutUp);
}
/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
.anim_bounceIn {
  .animation-duration(calc(1s * 0.75));
  .animation-duration(calc(@animate-duration * 0.75));
  .animation-name(bounceIn);
}
@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_bounceInDown {
  .animation-name(bounceInDown);
}
@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_bounceInLeft {
  .animation-name(bounceInLeft);
}
@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_bounceInRight {
  .animation-name(bounceInRight);
}
@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    .animation-timing-function(cubic-bezier(0.215, 0.61, 0.355, 1));
  }

  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_bounceInUp {
  .animation-name(bounceInUp);
}
/* Bouncing exits  */
@-webkit-keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.anim_bounceOut {
  .animation-duration(calc(1s * 0.75));
  .animation-duration(calc(@animate-duration * 0.75));
  .animation-name(bounceOut);
}
@-webkit-keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
.anim_bounceOutDown {
  .animation-name(bounceOutDown);
}
@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
.anim_bounceOutLeft {
  .animation-name(bounceOutLeft);
}
@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
.anim_bounceOutRight {
  .animation-name(bounceOutRight);
}
@-webkit-keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
.anim_bounceOutUp {
  .animation-name(bounceOutUp);
}
/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.anim_fadeIn {
  .animation-name(fadeIn);
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInDown {
  .animation-name(fadeInDown);
}
@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInDownBig {
  .animation-name(fadeInDownBig);
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInLeft {
  .animation-name(fadeInLeft);
}
@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInLeftBig {
  .animation-name(fadeInLeftBig);
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInRight {
  .animation-name(fadeInRight);
}
@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInRightBig {
  .animation-name(fadeInRightBig);
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInUp {
  .animation-name(fadeInUp);
}
@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInUpBig {
  .animation-name(fadeInUpBig);
}
@-webkit-keyframes fadeInTopLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInTopLeft {
  .animation-name(fadeInTopLeft);
}
@-webkit-keyframes fadeInTopRight {
  from {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopRight {
  from {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInTopRight {
  .animation-name(fadeInTopRight);
}
@-webkit-keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInBottomLeft {
  .animation-name(fadeInBottomLeft);
}
@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_fadeInBottomRight {
  .animation-name(fadeInBottomRight);
}
/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
.anim_fadeOut {
  .animation-name(fadeOut);
}
@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.anim_fadeOutDown {
  .animation-name(fadeOutDown);
}
@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.anim_fadeOutDownBig {
  .animation-name(fadeOutDownBig);
}
@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.anim_fadeOutLeft {
  .animation-name(fadeOutLeft);
}
@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.anim_fadeOutLeftBig {
  .animation-name(fadeOutLeftBig);
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.anim_fadeOutRight {
  .animation-name(fadeOutRight);
}
@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.anim_fadeOutRightBig {
  .animation-name(fadeOutRightBig);
}
@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
.anim_fadeOutUp {
  .animation-name(fadeOutUp);
}
@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.anim_fadeOutUpBig {
  .animation-name(fadeOutUpBig);
}
@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }
}
@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }
}
.anim_fadeOutTopLeft {
  .animation-name(fadeOutTopLeft);
}
@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }
}
@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }
}
.anim_fadeOutTopRight {
  .animation-name(fadeOutTopRight);
}
@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }
}
@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }
}
.anim_fadeOutBottomRight {
  .animation-name(fadeOutBottomRight);
}
@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }
}
@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }
}
.anim_fadeOutBottomLeft {
  .animation-name(fadeOutBottomLeft);
}
/* Flippers */
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    .animation-timing-function(ease-out);
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    .animation-timing-function(ease-out);
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    .animation-timing-function(ease-in);
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    .animation-timing-function(ease-in);
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    .animation-timing-function(ease-in);
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    .animation-timing-function(ease-out);
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    .animation-timing-function(ease-out);
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    .animation-timing-function(ease-in);
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    .animation-timing-function(ease-in);
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    .animation-timing-function(ease-in);
  }
}
.anime.anim_flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  .animation-name(flip);
}
@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    .animation-timing-function(ease-in);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    .animation-timing-function(ease-in);
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    .animation-timing-function(ease-in);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    .animation-timing-function(ease-in);
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.anim_flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  .animation-name(flipInX);
}
@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    .animation-timing-function(ease-in);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    .animation-timing-function(ease-in);
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    .animation-timing-function(ease-in);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    .animation-timing-function(ease-in);
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.anim_flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  .animation-name(flipInY);
}
@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.anim_flipOutX {
  .animation-duration(calc(1s * 0.75));
  .animation-duration(calc(@animate-duration * 0.75));
  .animation-name(flipOutX);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.anim_flipOutY {
  .animation-duration(calc(1s * 0.75));
  .animation-duration(calc(@animate-duration * 0.75));
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  .animation-name(flipOutY);
}
/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    transform: skewX(-5deg);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedInRight {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    transform: skewX(-5deg);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_lightSpeedInRight {
  .animation-name(lightSpeedInRight);
  .animation-timing-function(ease-out);
}
@-webkit-keyframes lightSpeedInLeft {
  from {
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    transform: skewX(5deg);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedInLeft {
  from {
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    transform: skewX(5deg);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_lightSpeedInLeft {
  .animation-name(lightSpeedInLeft);
  .animation-timing-function(ease-out);
}
@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }

  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }

  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.anim_lightSpeedOutRight {
  .animation-name(lightSpeedOutRight);
  .animation-timing-function(ease-in);
}
@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }

  to {
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }

  to {
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
.anim_lightSpeedOutLeft {
  .animation-name(lightSpeedOutLeft);
  .animation-timing-function(ease-in);
}
/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.anim_rotateIn {
  .animation-name(rotateIn);
  .transform-origin(center);
}
@-webkit-keyframes rotateInDownLeft {
  from {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.anim_rotateInDownLeft {
  .animation-name(rotateInDownLeft);
  .transform-origin(left bottom);
}
@-webkit-keyframes rotateInDownRight {
  from {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.anim_rotateInDownRight {
  .animation-name(rotateInDownRight);
  .transform-origin(right bottom);
}
@-webkit-keyframes rotateInUpLeft {
  from {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.anim_rotateInUpLeft {
  .animation-name(rotateInUpLeft);
  .transform-origin(left bottom);
}
@-webkit-keyframes rotateInUpRight {
  from {
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.anim_rotateInUpRight {
  .animation-name(rotateInUpRight);
  .transform-origin(right bottom);
}
/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.anim_rotateOut {
  .animation-name(rotateOut);
  .transform-origin(center);
}
@-webkit-keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.anim_rotateOutDownLeft {
  .animation-name(rotateOutDownLeft);
  .transform-origin(left bottom);
}
@-webkit-keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.anim_rotateOutDownRight {
  .animation-name(rotateOutDownRight);
  .transform-origin(right bottom);
}
@-webkit-keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.anim_rotateOutUpLeft {
  .animation-name(rotateOutUpLeft);
  .transform-origin(left bottom);
}
@-webkit-keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.anim_rotateOutUpRight {
  .animation-name(rotateOutUpRight);
  .transform-origin(right bottom);
}
/* Specials */
@-webkit-keyframes hinge {
  0% {
    .animation-timing-function(ease-in-out);
  }

  20%,
  60% {
    transform: rotate3d(0, 0, 1, 80deg);
    .animation-timing-function(ease-in-out);
  }

  40%,
  80% {
    transform: rotate3d(0, 0, 1, 60deg);
    .animation-timing-function(ease-in-out);
    opacity: 1;
  }

  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    .animation-timing-function(ease-in-out);
  }

  20%,
  60% {
    transform: rotate3d(0, 0, 1, 80deg);
    .animation-timing-function(ease-in-out);
  }

  40%,
  80% {
    transform: rotate3d(0, 0, 1, 60deg);
    .animation-timing-function(ease-in-out);
    opacity: 1;
  }

  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.anim_hinge {
  .animation-duration(calc(1s * 2));
  .animation-duration(calc(@animate-duration * 2));
  .animation-name(hinge);
  .transform-origin(top left);
}
@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    .transform-origin(center bottom);
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    .transform-origin(center bottom);
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}
.anim_jackInTheBox {
  .animation-name(jackInTheBox);
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anim_rollIn {
  .animation-name(rollIn);
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.anim_rollOut {
  .animation-name(rollOut);
}
/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
.anim_zoomIn {
  .animation-name(zoomIn);
}
@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
.anim_zoomInDown {
  .animation-name(zoomInDown);
}
@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
.anim_zoomInLeft {
  .animation-name(zoomInLeft);
}
@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
.anim_zoomInRight {
  .animation-name(zoomInRight);
}
@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
.anim_zoomInUp {
  .animation-name(zoomInUp);
}
/* Zooming exits */
@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}
.anim_zoomOut {
  .animation-name(zoomOut);
}
@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
.anim_zoomOutDown {
  .animation-name(zoomOutDown);
  .transform-origin(center bottom);
}
@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}
.anim_zoomOutLeft {
  .animation-name(zoomOutLeft);
  .transform-origin(left center);
}
@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}
.anim_zoomOutRight {
  .animation-name(zoomOutRight);
  .transform-origin(right center);
}
@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    .animation-timing-function(cubic-bezier(0.55, 0.055, 0.675, 0.19));
  }

  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    .animation-timing-function(cubic-bezier(0.175, 0.885, 0.32, 1));
  }
}
.anim_zoomOutUp {
  .animation-name(zoomOutUp);
  .transform-origin(center bottom);
}
/* Sliding entrances */
@-webkit-keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_slideInDown {
  .animation-name(slideInDown);
}
@-webkit-keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_slideInLeft {
  .animation-name(slideInLeft);
}
@-webkit-keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_slideInRight {
  .animation-name(slideInRight);
}
@-webkit-keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}
.anim_slideInUp {
  .animation-name(slideInUp);
}
/* Sliding exits */
@-webkit-keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.anim_slideOutDown {
  .animation-name(slideOutDown);
}
@-webkit-keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.anim_slideOutLeft {
  .animation-name(slideOutLeft);
}
@-webkit-keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
.anim_slideOutRight {
  .animation-name(slideOutRight);
}
@-webkit-keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.anim_slideOutUp {
  .animation-name(slideOutUp);
}
// 
// 
// 
//
// Navbars
// --------------------------------------------------

.navbar {
  position: relative;
  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
  margin-bottom: @navbar-margin-bottom;
  border: 1px solid transparent;
  // Prevent floats from breaking the navbar
  &:extend(.clearfix all);
  @media (min-width: @grid-float-breakpoint) {border-radius: @navbar-border-radius; }
}

.navbar-fixed-top, .navbar-fixed-bottom {
  .navbar-collapse {
    max-height: @navbar-collapse-max-height;
    @media (max-device-width: @screen-xs-min) and (orientation: landscape) {
      max-height: 200px;
    }
  }
}

// Barre fixe
.navbar-fixed-top, .navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: @zindex-navbar-fixed;
  @media (min-width: @grid-float-breakpoint) { border-radius: 0; }
}

.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0; // override .navbar defauts
  border-width: 1px 0 0;
}

.navbar-toggle {
  position: relative;
  float: right;
  margin-right: @navbar-padding-horizontal;
  background-color: transparent;
  background-image: none; // Reset unusual Firefox-on-Android defaut style; see https://github.com/necolas/normalize.css/bootstrapleger/issues/214
  border: 1px solid transparent;
  border-radius: @border-radius-base;

  // We remove the `outline` here, but later compensate by attaching `:hover`
  &:focus {outline: 0; }
  @media (min-width: @grid-float-breakpoint) { display: none; }
}

// Component alignment
@media (min-width: @grid-float-breakpoint) {
  .navbar-left  { float: left; }
  .navbar-right {
    float:right;
    margin-right: -@navbar-padding-horizontal;
    ~ .navbar-right {margin-right: 0; }
  }
}

@media (max-width: @grid-float-breakpoint-max) {
  .navbar-responsive {
    position: absolute;
    top:0;
    right: 20px;
    .navbar-inner {
      background: transparent;
      .box-shadow(none);
      border: none;
      .nav-collapse {background-color: @navbar-defaut-bg;}
    }
    &.navbar-inverse .navbar-inner .nav-collapse {background-color: @navbar-inverse-bg;}
  }
}

// ------ COULEURS ------

.navbar-default {
  background-color: 									@navbar-defaut-bg;
  border-color: 													@navbar-defaut-border;
}

.navbar-nav > li > a {color: 	@navbar-defaut-link-color; }
.navbar-toggle {
  &:hover,&:focus {
  	background-color: @navbar-defaut-toggle-hover-bg;
  }
  svg { fill: #fff; }
  a:focus, a:focus {
  	outline: none;
  	color: @couleur-defaut;
  	svg {
  		fill:@couleur-defaut;
  	}
  }
}
//
// Pagination (multiple pages)
// --------------------------------------------------
.pagination {
	border-top: 1px solid @gris;
	padding-top: 1em;
	margin-top: 1.6em;
	ul {
	  margin: @line-height-computed 0;
	  padding: 0;
	  .centrerflex;
		.active  {
			span, strong {
				background-color: @couleur-defaut;
				border-color: @couleur-defaut;
				color: #fff;
			}
		}

	  > li {
	    display: inline; // Remove list-style and block-level defauts
	    > a, > span, > strong {position: relative;
	      border: 1px solid @pagination-border;
	      margin-left: -1px;
				height: 2em;
				min-width: 2em;
				font-size: 1.3em;
				.centrerflex;
				&:hover {
					transition: .5s all;
					background-color: @couleur-defaut;
					border-color: @couleur-defaut;
					color: #fff;
				}
	    }
	    &:first-child {
	      > a, > span, > strong {
	        margin-left: 0;
	        .border-left-radius(@border-radius-base);
	      }
	    }
	    &:last-child {
	      > a, > span, > strong {
	        .border-right-radius(@border-radius-base);
	      }
	    }
	  }

	  > li > a, > li > span, > strong {
	    &:hover,
	    &:focus {
	      z-index: 2;
	      color: @pagination-hover-color;
	      background-color: @pagination-hover-bg;
	      border-color: @pagination-hover-border;
	    }
	  }

	  > .active > a, > .active > span, > .active strong {
	    &, &:hover, &:focus {
	      z-index: 3;
	      color: @pagination-active-color;
	      background-color: @pagination-active-bg;
	      border-color: @pagination-active-border;
	      cursor: defaut;
	    }
	  }

	  > .disabled {
	    > span,
	    > span:hover,
	    > span:focus,
	    > strong,
	    > strong:hover,
	    > strong:focus,
	    > a,
	    > a:hover,
	    > a:focus {
	      color: @pagination-disabled-color;
	      background-color: @pagination-disabled-bg;
	      border-color: @pagination-disabled-border;
	      cursor: @cursor-disabled;
	    }
	  }
	}
	.pagination-label {display: inline-block; }
	.label {
	  float: left;
	  color: inherit;
	  background: transparent;
	  text-shadow: none;
	  padding: 4px;
	  line-height: @line-height-base;
	}
  .page {
  	padding-top: 0;
  	margin-top: 0;
  	margin-bottom: 0;
		background: #fff;
  }

  //  Encore utile ?
	// .pages {
	// 	font-size: 1.1em;
	// 	strong, a {
	// 		height: 2.5em;
	// 		display: inline-block;
	// 		overflow: hidden;
	// 		text-align: center;
	// 		padding: 0.7em 0;
	// 		max-width: 3em;
	// 		text-align: center;
	// 		vertical-align: middle;
	// 		line-height: 1.1;
	// 		padding: .3em;
	// 		border: .4em solid #fff;
	// 	}

	// 	.sep{
	// 		width: 1em;
	// 		line-height: .9;
	// 		margin-bottom: 0.2em;
	// 		padding: 0.6em;
	// 		font-weight: 200;
	// 		height: 2.1em;
	// 	}
	// 	.sep, .page, .next, .prev, > span {
	// 		vertical-align: middle;
	// 		display: inline-block;
	// 	}
	// 	.disabled { color: @gris; }
	// 	.active strong {
	// 		color: @pagination-color;
	// 		font-weight: 700;
	// 	}
	// 	a {
	// 		transition: .5s all;
	// 		border-radius: 50%;
	// 	}
	// 	.next, .prev{
	// 		font-size: 1.3em;
	// 		line-height: 1;
	// 	}
	// }

}

.pagination-mini .pagination-label,
.pagination-small .pagination-label {position: absolute; left: -999em; height: 1%; }

/* tri, analogue a pagination mais avec des boutons de tri dedans */
// .tri {
//   display: block;
//   margin: @line-height-computed 0;
// }
// 
//
// Labels
// --------------------------------------------------

.label-variant(@color) {
  background-color: @color;

  &[href] {
    &:hover,
    &:focus {
      background-color: darken(@color, 10%);
    }
  }
}

.label {
	display: inline-table;
	padding: .3em .6em .3em;
	font-size: 80%;
  font-weight: bold;
  line-height: 1;
  color: @label-color;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;

  // Add hover effects, but only for links
  a& {
    &:hover,
    &:focus {
      color: @label-link-hover-color;
      text-decoration: none;
      cursor: pointer;
    }
  }

  // Empty labels collapse automatically (not available in IE8)
  &:empty {
    display: none;
  }

  // Quick fix for labels in buttons
  .btn & {
    position: relative;
    top: -1px;
  }
}

// Colors
// Contextual variations (linked labels get darker on :hover)

.label-defaut {
  .label-variant(@label-defaut-bg);
}

.label-vert {
  .label-variant(@label-vert-bg);
}

.label-jaune {
  .label-variant(@label-jaune-bg);
}

.label-orange {
  .label-variant(@label-orange-bg);
}

.label-rouge {
  .label-variant(@label-rouge-bg);
}

.label-bleu {
  .label-variant(@bleu);
}

.label-violet {
  .label-variant(@violet);
}

.label-rose {
  .label-variant(@rose);
}

.label-turquoise {
  .label-variant(@turquoise);
}
// 
// 
//
// Messages pour formulaires
// --------------------------------------------------

.message {
  padding: @alert-padding;
  margin-bottom: @line-height-computed;
  border: 1px solid transparent;
  border-radius: @alert-border-radius;
  line-height: 1.6em;

  h4 {
    margin-top: 0;
    color: inherit;
  }
  a {
  	font-weight: @alert-link-font-weight;
  	&:hover { text-decoration: underline; }
  }
  > p, > ul { 	margin-bottom: 0; }
 	> p + p { 		margin-top: .5em; }
	p:last-of-type { margin-bottom: 0; }

}

// Alerts

.message-couleur(@background; @border; @text-color) {
  background-color: @background;
  border-color: @border;
  color: @text-color;
  // Parce que parfois mis sur un table-row, (ds panier par ex.) on annule le display:block;
  // display: block;
  overflow: hidden;
  min-width: 10%;
  hr {border-top-color: darken(@border, 5%); }
  a {color: darken(@text-color, 10%); }
}

// Message avec une coroix pour le fermer

.message-croix {
  padding-right: (@alert-padding + 20);

  // Adjust close link position
  .close {
    position: relative;
    top: -2px;
    right: -21px;
    color: inherit;
  }
}

// couleur

.message-vert {
  .message-couleur(@alert-vert-bg; @alert-vert-border; @alert-vert-text);
}

.message-jaune {
  .message-couleur(@alert-jaune-bg; @alert-jaune-border; @alert-jaune-text);
}

.message-orange {
  .message-couleur(@alert-orange-bg; @alert-orange-border; @alert-orange-text);
}

.message-rouge {
  .message-couleur(@alert-rouge-bg; @alert-rouge-border; @alert-rouge-text);
}

.info {.message; .message-jaune;}
.success {.message; .message-vert;}
.orange {.message; .message-orange;}
.error {.message;.message-rouge}
// 
// 
//
// Responsive: Utility classes
// --------------------------------------------------


// IE10 in Windows (Phone) 8
//
// Support for responsive views via media queries is kind of borked in IE10, for
// Surface/desktop in split view and for Windows Phone 8. This particular fix
// must be accompanied by a snippet of JavaScript to sniff the user agent and
// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
// our Getting Started page for more information on this bug.
//
// For more information, see the following:
//
// Issue: https://github.com/twbs/bootstrap/issues/10497
// Docs: http://getbootstrap.com/getting-started/#support-ie10-width
// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/

.responsive-visibility() {
  display: block !important;
  table&  { display: table !important; }
  tr&     { display: table-row !important; }
  th&,
  td&     { display: table-cell !important; }
}

@-ms-viewport {
  width: device-width;
}


// Visibility utilities
// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
   display: none !important;
}

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}

.visible-xs {
  @media (max-width: @screen-xs-max) {
    .responsive-visibility();
  }
}
.visible-xs-block {
  @media (max-width: @screen-xs-max) {
    display: block !important;
  }
}
.visible-xs-inline {
  @media (max-width: @screen-xs-max) {
    display: inline !important;
  }
}
.visible-xs-inline-block {
  @media (max-width: @screen-xs-max) {
    display: inline-block !important;
  }
}

.visible-sm {
  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
    .responsive-visibility();
  }
}
.visible-sm-block {
  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
    display: block !important;
  }
}
.visible-sm-inline {
  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
    display: inline !important;
  }
}
.visible-sm-inline-block {
  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
    display: inline-block !important;
  }
}

.visible-md {
  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
    .responsive-visibility();
  }
}
.visible-md-block {
  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
    display: block !important;
  }
}
.visible-md-inline {
  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
    display: inline !important;
  }
}
.visible-md-inline-block {
  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
    display: inline-block !important;
  }
}

.visible-lg {
  @media (min-width: @screen-lg-min) {
    .responsive-visibility();
  }
}
.visible-lg-block {
  @media (min-width: @screen-lg-min) {
    display: block !important;
  }
}
.visible-lg-inline {
  @media (min-width: @screen-lg-min) {
    display: inline !important;
  }
}
.visible-lg-inline-block {
  @media (min-width: @screen-lg-min) {
    display: inline-block !important;
  }
}

.cache-xs, .hidden-xs {
  @media (max-width: @screen-xs-max) {
     display: none !important;
  }
}
.cache-sm, .hidden-sm {
  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
     display: none !important;
  }
}
.cache-md, .hidden-md {
  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
     display: none !important;
  }
}
.cache-lg, .hidden-lg {
  @media (min-width: @screen-lg-min) {
     display: none !important;
  }
}


// Print utilities
//
// Media queries are placed on the inside to be mixin-friendly.

// Note: Deprecated .visible-print as of v3.2.0
.visible-print {
   display: none !important;

  @media print {
    .responsive-visibility();
  }
}
.visible-print-block {
  display: none !important;

  @media print {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;

  @media print {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;

  @media print {
    display: inline-block !important;
  }
}

.cache-print, .hidden-print {
  @media print {
     display: none !important;
  }
}
// Embeds responsive
//
// Credit: Nicolas Gallagher and SUIT CSS.

.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;

  .embed-responsive-item,
  iframe,
  embed,
  object,
  video {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    border: 0;
  }
}

// Modifier class for 16:9 aspect ratio
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}

// Modifier class for 4:3 aspect ratio
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
// 

// Components w/ JavaScript
// 
// 
// 
//
// Carousel
// --------------------------------------------------


// Wrapper for the slide container and indicators
.carousel {
  position: relative;
}

.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;

  > .item {
    display: none;
    position: relative;
    .transition(.6s ease-in-out left);

    // Account for jankitude on images
    > img,
    > a > img {
      &:extend(.img-responsive);
      line-height: 1;
    }

    // WebKit CSS3 transforms for supported devices
    @media all and (transform-3d), (-webkit-transform-3d) {
      .transition-transform(~'0.6s ease-in-out');
      .backface-visibility(~'hidden');
      .perspective(1000px);

      &.next,
      &.active.right {
        .translate3d(100%, 0, 0);
        left: 0;
      }
      &.prev,
      &.active.left {
        .translate3d(-100%, 0, 0);
        left: 0;
      }
      &.next.left,
      &.prev.right,
      &.active {
        .translate3d(0, 0, 0);
        left: 0;
      }
    }
  }

  > .active,
  > .next,
  > .prev {
    display: block;
  }

  > .active {
    left: 0;
  }

  > .next,
  > .prev {
    position: absolute;
    top: 0;
    width: 100%;
  }

  > .next {
    left: 100%;
  }
  > .prev {
    left: -100%;
  }
  > .next.left,
  > .prev.right {
    left: 0;
  }

  > .active.left {
    left: -100%;
  }
  > .active.right {
    left: 100%;
  }

}

// Left/right controls for nav
// ---------------------------

.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: @carousel-control-width;
  .opacity(@carousel-control-opacity);
  font-size: @carousel-control-font-size;
  color: @carousel-control-color;
  text-align: center;
  text-shadow: @carousel-text-shadow;
  background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug
  // We can't have this transition here because WebKit cancels the carousel
  // animation if you trip this while in the middle of another animation.

  &.right {
    left: auto;
    right: 0;
  }

  // Hover/focus state
  &:hover,
  &:focus {
    outline: 0;
    color: @carousel-control-color;
    text-decoration: none;
    .opacity(.9);
  }

  // Toggles
  .icon-prev,
  .icon-next,
  .glyphicon-chevron-left,
  .glyphicon-chevron-right {
    position: absolute;
    top: 50%;
    margin-top: -10px;
    z-index: 5;
    display: inline-block;
  }
  .icon-prev,
  .glyphicon-chevron-left {
    left: 50%;
    margin-left: -10px;
  }
  .icon-next,
  .glyphicon-chevron-right {
    right: 50%;
    margin-right: -10px;
  }
  .icon-prev,
  .icon-next {
    width:  20px;
    height: 20px;
    line-height: 1;
    font-family: serif;
  }


  .icon-prev {
    &:before {
      content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
    }
  }
  .icon-next {
    &:before {
      content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
    }
  }
}

// Optional indicator pips
//
// Add an unordered list with the following class and add a list item for each
// slide your carousel holds.

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;

  li {
    display: inline-block;
    width:  10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    border: 1px solid @carousel-indicator-border-color;
    border-radius: 10px;
    cursor: pointer;

    // IE8-9 hack for event handling
    //
    // Internet Explorer 8-9 does not support clicks on elements without a set
    // `background-color`. We cannot use `filter` since that's not viewed as a
    // background color by the browser. Thus, a hack is needed.
    // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
    //
    // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
    // set alpha transparency for the best results possible.
    background-color: #000 \9; // IE8
    background-color: rgba(0,0,0,0); // IE9
  }
  .active {
    margin: 0;
    width:  12px;
    height: 12px;
    background-color: @carousel-indicator-active-bg;
  }
}

// Optional captions
// -----------------------------
// Hidden by defaut for smaller viewports
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: @carousel-caption-color;
  text-align: center;
  text-shadow: @carousel-text-shadow;
  & .btn {
    text-shadow: none; // No shadow for button elements in carousel-caption
  }
}


// Scale up controls for tablets and up
@media screen and (min-width: @screen-sm-min) {

  // Scale up the controls a smidge
  .carousel-control {
    .glyphicon-chevron-left,
    .glyphicon-chevron-right,
    .icon-prev,
    .icon-next {
      width: (@carousel-control-font-size * 1.5);
      height: (@carousel-control-font-size * 1.5);
      margin-top: (@carousel-control-font-size / -2);
      font-size: (@carousel-control-font-size * 1.5);
    }
    .glyphicon-chevron-left,
    .icon-prev {
      margin-left: (@carousel-control-font-size / -2);
    }
    .glyphicon-chevron-right,
    .icon-next {
      margin-right: (@carousel-control-font-size / -2);
    }
  }

  // Show and left align the captions
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }

  // Move up the indicators
  .carousel-indicators {
    bottom: 20px;
  }
}

// Utility classes