:root
{
	--base-font-size:15px;
	--gutter:20px;
	--panel-columns:0px minmax(10rem,1fr) 1fr 1fr 0px;
}

@media screen and (min-width:800px)
{
	:root
	{
		--panel-columns:0px minmax(15.666667rem,25fr) 25fr 44fr 0px;
	}
}

@media screen and (min-width:1020px)
{
	:root
	{
		--panel-columns:1fr 250px 250px 440px 1fr;
	}
}

@media screen and (min-width:1510px)
{
	:root
	{
		--panel-columns:25fr 25fr 25fr 44fr 25fr;
		--base-font-size:calc(15px + 5 * ((100vw - 1510px) / 600));
	}
}

html
{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	scroll-behavior:smooth;
}

*,*:before,*:after
{
	-webkit-box-sizing:inherit;
	box-sizing:inherit;
}

*::selection
{
	background-color:rgb(77,77,77);
	color:white;
}

html
{
	-webkit-text-size-adjust:none;
	
	background-color:white;
	margin:0;
	padding:0;
	font-size:var(--base-font-size);
	font-family:'Barlow',sans-serif;
	line-height:1.5;
	color:rgb(51,51,51);
	padding:0;
	margin:0;
	text-align:left;
}

body
{
	margin:0;
	padding:0;
}

address,article,aside,picture,figure,figcaption,footer,header,main,menu,nav,section
{
	display:block;
	font-size:1em;
	font-style:normal;
	font-weight:400;
	margin:0;
	padding:0;
	text-align:left;
}

select,textarea,input,button
{
	font-family:'Barlow',sans-serif;
	font-size:1em;
	line-height:1.2;
	color:rgb(51,51,51);
}

:focus
{
	outline-color:inherit;
	outline-style:dotted;
	outline-width:2px;
}

img
{
	max-width:100%;
	height:auto;
}

a img
{
	border:none;
}

@media screen
{
	a,a::before,a::after
	{
		transition:background-color 0.3s,color 0.3s,text-decoration-color 0.3s,background-image 0.3s;
	}
}

a,a:link,a:visited
{
	color:rgb(2,55,130);
	text-decoration:underline;
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
	-webkit-text-decoration-skip:ink;
	text-decoration-skip:ink;
	text-underline-offset:0.133333em;
	text-decoration-thickness:max(1px,0.066667em);
}

a:focus,a:hover,a:active
{
	color:rgb(241,148,28);
	text-decoration:underline;
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
	-webkit-text-decoration-skip:ink;
	text-decoration-skip:ink;
	text-underline-offset:0.133333em;
	text-decoration-thickness:max(1px,0.066667em);
}

h1
{
	color:rgb(241,148,28);
	font-size:2.2rem;
	font-weight:600;
	line-height:1;
	margin:0;
	padding:0.933333rem 0 1.4rem;
}

.section-home h1
{
	display:none;
}

h2
{
	background-color:rgb(51,153,204);
	color:white;
	font-size:1.2rem;
	font-weight:500;
	line-height:1.1;
	margin:0.8rem 0 1rem;
	padding:0.6rem 0.666667rem 0.4rem;
}

@media screen and (min-width:600px)
{
	h2
	{
		background-color: rgb(51,153,204);
		background:linear-gradient(to right, rgb(51,153,204) 0%,rgb(51,153,204) 50%,rgb(51,153,204) 50%,rgb(51,153,204) 51%, white 95%,white 100%);
		padding-right:30%;
	}
}

h2 a,h2 a:link,h2 a:visited
{
	color:white;
}

h2 a:focus,h2 a:hover,h2 a:active
{
	color:white;
}

h3
{
	margin:0;
	padding:0;
	color:rgb(51,51,51);
	font-size:1rem;
	font-weight:700;
}

h4
{
	margin:0;
	padding:0.111111rem 0 0.8rem;
	color:rgb(153,153,153);
	text-transform:uppercase;
	font-size:0.733333rem;
	font-weight:400;
	letter-spacing:1px;
}

