/* Styles */

/* Basic structure
-------------------------------------------------------------- */

/* Body, links, basics */
html {
	font-size: 87.5%;
}

body {
	font-size: 1.2em;
	line-height: 2;
	/*font-family: Helvetica, Arial, sans-serif; */
	text-rendering: optimizeLegibility;
	color: #444;
}

body {
	font-family: "europa", Helvetica, Arial, sans-serif;
	font-weight: 400;
	font-style: normal;
}

a {
	outline: none;
	color: #21759b;
}

a:hover {
	color: #0f3647;
}

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



/* Page structure */
.site {
	padding: 0 24px;
	padding: 0 1.714285714rem;
	background-color: #fff;
}

.site-content {
	margin: 24px 0 0;
	margin: 1.714285714rem 0 0;
}


/* Wordpress Blocks */
.wp-block-columns {
    display: flex;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.wp-block-column {
    flex-grow: 1;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: break-word;
}

.wp-block-image {
    margin-bottom: 1em;
}


/* Site Header + Branding */
.site-header {
	padding: 3.714286rem 0;
}

.site-header h1,
.site-header h2 {
	text-align: center;
}

.site-header h1 a,
.site-header h2 a {
	color: #515151;
	display: inline-block;
	text-decoration: none;
}

.site-header h1 a:hover,
.site-header h2 a:hover {
	color: #21759b;
}

.site-header h1 {
	font-size: 24px;
	font-size: 1.714285714rem;
	line-height: 1.285714286;
	margin-bottom: 14px;
	margin-bottom: 1rem;
}

.site-header h2 {
	font-weight: normal;
	font-size: 13px;
	font-size: 0.928571429rem;
	line-height: 1.846153846;
	color: #757575;
}

.header-image {
	margin-top: 24px;
	margin-top: 1.714285714rem;
}

#logo {
	text-align: center;
}

#logo a img {
	width: 240px;
}



/*  Main Navigation */

/* New Structure = nav #site-navigation .main-navigation > ul #navigation .main-menu > li .nav-item .active > a */

.main-navigation {
	margin-top: 24px;
	margin-top: 1.714285714rem;
	text-align: center;
}

.main-navigation li {
	margin-top: 24px;
	margin-top: 1.714285714rem;
	font-size: 12px;
	font-size: 0.857142857rem;
	line-height: 1.42857143;
}

.main-navigation a {
	color: #ee0090;
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: #ee0090;
}

.main-navigation ul.main-menu,
.main-navigation div.main-menu > ul {
	display: none;
}

.main-navigation ul.main-menu.toggled-on,
.menu-toggle {
	display: inline-block;
}

/* Pages */

.services h2{
    font-size: 18px;
    font-size: 1.285714286rem;
    line-height: 1.6;
}

/* Page Description */
.page-description {
    padding: 3em 0 5em 0;
    max-width: 800px;
    text-align: center;
    margin: 0 auto;
    hyphens: none;
    font-weight: bold;
}

.page-description img {
	max-width: 40px;
}

/* Services Page */

.icon {
    font-size: 2em;
    padding: .8em 1em;
    color: #fff;
    border: 1px solid #ec008c;
    background: #ec008c;
    display: inline;
}

/* Posts */

#pageContent article {
    border: none;
    margin-bottom: 72px;
    margin-bottom: 5.142857143rem;
    padding-bottom: 24px;
    padding-bottom: 1.714285714rem;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

.entry-header .entry-title {
    font-size: 20px;
    font-size: 1.428571429rem;
    line-height: 1.2;
    font-weight: normal;
}

/* Banner */
section[role="banner"] {
	margin-bottom: 48px;
	margin-bottom: 3.428571429rem;
}

/* Sidebar + Widgets */

.widget-area {
	margin: 24px 0 0;
	margin: 1.714285714rem 0 0;
}

