*, ::before, ::after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
	font: 78.5%/1.6em "Lucida Grande", "Lucida Sans Unicode", verdana, geneva, sans-serif;
	word-spacing:2px;
  overflow-wrap: break-word;
	color:#444;
	margin:20px;
	background:url(../images/body.jpg) top repeat-x #121212;
	background-attachment:fixed;
}

* {
	margin:0;
	padding:0;
}

#wrapper {
	background:#fff;
	border:3px solid #ccc;
	max-width:1500px;
	min-width:1080px;
	margin:0 auto;
}

* html #wrapper
{
	max-width:1500px;
	min-width: 1080px;
}

#innerwrapper {
	margin:1px;
	background:url(../images/innerwrapper.jpg) top repeat-x;
	padding:20px;
}

#header input {
	width:150px;
	padding:5px;
	background:#fff;
	border:2px solid #f6f6f6;
	font:150% Arial;
	color:#999;
}

#header input:hover {
	border:2px solid #ccc;
}

#header input:focus {
	border:2px solid #79B5D6;
	color:#555;
}

#header form {
	padding:27px 25px 20px 25px;
	float:right;
	background:#fff;
	width:160px;
	margin:-20px -20px 0 0 !important;
	margin:-20px -10px 0 0;
	border:none;
}

#header h1 {
	overflow: hidden;
	margin:0;
}

.site-heading-name {
	float:left;
	font:125% Georgia;
	color:#333;
	padding:5px 20px 5px 5px;
	margin:0 20px 0 0;
}

.site-heading-description {
	float: right;
	font:75% Georgia;
	font-weight:normal;
	color:#555;
	padding:14px 10px 0 0;
	border:none;
}

.gdir-gtranslate-switcher {
	text-align: left;
	margin: 0;
}

.gdir-gtranslate-panel {
	padding: 0;
	overflow: hidden;
}

.gdir-gtranslate-sidebar {
	min-height: 34px;
	padding: 7px 12px;
	background: #E7F5FC;
	border-bottom: 1px solid #A9D6EF;
	display: flex;
	align-items: center;
  justify-content: center;
	gap: 10px;
}

.gdir-gtranslate-sidebar .gtranslate_wrapper {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	line-height: 1;
}

.gdir-gtranslate-sidebar .gtranslate_wrapper a,
.gdir-gtranslate-sidebar .gtranslate_wrapper img {
	margin-right: 6px;
	vertical-align: middle;
}


#header #nav {
	clear:both;
	background:url(../images/nav.jpg) top repeat-x #4F9EC9;
	border-bottom:2px solid #4F9EC9;
	border-top:2px solid #388CBA;
	border-left:2px solid #388CBA;
	border-right:2px solid #388CBA;
	padding:10px 10px 10px 0 !important;
	padding:4px 10px 10px 0;
}

#header a em {
	font-style:normal;
	text-decoration:underline;
}

#header #nav a {
	font:120% Arial;
  color: #222 !important;
	text-decoration:none;
	font-weight: bold;
	padding:8px;
}

#header #nav a:hover {
	background:#4F9EC9;
}

#header #nav a.active {
	background:#4F9EC9;
}

#header #nav li {
	display:inline;
	list-style:none;
	margin:0 1px 0 0;
}

#header .mobile-mainnav {
	display: none;
}

#header #subnav {
	background:#4F9EC9;
	padding:5px 7px 7px 7px;
	font:90% Verdana;
	color:#DEEDF5;
	border-bottom:2px solid #388CBA;
	border-left:2px solid #388CBA;
	border-right:2px solid #388CBA;
}

#header #subnav li {
	list-style:none;
	display:inline;
}

#header #subnav a {
	color:#DEEDF5;
	text-decoration:none;
	font:100% Verdana;
	padding:5px;
	border-bottom:2px solid #4F9EC9;
}

#header #subnav a:hover {
	border-bottom:2px solid #388CBA;
}

#header #subnav a.active {
	border-bottom:2px solid #388CBA;
}


#sidebar {
	width:260px;
	padding:10px 20px 0 20px;
	float:left;
	color:#666;
}

#sidebar .sidebar-panel,
#sidebarright .sidebar-panel {
	margin: 0 0 16px;
	border: 1px solid rgba(56, 140, 186, 0.45);
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(30, 88, 120, 0.08);
	overflow: hidden;
}

#sidebar .sidebar-panel > span,
#sidebarright .sidebar-panel > span,
#sidebarright .sidebar-panel > h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 8px 10px;
	border-bottom: 1px solid rgba(56, 140, 186, 0.45);
	background: rgba(79, 158, 201, 0.12);
	color: #255f7f;
	font: bold 120% Arial;
}

#sidebarright .member-panel-title span {
	display: inline-block;
	color: inherit;
}

.sidebar-login-form {
	padding: 10px;
}

.sidebar-login-form label {
	display: block;
	margin: 0 0 8px;
}