p
{
	margin:0;
	padding:0 0 1.2em;
}

.subdued
{
	color:rgb(102,102,102);
}

.large
{
	font-size:1.2rem
}

h1+p
{
	font-size:1.133333rem;
	line-height:1.45;
}

ol
{
	margin:0;
	padding:0 0 1.2em 3em;
}

ol li
{
	margin:0;
	padding:0;
}

ul
{
	margin:0;
	padding:0 0 1.2em 0;
	list-style-type:none;
}

ul li
{
	margin:0;
	padding:0 0 0 1.333333rem;
	position:relative;
}

ul li::before
{
	color:rgb(170,170,170);
	position:absolute;
	top:0.133333rem;
	left:0;
	content:'\203A';
	font-size:1.333333rem;
	line-height:0.8;
}

ul ul,ol ul,ol ol,ul ol
{
	padding-bottom:0;
}

hr
{
	margin:0 0 1.2em 0;
	padding:0;
	background:transparent;
	color:transparent;
	border:none;
	border-top:1px solid #ccc;
	height:1px;
}

fieldset
{
	max-width:36rem;
	border:none;
	padding:10px 10px 0;
	margin:0 0 1.5em 0;
	background-color:rgb(242,242,242);
}

form
{
	margin:0 0 1.5em 0;
	padding:0;
}

.form-field
{
	padding:0 0 1rem;
	width:100%;
}

.form-buttons
{
	padding:0.333333rem 0 1rem;
	width:100%;
}

input.text,textarea
{
	width:100%;
	color:rgb(51,51,51);
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-appearance:none;
	border-radius:0;
	border:1px solid #ccc;
	background-color:white;
	padding:0.4rem 0.6rem;
}

select
{
	color:rgb(51,51,51);
	border-radius:0;
	border:1px solid #ccc;
	background-color:white;
	padding:0.4rem 0.6rem;
}

input.button,button
{
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
	background-color:rgb(241,148,28);
	border:1px solid rgb(241,148,28);
	color:white;
	padding:0.4rem 0.6rem;
	width:auto;
	-webkit-appearance:none;
	border-radius:0;
	text-transform:uppercase;
	letter-spacing:1px;
}

input.button:focus,input.button:hover,input.button:active,button:focus,button:hover,button:active
{
	background-color:rgb(234,117,15);
	border:1px solid rgb(234,117,15);
}

span.error
{
	display:block;
	color:red;
	text-transform:none;
	letter-spacing:0;
}

.form-field label
{
	display:block;
	font-size:0.8rem;
	text-transform:uppercase;
	letter-spacing:1px;
}

.form-field .form-input
{
	display:block;
}

.required
{
	color:red;
}

.form-input .subdued
{
	font-size:0.8rem;
}









.panel
{
	display:grid;
	grid-row-gap:0;
	row-gap:0;
	grid-column-gap:var(--gutter);
	column-gap:var(--gutter);
	grid-template-columns:var(--panel-columns);
	padding-left:0;
	padding-right:0;
}

@media print
{
	.panel
	{
		display:block;
	}
}






.page
{
	overflow:hidden;
	display:grid;
	grid-template-columns:1fr;
	grid-template-rows:min-content 1fr min-content;
	min-height:100vh;
	grid-template-areas:"head" "main" "foot";
	
}
@media print
{
	.page
	{
		min-height:0;
		display:block;
	}
}



.header
{
	grid-area:head;
	border-top:0.333333rem solid rgb(241,148,28);
	background: radial-gradient(ellipse 40rem 13.333333rem at 70% -2rem,white 0%,rgba(0,0,0,0.1) 50%,transparent 100%),
				 radial-gradient(ellipse 13.333333rem 6.666667rem at 40% 8rem,rgba(0,0,0,0.06) 0%,transparent 100%);
	grid-template-areas:".    logo skip soci .   "
						"menu menu menu menu menu"
						"byli byli cont cont cont"
						"figu figu figu figu figu";
	grid-template-rows:min-content min-content min-content;
}

