:root {
	--body : #363636;
	--primary: #048E91;
	--secondary: #0C4991;
	--success: #28a745;
	--muted: #6c757d;
	--light:  #f8f8f8;
	--border: #dee2e6;
	--text-light : #c3c3c3;
	--primary-police: 'Roboto', Arial, sans-serif;
	--secondary-police: 'Roboto', Arial, sans-serif; 
	--shadow : 0 .5rem 1rem rgba(0,0,0,.15);
}

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

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}



html,body{
	box-sizing: border-box;
	-ms-overflow-style: scrollbar;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility:    hidden;
	-ms-backface-visibility:     hidden;
}

body{
	color : var(--body);
	font-size: 14px;
    line-height: 1.7;
	font-family: var(--primary-police);
	font-weight : 400;
	margin: 0;
}

@media(min-width:768px){
	body{
		font-size: 15px;
	}
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

:focus {
    outline: 0px;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
}

fieldset {
  min-width: 0;
  padding: 15px;
  margin: 0 0 1.5rem 0;
  border: 1px solid var(--border);
}

@media(min-width:1200px){
	fieldset {
		padding-left : 20px;
		padding-right : 20px
	}
}

legend {
  display: inline-block;
  /*width: 100%;
  max-width: 100%;*/
  padding: 0 5px;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

legend>*{
	margin : 0!important;
	padding : 0;
	display : inline!important;
}

mark{
  padding: 0.2em;
  background-color: #fcf8e3;
}

a{
	color : inherit;
	transition : .3s;
	text-decoration : none;
}

a:hover{
	color : inherit;
	text-decoration : none;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

ul,ol{
	list-style-type : none;
	padding : 0;
	margin : 0;
}

li{
	text-align : inherit;
}

strong, b, .strong{
	font-weight : 600;
}

p {
   margin-top : 0;
   margin-bottom : 1rem;
   text-rendering: optimizeLegibility;
}

nav ul,
.list-unstyled{
	list-style-type : none;
	padding-left: 0;
	margin-top : 0;
	margin-bottom : 0;
}

/*nav li{
	display : inline-block;
}*/




/*
*	title
*/
h1,.h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6,.h6{
	/*font-family: var(--secondary-police);
    position: relative;
    font-weight: 700;
    color: var(--title);
    line-height: 1.2;*/
	margin-top : 0;
	margin-bottom : 1em;
}

h1,.h1{
	font-size : 1.8em;
}

h2,.h2{
	font-size: 1.4em;
}

h3,.h3{
	font-size : 1.2em;
}

h4,.h4{
	font-size : 1em;
}

h5,.h5{
	font-size : 1em;
}

h6,.h6{
	font-size : 1em;
}

.display-1, .display-2, .display-3, .display-4{
	position: relative;
    margin-top : 0;
	margin-bottom : 1.5rem;
	font-weight: 300;
	line-height : 1;
}

.display-1{
	font-size : 1.5rem;
}

.display-2{
	font-size : 1.2rem;
}

.display-3{
	font-size : 1rem;
} 

.display-4{
	font-size : 1rem;
}

@media (min-width : 768px){
	h1,.h1{
		font-size : 2.4em;
	}

	h2,.h2{
		font-size : 2em;
	}

	h3,.h3{
		font-size : 1.6em;
	}

	h4,.h4{
		font-size : 1.2em;
	}

	h5,.h5{
		font-size : 1em;
	}

	h6,.h6{
		font-size : 1em;
	}
	
	.display-1{
		font-size : 2.5rem;
	}

	.display-2{
		font-size : 2.1rem;
	}

	.display-3{
		font-size : 1.8rem;
	} 

	.display-4{
		font-size : 1.4rem;
	}
}

@media (min-width:1024px){
	.display-1{
		font-size : 60px;
	}

	.display-2{
		font-size : 48px;
	}

	.display-3{
		font-size : 36px;
	} 

	.display-4{
		font-size : 24px;
	}
}



img{
	max-width : 100%;
	height : auto;
}

.img-cover{
	height : 100%!important;
	width : 100%!important;
	object-fit : cover;
}

.img-contain{
	height : 100%!important;
	width : 100%!important;
	object-fit : contain;
	object-position : center center;
}

.img-centered{
	width : 100%;
	height : 100%!important;
	object-fit : contain;
	transform: scale(.7);
}

figure {
	font-size : 0;
	margin : 0 0 1rem;
}

figcaption{
	font-size : inherit;
}

/*
*	Blockquotes
*/

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: var(--muted);
}

.blockquote-footer::before {
  content: "\2014\00A0";
}

/*
*	Titles
*/
.line-below{
	position : relative;
	padding-bottom : 1rem;
	margin : 2rem 0 1rem;
}


.line-below:before{
	content : "";
	position : absolute;
	bottom : 0;
	left : 0;
	width : 70px;
	border-top : 1px solid var(--primary);
}

.line-below.text-center:before,
.text-center .line-below:before{
	left : calc(50% - 35px);
}


/*
*	Text
*/

.text-left{
	text-align : left!important;
}

.text-center{
	text-align : center!important;
}

.text-right{
	text-align : right!important;
}

.text-primary{
	color : var(--primary)!important;
}

.text-secondary{
	color : var(--secondary)!important;
}

.text-info{
	color : var(--info)!important;
}

.text-success{
	color : var(--success)!important;
}

.text-danger{
	color : var(--danger)!important;
}

.text-warning{
	color : var(--warning)!important;
}

.text-black{
	color : #000!important;
}

.text-white{
	color : #fff!important;
}

.text-muted{
	color : var(--muted)!important;
}


.font-weight-normal{
	font-weight : 400!important;
}

.font-weight-light{
	font-weight : 300!important;
}

.font-weight-bold{
	font-weight : 600!important;
}

small, .small{
	font-size : 80%;
}

/*
*	Hack White texte
*/
.text-white{
	--primary: #fff;
}

/*
*	Background
*/
.bg-light{
	background-color : var(--light);
}

.bg-white{
	background-color : #fff;
}

.bg-dark{
	background-color: #333333;
	color : #fff;
}

.bg-primary{
	background-color : var(--primary);
}

.bg-secondary{
	background-color : var(--secondary);
}

.bg-success{
	background-color : var(--success);
}

.bg-danger{
	background-color : var(--danger);
	color : #fff!important;
}

.bg-warning{
	background-color : var(--warning);
	color : #fff!important;
}

/*
*	Button
*/

.btn,
.button,
.submit,
input[type="submit"], 
button {
	display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: .375em .75em;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    transition: .25s;
	cursor : pointer;
	outline : 0!important;
	text-decoration : none!important;
}

.btn:hover,
.button:hover,
.submit:hover,
input[type="submit"]:hover, 
button:hover{
	filter: saturate(1.5);
}

.btn-link{
	display:inline;
	background : transparent;
	padding: 0!important;
}

.btn-sm{
		font-size: .8rem;
	}

@media(min-width:1024px){
	.btn-lg{
		padding: .5rem 1rem;
		font-size: 1.25rem;
		line-height: 1.5;
		border-radius: .3rem;
	}
}

.btn-block{
	display : block;
	width : 100%;
}

.btn-cta{
	position : relative;
	padding: .5rem 1.5rem .5rem 1.5rem;
    line-height: 1.5;
    font-weight: 600;
	text-transform : uppercase;
	border-radius: .3rem;
	overflow : hidden;
}

@media(min-width:1200px){
	.btn-cta{
		font-size: 1.25rem;
	}
}

.btn-cta:hover{
	padding: .5rem 2.5rem .5rem .5rem;
}

.btn-cta:after {
    content: "\f138";
	position : absolute;
	padding-left : .5rem;
    display: inline-block;
    font-family: Font Awesome\ 5 Free;
    font-weight: 900;
	opacity: 0;
    transition: all .3s;
    transform: translateX(25px);
}

.btn-cta:hover:after {
    transform: translateX(0);
    opacity: 1;
}

.btn-primary,
.button.alt,
.submit,
input[type="submit"]{
	background-color : var(--primary);
	color : #fff;
}

.btn-secondary,
.button{
	background-color : var(--secondary);
	color : #fff;
}

.btn-warning{
	background-color : var(--warning);
	color : #fff;
}

.btn-success{
	background-color : var(--success);
	color : #fff;
}

.btn-outline-primary{
	color : var(--primary)!important;
	border-color : var(--primary);
	background-color : transparent;
}

.btn-outline-primary:hover{
	background-color : var(--primary);
	color : #fff!important;
}

.btn-outline-secondary{
	color : var(--secondary)!important;
	border-color : var(--secondary);
	background-color : transparent;
}

.btn-outline-secondary:hover{
	background-color : var(--secondary);
	color : #fff!important;
}

.btn-outline-white{
	color : #fff!important;
	border-color : #fff;
	background-color : transparent;
}

.btn-outline-white:hover{
	background-color : #fff;
	color : var(--body)!important;
}

/*.btn-href{
	cursor : pointer; 
}*/

@media(min-width:992px){
	.btn-nav{
		display : none;
	}
}

.btn-collapse:after{
	display : inline-block;
	content: '\f077';
    font-family: Font Awesome\ 5 Free;
    font-weight: 700;
    font-size: 1em;
    margin-left: .5rem;
	transition : .3s;
	transform: scaleY(1);
}

.btn-collapse.collapsed:after{
	transform: scaleY(-1);
}

/*
*	Margin / padding
*/
.m-auto{
	margin : auto!important;
}

.m-0, .mt-0, .my-0{
	margin-top : 0!important;
}

.m-0, .mb-0, .my-0{
	margin-bottom : 0!important;
}

.m-0, .ml-0, .mx-0{
	margin-left : 0!important;
}

.m-0, .mr-0, .mx-0{
	margin-right : 0!important;
}

.m-1, .mt-1, .my-1{
	margin-top : .25rem!important;
}

.m-1, .mb-1, .my-1{
	margin-bottom : .25rem!important;
}

.m-1, .ml-1, .mx-1{
	margin-left : .25rem!important;
}

.m-1, .mr-1, .mx-1{
	margin-right : .25rem!important;
}

.m-2, .mt-2, .my-2{
	margin-top : 1rem!important;
}

.m-2, .mb-2, .my-2{
	margin-bottom : 1rem!important;
}

.m-2, .ml-2, .mx-2{
	margin-left : 1rem!important;
}

.m-2, .mr-2, .mx-2{
	margin-right : 1rem!important;
}

.m-3, .mt-3, .my-3{
	margin-top : 1.5rem!important;
}

.m-3, .mb-3, .my-3{
	margin-bottom : 1.5rem!important;
}

.m-3, .ml-3, .mx-3{
	margin-left : 1.5rem!important;
}

.m-3, .mr-3, .mx-3{
	margin-right : 1.5rem!important;
}

.m-5, .mt-5, .my-5{
	margin-top : 2rem!important;
}

.m-5, .mb-5, .my-5{
	margin-bottom : 2rem!important;
}

.m-5, .ml-5, .mx-5{
	margin-left : 2rem!important;
}

.m-5, .mr-5, .mx-5{
	margin-right : 2rem!important;
}



.p-0, .pt-0, .py-0{
	padding-top : 0!important;
}

.p-0, .pb-0, .py-0{
	padding-bottom : 0!important;
}

.p-0, .pl-0, .px-0{
	padding-left : 0!important;
}

.p-0, .pr-0, .px-0{
	padding-right : 0!important;
}

.p-2, .pt-2, .py-2{
	padding-top : .5rem!important;
}

.p-2, .pb-2, .py-2{
	padding-bottom : .5rem!important;
}

.p-2, .pl-2, .px-2{
	padding-left : .5rem!important;
}

.p-2, .pr-2, .px-2{
	padding-right : .5rem!important;
}

.p-3, .pt-3, .py-3{
	padding-top : 1.5rem!important;
}

.p-3, .pb-3, .py-3{
	padding-bottom : 1.5rem!important;
}

.p-3, .pl-3, .px-3{
	padding-left : 1.5rem!important;
}

.p-3, .pr-3, .px-3{
	padding-right : 1.5rem!important;
}

.p-5, .pt-5, .py-5{
	padding-top : 2rem!important;
}

.p-5, .pb-5, .py-5{
	padding-bottom : 2rem!important;
}

.p-5, .pl-5, .px-5{
	padding-left : 2rem!important;
}

.p-5, .pr-5, .px-5{
	padding-right : 2rem!important;
}

@media(min-width:992px){
	.m-5, .mt-5, .my-5{
		margin-top : 3rem!important;
	}

	.m-5, .mb-5, .my-5{
		margin-bottom : 3rem!important;
	}

	.m-5, .ml-5, .mx-5{
		margin-left : 3rem!important;
	}

	.m-5, .mr-5, .mx-5{
		margin-right : 3rem!important;
	}

	.p-5, .pt-5, .py-5{
		padding-top : 3rem!important;
	}

	.p-5, .pb-5, .py-5{
		padding-bottom : 3rem!important;
	}

	.p-5, .pl-5, .px-5{
		padding-left : 3rem!important;
	}

	.p-5, .pr-5, .px-5{
		padding-right : 3rem!important;
	}
}

/*
*	Border - shadow - rounded
*/

.border {
    border: 1px solid #dee2e6!important;
}

.border-top {
    border-top: 1px solid #dee2e6!important;
}

.border-left {
    border-left: 1px solid #dee2e6!important;
}

.border-bottom {
    border-bottom: 1px solid #dee2e6!important;
}

.border-right {
    border-right: 1px solid #dee2e6!important;
}

.shadow{
	box-shadow: var(--shadow)!important;
}

.rounded {
	border-radius: .25rem;
}

.rounded-circle {
  border-radius: 50% !important;
}

/*
*	Form
*/
.form-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px;
}

.form-row>.col, .form-row>[class*=col-] {
    padding-right: 5px;
    padding-left: 5px;
}

.form-group{
	margin-bottom: .5rem;
}

label, .label{
	font-size : .8em;
	margin-bottom : 0;
	display : block;
}

input, textarea, select {
    font-size: 1rem;
	font-family: inherit;
    background: none;
    border: 1px solid var(--border);
    background: #fff;
    color: #333;
    padding: .375em .75em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: color linear 0.4s, background linear 0.4s, border-color linear 0.4s, box-shadow linear 0.4s;
    transition: color linear 0.4s, background linear 0.4s, border-color linear 0.4s, box-shadow linear 0.4s;
}

input[type="text"], 
input[type="password"], 
input[type="email"], 
input[type="tel"], 
input[type="number"], 
input[type="url"], 
input[type="search"], 
textarea{
  -webkit-appearance: none;
  display : block;
  width: 100%;
  padding: .375em .75em;
  font-weight: 400;
  line-height: 1.5;
  color: var(--body);
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid var(--border);
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/*input[type="text"], 
input[type="password"], 
input[type="email"], 
input[type="tel"], 
input[type="number"], 
input[type="url"],
input[type="search"]{
	height: calc(1.5em + 0.75em + 2px);
}*/

textarea{
	height:  calc(4em + 0.75em + 2px);
}

select{
  display : block;
  width: 100%;
  padding: 0.375em 0.75em;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--body);
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid var(--border);
  border-radius: 0.25rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}


input[type="text"]:focus, 
input[type="password"]:focus, 
input[type="email"]:focus, 
input[type="tel"]:focus, 
input[type="number"]:focus, 
input[type="url"]:focus, 
input[type="search"]:focus, 
textarea:focus,
select:focus{
	color: var(--body);
    background-color: #fff;
    border-color: var(--border);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

input[type="number"]{
	padding-right : 0!important;
}

button, input[type="submit"]{
	-webkit-appearance: none;
	cursor : pointer;
}

input:not([type="submit"])::-ms-expand {
  background-color: transparent;
  border: 0;
}

input:not([type="submit"]):-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--body);
}