.sidebar-login-form label span {
	display: block;
	margin: 0 0 4px;
	color: #52636b;
	font: bold 11px Verdana, sans-serif;
}

.sidebar-login-form input[type="text"],
.sidebar-login-form input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: 6px 7px;
	border: 1px solid #b8daeb;
	border-radius: 4px;
	background: #fbfdfe;
	color: #333;
	font: 12px Verdana, sans-serif;
}

.sidebar-login-form input[type="text"]:focus,
.sidebar-login-form input[type="password"]:focus {
	border-color: #66a9cc;
	background: #fff;
	outline: none;
	box-shadow: 0 0 0 2px rgba(79, 158, 201, 0.16);
}

.sidebar-login-form input[type="submit"] {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid #b9ddec;
	border-radius: 4px;
	background: #eaf6fb;
	color: #247596 !important;
	font: bold 12px Arial, sans-serif;
	text-decoration: none;
	cursor: pointer;
}

.sidebar-login-form input[type="submit"]:hover {
	border-color: #72b8d8;
	background: #d9eef8;
	text-decoration: none;
}

.sidebar-member-actions {
	margin: 0 !important;
	padding: 0 10px 10px 10px;
	list-style: none;
}

.sidebar-member-actions li {
	margin: 6px 0 !important;
}

.sidebar-member-actions a {
	color: #26799d;
	font-weight: bold;
}

.sidebar-member-status {
	padding: 10px;
}

.sidebar-member-status p {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0 !important;
	color: #52636b !important;
	font-weight: bold !important;
}

.sidebar-member-icon,
.sidebar-link-icon {
	flex: 0 0 auto;
	display: block;
	border: 0;
}

.panel-icon {
	flex: 0 0 auto;
	display: block;
	width: 18px;
	height: 18px;
	border: 0;
}

#sidebar .sidebar-panel > p,
#sidebarright .sidebar-panel > p,
#sidebar .sidebar-panel > ul,
#sidebarright .sidebar-panel > ul,
#sidebar .sidebar-panel > form,
#sidebarright .sidebar-panel > form,
#sidebar .sidebar-panel .tagcloud-inline,
#sidebarright .sidebar-panel .tagcloud-inline {
	margin: 0;
	padding: 10px;
}

#sidebar .sidebar-panel .text-center,
#sidebarright .sidebar-panel .text-center {
	padding: 0 10px 10px;
}

.social-share-links {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin: 0;
	padding: 10px;
}

.social-share-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 34px;
	border: 1px solid #a7d3ec;
	border-radius: 4px;
	background: #e9f6fc;
}

.social-share-link:hover {
	background: #d8effb;
	border-color: #7fc2e4;
}

.social-share-icon {
	display: block;
	width: 24px;
	height: 24px;
	border: 0;
}

#sidebar .sidebar-panel-boost {
	text-align: center;
}

#sidebar .sidebar-panel-boost .sitetable {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}

#sidebar .sidebar-panel-boost .text-center {
	padding: 0;
}

#sidebar .sidebar-panel-boost .text-center a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
}

#sidebar .sidebar-panel-boost .site-title-small {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
}

#sidebar .sidebar-panel-boost .gdir-thumb-shell {
	background: transparent;
	border: 0;
}

#sidebar .sidebar-panel-boost .gdir-thumb-shell-m,
#sidebar .sidebar-panel-boost .gdir-thumb-shell-l,
#sidebar .sidebar-panel-boost .gdir-thumb-shell-x {
	width: 200px;
	height: auto;
	aspect-ratio: 4 / 3;
}

#sidebar .sidebar-panel-boost img {
	max-width: 100%;
	height: auto;
}

#sidebar .sidebar-panel-boost .gdir-thumb-image {
	height: 100%;
}

#sidebar p {
	margin:15px 0;
}

#sidebar p.news {
	background: #fff;
}

.sidebar-info-body span,
.sidebar-info-body strong {
	display: block;
}

.sidebar-info-body {
	color: #757575 !important;
}

.sidebar-info-label {
	margin-bottom: 3px;
	color: #777;
	font-size: 11px;
}

.sidebar-info-title {
	margin-bottom: 7px;
	color: #255f7f;
	line-height: 1.3;
}

#sidebar p.news a.more {
	display:block;
	text-align:right;
	font:80% Verdana;
	text-transform:uppercase;
	letter-spacing:1px;
	text-decoration:none;
	padding:10px 0;
}

#sidebar p.news a:hover {
	color:#666;
}

#sidebar .subnav {
	border-top:0;
}

#sidebar .subnav li {
	list-style:none;
	border-bottom:1px solid rgba(56, 140, 186, 0.28);
}

#sidebar .subnav li a {	
	color:#666;
	text-decoration:none;
	display:block;
	padding:5px 8px;
	border-left:3px solid transparent;
	border-radius:3px;
}