@media screen and (min-width:800px)
{
	.header
	{
		grid-template-areas:".   skip cont soci .   "
							".   logo .    .    .   "
							".   byli menu menu .   "
							".   slog figu figu .   ";
		grid-template-rows:min-content min-content min-content;
		padding:12px 0 0;
	}
	
	.header::before
	{
		background-color:rgb(242,242,242);
		content:'';
		display:block;
		grid-row:-1/-2;
		grid-column:1/-1;
	}
	
	.header::after
	{
		background-color:rgb(102,102,102);
		content:'';
		display:block;
		grid-row:3/4;
		grid-column:-2/-1;
		margin:0 0 calc(-1 * var(--gutter)) calc(-1 * var(--gutter));
	}
}



.skip
{
	grid-area:skip;
	position:relative;
	font-size:0.933333rem;
	
}

.skip a
{
	left:-9999px;
	padding:0;
	position:absolute;
	top:0.333333rem;
	z-index:1;
}

.skip a:focus,.skip a:hover,.skip a:active
{
	left:0;
}


.contact
{
	align-self:center;
	grid-area:cont;
	color:white;
		text-align:left;
		background:rgb(102,102,102);
		margin:0 0 0 calc(-1 * var(--gutter));
		
		font-size:0.933333rem;
		font-weight:500;
	line-height:1.2;
	padding:0.666667rem var(--gutter) 0.533333rem;
}

@media screen and (min-width:800px)
{
	.contact
	{
		color:rgb(102,102,102);
		font-weight:400;
		text-align:right;
		padding:0;
		grid-column-end:-2;
		background:transparent;
		margin:0 3.333333rem 0 0;
	}
}

@media print
{
	.contact
	{
		background-color:transparent;
		color:rgb(102,102,102);
		position:absolute;
		top:var(--gutter);
		right:0;
		margin:0;
		padding:0;
		width:calc(100% - 17rem);
		text-align:right;
	}
}

.contact p
{
	padding:0;
}

.contact span
{
	display:none;
}

@media screen and (min-width:800px)
{
	.contact span
	{
		display:inline;
	padding-right:1rem;
	}
}

@media print
{
	.contact span
	{
		display:block;
		padding-bottom:0.5rem;
	}
}

.contact a,.contact a:link,.contact a:visited
{
	color:currentColor;
	-webkit-text-decoration-color:rgba(102,102,102,0);
	text-decoration-color:rgba(102,102,102,0);
}

.contact a:focus,.contact a:hover,.contact a:active
{
	color:currentColor;
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
}


.contact strong
{
	font-weight:400;
	color:currentColor;
}

@media print,screen and (min-width:800px)
{
	.contact strong
	{
		color:rgb(51,51,51);
	}
}

@media print,screen and (min-width:800px)
{	
	.contact strong::before
	{
		content:'Phone ';
	}
}

.contact strong a,.contact strong a:link,.contact strong a:visited
{
	color:white;
	-webkit-text-decoration-color:rgba(255,255,255,0);
	text-decoration-color:rgba(255,255,255,0);
}

.contact strong a:focus,.contact strong a:hover,.contact strong a:active
{
	color:white;
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
}

@media print,screen and (min-width:800px)
{
	.contact strong a,.contact strong a:link,.contact strong a:visited
	{
		color:rgb(51,51,51);
		-webkit-text-decoration-color:rgba(51,51,51,0);
		text-decoration-color:rgba(51,51,51,0);
	}
	
	.contact strong a:focus,.contact strong a:hover,.contact strong a:active
	{
		color:rgb(51,51,51);
		-webkit-text-decoration-color:currentColor;
		text-decoration-color:currentColor;
	}
}

.logo
{
	grid-area:logo;
	padding:var(--gutter) 0;
		width:100%;
}

@media screen and (min-width:800px)
{
	.logo
	{
		padding-top:0.266667rem;
		padding-bottom:0.866667rem;
	}
}

@media print
{
	.logo
	{
		width:16.666667rem;
	}
}