.widget-area .widget {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
	margin-bottom: 48px;
	margin-bottom: 3.428571429rem;
	word-wrap: break-word;
}
.widget-area .widget h3 {
	margin-bottom: 24px;
	margin-bottom: 1.714285714rem;
}
.widget-area .widget p,
.widget-area .widget li,
.widget-area .widget .textwidget {
	font-size: 13px;
	font-size: 0.928571429rem;
	line-height: 1.846153846;
}
.widget-area .widget p {
	margin-bottom: 24px;
	margin-bottom: 1.714285714rem;
}
.widget-area .textwidget ul,
.widget-area .textwidget ol {
	list-style: disc outside;
	margin: 0 0 24px;
	margin: 0 0 1.714285714rem;
}
.widget-area .textwidget li > ul,
.widget-area .textwidget li > ol {
	margin-bottom: 0;
}
.widget-area .textwidget ol {
	list-style: decimal;
}
.widget-area .textwidget li {
	margin-left: 36px;
	margin-left: 2.571428571rem;
}
.widget-area .widget a {
	color: #757575;
}
.widget-area .widget a:hover {
	color: #21759b;
}
.widget-area .widget a:visited {
	color: #9f9f9f;
}
.widget-area #s {
	width: 53.66666666666%; /* define a width to avoid dropping a wider submit button */
}

/* Footer */

footer[role="contentinfo"] {
	border: none;
	clear: both;
	font-size: 1.1em;
	line-height: 2;
	max-width: 960px;
	max-width: 88rem;
	margin-top: 3em;
	margin-bottom: 4em;
	margin-left: auto;
	margin-right: auto;
	padding: 2em 0;
}

footer[role="contentinfo"] a {
	color: #686868;
}

footer[role="contentinfo"] a:hover {
	color: #ec008c;
}

footer[role="contentinfo"] .contact-card a {}

footer[role="contentinfo"] .contact-card h3 {
	font-size: 1.3em;
}

.site-info span[role=separator] {
	padding: 0 0.3em 0 0.6em;
}

.site-info span[role=separator]::before {
	content: '';
}

.contact-card {}

.social-media-icons {
	text-align: center;
	font-size: 1.2em;
	letter-spacing: 4px;
	margin-top: 1em;
}



/* =Media queries
-------------------------------------------------------------- */

/* Does the same thing as <meta name="viewport" content="width=device-width">,
 * but in the future W3C standard way. -ms- prefix is required for IE10+ to
 * render responsive styling in Windows 8 "snapped" views; IE10+ does not honor
 * the meta tag. See https://core.trac.wordpress.org/ticket/25888.
 */
@-ms-viewport {
	width: device-width;
}
@viewport {
	width: device-width;
}

/* Page */