#sidebar .subnav li a:hover {
	background: rgba(79, 158, 201, 0.12);
	color:#174f70;
}

#sidebar .subnav li.is-current a {
	background: rgba(79, 158, 201, 0.18);
	border-left-color:#388cba;
	color:#174f70;
	font-weight:bold;
}

#sidebarright .sidebar-panel > ul.subnav {
	margin: 0;
	padding: 10px;
	list-style: none;
}

#sidebarright .sidebar-panel > ul.subnav li {
	margin: 0;
	list-style: none;
	border-bottom: 1px solid rgba(56, 140, 186, 0.28);
}

#sidebarright .sidebar-panel > ul.subnav li:last-child {
	border-bottom: 0;
}

#sidebarright .sidebar-panel > ul.subnav a {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 5px 8px;
	border: 0;
	border-left: 3px solid transparent;
	border-radius: 3px;
	color: #666;
	text-decoration: none;
}

#sidebarright .sidebar-panel > ul.sidebar-member-nav a {
	font-weight: bold;
}

#sidebarright .sidebar-panel > ul.sidebar-member-nav a.sidebar-member-logout {
	color: #9b531f;
}

#sidebarright .sidebar-panel > ul.subnav a:hover {
	background: rgba(79, 158, 201, 0.12);
	border: 0;
	border-left: 3px solid transparent;
	color: #174f70 !important;
}

#sidebarright .recommendations-panel > h2::before {
	content: "";
	flex: 0 0 auto;
	display: block;
	width: 18px;
	height: 18px;
	background: url("../images/sidebar-categories.svg") center / 18px 18px no-repeat;
}

#sidebarright .discoverSite {
	padding: 10px;
	text-align: center;
}

#sidebarright .discoverImg {
	display: block;
	border: 0;
	text-decoration: none;
}

#sidebarright .discoverImg img {
	max-width: 100%;
	height: auto;
	border: 0;
}

#sidebarright .discoverName, #sidebar .boostName {
	margin: 10px;
  color: #255f7f;
  font-size: inherit;
  font-weight: bold;
  font-family: inherit;
  line-height: 22px;
  letter-spacing: 0;
}

#sidebarright .discoverDesc {
	margin: 0 0 8px;
	color: #666;
	font-size: 12px;
	line-height: 1.35;
}

#sidebarright .discoverSite .partner {
	display: inline-block;
	border: 0;
	color: #255f7f;
	text-decoration: none;
}

#sidebarright .discoverSite .partner:hover {
	text-decoration: underline;
  color: rgb(17, 159, 240) !important;
}

#sidebar #recherche,
#sidebarright #recherche {
	margin: 0;
}

#sidebar #recherche p,
#sidebarright #recherche p {
	display: flex;
	gap: 6px;
	align-items: center;
	margin: 0;
}

.visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#sidebar #search,
#sidebarright #search {
	flex: 1 1 auto;
	min-width: 0;
	height: 26px;
	box-sizing: border-box;
	padding: 5px 7px;
	border: 1px solid rgba(56, 140, 186, 0.45);
	border-radius: 3px;
	background: #fff;
	color: #555;
	font: 12px Arial, sans-serif;
	box-shadow: inset 0 1px 2px rgba(30, 88, 120, 0.06);
}

#sidebar #search:focus,
#sidebarright #search:focus {
	border-color: rgba(56, 140, 186, 0.62);
	outline: none;
	box-shadow: 0 0 0 2px rgba(79, 158, 201, 0.12);
}

#sidebar #recherche input[type="submit"],
#sidebarright #recherche input[type="submit"] {
	flex: 0 0 auto;
	height: 26px;
	padding: 0 9px;
	border: 1px solid rgba(56, 140, 186, 0.45);
	border-radius: 3px;
	background: rgba(79, 158, 201, 0.12);
	color: #255f7f;
	font: bold 11px Arial, sans-serif;
	cursor: pointer;
}

#sidebar #recherche input[type="submit"]:hover,
#sidebarright #recherche input[type="submit"]:hover {
	background: rgba(79, 158, 201, 0.22);
	border-color: rgba(56, 140, 186, 0.62);
	color: #174f70;
}

#sidebar input {
	padding:2px;
	background:#f6f6f6;
	border:1px solid #ccc;
	color:#666;
	font:90% Verdana;
	max-width:100%;
}

#sidebarright {
	width:260px;
	float:right;
	padding:10px 20px 0 20px;
	background:none;
}

#sidebarright p {
	font:90% Verdana;
	color:#777;
	line-height:20px;
	margin:10px 0;
}

#sidebarright h2 {
	font:160% Arial;
	color:#333;
	margin:10px 0;
	border:none;
}

#sidebarright ul {
	margin:10px 0 10px 15px;
	font:90% Verdana;
}

#sidebarright ul li {
	margin:5px 0;
}

#sidebarright a {
	border-bottom:1px dotted #eee;
	color:#444;
	text-decoration:none;
}

