
/* advanced font faces */

@import url('https://fonts.googleapis.com/css?family=Nunito+Sans:400,400i,700');

/* main html objects */

* { box-sizing:border-box; }
body, html { position:relative; height:100%; }
body, html, input, select, textarea, .basefont { font-family:'Nunito Sans', sans-serif; font-size:15px; line-height:1.3; color:#2a2a2a; font-weight:400; }
body { background:#fff; margin:0; padding:0; text-align:left; }
body.cke_show_borders { background:#fff; } /* CKeditor */
body.page-plain { background:#fff; padding:2rem; }
body.modal-is-active { position:relative; overflow:hidden; }
fieldset { min-width:0; /* @see https://stackoverflow.com/questions/17408815/fieldset-resizes-wrong-appears-to-have-unremovable-min-width-min-content */ }
th, td { vertical-align:top; }
hr { border:0; color:#aaa; background-color:#aaa; width:100%; height:1px; margin:10px 0; }
img { border:0; }
div { margin:0; padding:0; outline:none; -webkit-appearance:none; box-sizing:border-box; }
svg .object { fill:#2a2a2a; }

/* headers */

h1,.h1, h2,.h2, h3,.h3, .hx { margin:0; padding:0; font-weight:normal; }
h1,.h1 { font-size:300%; line-height:1; letter-spacing:-1px; padding:1.3rem 0 0.4rem 0; }
h2,.h2 { font-size:166%; line-height:1.30; padding:1.3rem 0 0.4rem 0; }
h3,.h3 { font-size:140%; line-height:1.15; color:#a0a0a0; }

/* colors of logo */

svg.icon-logo-with-title .color-1 { }
svg.icon-logo-with-title .color-2 { }

/* text styles */

p { margin:0; padding:8px 0; }
small { font-size:85%; color:#9c9c9c; }
ul.links li { display:inline-block; list-style:none; padding:0 4px; }
.solid { white-space:nowrap; }
.more { font-weight:bold; }
.hidden { display:none; }
.center { text-align:center; }
.center img { display:inline-block; }
.accent { font-weight:bold; }
.highlight { background-color:#006de0 !important; }

/* links */

a { 
  color:#c72f41; 
  text-decoration:none; 
  outline:none;
  -webkit-transition: .7s;
  -moz-transition: .7s;
  -o-transition: .7s;
  transition: .7s;
  }
a:hover { color:#3a3a3a; text-decoration:none; }
a.same { color:inherit; text-decoration:none; }
a.same:hover { color:inherit; text-decoration:none; }

/* button-like links */

.is-button { display:inline-block; padding:0 1em; line-height:2.4em; white-space:nowrap; background:#c72f41; color:#fff; font-style:normal; text-decoration:none; cursor:pointer; border-radius:10rem; outline:none; user-select:none; transition:.7s; box-shadow:#ccc 2px 1px 5px; }
.is-button.hidden { display:none; }
.is-button.yellow { background:#f9cc48; color:#313131; }
.is-button.blue { background:#006de0; color:#fff; }
.is-button.silver { background:#eee; }
.is-button.white { background:#fff; color:inherit; }
.is-button.gold { background:#9e866b; color:#fff; }
.is-button.outline { background:#fff; border:1px solid #ccc; color:inherit; box-shadow:none; }
.is-button:hover { text-decoration:none; background:#0151a5; color:#fff; }
.is-button.outline:hover { background:#fff; color:inherit; }

/* page layout */

.page-content { padding:3rem 0; width:auto; height:auto; }
.page-content img { max-width:100%; height:auto; }
.page-content.page-node-video { padding-top:0; }
.page-column-left { float:left; clear:none; width:200px; }
.page-column-right { float:right; clear:none; width:740px; }
.page-column-hidden { display:none; }

/* layout helpers */

.mainbox { width:100%; min-width:280px; max-width:1240px; padding:0 1rem; margin:0 auto !important; }
.content-center { width:100%; max-width:480px; margin:3rem auto; padding:1.2rem; background-color:#fff; border:1px solid #d7d7d7; border-radius:7px; }
.content-center .page-title { margin:0 0 2rem 0; padding:1.20rem 0 2.10rem 0; border-bottom:1px solid #d7d7d7; }
.content-no-padding { padding:0; }
.colspace { margin-left:2rem !important; }
.topspace { margin-top:2rem !important; }
.bottomspace { margin-bottom:2rem !important; }
.float { float:left; clear:none; }
.float-right { float:right; clear:none; }
.width-limit { max-width:90%; }

/* vcard */

.vcard-left { display:inline; float:left; clear:left; width:50%; padding-right:1.50rem; }
.vcard-right { clear:right; display:block; overflow:hidden; padding-left:1.50rem; }
.vcard-left-responsive { /* see responsive.css */ }
.vcard-right-responsive { /* see responsive.css */ }

/* tabs */

.ui-tabs-option { border-radius:4px 4px 0 0; }

/* table */

table { border:0; }
table tbody { border:0; }
table th { padding:5px; vertical-align:top; border:1px solid #9a9a9a; font-weight:bold; background-color:#e5e5e5; border-bottom-width:3px; }
table tr.even { background-color:#f0f0f0; border:0; border-top:1px solid #9a9a9a; }
table tr.odd { background-color:#ffffff; border:0; border-top:1px solid #9a9a9a; }
table td { padding:5px; vertical-align:top; border:1px solid #9a9a9a; }

/* blocks */

.block { margin:0; padding:1rem 0 2rem 0; }
.block-title { position:relative; margin-bottom:1.50rem; text-align:center; }
.block-title h2 { margin:0; padding:0; font-size:108%; text-transform:uppercase; letter-spacing:0.10rem; white-space:nowrap; overflow:hidden; }
.block-title h2::before { position:absolute; z-index:10; content:" "; top:calc(0.5em + 1px); left:0; display:block; width:100%; height:1px; border-top:1px solid #d7d7d7; }
.block-title h2 span { position:relative; z-index:11; display:inline-block; padding:0 1em; background-color:#fff; }

/* navigation */

nav { width:100%; height:auto; margin:0; padding:2rem 0; text-align:center; }
nav ul { list-style:none; margin:0; padding:0; }
nav li { list-style:none; margin:0 3px; padding:0; display:inline-block; line-height:2.5em; }
nav li a { display:block; margin:0; padding:0 1em; background:#eee; border-radius:4px; }

/* selectable */

.selectable { background:#f0f0f0; cursor:pointer; }

/* flex view */

.flex-view { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; margin:0; padding:0 0 3rem 0; }
.flex-view header { width:100%; }
.flex-view .more-link { width:100%; text-align:center; }
.flex-view-element-20 { margin:0; padding:0; width:20%; }
.flex-view-element-25 { margin:0; padding:0; width:25%; }
.flex-view-element-33 { margin:0; padding:0; width:33%; }
.flex-view-element-50 { margin:0; padding:0; width:50%; }

/* form objects */

.form-item { display:block; clear:left; margin-bottom:7px; margin-top:4px; }
.form-item label { font-weight:bold; display:block; }
.form-item label.option {
  padding-left:1.8em;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  }
.form-checkbox, .form-radio { float:left; }
.form-select { margin:1px 5px 0 0; max-width:100%; }
.form-text, .form-textarea, .form-search, .form-email, .form-tel, .form-select { outline:none; -webkit-appearance:none; -moz-appearance:none; appearance:none; box-sizing:border-box; padding:5px 10px; border:1px solid #a9a9a9; background:#fff; border-radius:3px; }
.form-text, .form-textarea, .form-search, .form-email, .form-tel { width:auto; max-width:100%; }
.form-item-description { position:relative; font-size:inherit; color:#777; padding:5px 0; }
.form-item-description::before { display:inline-block; margin:0 5px 0 0; width:20px; height:20px; border-radius:20px; content:"?"; background:#777; color:#fff; text-align:center; }
.form-item .disabled { background:#e7e7e7 !important; }
.form-actions { padding:1rem 0; }
.form-required { color:inherit; }
.captcha { padding:1.4rem 0; }

input[type=submit], 
input[type=button] { -webkit-appearance:none; box-sizing:border-box; }

.form-submit {
  outline:none;
  display:inline-block;
  margin-right:10px;
  cursor:pointer; 
  padding:0px 17px; 
  height:38px; 
  line-height:38px;
	color:#fff;
	font-weight:normal;
	font-style:normal;
	text-decoration:none;
  text-indent:0;
  border:1px solid transparent;
  border-radius:10rem;
  background-color:#c72f41;
  -webkit-transition: .7s;
  -moz-transition: .7s;
  -o-transition: .7s;
  transition: .7s;
  -webkit-appearance: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  box-shadow:#ccc 2px 1px 5px;
  }

.form-submit:hover { text-decoration:none; background:#0151a5; color:#fff; }

.button-action-no-submit { background:#ddd; color:#2c2c2c; }
.button-action-no-submit:hover { background-color:#efefef; color:#2c2c2c; }

/* inline forms */

.form--inline .form-item { display:inline-block; padding-right:0.7rem; }
.form--inline .form-actions { display:inline-block; }

/* other form elements */

input.error, textarea.error, select.error { 
  border: 1px solid #c72f41 !important;
  -webkit-box-shadow: 0px 0px 6px -1px #c72f41;
  -moz-box-shadow: 0px 0px 6px -1px #c72f41;
  box-shadow: 0px 0px 6px -1px #c72f41;
  }
  
/* user forms */

.user-login-form .form-item-name .description,
.user-login-form .form-item-pass .description { display:none; }