.logo a
{
	padding:0;
}

@media screen and (min-width:800px)
{	
	.logo a
	{
		padding:0;
	}
}

.logo a,.logo img,.logo svg
{
	display:block;
		width:100%;
		height:auto;
}


.byline
{
	color:white;
	grid-area:byli;
	font-weight:500;
	font-size:0.933333rem;
	line-height:1.2;
	display:grid;
	grid-template-columns:1fr;
}

@media screen and (min-width:800px)
{
	.byline
	{
		font-weight:700;
		padding:0;
		margin:0 calc(-1 * var(--gutter)) 0 0;
	}
}

@media print
{
	.byline
	{
		width:100%;
	}
}

.byline a
{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	background-color:rgb(241,148,28);
	display:block;
	padding:10px 10px 8px var(--gutter);
	width:100%;
}

@media screen and (min-width:800px)
{
	.byline a
	{
		font-size:1.466667rem;
		padding:0.4rem 0 0 0.666667rem;
	}
}

.byline a,.byline a:link,.byline a:visited,
.byline a:focus,.byline a:hover,.byline a:active
{
	color:white;
	text-decoration:none;
}

.menu
{
	grid-area:menu;
	font-size:1.2rem;
	font-weight:500;
	padding:0;
	position:relative;
}

@media screen and (min-width:800px)
{	
	.menu
	{
		font-size:1.133333rem;
		padding:0;
	}
	
}
@media print
{
	.menu
	{
		display:none;
	}
}





.menu button
{
	background-color:transparent;
	border:none;
	color:transparent;
	cursor:pointer;
	display:block;
	font-family:'Calibri','Fira Sans','Arial',sans-serif;
	font-size:0.666667rem;
	font-weight:400;
	letter-spacing:0.02em;
	line-height:1.1;
	height:2.733333rem;
	margin:0;
	outline-color:rgb(51,51,51);
	padding:0;
	position:relative;
	text-align:center;
	text-decoration:none;
	text-transform:uppercase;
	width:3rem;
	
	position:absolute;
	bottom:calc(var(--gutter) - 0.366667rem);
	right:calc(var(--gutter) - 0.6rem);
}

@media screen and (min-width:800px)
{
	.menu button
	{
		display:none;
	}
}

.menu button::-moz-focus-inner
{
	border:none;
	padding:0;
}

#menu-icon
{
	cursor:pointer;
	display:block;
	height:1.4rem;
	left:0.666667rem;
	margin:0;
	pointer-events:none;
	position:absolute;
	top:0.666667rem;
    width:1.666667rem;
}

#menu-icon span
{
	background:rgb(51,51,51);
	display:block;
	height:0.2rem;
	left:0;
	position:absolute;
	-webkit-transform:rotate(0deg);
	-ms-transform:rotate(0deg);
	    transform:rotate(0deg);
	-webkit-transition:.25s ease-in-out;
	-o-transition:.25s ease-in-out;
	transition:.25s ease-in-out;
	width:100%;
}

#menu-icon span:nth-child(1)
{
	top:0;
}

#menu-icon span:nth-child(2),#menu-icon span:nth-child(3)
{
	top:0.6rem;
}

#menu-icon span:nth-child(4)
{
	top:1.2rem;
}

.menu button[aria-pressed=true] #menu-icon span:nth-child(1),.menu button[aria-pressed=true] #menu-icon span:nth-child(4)
{
	left:50%;
	top:0.6rem;
	width:0%;
}

.menu button[aria-pressed=true] #menu-icon span:nth-child(2)
{
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	    transform:rotate(45deg);
}

.menu button[aria-pressed=true] #menu-icon span:nth-child(3)
{
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	    transform:rotate(-45deg);
}

.menu ul
{
	background-color:rgb(60,60,59);
	color:white;
	display:block;
	left:100%;
	margin:0;
	padding:0;
	position:absolute;
	top:0;
	transition:left 300ms ease;
	width:100%;
	z-index:100;
}


.menu button[aria-pressed=true]+ul
{
	left:0%;
}