#content {
	margin:0 290px 0 290px;
	padding:20px 0 0 0;
  width: auto;
  height: auto;
}

#contentnorightbar {
	margin:0 0 0 290px;
	padding:20px 0 0 20px;
}

p {
	margin:15px 0;
	line-height:22px;
}

h2 {
	font:160% Arial;
	color:rgb(37, 95, 127);
	border-bottom:2px solid #f6f6f6;
}

a:hover,
h4 a:hover {
	color:rgb(17, 159, 240) !important;
}

h4 {
	font-family: Arial;
	font-weight: bold;
	color:rgb(37, 95, 127);
}

h4 a {
	color:rgb(37, 95, 127);
	text-decoration:none;
}

#footer {
	clear:both;
	border-top:1px solid #eee;
	padding:10px;
	margin:30px 0 0;
}

.footer-nav-line {
	margin-bottom: 6px;
}

.footer-nav-line a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	margin: 0 8px;
}

.legal-content {
	margin: 15px 0 10px;
	line-height: 1.8;
}

a {
	color:rgb(37, 95, 127);
	text-decoration:none;
}

a:hover {
	text-decoration:underline;
}

h3 {
	font:140% "Trebuchet MS";
	margin:10px 0;
}

#content ul {
	margin-bottom: 3px;
	color:#333;
}
#content ul span {
	color:#444;
}
#contentnorightbar ul {
	margin:15px 0 15px 20px;
	line-height:25px;
	padding:15px 0;
	border-top:1px solid #eee;
	border-bottom:1px solid #eee;
	color:rgb(37, 95, 127);
}
#contentnorightbar ul span {
	color:#444;
}

img {
	border: 0 !important;
}

form {
	padding:10px 5px
}

label {
	display:block;
	font-weight:bold;
	color:#444;
	margin:5px 0;

}
input {
	padding: 2px;
	margin: 2px;
	border :1px dotted #ccc;
	font:90% Verdana;
	color:#666;
}

textarea {
	padding:4px;
	font:90% Verdana;
	border:1px solid #eee;
	height:200px;
	display:block;
	color:#777;
}

blockquote p {
	font:160% Georgia;
	color:#aaa;
	padding:0 10% 0 0;
	line-height:30px;
}

/* AutoCompletion CSS */

#autocompletion {
    border: 1px solid #999;
    background: #fafafa;
	text-align: left;
  }
  #autocompletion ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #autocompletion a {
    display: block;
    padding: .2em .3em;
    text-decoration: none;
    color: #333;
  }
  .selected {
    background: #CCC;
  }

.vote a{
	color: #119FF0;
	font-size: 28px;
	font-weight: bold;
}

.votetable {
	background: white;
	width : 70px;
	height: 92px;
	margin-right: 5px;
}

/*ajout resux*/
.votelargeur {width: 80px;}

a.cat_display {
	text-decoration: none;
	font-weight: bold;
	font-size: 12px;
	color:#255f7f;
}

.lien {
	text-align: justify;
}

.lien a {
	font-size: 12px;
	color: #255f7f;
	text-decoration: none;
	font-weight: bold;
}

 a.cat_display:hover, .lien a:hover {
	color: #119ff0 !important;
	text-decoration: underline;
}

.lien span {
	color: #255f7f;
}

.ariane {
	color: #A9A9A9;
}

.ariane a {
	color: #A9A9A9;
	text-decoration: underline;
	font-weight: normal;
	font-size: 11px;
}

.ariane a:hover {
	color: #A9A9A9;
	text-decoration: none;
	font-weight: normal;
	font-size: 11px;
}

.sitetable {
	border: 1px solid #d9eaf2;
  border-radius: 5px;
  background: #fbfdfe;
  box-shadow: rgba(56, 140, 186, 0.16) 0 1px 2px;
  box-sizing: border-box;
}

.warning {
	background: #CFEBF7 url(../images/notice.png) no-repeat 1em ;
	border: 2px solid #000;
	text-align: center;

	padding: 10px;
	font-family: tahoma, verdana;
	font-weight: bold;
	max-width: 780px;
}


