/* Fonts */
@font-face {
	font-family: title-font;
	src: url('font/CubicPixel.otf');
}

/* Page Elements */

body {
	color: #000000;
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: 11pt;
	font-weight: 300;
	overflow-x: hidden;
}

a, button, input[type="submit"] { 
	transition: all 0.4s ease-in-out;
}

a:hover, a:focus {
	text-decoration: none !important;
	outline: none !important;
}

h1 { 
	font-size: 2.2em;
	font-weight: bold;
	color: #000000;	
}

h2 { 
	font-size: 1.65em; 
	color: #000000;
}

h3 { 
	font-size: 1.4em;
	line-height: 1.6;
	color: #000000;
}

hr { 
	border-top: 1px solid #CCCCCC; 
}

p { 
	line-height: 2.2; 
}

/* Form Elements */

input[type=file]::-webkit-file-upload-button {
	color: #fff;
	background: #295073;
	display: inline-block;
	width: min-content;
	white-space: nowrap;
	border: 1px solid transparent;
	border-radius: 5px;
	padding: .1rem .5rem;
	line-height: 1.5;
	vertical-align: middle;
	text-transform: uppercase;
}

input[type=file]::file-selector-button {
	color: #fff;
	background: #295073;
	display: inline-block;
	width: min-content;
	white-space: nowrap;
	border: 1px solid transparent;
	border-radius: 5px;
	padding: .1rem .5rem;
	line-height: 1.5;
	vertical-align: middle;
	text-transform: uppercase;
}

input[type=text] {
	width: 100%;
	box-sizing: border-box;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	outline: none;
}

input[type=text]:focus {
	border: 2px solid #014C8C;
}

input[type=email] {
	width: 100% !important;
	box-sizing: border-box;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	outline: none;
}

input[type=email]:focus {
	border: 2px solid #014C8C;
}

input[type=password] {
	width: 100%;
	box-sizing: border-box;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	outline: none;
}

input[type=password]:focus {
	border: 2px solid #014C8C;
}

textarea {
	box-sizing: border-box;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	outline: none;
}

textarea:focus {
	border: 2px solid #014C8C;
}

/* Header Elements */

#header-container {
	margin: auto;
	overflow: hidden;
}

#header-logo {
	color: #FFFFFF;
	font-size: 3.0em;
	font-weight: bold;
	font-family: title-font;
}

#header-logo, a {
	text-decoration: none;
	outline: none;
}

#head-wrap {
    min-height: 130px;
	color: #FFF;
	background-color: #9AA6B2;
}

#header {
	width: 100%;
	margin: auto;
	padding: 20px;
	min-height: 130px;
	background-color: #9AA6B2;
}


/* Nav Bar */

#nav-wrap {
	width: 100%;
	margin: auto;
	background-color: #9AA6B2;
	position: -webkit-sticky; /* Safari */
	position: fixed;
	top: 0;
	right: 0;
	z-index: 99999;
}

.nav-bar {
	overflow: hidden;
	margin-right: 3%;
	background-color: #9AA6B2;
	min-height: 130px;
}

.nav-bar a {
	float: right;
	display: block;
	color: #014C8C;
	border: solid 2px #014C8C;
	border-radius: 5px;
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 17px;
	font-weight: bold;
}

.active {
	background-color: #014C8C !important;
	color: #D9EAFD !important;
}

.nav-bar .icon {
	display: none;
}

.nav-bar a:hover {
	background-color: #014C8C;
	text-decoration: none !important;
	color: #D9EAFD;
}

.nav-flex {
    display: flex;
}

.nav-box {
    width: 100%; 
    float: right; 
    list-style: none; 
    position: relative;
}

.nav-item-box {
    min-width: 150px; 
    height: 100%; 
    padding: 0 10px 0 10px; 
    float: right;
}

.nav-link {
    min-width: 130px; 
    margin-top: 70%;
}

/* Slider Style */

#myCarousel {
	width: 100%;
}

.carousel-inner > .item > img, .carousel-inner > .item > a > img {
	width: 100%;
	height: 50%;
	margin: auto;
}

/* Main Classes */

.cs-container {
    width: 90%;
}

.cs-section {
	padding-top: 80px;
	padding-bottom: 100px;
	margin: auto;
}

.cs-login {
	width: 500px;
	border: solid 2px #CCCCCC;
	border-radius: 5px;
	margin: auto;
	padding-top: 35px;
	padding-bottom: 35px;
}

.cs-form {
    width: 500px;
	margin: auto;
}

.cs-table {
	width: 500px;
}

.cs-login-form {
	width: 400px;
}