@media screen and (min-width:330px)
{	
	.menu ul
	{
		width:75%;
	}
	.menu button[aria-pressed=true]+ul
	{
		left:25%;
	}	
}

@media screen and (min-width:480px)
{	
	.menu ul
	{
		width:50%;
	}
	.menu button[aria-pressed=true]+ul
	{
		left:50%;
	}	
}

@media screen and (min-width:800px)
{	
	
	.menu ul
	{
		display:flex;
		position:static;
			margin:0;
		padding:0;
		width:100%;
		list-style:none;
		background-color:rgb(102,102,102);
	}
	
}





.menu li
{
	display:block;
	border-right:1px solid #b3b3b3;
	padding:0;
	margin:0;
	background-image:none;
	position:relative;
}

.menu li::before
{
	content:'';
	display:none;
}

.menu li:last-child
{
	border-right:none;
}


@media screen and (max-width:800px)
{		
	.menu li
	{
		padding:0;
		border-top:1px solid #b3b3b3;
		border-right:none;
	}
	
	.menu li:first-child
	{
		border-top:none;
		display:block;
	}

}

@media screen and (max-width:800px)
{	
	
	.menu li:last-child
	{
		display:block;
	}
	
	.menu li:first-child
	{
		border-top:none;
	}
}


.menu li a
{
	line-height:1.1;
	display:block;
	padding:0.8rem var(--gutter) 0.533333rem;
}

@media screen and (min-width:800px)
{
	
	.menu li a
	{
		padding:0.666667rem 0.666667rem 0.533333rem 0.666667rem;
	}
}

@media screen and (min-width:900px)
{
	
	.menu li a
	{
		padding-right:1.666667rem;
	}
}



.menu li a,.menu li a:link,.menu li a:visited
{
	color:white;
	text-decoration:none;
	background:rgb(102,102,102);
}

.menu li a:focus,.menu li a:hover,.menu li a:active
{
	color:white;
	text-decoration:none;
	background-color:rgb(85,85,85);
}

.menu li.active a,.menu li.active a:link,.menu li.active a:visited,.menu li.active a:focus,.menu li.active a:hover,.menu li.active a:active
{
	color:white;
	text-decoration:none;
	background-color:rgb(85,85,85);
	margin-top:-0.133333rem;
	padding-top:0.8rem;
}





@media screen and (max-width:800px)
{
	.menu li a:focus,.menu li a:hover,.menu li a:active
	{
		text-decoration:underline;
	}
	
	.menu li a:focus,.menu li a:hover,.menu li a:active,.menu li:hover a,.menu li:hover a,.menu li:hover a:link,.menu li:hover a:visited,.menu li:hover a:focus,.menu li:hover a:hover,.menu li:hover a:active
	{
		background-color:transparent;
	}
	
	.menu li.active a,.menu li.active a:link,.menu li.active a:visited,.menu li.active a:focus,.menu li.active a:hover,.menu li.active a:active
	{
		background-color:transparent;
	}
	
}






@media screen and (min-width:800px) and (max-width:900px)
{
	.menu li a span
	{
		display:none;
	}
}




.social
{

	grid-area:soci;
	width:2rem;
	height:2rem;
	justify-self:end;
	margin:0 3rem var(--gutter) 0;
	align-self:end;
	
}

@media screen and (min-width:800px)
{
	.social
	{
		align-self:center;
		margin:0;
	}
}

@media print
{
	.social
	{
		margin-right:0;
		display:none;
	}
}

.social a,.social img,.social svg
{
	display:block;
	width:2rem;
	height:2rem;
}

.social a
{
	border-radius:1rem;
}

.social a,.social a:link,.social a:visited
{
	background-color:rgb(241,148,28);
}

.social a:focus,.social a:hover,.social a:active
{
	background-color:rgb(234,117,15);
}


p.slogan
{
	grid-area:slog;
	display:none;
}