/* Modern Layout Utilities */
.text-center,.pack-cell,.status-box { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
.text-red { color: #f33; }
.text-green { color: #28a745; }
.text-small { font-size: 0.85em; }
.text-bold { font-weight: bold; }
.float-right { float: right; }
.float-left { float: left; }
.m-0 { margin: 0; }
.my-20 { margin: 20px 0; }
.margin-auto { margin: auto; }
.border-0 { border: 0; }
.d-inline { display: inline; }
.d-none { display: none; }
.valign-top { vertical-align: top; }
.valign-middle { vertical-align: middle; }
.w-95 { width: 95%; }
.w-100 { width: 100%; }
.antibot-size { width: 120px; height: 30px; }
.tagcloud-panel h2 {
	margin-bottom: 10px;
	padding-bottom: 0;
}

.tagcloud-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 0;
	padding: 10px;
	font: 90% Verdana;
	line-height: 1.4;
}

.tagcloud-inline a {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	margin: 0;
	padding: 3px 7px;
	border: 1px solid rgba(56, 140, 186, 0.45) !important;
	border-radius: 3px;
	background: rgba(79, 158, 201, 0.12);
	color: #255f7f !important;
	font-size: 11px !important;
	font-weight: normal;
	line-height: 1.25;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.mobile-nav-select {
	display: none;
}
.font-14 { font-size: 14px; }
.tag-title { display: inline; font-size: 14px; }
.site-desc { font-size: 12px; font-weight: bold; font-family: verdana,arial; }

html {
	box-sizing: border-box;
}

*, *::before, *::after {
	box-sizing: inherit;
}

.section-title {
	text-align: center;
	font-size: 14px;
	border-bottom: 1px dashed #ccc;
}

.main-divider {
	background-color: #CCC;
	color: #CCC;
	border: 0;
	height: 1px;
	margin-bottom: 18px;
}

.content-breadcrumb {
	margin: 0 0 16px;
	padding: 3px 0 8px;
	color: #777;
	font-size: 12px;
	line-height: 1.35;
	border-bottom: 1px dotted #ddd;
	text-align: left;
}

.content-breadcrumb a {
	color: #255f7f;
	font-weight: bold;
	text-decoration: none;
}

.content-breadcrumb a:hover {
	text-decoration: underline;
}

.site-row {
	display: block;
	margin: 0 0 18px;
}

.site-main-cell {
	position: relative;
	overflow: hidden;
}

.site-entry-card {
	width: 100%;
}

.site-entry-title {
	padding: 1px 0 7px 8px;
	line-height: 1.25;
}

.site-entry-title a {
	display: inline-block;
}

.site-entry-content {
	padding: 0 5px 7px 5px;
}

.gdir-thumb-shell {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #f5f5f5 url(/images/nothumb.gif) center center no-repeat;
	background-size: contain;
}

.gdir-site-thumb-inline {
	flex: 0 0 auto;
	margin: 0;
}

.site-entry-body {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 10px;
}

.site-entry-body--text-only {
	display: block;
}

.site-entry-thumb {
	display: block;
	line-height: 0;
}

.site-entry-thumb .gdir-thumb-shell-l,
.site-entry-thumb .gdir-thumb-shell-x {
	width: 200px;
	height: auto;
	aspect-ratio: 4 / 3;
}

.site-entry-description {
	min-width: 0;
}

.site-entry-category {
	margin-top: 4px;
}

.gdir-pagination {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 14px 0 0;
	white-space: nowrap;
}

.gdir-pagination__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	min-height: 28px;
	padding: 0 8px;
	border: 1px solid #c9e5f3;
	border-radius: 4px;
	background: #f4fbff;
	color: #255f7f !important;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	text-decoration: none !important;
}

.gdir-pagination__item:hover {
	border-color: #72b8d8;
	background: #e6f5fc;
	color: #119ff0 !important;
	text-decoration: none !important;
}

.gdir-pagination__item--active {
	border-color: #72b8d8;
	background: #d9eef8;
	color: #2f3d43 !important;
}

@media (max-width: 560px) {
	.gdir-pagination {
		gap: 4px;
	}

	.gdir-pagination__item {
		min-width: 34px;
		min-height: 34px;
		padding: 0 9px;
	}

	.gdir-pagination__item--mobile-hide {
		display: none;
	}
}

#message.text-center,
#tag.text-center {
	margin-bottom: 14px;
}

.site-entry-card p {
	margin: 0;
}

.gdir-thumb-shell-t {
	width: 90px;
	height: 68px;
	aspect-ratio: 90 / 68;
}

.gdir-thumb-shell-s {
	width: 120px;
	height: 90px;
	aspect-ratio: 120 / 90;
}

.gdir-thumb-shell-m {
	width: 200px;
	height: 150px;
	aspect-ratio: 200 / 150;
}

.gdir-thumb-shell-l {
	width: 400px;
	height: 300px;
	aspect-ratio: 400 / 300;
}

.gdir-thumb-shell-x {
	width: 480px;
	height: 360px;
	aspect-ratio: 480 / 360;
}

.gdir-thumb-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: inherit;
	color: transparent;
	font-size: 0;
	line-height: 0;
	text-indent: -9999px;
	overflow: hidden;
}

.site-title-small {
	font-size: 10px;
}

.premium-corner-ribbon {
	position: absolute;
	top: 12px;
	right: -34px;
	z-index: 2;
	width: 132px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(217, 241, 255, .98);
	border: 1px solid rgba(142, 202, 230, 1);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
	color: #1f6489;
	font: bold 10px Arial, sans-serif;
	letter-spacing: .08em;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	transform: rotate(45deg);
	pointer-events: none;
}

