/*
Theme Name: cim2019
Theme URI: www.app-n-web.ch
Author: App n Web
Author URI: contact@app-n-web.ch
Description: Custom theme by App n Web for CIM Genève.
Version: 1.0
License: 
License URI: contact@app-n-web.ch
Text Domain: cim2019
*/

/* ---------------------------------------
	Standard styles formatting
	created with Template Creator CK
	on http://www.template-creator.com
-----------------------------------------*/

html {
	height: 101/100%;
}

body {
	margin: 0;
	padding: 0;
	min-height: 100vh;
}

* {
	padding: 0;
	margin: 0;
}

h1, h2, h3, h4, h5, h6 {
	padding: 3px 0;
	margin: 0;
	line-height: 1.2;
	font-weight: bold;
	font-style: normal;
}

h1 {
	font-size: 1.75em;
}

h2 {
	font-size: 1.5em;
}

h3 {
	font-size: 1.25em;
}

h4 {
	font-size: 1em;
}

ul, ol {
	padding: .75em 0 .75em 0;
	margin: 0 0 0 35px;
}

ul.menu {
	margin: 0;
	padding: 0;
}

ul.menu li {
	list-style: none;
}

ul.menu li a {
	text-decoration: none;
}


p {
	padding: 5px 0;
}

address {
	margin: .75em 0;
	font-style: normal;
}

a:focus {
	outline: none;
}

img {
	border: none;
}

em {
	font-style: italic;
}
strong {
	font-weight: bold;
}

form, fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
input, button, select {
	vertical-align: middle;
}

.flexiblecolumn {
	min-height: 0.1px; /* needed to keep the area of the column */
	box-sizing: border-box;
}

.clr {
	clear : both;
}

.clearfix:after {
	content: " ";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0;
}

.clearfix {
	zoom: 1;
}

audio, canvas, img, svg, video {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
}

table img {
	max-width: none;
}


.column.column2 {
	width: 0%;
}

.column.center {
	width: 100%;
}

.noright .column.center {
	width: 100%;
}

.flexiblemodule, .column, .logobloc, .flexiblecolumn {
	float: left;
}

.rtl .flexiblemodule, .rtl .column, .rtl .logobloc, .rtl .flexiblecolumn {
	float: right;
}

/* for equalheights */
section > .inner > .clr,
.flexiblemodule > .inner > .clr,
.equalheights > .inner > .clr,
section > .inner:before,
.flexiblemodule > .inner:before,
.equalheights > .inner:before,
section > .inner:after,
.flexiblemodule > .inner:after,
.equalheights > .inner:after {
	display: none;
}

section > .inner,
.equalheights > .inner,
.equalheights .maincenter > .inner {
	display: flex;
	justify-content: space-between;
}

.flexiblemodule {
	display: flex;
}

.flexiblemodule > .inner {
	max-width:100%;
	width: 100%;
	box-sizing: border-box;
}

.videobackground { 
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: 0;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	background-size: cover;
	object-fit: cover;
}

.videobackground + * { 
	position: relative;
	z-index: 1;
}

.hasvideobackground {
	position: relative;
	overflow: hidden;
}

.aligncenter, div.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.alignleft {
	float: left;
}
.alignright {
	float: right;
}

.valign-top {
	align-self: flex-start;
}

.valign-center {
	align-self: center;
}

.valign-bottom {
	align-self: flex-end;
}

.tck-logo-img {
	display: block;
}

.tck-logo-center img {
	margin-left: auto;
	margin-right: auto;
}

.tck-logo-right img {
	margin-left: auto;
}

.tck-article {
	clear: both;
}

.tck-wrapper {
	position: relative;
}

.wp-caption,
.gallery-caption {
	color: #666;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

/* Post Landing Page */

.sticky {
	position: relative;
}

.post:not(.sticky) .icon-thumb-tack {
	display: none;
}

.sticky .icon-thumb-tack {
	display: block;
	height: 18px;
	left: -1.5em;
	position: absolute;
	top: 1.65em;
	width: 20px;
}

.tck-pagination a, .tck-pagination span {
	display: inline-block;
	float: left;
}

.tck-readmore a {
	display: inline-block;
}

/* ---------------------------------------
	Print default CSS
-----------------------------------------*/

@media print {

	.tck-container {
		width: 100% !important;
	}

	.scrollToTop, #login-form, .tck-noprint {
		display: none !important
	}

	.flexiblemodule, .column, .logobloc, .flexiblecolumn {
		float: none;
	}

	.column.main, .column.column1, .column.column2 {
		width: 85%;
		margin-right: 2%;
		margin-left: auto;
	}

	.column.center {
		width: 100%;
	}

	a[href]:after {
		content: "";
	}

}