.center {
	text-align: center;
}

.left {
	float: left;
}

.cs-space {
	min-height: 650px;
}

.link {
	color: #014C8C;
	line-height: 2.8;
	text-decoration: underline;
}

.link:hover, link:focus { 
	color: #026BC4;
	text-decoration: none;
}

.cs-admin-bar {
    position: sticky;
    top: 0;
	background-color: #121212;
	color: #FFFFFF !important;
	text-align: right;
	padding: 0px 10px 0px 10px;
	z-index: 999999;
}

.off {
	display: none;
}

.on {
	display: inline-block;
}

.cs-mob {
    display: none;
}

.cs-desktop {
    display: block;
}

.cs-clear {
    clear: both;
}

/* Text Classes */

.cs-center {
    text-align: center;
}

.cs-white {
	color: #FFFFFF;
}

.cs-black {
	color: #000000;
}

.cs-grey {
    color: #4A4A4A;
}

.cs-bold {
	font-weight: bold;
}

.cs-orange {
    color: orange;
}

.cs-small {
    font-size: 11pt;
}

/* Main Elements */

#main-content {
	padding: 5px;
	margin: auto;
	width: 80%;
}

#main-content p {
	margin-bottom: 20px;
	color: #000000;
}

#can-o-site {
	margin-top: 10px;
	margin-bottom: 10px;
}

/* Form classes */

.form-control {
	display: block;
	width: 100%;
	height: calc(2.25rem + 2px);
	padding: .375rem .75rem;
	line-height: 1.5;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: .25rem;
}

.form-ta {
	display: block;
	width: 100%;
	padding: .375rem .75rem;
	line-height: 1.5;
	background-clip: padding-box;
	border: 2px solid #ced4da;
	border-radius: .55rem;
}

.form-field {
	display: block;
	width: 100%;
	height: 40px;
	padding: .375rem .75rem;
	line-height: 1.5;
	background-clip: padding-box;
	border: 2px solid #ced4da;
	border-radius: .55rem;
}

.form-membership, .form-contact, .narrow {
	max-width: 500px;
	margin: 0 auto;
}

.btn, .btn-search {
    color: #D9EAFD;
    background: #014C8C;
    display: block;
    width: min-content;
    height: 45px;
    border-radius: 10px;
    font-weight: bold;
    padding: 10px 20px 10px 20px;
}

.btn:hover, .btn-search:hover {
	color: #FFFFFF !important;
	background: #026BC4;
}

.errors {
	color: #A62D2D;
	font-weight: bold;
}

.alert {
	background: #FFFFFF;
	border: 1px solid thin;
	padding: .75rem 1.25rem;
	margin-bottom: 1rem;
	border-radius: .25rem;
	text-align: center;
}

.alert-warning {
	color: #A62D2D !important;
	background: #F8D7DA;
	border-color: #A62D2D !important;
}

.alert-success {
	color: #155724;
	background: #D1E7DD;
	border-color: #C3E6CB;
}

.alert-hidden {
    display: none;
}

.alert-active {
    display: block;
}

/* Form Elements */

#register {
	width: 150px;
}

/* Footer Classes */

.footer {
	color: #C6C6C6;
	background-color: #9AA6B2;
	font-size: 12pt;
	padding: 40px 5px 20px 5px;
}

.footer-link {
	color: #FFFFFF;
	line-height: 2.8;
	text-decoration: underline;
}

.footer-link-no-under {
	color: #FFFFFF;
	line-height: 2.8;
}

.footer-link:hover, .footer-link:focus { 
	color: #026BC4;
	text-decoration: underline;
}

.footer-link-no-under:hover, .footer-link-no-under:focus {
	color: #026BC4;
}

.copyright-text { 
	color: #FFFFFF; 
	text-align: center;
}

/* Image Classes */

.cs-maintenance {
	display: flex;
	justify-content: center;
}

/* Cookie Banner */

.cs-cookie-banner {
	width: 100%;
	position: fixed;
	bottom: 0;
	background-color: #014C8C;
	display: block;
	z-index: 999;
	padding: 10px;
}

.cs-hidden-banner {
	display: none;
}

.cs-cookie-banner p {
	color: #FFFFFF;
	text-align: center;
}

.cs-cookie-button {
	padding: 10px 30px 10px 30px;
	background-color: #FFFFFF;
	font-weight: 600;
	color: #000000;
	border: none;
	border-radius: 10px;
	margin-top: 10px;
	transition: 0.3s ease-in-out, 0.3s ease-in-out; 
}