.premium-corner-ribbon span {
	display: block;
	line-height: 1;
	transform: translateX(4px);
}

.site-main-cell-premium .site-entry-title {
	padding-right: 84px;
}

.alert-panel {
	text-align: center;
}

.cat-list-clean {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 28px;
	row-gap: 12px;
}

#dir {
	margin-bottom: 18px;
}

.cat-list-clean li {
	margin: 0;
	min-width: 0;
}

.cat-main-row {
	display: flex;
	align-items: center;
	gap: 6px;
	line-height: 1.2;
}

.cat-icon {
	flex: 0 0 auto;
	border: 0;
}

.tag-link {
	display: inline-block;
}

.tagcloud-inline a:hover {
	background: rgba(79, 158, 201, 0.22);
	border-color: rgba(56, 140, 186, 0.62) !important;
	color: #174f70 !important;
	text-decoration: none;
}
.text-danger { color: #FF0000; }
.text-muted-link { color: #555; }
.close-link { color: #FF0000; float: right; background: transparent; border: 0; padding: 0; cursor: pointer; }
.status-required { color: green; }
.cta-button {
	margin-top: 10px;
}
.cta-button.warn {
	background: #fff3e8;
	border-color: #f2b27a;
	color: #a14e16 !important;
}
.cta-button.warn:hover {
	background: #ffe5cf;
	border-color: #e69554;
	color: #8f3f0f !important;
}

.antibot-img { border: 0; width: 120px; height: 30px; }
.captcha-row,
.report-captcha-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.captcha-row input[type="text"],
.report-captcha-row input {
	box-sizing: border-box;
	flex: 0 0 200px;
	width: 200px;
	max-width: 100%;
	height: 34px;
	padding: 8px 9px;
	border: 1px solid #b9d8ea;
	border-radius: 4px;
	background: #fbfdfe;
	color: #333;
	font: 12px Verdana, sans-serif;
	line-height: 20px;
}
.captcha-row input[type="text"]:focus,
.report-captcha-row input:focus {
	border-color: #66a9cc;
	background: #fff;
	outline: none;
	box-shadow: 0 0 0 2px rgba(79, 158, 201, 0.16);
}
.captcha-row img,
.report-captcha-row img {
	display: block;
	width: 120px;
	height: 36px;
	object-fit: cover;
	border: 0;
	border-radius: 3px;
}
.captcha-refresh,
.report-captcha-refresh {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 0;
	background: transparent;
	color: #235f80;
	cursor: pointer;
	font-size: 22px;
	font-weight: bold;
	line-height: 1;
	text-decoration: none !important;
	padding: 0;
}
.captcha-refresh:hover,
.captcha-refresh:focus,
.report-captcha-refresh:hover,
.report-captcha-refresh:focus {
	color: #119ff0;
	text-decoration: none !important;
}
.thumb-col { width: 120px; }
.form-layout-table,
.form-fields-table,
.contact-form-table {
	border-collapse: collapse;
	border: 0;
}

.hidden {
	display: none;
}

.form-fields-table td,
.contact-form-table td {
	padding: 4px;
}

@media (max-width: 980px) {
	body {
		margin: 8px;
	}
	#wrapper {
		min-width: 320px;
	}
	#innerwrapper {
		padding: 12px;
	}
	#header h1,
	.site-heading-name,
	.site-heading-description {
		float: none;
		display: block;
		text-align: center;
		padding: 4px 0;
		margin: 0;
	}
	#header #nav {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
		justify-content: center;
		padding: 8px;
	}
	#header #nav li {
		display: block;
		margin: 0;
	}
	#header #nav a {
		display: block;
		padding: 7px 9px;
		text-align: center;
	}
	#sidebar,
	#sidebarright {
		float: none;
		width: 100%;
		padding: 8px 0;
		background: none;
	}
	#content,
	#contentnorightbar {
		margin: 0;
		padding: 10px 0 0;
	}
	.cat-list-clean {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.site-row {
		width: 100%;
	}
	.votelargeur {
		width: 100%;
	}
	.votetable {
		width: 100%;
		height: auto;
		margin: 0 0 8px 0;
	}
	.site-main-cell {
		width: 100%;
	}
	img {
		max-width: 100%;
		height: auto;
	}
}