input:not([type="submit"]):focus {
  color: var(--body);
  background-color: #fff;
  border-color: var(--primary-variant);
  outline: 0;
  /*box-shadow: 0 0 0 0.2rem var(--primary-variant);*/
}

input:not([type="submit"])::-webkit-input-placeholder {
  color: var(--muted);
  opacity: 1;
}

input:not([type="submit"])::placeholder,
input:not([type="submit"])::-moz-placeholder,
input:not([type="submit"])::-ms-input-placeholder ,
input:not([type="submit"])::-ms-input-placeholder
 {
  color: var(--muted);
  opacity: 1;
}

input[type="checkbox"]{
	float : left;
	margin : .2em .5em 0 0;
}

.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}

select:focus::-ms-value {
  color: #495057;
  background-color: #fff;
}

.form-group.lg{
	line-height : 2;
}


/*
*	Modal
*/

.fade {
    transition: opacity .15s linear;
}

.fade:not(.show) {
    opacity: 0;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5;
}

.close:hover, .close:focus {
  color: #000;
  text-decoration: none;
  opacity: .75;
}

.close:not(:disabled):not(.disabled) {
  cursor: pointer;
}

button.close {
	padding: 5px;
	position: absolute;
	top: 0;
	right: 5px;
	background-color: transparent;
	border: 0;
	-webkit-appearance: none;
}