/* Minimum width of 600 pixels. */
@media screen and (min-width: 600px) {
	.author-avatar {
		float: left;
		margin-top: 8px;
		margin-top: 0.571428571rem;
	}
	.author-description {
		float: right;
		width: 80%;
	}
	.site {
		margin: 0 auto;
		max-width: 960px;
		max-width: /*68.571428571rem;*/ 88rem;
		overflow: hidden;
	}
	
	.site-content {
		width: 100%;
		float: none;
	}
	
	.posts .site-content, 
	.single-post .site-content {
		float: left;
		width: 65.104166667%;
	}
	
	entry-header .entry-title {
    	font-size: 2em;
	}
	
	body .site-content a,
	.contact-card a {
		color: #ec008c !important;
		font-weight: bold;
	}
	
	body.site-content,
	body.attachment .site-content,
	body.full-width .site-content {
		width: 100%;
	}
	
	.widget-area {
		float: right;
		width: 26.041666667%;
	}
	
	.site-header h1,
	.site-header h2 {
		text-align: left;
	}
	
	.site-header h1 {
		font-size: 2em;
		line-height: 1.846153846;
		margin-bottom: 0;
	}
	
	.main-navigation ul.main-menu,
	.main-navigation div.main-menu > ul {
		border:none;
		display: inline-block !important;
		text-align: center;
		width: 100%;
	}
	
	.main-navigation ul {
		margin: 0;
		text-indent: 0;
	}
	
	.main-navigation li a,
	.main-navigation li {
		display: inline-block;
		text-decoration: none;
	}
	
	.main-navigation li a {
		border-bottom: 0;
		color: #6a6a6a;
		line-height: 3.692307692;
		text-transform: uppercase;
		white-space: nowrap;
		font-size: 1.2em;
	}
	
	.main-navigation li a:hover,
	.main-navigation li a:focus {
		color: #000;
	}
	
	.main-navigation li {
		margin: 0 40px 0 0;
		margin: 0 2.857142857rem 0 0;
		position: relative;
	}
	
	.main-navigation li ul {
		margin: 0;
		padding: 0;
		position: absolute;
		top: 100%;
		z-index: 1;
		height: 1px;
		width: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
	}
	
	.main-navigation li ul ul {
		top: 0;
		left: 100%;
	}
	
	.main-navigation ul li:hover > ul,
	.main-navigation ul li:focus > ul,
	.main-navigation .focus > ul {
		border-left: 0;
		clip: inherit;
		overflow: inherit;
		height: inherit;
		width: inherit;
	}
	
	.main-navigation li ul li a {
		background: #efefef;
		border-bottom: 1px solid #ededed;
		display: block;
		font-size: 11px;
		font-size: 0.785714286rem;
		line-height: 2.181818182;
		padding: 8px 10px;
		padding: 0.571428571rem 0.714285714rem;
		width: 180px;
		width: 12.85714286rem;
		white-space: normal;
	}
	
	.main-navigation li ul li a:hover,
	.main-navigation li ul li a:focus {
		background: #e3e3e3;
		color: #444;
	}
	
	li.nav-item.active {
		color: #ec008c;
		font-weight: bold;
		border-bottom: solid #ec008c;
	}
	
	.menu-toggle {
		display: none;
	}
		
	.entry-header .entry-title {
		/*font-size: 22px;
		font-size: 1.571428571rem*/
		font-size: 2em;
	}
	
	#respond form input[type="text"] {
		width: 46.333333333%;
	}
	
	#respond form textarea.blog-textarea {
		width: 79.666666667%;
	}
		
	.has-post-thumbnail article {
		float: left;
		width: 47.916666667%;
	}
	
	.page-description p {
		font-size: 2em;
		margin:	none;
	}
	
	.entry-page-image {
		float: right;
		margin-bottom: 0;
		width: 47.916666667%;
	}
	
	.widget-area .widget,
	.two-sidebars .widget-area .front-widgets {
		float: left;
		width: 51.875%;
		margin-bottom: 24px;
		margin-bottom: 1.714285714rem;
	}
	
	.widget-area .widget:nth-child(odd) {
		clear: right;
	}
	
	.widget-area .widget:nth-child(even),
	.two-sidebars .widget-area .front-widgets + .front-widgets {
		float: right;
		width: 39.0625%;
		margin: 0 0 24px;
		margin: 0 0 1.714285714rem;
	}
	
	.two-sidebars .widget,
	.two-sidebars .widget:nth-child(even) {
		float: none;
		width: auto;
	}
	
	.commentlist .children {
		margin-left: 48px;
		margin-left: 3.428571429rem;
	}
}

/* Min width of 782 pixels */

@media screen and (min-width: 782px) {
	.wp-block-column[style*=flex-basis] {
    	flex-grow: 0;
	}
	
	.wp-block-columns {
    	flex-wrap: nowrap;
	}
}

/* Minimum width of 960 pixels. */
@media screen and (min-width: 960px) {
	body {
		background-color: #e6e6e6;
	}
	body .site {
		padding: 0 /*2.857142857rem;*/ 8rem;
		margin-top: 48px;
		margin-top: 3.428571429rem;
		margin-bottom: 48px;
		margin-bottom: 3.428571429rem;
		box-shadow: none;
		border-top: 12px solid #ec008c;
	}
	body.custom-background-empty {
		background-color: #fff;
	}
	body.custom-background-empty .site,
	body.custom-background-white .site {
		padding: 0;
		margin-top: 0;
		margin-bottom: 0;
		box-shadow: none;
	}
}