/* Tag cloud size classes (replaces inline font-size) */
.tag-size-8{font-size:8px}.tag-size-9{font-size:9px}.tag-size-10{font-size:10px}.tag-size-11{font-size:11px}.tag-size-12{font-size:12px}.tag-size-13{font-size:13px}.tag-size-14{font-size:14px}.tag-size-15{font-size:15px}.tag-size-16{font-size:16px}.tag-size-17{font-size:17px}.tag-size-18{font-size:18px}.tag-size-19{font-size:19px}.tag-size-20{font-size:20px}.tag-size-21{font-size:21px}.tag-size-22{font-size:22px}.tag-size-23{font-size:23px}.tag-size-24{font-size:24px}.tag-size-25{font-size:25px}.tag-size-26{font-size:26px}.tag-size-27{font-size:27px}.tag-size-28{font-size:28px}.tag-size-29{font-size:29px}.tag-size-30{font-size:30px}.tag-size-31{font-size:31px}.tag-size-32{font-size:32px}.tag-size-33{font-size:33px}.tag-size-34{font-size:34px}.tag-size-35{font-size:35px}.tag-size-36{font-size:36px}.tag-size-37{font-size:37px}.tag-size-38{font-size:38px}.tag-size-39{font-size:39px}.tag-size-40{font-size:40px}

/* Extra mobile refinements */
@media (max-width: 768px) {
  #header #nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: center;
  }
  #header #nav li {
    margin: 0;
  }
  #header #nav a {
    display: inline-block;
    font-size: 13px;
    padding: 6px 8px;
  }
  #content, #contentnorightbar {
    font-size: 14px;
  }
  .content-breadcrumb {
    display: grid;
    gap: 6px;
    font-size: 0;
    border-bottom: 1px dotted #ddd;
  }
  .content-breadcrumb a {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 4px 8px;
    border: 1px solid #c9e5f3;
    border-radius: 4px;
    background: #f4fbff;
    color: #2f3d43;
    font-size: 12px;
    font-weight: bold;
    text-decoration: none;
    box-sizing: border-box;
  }
  .content-breadcrumb a::before {
    content: "";
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    margin-right: 8px;
    background: url("../images/category-chevron.svg") center center / 12px 12px no-repeat;
  }
  .section-title {
    font-size: 12px;
  }
  .mobile-nav-select {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 9px 34px 9px 10px;
    border: 0;
    border-radius: 0;
    background: #eaf3f8;
    color: #245d7d;
    font: bold 13px Verdana, sans-serif;
  }
  .tagcloud-panel .tagcloud-inline {
    display: none;
  }
  .mobile-tag-select {
    background: transparent;
  }
  #dir .cat-list-clean {
    display: none;
  }
	  form {
	    padding: 8px;
	  }
  form table,
  form tbody,
  form tr,
  form td {
    display: block;
    width: 100%;
  }
  .thumb-col {
    width: 100%;
    text-align: left;
    padding-top: 8px;
  }
  .thumb-col .gdir-thumb-shell {
    max-width: 120px;
    height: auto;
  }
  .thumb-col .gdir-thumb-shell img {
    width: 100%;
    height: 100%;
  }
  input[type="text"],
  input[type="email"],
  input[type="url"],
  textarea,
  select {
    width: 100% !important;
    max-width: 100%;
  }
}

.gdir-message {
  position: relative;
  margin: 12px 0;
  padding: 13px 16px;
  border: 1px solid #cfd8dc;
  border-left: 4px solid #9fb1bb;
  border-radius: 6px;
  background: #f7f9fa;
  color: #44545c;
  font: bold 12px Verdana, sans-serif;
  line-height: 1.45;
  text-align: left;
  box-shadow: 0 2px 8px rgba(37, 75, 95, 0.06);
}
.gdir-message-error {
  border-color: #d98c8c;
  border-left-color: #b53b3b;
  background: #fff2f2;
  color: #8a1f11;
}
.gdir-message-success {
  border-color: #9bc79b;
  border-left-color: #58a867;
  color: #1f6b2b;
}
.gdir-message-warning {
  border-color: #e3c166;
  border-left-color: #c68b20;
  color: #755013;
}
.form-result-message {
  margin: 18px 0;
}
.form-result-link {
  margin-top: 10px;
}
.form-result-expiry-notice {
  margin: 10px 0 0;
  color: #8a1f11;
  line-height: inherit;
}
.gdir-donation-notice {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(88, 168, 103, 0.35);
  color: #2f5f38;
}
.gdir-donation-notice p {
  margin: 6px 0 10px;
  font-weight: normal;
}
.gdir-donation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.gdir-donation-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 12px;
  border-radius: 4px;
  color: #fff !important;
  font-weight: bold;
  text-decoration: none !important;
}
.gdir-donation-paypal {
  background: #0d9bd7;
}
.gdir-donation-paypal:hover,
.gdir-donation-paypal:focus {
  background: #087fb3;
  color: #fff !important;
  text-decoration: none !important;
}
.gdir-donation-kofi {
  background: #d60000;
}
.gdir-donation-kofi:hover,
.gdir-donation-kofi:focus {
  background: #aa0000;
  color: #fff !important;
  text-decoration: none !important;
}

.gdir-button,
.report-button,
.cta-button,
.claim-entry-button,
.single-vote-action a,
.single-vote-action button,
.single-vote-action .vote-action {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  min-height: 24px;
  padding: 3px 10px;
  border: 1px solid #b9ddec;
  border-radius: 4px;
  background: #eaf6fb;
  color: #26799d !important;
  cursor: pointer;
  font-weight: bold;
  line-height: 1.2;
  text-decoration: none !important;
}