.modal-open {
	overflow: hidden;
	-webkit-overflow-scrolling: auto;
	touch-action: none;
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  display: none;
  overflow: hidden;
  outline: 0;
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-open #modal-gallery .modal {
  overflow-x: hidden;
  overflow-y: hidden;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}

#modal-image{
	height: 90vh;
    background-color: rgba(0,0,0,.8);
	transition  : .3s;
	transform: scale(0);
}

#modal-image img{
	width : 100%;
	height : 100%;
	object-fit : contain;
}

#modal-image.loaded{
	transform: scale(1);
}

.modal-gallery-item{
	max-height : 90vh;
}


.modal.fade .modal-dialog {
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-transform: translate(0, -25%);
  transform: translate(0, -25%);
}

@media screen and (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}

.modal.show .modal-dialog {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.modal-dialog-centered {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - (0.5rem * 2));
}

.modal-content {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  outline: 0;
}

#modal-gallery .modal-content {
	max-height : 90vh;
	overflow : hidden;
	background-color: transparent;
	border: none;
}

#modal-gallery .loader{
	position : absolute;
	top:0;
	left : 0;
	right : 0;
	bottom : 0;
	display : flex;
	justify-content: center;
	align-items : center;
	z-index : -1;
	opacity : 1;
	transition : .25s;
}