.cs-cookie-button:hover {
	padding: 10px 30px 10px 30px;
	background-color: #666666;
	font-weight: 600;
	color: #FFFFFF;
	border-radius: 10px;
	margin-top: 10px;
}

/* Scroll to Top */

.cs-scroll-top {
    display: block;
	position: fixed;
	bottom: 0;
	border-radius: 10px;
	border: none;
	background: #333333;
	background: rgba(51, 51, 51, 0.6);
	box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
	color: white;
	text-align: center;
	width: 60px;
	height: 60px;
	-webkit-transition: all 250ms cubic-bezier(0.55, 0, 0.1, 1);
    transition: all 250ms cubic-bezier(0.55, 0, 0.1, 1);
	z-index: 9999;
	right: -60px;
}

.cs-scroll-top:hover, .cs-scroll-top:active {
    background: #333333;
    background: rgba(51, 51, 51, 0.8);
    border: none;
}

.cs-scroll-top:focus {
	outline: none;
}

.cs-scroll-top.visible {
	bottom: 20px;
	right: 20px; 
}

@media only screen and (min-width: 992px) {
	
	/* Mobile Nav */
	
	.cs-mob-menu, .cs-mob-navbar {
		display: none !important; 
	}
}

@media only screen and (max-width: 991px) {
    
    /* Mobile Nav */
    
    #header, #nav-wrap {
        display: none;
    }
    
    #site-logo {
        margin-top: 10px;
        margin-bottom: 10px;
    }
    
    .cs-mob-menu {
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: 999;
		top: 0;
		left: -100%; 
    }

	.cs-mob-menu-inner {
        background: #9AA6B2;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow-y: auto;
        color: white;
        padding: 15px 13px; 
    }
    
    .cs-mob-menu-open {
        width: 85px;
        height:85px;
        font-size: 24px;
        font-weight: bold;
        color: #FFFFFF;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        float: right;
        transition: 0.3s ease-in-out, 0.3s ease-in-out; 
    }
    
    .cs-mob-menu-open:hover {
        background-color: #BCCCDC;
        font-size: 32px;
    }
    
    .cs-mob-menu-close {
        width: 50px;
        padding: 10px;
        border: solid 2px #FFFFFF;
        border-radius: 10px;
        font-weight: bold;
        color: #FFFFFF;
        text-align: center;
        float: right;
    }
    
    .cs-mob-menu-close:hover {
        background-color: #FFFFFF;
        color: #9AA6B2;
    }
    
    .cs-mob-menu-title {
        width: 70%;
        padding-top: 10px;
        color: #FFFFFF;
    }

	.cs-mob-menu-content {
        background-color: #F8FAFC;
        margin: 0 -25px 40px -25px;
        padding: 60px 25px 40px 25px;
    }

	.cs-mob-menu-nav li {
        color: #FFFFFF;
        display: block;
        font-size: 20px;
        width: 100%;
        margin-top: 5px;
    }
    
    .cs-mob-nav-link {
        display: block;
        padding: 10px 20px 10px 20px;
        border: solid thin #D9EAFD;
        background-color: #F8FAFC;
        border-radius: 10px;
        color: #014C8C;
        font-weight: bold;
    }
    
    .cs-mob-nav-link:hover {
        background-color: #014C8C;
        color: #D9EAFD;
    }

	.cs-mob-menu-nav {
        width: 80%;
        padding: 0;
        margin: auto;
    }

	.cs-divider {
		margin: 25px 0;
    }

    .cs-mob-menu, .cs-mob-navbar {
        -webkit-transition-property: left, box-shadow;
        transition-property: left, box-shadow;
	    -webkit-transition-duration: 250ms;
    	transition-duration: 250ms;
		-webkit-transition-timing-function: cubic-bezier(0.55, 0, 0.1, 1);
    	transition-timing-function: cubic-bezier(0.55, 0, 0.1, 1); 
    }

    .mobile-open {
		overflow: hidden; 
    }

    .mobile-open .cs-mob-menu {
	    left: 0; 
    }

    .cs-mob-navbar {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 85px;
		background: #9AA6B2;
		color: white;
		z-index: 999;
		box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); 
    }
}

@media screen and (max-width: 600px) {
	
	/* Main */
	
	#main-content {
	    width: 90%;
	}
	
    .cs-container {
        width: 100%;
        margin-top: 100px;
    }
    
    /* Login */
    
    .cs-login {
	    width: 100%;
    }

    .cs-table {
	    width: 90%;
    }

    .cs-login-form {
	    width: 90%;
    }
    
    /* Register */
    
    .cs-form {
        width: 100%;
    }
    
    /* Image */
    
    #img-construction {
        width: 80%;
    }
	
}