.gdir-button-secondary,
.report-button-secondary {
  background: #fff3e8;
  color: #a14e16 !important;
  border-color: #f2b27a;
}

.gdir-button-primary,
.report-button-primary {
  background: #eaf6fb;
  color: #26799d !important;
}

.gdir-button:hover,
.gdir-button:focus,
.report-button-primary:hover,
.cta-button:hover,
.claim-entry-button:hover,
.claim-entry-button:focus,
.single-vote-action a:hover,
.single-vote-action button:hover,
.single-vote-action button:focus,
.single-vote-action .vote-action:hover {
  border-color: #72b8d8;
  background: #d9eef8;
  color: #26799d !important;
  text-decoration: none !important;
}

.gdir-button-secondary:hover,
.gdir-button-secondary:focus,
.report-button-secondary:hover,
.report-button-secondary:focus {
  border-color: #e69554;
  background: #ffe5cf;
  color: #8f3f0f !important;
  text-decoration: none !important;
}

.gdir-button:disabled,
.report-button:disabled,
.cta-button:disabled {
  cursor: not-allowed;
  opacity: 1;
}

.form-alerts {
  max-width: 860px;
  margin: 0 auto 12px;
}

.form-alerts .warning {
  position: relative;
  display: grid;
  margin: 0 0 12px;
  padding: 0;
  max-width: none;
  border: 0;
  background: transparent;
  text-align: left;
  font: inherit;
}

.form-alerts .warning > * {
  grid-area: 1 / 1;
}

.form-alerts .gdir-message {
  margin: 0;
  padding-right: 42px;
}

.form-alert-close {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  top: 9px;
  right: 10px;
  justify-self: end;
  align-self: start;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(31, 107, 43, 0.25);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  padding: 0;
  text-decoration: none;
}

.form-alert-close img {
  display: block;
  width: 12px;
  height: 12px;
}

.form-alert-close:hover {
  background: #fff;
  border-color: rgba(31, 107, 43, 0.45);
  text-decoration: none;
}

.gdir-message > .form-alert-close {
  position: absolute;
  top: 9px;
  right: 10px;
}

.gdir-required { color: green; }
.gdir-thumb-preview { width: 120px; height: 90px; border: 1px solid #ccc; }
.gdir-404 { margin: 0 auto; }
.gdir-404-title { color: #c00; font-size: 26px; font-weight: bold; }

@media (max-width: 600px) and (orientation: portrait) {
  .site-entry-body {
    display: block;
  }
  .site-entry-thumb {
    margin: 0 0 8px 0;
  }
  .gdir-site-thumb-inline {
    display: flex;
    margin: 0 auto;
  }
  .site-entry-description {
    display: block;
  }
}

@media (max-width: 620px) {
	.cat-list-clean {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 980px) {
  #header #nav.desktop-mainnav {
    display: none;
  }
  #header .mobile-mainnav {
    clear: both;
    display: block;
    position: relative;
    margin: 10px 0 0;
    border: 2px solid #388CBA;
    background: #4F9EC9;
    z-index: 20;
    text-align: center;
  }
  #header select.mobile-nav-select.mobile-mainnav {
    background: #4F9EC9;
    color: #061f2e;
  }
  #header .mobile-mainnav summary {
    display: block;
    cursor: pointer;
    padding: 10px 12px;
    background: url(../images/nav.jpg) top repeat-x #4F9EC9;
    color: #102b3a;
    font: bold 120% Arial;
    list-style: none;
    text-align: center;
  }
  #header .mobile-mainnav summary::-webkit-details-marker {
    display: none;
  }
  #header .mobile-mainnav summary::before {
    content: "\2630";
    margin-right: 8px;
  }
  #header .mobile-mainnav[open] summary {
    border-bottom: 1px solid #388CBA;
  }
  #header .mobile-mainnav ul {
    position: absolute;
    top: 100%;
    left: -2px;
    right: -2px;
    z-index: 30;
    margin: 0;
    padding: 6px;
    border: 2px solid #388CBA;
    border-top: 0;
    background: #4F9EC9;
    box-shadow: 0 8px 14px rgba(0, 0, 0, 0.18);
  }
  #header .mobile-mainnav li {
    list-style: none;
    margin: 0;
  }
  #header .mobile-mainnav a {
    display: block;
    padding: 10px 12px;
    border-top: 1px solid rgba(56, 140, 186, 0.45);
    color: #102b3a;
    font: bold 120% Arial;
    text-align: center;
    text-decoration: none;
  }
  #header .mobile-mainnav li:first-child a {
    border-top: 0;
  }
  #header .mobile-mainnav a:hover,
  #header .mobile-mainnav a:focus {
    background: #79B5D6;
  }
}