#modal-image.loaded+.loader{
	opacity : 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9000;
  background-color: #000;
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: 0.5;
}

.modal-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid #e9ecef;
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}

.modal-header .close {
  padding: 1rem;
  margin: -1rem -1rem -1rem auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}

.modal-body {
  position: relative;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 1rem;
}

.modal-footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 1rem;
  border-top: 1px solid #e9ecef;
}

.modal-footer > :not(:first-child) {
  margin-left: .25rem;
}

.modal-footer > :not(:last-child) {
  margin-right: .25rem;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto;
  }
  .modal-dialog-centered {
    min-height: calc(100% - (1.75rem * 2));
  }
  .modal-sm {
    max-width: 300px;
  }
}

@media (min-width: 992px) {
  .modal-lg {
    max-width: 800px;
  }
}

@media (min-width: 1200px) {
  .modal-lg {
    max-width: 1024px;
  }
}


/*
*	Show
*/

.show-sm,
.show-md,
.show-lg,
.show-xl{
	display : none;
}

@media(min-width:576px) {
	.show-sm{
		display : block;
	}
	
	.hide-sm{
		display : none;
	}
}

@media(min-width:768px) {
	.show-md{
		display : block;
	}
	
	.hide-md{
		display : none;
	}
}

@media(min-width:992px) {
	.show-lg{
		display : block;
	}
	
	.hide-lg{
		display : none!important;
	}
}

