@charset "utf-8";

body {
	color: black;
	background: white;
	font-family: Arial, Helvetica, sans-serif;
}

a, a:hover {
	color: black;
	text-decoration: none;
}

.author,
.speaker {
	font-style: italic;
}

.place {
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
-o-hyphens: none;
hyphens: none;
}

blockquote {
	padding-left: 1.5rem;
	color: #504642;
}

blockquote br {
	display: none;
}

@media (min-width: 450px) {
blockquote br {
	display: inline;
}
}

@media (min-width: 576px) {
blockquote br {
	display: none;
}
}

@media (min-width: 630px) {
blockquote br {
	display: inline;
}
}

@media screen {
body {
	color: #695c57;
	background: #cdc7bf;
}

a, a:hover {
	color: #695c57;
}
}

blockquote {
	color: #504642;
}

/* figure */
figure {
	margin: 3px 10px;
	font-size: 0.9em;
	font-style: italic;
}

figure.float-left {
	float: left;
	margin-left: 0;
	margin-right: 20px;
}

figure.float-right {
	float: right;
	margin-left: 20px;
	margin-right: 0;
}

/* forms */
legend {
	display: none;
}

fieldset.form-group {
	margin-bottom: 0;
}

textarea {
	min-height: 7rem;
}

.form-control {
	color: inherit;
	border-color: #d9d4ce;
}

:-ms-input-placeholder,
::-ms-input-placeholder,
::placeholder {
	color: #d9d4ce;
	font-size: 0.9em;
}

.required::after {
	content: ' *';
}

input[type=radio] {
	vertical-align: middle;
}

.custom-control-label::before {
	background-color: #cdc7bf;
	background-color: #d9d4ce;
}

.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
.custom-control-input:checked ~ .custom-control-label::before {
	background-color: #e85615;
}

button {
	margin-right: 1rem;
	color: white;
 	background: #877d79;
}

/* dates */
.location,
.address {
	white-space: nowrap;
}


/**
 * container
 */
#container {
	font-size: 0.75em;
	line-height: 150%;
}

@media screen {
#container {
	min-width: 320px;
	max-width: 950px;
	margin: 0 auto;
	padding: 0;
}
}


/**
 * header
 */
header {
	clear: both;
}

@media screen {
header {
	position: relative;
	overflow: hidden;
	max-height: 335px;
	background: white url('../pic/themes/office.jpg') no-repeat center top;
	background-size: cover;
}

header .border {
	position: absolute;
	bottom: 0;
	z-index: 300;
	overflow: hidden;
	width: 100%;
	height: 9%;
	border: none !important;
	background: rgba(255,255,255,.7);
}

header figure {
	position: absolute;
	z-index: 100;
	width: auto;
	height: 100%;
	max-height: 100%;
	margin: 0 0 0 calc(1rem - 4px);
}

@media (min-width: 768px) {
header figure {
	margin-left: calc(25% - 4px);
}
}

header figure img {
	width: auto;
	max-height: 100%;
	margin: 0;
	border-left: 4px solid white;
	border-right: 4px solid white;
}

.news    header { background-image: url('../pic/themes/news.jpg'); }
.pubs    header { background-image: url('../pic/themes/pubs.jpg'); }
.start   header { background-image: url('../pic/themes/start.jpg'); }
.office  header { background-image: url('../pic/themes/office.jpg'); }
.papers  header { background-image: url('../pic/themes/papers.jpg'); }
.mandate header { background-image: url('../pic/themes/mandate.jpg'); }
.contact header { background-image: url('../pic/themes/contact.jpg'); }
.network header { background-image: url('../pic/themes/network.jpg'); }
.lawyers header { background-image: url('../pic/themes/lawyers.jpg'); }
.fields                   header { background-image: url('../pic/themes/fields.jpg'); }
.fields.labour            header { background-image: url('../pic/themes/labour.jpg'); }
.fields.labour.regulation header { background-image: url('../pic/themes/regulation.jpg'); }
.fields.labour.personnel  header { background-image: url('../pic/themes/personnel.jpg'); }
.fields.labour.employee   header { background-image: url('../pic/themes/employee.jpg'); }
.fields.family            header { background-image: url('../pic/themes/family.jpg'); }
.fields.civil             header { background-image: url('../pic/themes/civil.jpg'); }
.fields.inherit           header { background-image: url('../pic/themes/inherit.jpg'); }
.fields.copyright         header { background-image: url('../pic/themes/copyright.jpg'); }
/*.fields.care              header { background-image: url('../pic/themes/care.jpg'); }*/
.fields.social            header { background-image: url('../pic/themes/sociale.jpg'); } /* 'e' necessary */
}

@media print, embossed {
header {
	margin: 0 10%;
}

header .border {
  display: none;
}

header figure {
	float: left;
	margin: 0 0 3rem 0;
}
}

/**
 * logo
 */