@media screen and (min-width:800px)
{
	p.slogan
	{
		color:rgb(84,84,84);
		display:block;
		font-size:1.2rem;
		line-height:1.3;
		padding:0 0 0.75em;
		align-self:end;
		justify-self:start;
		max-width:14rem;
	}
}
.feature
{
	grid-area:figu;
}

.feature figure
{
	margin:0;
	padding:0;
	display:block;
	width:100%;
}


.feature figure img
{
	display:block;
	width:100%;
}

.breadcrumbs
{
	grid-area:brea;
	background-color:white;
	
	color:rgb(153,153,153);
	font-size:0.8rem;
	margin:0;
	padding:0;
	position:relative;
	text-align:left;
	line-height:1.2;
}

@media screen and (max-width:800px)
{	
	.section-home .breadcrumbs
	{
		display:none;
	}
}

@media screen and (min-width:800px)
{	
	.breadcrumbs
	{
		text-align:right;
	}
}

.breadcrumbs p
{
	margin:0;
	padding:0.466667rem 0 1.866667rem;
}


.breadcrumbs a,.breadcrumbs a:link,.breadcrumbs a:visited
{
	color:rgb(153,153,153);
	-webkit-text-decoration-color:rgba(51,51,51,0);
	text-decoration-color:rgba(51,51,51,0);
}

.breadcrumbs a:focus,.breadcrumbs a:hover,.breadcrumbs a:active
{
	color:rgb(51,51,51);
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
}

.main
{
	align-self:start;
	grid-area:main;
	background-color:white;
	grid-template-areas:". brea brea brea ."
						". line line line ."
						". txt1 txt1 txt1 ."
						". side side side .";
	grid-template-rows:min-content min-content min-content 1fr;
	padding:0 0 2.666667rem;
}

.section-home .main
{
	grid-template-areas:". txt1 txt1 txt1 ."
						". txt2 txt2 txt2 ."
						". side side side .";
	grid-template-rows:min-content min-content 1fr;
}

@media screen and (min-width:800px)
{
	.main
	{
		grid-template-areas:". brea brea brea ."
							". side line line line"
							". side txt1 txt1 .";
		grid-template-rows:min-content min-content 1fr;
		padding:0 0 4rem;
	}
	
	.section-home .main
	{
		grid-template-areas:". brea brea brea ."
							". side line line line"
							". side txt2 txt1 .";
		grid-template-rows:min-content min-content 1fr;
	}
	
	.section-services .main
	{
		grid-template-areas:". brea brea brea ."
							". line line line line"
							". side txt1 txt1 .";
		grid-template-rows:min-content min-content 1fr;
	}
}


	
.main::after
{
	grid-area:line;
	content:'';
	display:block;
	border-top:1px solid #ccc;
}
@media screen and (max-width:800px)
{
	.section-home .main::after
	{
		display:none;
	}
}
@media print
{
	.main::after
	{
		display:none;
	}
}

.main:focus
{
	outline:none;
}

.aside
{
	grid-area:side;
	background-color:white;
	margin:var(--gutter) 0 0;
}

@media screen and (min-width:800px)
{
	.aside
	{
		margin:0;
		padding:0 50px 30px 0;
	}
}

.subnav
{
	grid-area:side;
	background-color:white;
	margin-right:0;
		padding:0 50px 30px 0;
	font-weight:600;
	display:none;
}

@media screen and (min-width:800px)
{
	.subnav
	{
		display:block;
	}
}

@media print
{
	.subnav
	{
		display:none;
	}
}

.subnav>ul
{
	list-style-type:none;
	padding:0;
	margin:0;
	background-color:rgb(242,242,242);
	
	width:100%;
	font-size:1rem;
	line-height:1.1;
}

.subnav>ul>li
{
	background-image:none;
	border-top:1px solid white;
	
	padding:0;
	width:100%;
}

.subnav>ul>li::before
{
	content:'';
	display:none;
}

.subnav>ul>li a
{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:block;
	padding:0.666667rem;
	width:100%;
}

.subnav>ul>li:last-child a
{
	padding-bottom:0.8rem;
}