@media(min-width: 992px) {
	.show-lg{
		display : block;
	}
	
	.hide-lg{
		display : none;
	}
}

@media(min-width: 1200px) {
	.show-xl{
		display : none;
	}
	
	.hide-xl{
		display : none;
	}
}


.h-100{
	height : 100%;
}


/*
*	Animations
*/

.fade {
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}


.carousel {
  position: relative;
}

.carousel.pointer-event {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}


@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  -webkit-transform: translateX(100%);
  transform: translateX(100%)!important;
}

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%)!important;
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  -webkit-transform: none;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left,
  .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 100;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  filter : drop-shadow(0 0 3px rgba(0,0,0,.5));
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}


.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: no-repeat 50% / 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}

.carousel-indicators li {
  box-sizing: content-box;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: .5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
}

.carousel-thumbs{
	display : flex;
	flex-wrap : wrap;
}

.carousel-thumb{
	border : 3px solid transparent;
	cursor : pointer;
	flex-grow: 1;
    flex-basis: 0;
	max-width:80px
}

.carousel-thumb.active{
	border-color : var(--primary);
}

/*
*	Card
*/
.card {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem;
}

.card-body {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 1px;
  padding: 5px 15px 10px;
}

.card-title {
  margin-bottom: 0.75rem;
}

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