#logo {
	float: right;
	width: 42%;
}

#logo svg,
#logo img {
	/* img-fluid */
	max-width: 100%;
	height: auto;
}

/*
line{fill:none;stroke:#665a54}
path{fill:#665a54}
path#amp{fill:#ec7404}
*/
line{fill:none;stroke:#504742}
path{fill:#504742}
path#amp{fill:#e75816}

@media screen {
#logo {
	position: relative;
	z-index: 200;
	margin: 4.5% 6% 35% 0;
}

/*
.light line{fill:none;stroke:#d3d2ce}
.light path{fill:#d3d2ce}
*/

@media (min-width: 460px) {
#logo {
	width: 35%;
}
}

@media (min-width: 576px) {
#logo {
	width: 28%;
}
}
}


/**
 * footer
 */
footer {
	clear: both;
}

@media screen {
footer {
	overflow: hidden;
	padding-top: .5rem;
	padding-bottom: .5rem;
}

@media (min-width: 768px) {
footer {
	padding-left: 2.7rem;
	padding-right: 2.7rem;
}
}

footer nav .nav-link {
	padding: .25rem .4rem;
}

@media (min-width: 576px) {
footer nav .nav-link {
	padding-top: .5rem;
	padding-bottom: .5rem;
}
}

footer nav .nav-item:first-child .nav-link {
	padding-left: 1rem;
}

footer nav nav-link:hover {
	color: #786c67;
}
}

@media print, embossed {
footer {
  display: none;
}
}


/**
 * copy
 */
#copy a {
	font-style: italic;
}

@media screen {
#copy {
	padding: 0 1rem;
}

@media (min-width: 576px) {
#copy {
	padding-top: .5rem;
	padding-bottom: .5rem;
}
}
}


/**
 * main
 */
main {
/*	overflow: hidden; skip because of sticky */
	clear: both;
}

main h1 {
	color: #8d806e;
	font-size: 1.8em;
	font-style: italic;
	font-weight: normal;
	font-family: Georgia, 'Times New Roman', Times, serif;
	text-align: left;
}

main h2 {
	color: #e85615;
	font-size: 1.3em;
	font-weight: bold;
	text-align: left;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
-o-hyphens: none;
hyphens: none;
}

main h3 {
	color: #786c67;
	font-size: 1.15em;
	font-weight: bold;
	text-align: left;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
-o-hyphens: none;
hyphens: none;
}

main cite {
	font-style: italic;
	font-weight: normal;
}

@media screen {
main {
	background: white;
}

main a {
	color: #221c18;
}

main a:hover {
	color: #221c18;
	border-bottom: 1px dotted #221c18;
}
}

/* grid layout */
@media screen {
main > .row {
	margin: 0;
}

main > .row > div {
	padding-left: 0;
	padding-right: 0;
}

main > .row > div > .row {
	margin: 0;
	padding: 0;
}

.contact main > .row > div > .row > div {
/*	width: 100%;*/
}

main > .row > div > .row > .row {
width: 100%;
	margin: 0;
	font-size: 1.4em;
}

main > .row > div > .row > .row > div > .row {
	text-align: left;
}

@media (min-width: 576px) {
main > .row > div > .row > .row {
	font-size: 1.3em;
}

main > .row > div > .row > .row > div {
	padding-right: 1.5rem;
}

main > .row > div > .row > .row > #info + div {
	padding-right: 1rem;
}
}

@media (min-width: 768px) {
main > .row {
	padding-top: 3rem;
}

main > .row > div:first-child {
	padding-right: 0;
}

main > .row > div > .row {
	height: 100%;
}

main > .row > div > .row > .row {
	margin: 0;
	padding-left: 0;
	padding-right: 0;
	font-size: 1.2em;
}

main > .row > div > .row > .row > div {
	padding-left: .25rem;
	padding-right: 2.5rem;
}

main > .row > div > .row > .row > #info + div {
	padding-right: 1rem;
}
}
}

@media print, embossed {
.row {
	display: block !important; /* for printing */
}

main {
	font-size: 1.4em !important;
}

main > .row {
	margin: 0;
}

main > .row > div > .row > .row {
	padding: 0 10%;
}

/*
main > .row > div > .row > .row > #info + div {
	border-right: 1px solid #d9d4ce;
}
*/

/*
header,
footer,
main,
div {
position: static !important;
float: none !important;
overflow: visible !important;
width: auto !important;
height: auto !important;
margin: 0;
padding: 0;
border: 0;
}
*/
}

/* tables */
main > .row > div > .row table {
	margin-top: 30px;
	border-collapse: collapse;
}

main > .row > div > .row table th {
	text-align: left;
	vertical-align: top;
}

main > .row > div > .row table td.value {
	text-align: right;
}

/* lists */
.popover ul,
.popover ol,
main > .row > div > .row ul,
main > .row > div > .row ol {
	margin-top: 0;
	margin-left: 0;
	padding: 0;
	text-align: left;
}