/* ---------------------------------------
	Accessibility
-----------------------------------------*/

/* Text meant only for screen readers */
.says,
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
}

/* must have higher specificity than alternative color schemes inline styles */
.site .skip-link {
	background-color: #f1f1f1;
	box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
	color: #21759b;
	display: block;
	font: bold 14px/normal "Noto Sans", sans-serif;
	left: -9999em;
	outline: none;
	padding: 15px 23px 14px;
	text-decoration: none;
	text-transform: none;
	top: -9999em;
}

.logged-in .site .skip-link {
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	font: bold 14px/normal "Open Sans", sans-serif;
}

.site .skip-link:focus {
	clip: auto;
	height: auto;
	left: 6px;
	top: 7px;
	width: auto;
	z-index: 100000;
}


.bypostauthor > article .fn:after {
	content: "\f304";
	position: relative;
	top: 5px;
	left: 3px;
}

.breadcrumb > .active {
	color: #000;
	font-weight: bold;
}

.muted {
	color: #666;
	font-weight: lighter;
}

/* ---------------------------------------
	CSS grid for content alignement
-----------------------------------------*/
[class*="tck-cols"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	box-sizing: border-box;
}

[class*="tck-cols"] > * {
	flex: 1 1 auto;
	box-sizing: border-box;
}

[class*="tck-gutter"] > * {
	flex: 0 1 auto;
}

/* no gutter */
.tck-cols-2 > * {
	width: 50%;
}

.tck-cols-3 > * {
	width: 33.333%;
}

.tck-cols-4 > * {
	width: 25%;
}
.tck-cols-8 > * {
	width: 12.5%;
}

/* gutter 10px */
.tck-cols-2.tck-gutter-10 > * {
	width: calc((100% - 10px) / 2);
}

.tck-cols-3.tck-gutter-10 > * {
	width: calc((100% - 2 * 10px) / 3);
}

.tck-cols-4.tck-gutter-10 > * {
	width: calc((100% - 3 * 10px) / 4);
}

.tck-cols-8.tck-gutter-10 > * {
	width: calc((100% - 7 * 10px) / 8);
}

/* ---------------------------------------
	Shape divider
-----------------------------------------*/

.tck-divider-container {
	position: absolute;
	overflow: hidden;
	left: 0;
	width: 100%;
}

.tck-divider-container > svg {
	position: relative;
	height: 100%;
	left: 50%;
	transform: translate(-50%);
	min-width: 100%;
}

.tck-divider-container.pbck-divider-top {
	top: -1px;
}

.tck-divider-container.pbck-divider-bottom {
	bottom: -1px;
}

.tck-divider-container.pbck-divider-over {
	z-index: 1;
}

.tck-divider-container.pbck-divider-under {
	z-index: 0;
}

.ckflip-horizontal > svg {
	transform: rotateY(180deg) translate(-50%);
}

.ckflip-vertical > svg {
	transform: rotateX(180deg) translate(-50%);
}

.ckflip-horizontal.ckflip-vertical > svg {
	transform: rotate(180deg) translate(-50%);
}

.tck-divider-container + .inner {
	position: relative;
}

/* ---------------------------------------
	System features
-----------------------------------------*/

.tck-edition {
	min-height: 50px;
	margin: 2px;
	border: 1px dashed grey;
	position: relative;
}
.tck-edition::before {
	content: "[" attr(data-position) "]";
	font-size: 14px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-aign: center;
	font-family: Segoe UI, sans-serif;
	line-height: 1.2;
	padding: 3px 5px;
	background: #333;
	display: block !important;
	color: #fff;
	border-radius: 3px;
	border: 1px solid #666;
	opacity: 0.8;
	pointer-events: none;
	box-sizing: content-box;
	height: 20px;
}


.comments-area {
}

.comment-list .comment {
}

.comments-title {
}

.comment-author .avatar {
}

.comment-author .fn a {
}

.comment-author .fn a:hover {
}

.comment-metadata a {
}

.comment-metadata a:hover {
}

.comment-metadata a.comment-edit-link {
}

.comment-metadata a.comment-edit-link:hover {
}

.comment-content {
}

.comment-reply-link {
}

.comment-reply-link:hover {
}

.logged-in-as a {
}

.logged-in-as a:hover {
}

.comment-form label {
}