.subnav>ul>li a,.subnav>ul>li a:link,.subnav>ul>li a:visited
{
	background:rgb(242,242,242);
	color:rgb(30,122,183);
	text-decoration:none;
}

.subnav>ul>li a:focus,.subnav>ul>li a:hover,.subnav>ul>li a:active,.subnav>ul>li.active a,.subnav>ul>li.active a:link,.subnav>ul>li.active a:visited,.subnav>ul>li.active a:focus,.subnav>ul>li.active a:hover,.subnav>ul>li.active a:active
{
	background-color:rgb(30,122,183);
	color:white;
	text-decoration:none;
}

.content
{
	
	grid-area:txt1;
}

.section-home .content
{
	padding-top:1rem;
}

@media screen and (min-width:800px)
{
	.section-home .content
	{
		padding-top:0.4rem;
	}
}

.services
{
	grid-area:txt2;
}

@media screen and (min-width:800px)
{	
	.services
	{
		padding:5px 20.833333% 0 0;
	}

	.services ul
	{
		font-size:1.066667rem;
		line-height:1.3;
	}
}

.services li
{
	padding:0 0 0 1em;
		font-weight:500;
}

@media screen and (min-width:800px)
{
	.services li
	{
		font-weight:600;
		padding-bottom:0.8rem;
		padding-left:0;
	}
}

.services li::before
{
	content:'\203A';
}

@media screen and (min-width:800px)
{	
	.services li::before
	{
		content:'';
	}
}

.services a,.services a:link,.services a:visited
{
	color:rgb(51,153,204);
	-webkit-text-decoration-color:rgba(241,148,28,0);
	text-decoration-color:rgba(241,148,28,0);
}

.services a:focus,.services a:hover,.services a:active
{
	color:rgb(241,148,28);
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
}


.footer
{
	grid-area:foot;
	background-color:rgb(241,148,28);
	grid-row-gap:var(--gutter);
	row-gap:var(--gutter);
	grid-template-areas:". lnks lnks lnks ."
						". lice lice lice ."
						". info info info .";
}

@media screen and (min-width:800px)
{
	.footer
	{
		grid-row-gap:0;
		row-gap:0;
		grid-template-areas:". lnks lnks lice ."
							". info info info .";
	}
}

@media print
{
	.footer
	{
		background-color:transparent;
		border-top:1px solid #ccc;
		padding:10px 0 0;
	}
}

.footer a,.footer a:link,.footer a:visited
{
	color:white;
	-webkit-text-decoration-color:rgba(255,255,255,0);
	text-decoration-color:rgba(255,255,255,0);
}

.footer a:focus,.footer a:hover,.footer a:active
{
	color:white;
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
}

@media print
{
	.footer a,.footer a:link,.footer a:visited,.footer a:focus,.footer a:hover,.footer a:active
	{
		color:black;
	}
}

ul.footermenu
{
	color:white;
	display:flex;
	grid-area:lnks;
	flex-direction:column;
	font-size:0.8rem;
	font-weight:500;
	letter-spacing:1px;
	line-height:1;
	padding:0;
	text-transform:uppercase;
}

@media screen and (min-width:480px)
{
	ul.footermenu
	{
		flex-direction:row;
	}
}
@media print
{
	ul.footermenu
	{
		display:none;
		color:black;
	}
}

.footermenu li
{
	border-left:1px solid rgba(255,255,255,0.5);
	padding:0.733333rem 0 0 0.533333rem;
}

@media screen and (min-width:480px)
{
	.footermenu li
	{
		padding-right:1rem;
	}
}

@media screen and (min-width:900px)
{
	.footermenu li
	{
		padding-right:1.533333rem;
	}
}

.footermenu li::before
{
	content:'';
	display:none;
}









ul.licence
{
	grid-area:lice;
	color:white;
	font-size:0.933333rem;
	font-weight:500;
	letter-spacing:1px;
	line-height:1;
	
	display:flex;
	flex-direction:column;
	padding:0;
}