.popover ul,
main > .row > div > .row ul {
	list-style: url('../pic/layout/dash.gif');
}

.popover ul li,
.popover ol li,
main > .row > div > .row ul li,
main > .row > div > .row ol li {
	margin: 6px 0 6px 12px;
	padding: 0;
}

.popover ol li,
main > .row > div > .row ol li {
	margin-left: 20px;
}

.popover dl,
main > .row > div > .row dl {
	margin-top: 0;
}

.popover dt,
main > .row > div > .row dt {
	font-weight: bold;
}

.popover dd,
main > .row > div > .row dd {
	margin-left: 0;
	padding: 0;
}

/* link */
.popover {margin-left:1rem}

.popover ul.link,
main > .row > div > .row ul.link {
	list-style: url('../pic/layout/arrow.gif');
}

.popover ul.link li,
main > .row > div > .row ul.link li {
	margin-left: 15px;
	box-sizing: content-box;
}


/**
 * menu
 */
@media screen {
#menu {
	color: #a59d9a;
	font-size: 1.6em;
}

#menu #items {
	padding-top: .5rem;
}

#menu ul {
	width: 100%;
	border-bottom: 1px solid #d9d4ce;
	list-style: none;
}

#menu ul li {
	border-top: 1px solid #d9d4ce;
}

#menu ul li a {
	padding: .3rem 0 .3rem .4rem;
	color: #a59d9a;
}

#menu ul li:hover > a {
	background: #eee;
}

#menu ul li:hover a,
#menu ul li.active a {
	border: none;
	color: #a59d9a;
}

#menu ul li a span {
	padding-left: .5rem;
	border-left: 4px solid white;
}

#menu ul li:hover a span,
#menu ul li.active a span {
	border-left-color: #e85615;
}

@media (min-width: 576px) {
#menu {
	font-size: 1.4em;
}
}

@media (min-width: 768px) {
#menu {
	padding-left: 2.5rem;
	padding-right: 1.5rem;
	font-size: 1.2em;
}
}

/* submenu */
#menu ul li ul {
	padding-left: 0;
	border-bottom: none;
	font-size: 0.9em;
}

#menu ul li ul li {
}

#menu ul li ul li a {
	padding-left: 30px;
}

#menu ul li ul li a span {
	padding-left: 0;
	border-left: none;
}

#menu ul li ul li a:hover,
#menu ul li ul li.active a {
	color: #786c67;
}
}


/**
 * content
 */
#content {
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
-o-hyphens: auto;
hyphens: auto;
text-align: justify;
text-align: left;
	padding-bottom: 1rem;
}

@media (min-width: 576px) {
#content {
	padding-bottom: .5rem;
}
}

@media (min-width: 768px) {
#content {
	padding-bottom: .5rem;
}
}


/**
 * info
 */
#info {
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
-o-hyphens: auto;
hyphens: auto;
}

#info a {
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
-o-hyphens: none;
hyphens: none;
}

@media screen {
#info {
	border-top: 1px solid #d9d4ce;
}

#info h2 {
	margin-top: 1rem;
}

#info a::before {
	content: '\00BB\00A0';
}

@media (min-width: 576px) {
#info {
	padding-right: 1.5rem;
	border-top: none;
	border-left: 1px solid #d9d4ce;
}

#info h2 {
	margin-top: 0;
}
}
}

@media (min-width: 768px) {
#info {
	padding-right: 2.5rem;
}
}

@media print, embossed {
#info {
	float: right;
	margin-left: 15px;
	border-left: 1px solid #d9d4ce;
}
}


/**
 * address
 */
#address {
	margin: 0;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-top: 1px solid #d9d4ce;
	font-style: normal;
}

#address ul {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-direction: column !important;
	flex-direction: column !important;
	margin: 0;
	padding: 0;
	list-style: none;
}

#address ul li {
	margin: 0;
}

#address ul li:last-child::after {
	content: none;
}

@media screen {
#address {
	font-size: 1.25em;
}

@media (min-width: 576px) {
#address {
	margin: 3rem 0 0 0;
	padding-top: .25rem;
	padding-bottom: .25rem;
	font-size: 1.2em;
}

#address ul {
	-ms-flex-direction: row !important;
	flex-direction: row !important;
}

#address ul li::after {
	content: '\00A0\00B7\00A0';
}
}

@media (min-width: 768px) {
#address {
	padding-left: .25rem;
	padding-right: .25rem;
	font-size: 1em;
}
}
}

@media (min-width: 768px), print, embossed {
#address {
	margin: 3rem 0 0 0;
	padding: .25rem 0;
}

#address ul {
	-ms-flex-direction: row !important;
	flex-direction: row !important;
}

#address ul li::after {
	content: '\00A0\00B7\00A0';
}
}