.comment-form textarea, .comment-form input {
}

.form-submit input {
}

.form-submit input:hover {
}

.tck-article {
}

.tck-article-title {
}

.tck-article-details {
}

.tck-article-tools {
}

.tck-article-tool {
}

.tck-article-tool:hover {
}

.tck-article-body {
}

.tck-article-pagination a {
}

.tck-article-pagination a:hover {
}





/* ---------------------------------------
	Columns width
-----------------------------------------*/


/* ---------------------------------------
	Custom styling
-----------------------------------------*/

.container, .container-fluid,
.tck-container, .tck-container-fluid {
	margin: 0 auto;
	box-sizing: border-box;
}

.container, .tck-container {
	max-width: 1250px;
}

.container-fluid, .tck-container-fluid {
	max-width: 1250px;
}

body {
	color: #626262;
	line-height: 24px;
	font-size: 14px;
	font-family: open_sansregular;
}

a {
	color: #a2a1a1;
	font-weight: normal;
	text-decoration: none;
}


a:hover,  a:focus {
	color: #ee3526;
}

h1, div.componentheading {
	color: #414042;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	font-weight: 400;
	line-height: 60px;
	font-size: 48px;
	font-family: heuristicaregular;
}

h2, div.contentheading {
	color: #414042;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	font-weight: 400;
	line-height: 52px;
	font-size: 42px;
	font-family: heuristicaregular;
}

h3 {
	color: #414042;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	font-weight: 400;
	line-height: 40px;
	font-size: 36px;
	font-family: heuristicaregular;
}

h4 {
	color: #414042;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	text-align: left;
	font-weight: 400;
	line-height: 35px;
	font-size: 30px;
	font-family: heuristicaregular;
}

h5 {
	color: #414042;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	font-weight: 400;
	line-height: 30px;
	font-size: 25px;
	font-family: heuristicaregular;
}

h6 {
	color: #414042;
	margin: 0px;
	margin-bottom: 10px;
	padding: 0px;
	font-weight: 400;
	line-height: 25px;
	font-size: 20px;
	font-family: heuristicaregular;
}

.button, button, button.btn, input.btn, .btn, .btn-group > .btn.active {
    border: none;
	border: #ee3526 1px solid;
	min-height: 43px;
	color: #000000;
	padding-top: 0px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 10px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 40px;
	min-width: 233px;
}

.button:hover, button:hover, button.btn:hover, input.btn:hover, .btn:hover,
.button:focus, button:focus, button.btn:focus, input.btn:focus, .btn:focus {
	background: #ee3526;
	color: #ffffff;
	transition: all ease 0.5s;
}

.readmore a, .readmore .btn {
	padding-top: 7px;
	padding-right: 10px;
	padding-bottom: 7px;
	padding-left: 10px;
	font-weight: normal;
}

.invalid {border: red;}
                
input.inputbox, .registration input, .login input, .contact input, .contact textarea,  select,
textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .uneditable-input {
    border: none;
	height: auto;
	background: #ffffff;
	border: #c7c7c7 1px solid;
	padding-top: 5px;
	padding-right: 8px;
	padding-bottom: 5px;
	padding-left: 8px;
}

input:focus, input.inputbox:focus, .registration input:focus, .login input:focus, .contact input:focus, .contact textarea:focus,  select:focus,
textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus, .uneditable-input:focus {
	border: #7d7d7d 1px solid;
}

#header-banner > .inner {
	font-family: cinzelregular;
}

#footer-wrapper {
	border-top: #ee3526 4px solid;

                    }
#footer-section .n1 > .flexiblemodule { width: 100%; }
#footer-section .n2 > .flexiblemodule { width: 50%; }
#footer-section .n2 > .flexiblemodule + div { width: 50%; }
#footer-section .n3 > .flexiblemodule { width: 33.333333333333%; }
#footer-section .n3 > .flexiblemodule + div { width: 33.333333333333%; }
#footer-section .n3 > .flexiblemodule + div + div { width: 33.333333333333%; }
#footer-section .n4 > .flexiblemodule { width: 20%; }
#footer-section .n4 > .flexiblemodule + div { width: 20%; }
#footer-section .n4 > .flexiblemodule + div + div { width: 40%; }
#footer-section .n4 > .flexiblemodule + div + div + div { width: 20%; }

#footer-section > .inner {
	line-height: 18px;
	font-size: 12px;
}

#footer-copyright > .inner {
	border-top: #e0e0e0 1px solid;
	padding: 25px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 24px;
	font-size: 10px;
}