.card-header:first-child {
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.card-footer:last-child {
  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}

.card-img,
.card-img-top,
.card-img-bottom {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px);
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary{
	color : #fff;
	background-color : var(--primary);
}

.badge-secondary{
	color : #fff;
	background-color : var(--secondary);
}

.badge-light{
	color : var(--body);
	background-color : var(--light);
}

.badge-white{
	color : var(--body);
	background-color : #fff; 
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-primary {
  color: var(--primary);
  background-color: var(--primary-light);
  border-color: var(--primary);
}

.alert-secondary {
  color: var(--secondary);
  background-color: var(--secondary-light);
  border-color: var(--secondary);
}

.alert-success {
  color: var(--success);
  background-color: #d4edda;
  border-color:  var(--success);
}

.alert-danger {
  color: var(--danger);
  background-color: #f8d7da;
  border-color: var(--danger);
}

@media(min-width: 768px){
	.w-75{
		width : 75%;
	}
}


/*
*	Table
*/
.table-responsive{
	position : relative;
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-left: -15px;
    margin-right: -15px;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 2rem;
	width: calc(100% + 30px)!important;
	max-width: calc(100% + 30px)!important;
	background:
      linear-gradient(to right, white 30%, rgba(255,255,255,0)),
      linear-gradient(to right, rgba(255,255,255,0), white 70%) 0 100%,
      radial-gradient(farthest-side at 0% 50%, rgba(0,0,0,.4), rgba(0,0,0,0)),
      radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.4), rgba(0,0,0,0)) 0 100%;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
    background-position: 0 0, 100%, 0 0, 100%;
    background-attachment: local, local, scroll, scroll;
	scrollbar-width: thin;
	scrollbar-color: #49868C #aaa;
}

.table-responsive::-webkit-scrollbar{
	width: 5px;
	height: 8px;
	background-color: #aaa;
}
		
.table-responsive::-webkit-scrollbar-thumb {
	background: var(--primary); 
}

@media(min-width:992px){
	.table-responsive{
		scroll-snap-type: x mandatory;
		touch-action: pan-x;
		user-select : none;
		-ms-user-select: none;
		cursor: grab;
	}
}

table{
	width: 100%;
    max-width: 100%;
    background-color: transparent;
	border-collapse: collapse;
	margin-bottom : 1.5rem;
}

.table-responsive table{
	margin-bottom : 0;
}

table thead th {
	font-weight : 600;
}

table thead th {
    color: #fff;
    background-color: var(--primary);
    border: 1px solid var(--border);
    vertical-align: middle;
}

table td,
table th {
	min-width : 150px;
	max-width : 300px;
    padding: .75rem;
    vertical-align: top;
    border: 1px solid var(--border);
}

.table-sm td, 
.table-sm th {
    padding: .3rem;
}

.table-xs td, 
.table-xs th {
    padding: 0 .3rem;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0,0,0,.05);
}

table a{
	word-break : break-word;
}

/*.wrapper [aria-hidden='true']{
	display: none;
}*/