@media print,screen and (min-width:480px)
{
	ul.licence
	{
		flex-direction:row;
	}
}
@media screen and (min-width:800px)
{
	ul.licence
	{
		justify-self:end;
	}
}
@media print
{
	ul.licence
	{
		color:black;
		float:right;
	}
}

.licence li
{
	padding:9px 0 0;
}

@media print,screen and (min-width:480px)
{
	.licence li
	{
		padding-right:var(--gutter);
	}
	.licence li:last-child
	{
		padding-right:0;
	}
}

@media screen and (min-width:800px)
{
	.licence li
	{
		border-left:1px solid rgba(255,255,255,0.5);
		padding:0.6rem 1rem 0 0.533333rem;
	}
}

@media screen and (min-width:900px)
{
	.licence li
	{
		padding-right:1.533333rem;
	}
	.licence li:last-child
	{
		padding-right:0;
	}
}

@media print
{
	.licence li
	{
		padding-top:0;
	}
}

.licence li::before
{
	content:'';
	display:none;
}






ul.site-links
{
	grid-area:info;
	color:white;
	font-size:0.866667rem;
	line-height:1.4;
	padding:0.666667rem 0 1.533333rem;
}

@media screen and (min-width:800px)
{	
	ul.site-links
	{
		font-size:0.933333rem;
		padding-top:3.2rem;
	}
}

@media print
{
	ul.site-links
	{
		font-size:0.933333rem;
		line-height:1;
		color:black;
		padding-bottom:0; 
		padding-top:0;
	}
}

.site-links li
{
	display:inline;
	margin:0;
	padding:0;
}

@media print
{	
	.site-links li
	{
		display:none;
	}
}

.site-links li:last-child
{
	display:block;
	padding-top:0.266667rem;
}

@media screen and (min-width:560px)
{
	.site-links li:last-child
	{
		display:inline;
		padding-top:0;
	}
}
@media print
{
	.site-links li:last-child
	{
		padding-top:0;
	}
}

.site-links li::before
{
	content:' \B7\A0';
	color:white;
	font-size:1em;
	line-height:1.4;
	position:static;
	padding:0 0.2rem;
}

.site-links li:first-child::before,
.site-links li:last-child::before
{
	content:'';
	padding:0;
}

@media screen and (min-width:560px)
{	
	.site-links li:last-child::before
	{
		content:' \B7\A0';
	padding:0 0.2rem;
	}
}

.box
{
	margin:0 0 1.333333rem;
	box-shadow:0.2rem 0.2rem rgb(238,238,238);
}

.box h2
{
	background-color:rgb(51,153,204);
	background-image:none;
	color:white;
	font-size:1rem;
	margin:0;
	padding:0;
}

.box h2 a
{
	display:block;
	padding:0.533333rem 0.666667rem 0.4rem;
}

.box h2 a,.box h2 a:link,.box h2 a:visited
{
	-webkit-text-decoration-color:rgba(255,255,255,0);
	text-decoration-color:rgba(255,255,255,0);
}

.box h2 a:focus,.box h2 a:hover,.box h2 a:active
{
	-webkit-text-decoration-color:currentColor;
	text-decoration-color:currentColor;
}

.box p
{
	border:1px solid rgb(242,242,242);
	border-top:none;
	padding:0.666667rem;
}

@media screen and (min-width:960px)
{
	.content p
	{
		max-width:37.333333rem;
	}
	
	.content h1+p
	{
		max-width:46.666667rem;
	}
	
	.content ul
	{
		max-width:37.333333rem;
	}
}



@media screen and (max-width:800px)
{
	.header
	{
		background-image:none;
	}
	
}







@media print
{
	.header
	{
		background-image:none;
		background-color:transparent;
	}
	
}

.error
{
	color:red;
}

.error a,.error a:link,.error a:visited,.error a:focus,.error a:hover,.error a:active
{
	color:red;
	text-decoration:underline;
}

.form-check
{
	display:none;
}


@media print
{
	.grecaptcha-badge
	{
		display:none !important;
	}
}