/***************************************************/
/********************** GERAL **********************/
/***************************************************/

@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic);
@font-face		{ font-family: 'fontello'; src: local(fontello), url('../fonts/fontello/font/fontello.woff') format('woff'); }

body											{ margin:0; color:#000; height: 100%; background:#fff; font-weight: 400; }
html											{ height: 100%; }

*												{ outline:none; -webkit-font-smoothing: antialiased; font-size: 12px; letter-spacing: 1px; font-family: 'Open Sans'; }
img												{ border:0px; }
form											{ margin:0px; padding:0px; }

.l												{ float:left; }
.r												{ float:right; }
.b,b,strong										{ font-weight: 700; }
.hide											{ display:none; }
.clear											{ clear:both; }
.clear.spacer									{ height: 60px; }
.clear.minSpacer								{ height: 30px; }
.color											{ color:#00afef; }
.warningBox										{ padding: 50px; background: #f1f1f1; text-align: center; text-transform: uppercase; letter-spacing: 2px; }
.forceSquare									{ width: 100%; height: auto; }
.marginSide										{ padding: 0 20px; }
.submitmyform									{ cursor: pointer; }
.pointer										{ cursor: pointer; }


.fifth											{ position: relative; width: 20%; }
.quarter										{ position: relative; width: 25%; }
.thirth											{ position: relative; width: 33%; }
.thirth.middle									{ position: relative; width: 33%; margin: 0 0.5%; }
.twothirth										{ position: relative; width: 67%; }
.half											{ position: relative; width: 50%; }
.threequarter									{ position: relative; width: 75%; }
.full											{ position: relative; width: 100%; }

.thirth.place-in-middle{ margin-left: 33.5%; }


a:link											{ text-decoration: none; color:#000; transition: color 0.2s; }
a:visited										{ text-decoration: none; color:#000; transition: color 0.2s; }
a:hover											{ text-decoration: none; color:#000; transition: color 0.2s; }
a:active										{ text-decoration: none; color:#000; transition: color 0.2s; }

.groupinput .innerpadding .input									{ background: none; border: 0; outline: none; resize: none; padding: 0; margin: 0; width: 100%; background: none; }
.groupinput .innerpadding .input:focus								{  }
.groupinput .innerpadding .input::-webkit-input-placeholder			{ color:#999; }
.groupinput .innerpadding .input:focus::-webkit-input-placeholder	{ color:#b7b7b7; }
.groupinput .innerpadding .select									{ background: url('../img/bg-select-arrow.png') no-repeat right 5px center; border: none; line-height: 1; -webkit-appearance: none; cursor: pointer; border-radius: 0; width: 100%; }


.button,a.button								{ background: #000; border: 1px solid #fff; color: #fff; margin: 0; padding: 0; transition:border 0.2s; border-radius: 0; padding: 5px 10px; }
.button .innerpadding,a.button .innerpadding	{ padding-top: 10px; padding-bottom: 10px; }
.button:hover,a.button:hover					{ border-color: #000; cursor: pointer; transition:border 0.2s; }


/***************************************************/
/********************** ANIMATIONS *****************/
/***************************************************/

.animateTop										{ -webkit-transform:translateY(50px); -ms-transform:translateY(50px); transform:translateY(50px); opacity: 0; }
.animateTop.animateMe							{ -webkit-transform:translateY(0); -ms-transform:translateY(0); transform:translateY(0); opacity: 1; transition: all 0.5s; }
.animateLeft									{ -webkit-transform:translateX(-30px); -ms-transform:translateX(-30px); transform:translateX(-30px); opacity: 0; }
.animateLeft.animateMe							{ -webkit-transform:translateX(0); -ms-transform:translateX(0); transform:translateX(0); opacity: 1; transition: all 0.5s; }
.animateBottom									{ -webkit-transform:translateY(-50px); -ms-transform:translateY(-50px); transform:translateY(-50px); opacity: 0; }
.animateBottom.animateMe						{ -webkit-transform:translateY(0); -ms-transform:translateY(0); transform:translateY(0); opacity: 1; transition: all 0.5s; }
.animateRight									{ -webkit-transform:translateX(50px); -ms-transform:translateX(50px); transform:translateX(50px); opacity: 0; }
.animateRight.animateMe							{ -webkit-transform:translateX(0); -ms-transform:translateX(0); transform:translateX(0); opacity: 1; transition: all 0.5s; }
.animatePaddTop									{ padding-top: 30px; opacity: 0; }
.animatePaddTop.animateMe						{ padding-top: 0; opacity: 1; transition: all 0.3s; }
.animateFade									{ opacity: 0; }
.animateFade.animateMe							{ opacity: 1; transition: all 1s; }


/***************************************************/
/********************** MENUS **********************/
/***************************************************/

.mainmenu								{ position: relative; width: 100%; overflow: hidden; z-index: 0; transition: width 0.2s linear 1s; background: #fff; margin-top: 3px; border-bottom: 1px solid #663398; }
.mainmenu .link							{ position: relative; float: left; transition: all 1s; cursor: pointer; }
.mainmenu .link .innerpadding			{ padding: 5px 20px; color: #fff; text-align: center; font-size: 12px; font-weight: 600; transition: color 0.2s; color: #333; }
.mainmenu .link .innerpadding:hover		{ color: #cb9833; transition: color 0.2s; }

.mainmenu .link.current .innerpadding	{ color: #cb9833; transition: color 0.2s; }

.menu-wrapper.fixmenu{ position: fixed; top: 0; left: 0; width: 100%; z-index: 999; display: none; }
.menu-wrapper.fixmenu .mainmenu{ margin: 0; box-shadow: 0 0 5px #666; }


/*
.openMenu										{ position:relative; float:right; width:33px; height:33px; cursor:pointer; }
.openMenu .path									{ position:absolute; left:4px; right:4px; height:3px; background:#fff; }
.openMenu .path:nth-of-type(1)					{ top:8px; transition-property: all,top; transition-duration: 0.2s,0.2s; transition-delay: 0s,0.2s; }
.openMenu .path:nth-of-type(2)					{ top:15px; opacity:1; transition-property: opacity; transition-duration: 0s; transition-delay: 0.2s; }
.openMenu .path:nth-of-type(3)					{ bottom:8px; transition-property: all,bottom; transition-duration: 0.2s,0.2s; transition-delay: 0s,0.2s; }
.openMenu.open .path:nth-of-type(1)				{ transform: rotate(45deg); -webkit-transform: rotate(45deg); top:15px; transition-property: all,top; transition-duration: 0.2s,0.2s; transition-delay: 0.2s,0s; }
.openMenu.open .path:nth-of-type(2)				{ opacity:0; transition-property: opacity; transition-duration: 0s; transition-delay: 0.2s; }
.openMenu.open .path:nth-of-type(3)				{ transform: rotate(4-5deg); -webkit-transform: rotate(-45deg); bottom:15px; transition-property: all,bottom; transition-duration: 0.2s,0.2s; transition-delay: 0.2s,0s; }
*/


/***************************************************/
/********************* CONTENT *********************/
/***************************************************/


.sidenav										{ position: fixed; top: 50%; right: 20px; width: 20px; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); z-index: 10; }
.sidenav a										{ cursor: pointer; float: left; background: #f1f1f1; border: 1px solid #e1e1e1; border-radius: 10px; width: 10px; height: 10px; margin: 5px 5px; }


.aligncenter									{ position: relative; width: 100%; max-width: 1280px; margin: 0 auto; }
.innerpadding									{ padding: 20px; }
.innerpadding.removesides						{ padding-left: 0; padding-right: 0; }
.innerpadding.removetops						{ padding-top: 0; padding-bottom: 0; }

.go-to-top{ position: fixed; bottom: 30px; right: 30px; color: #000; z-index: 9999; background: #fff; border-radius: 30px; width: 60px; height: 53px; padding-top: 7px; text-align: center; transition: bottom 0.2s, opacity 0.2s; cursor: pointer; display: none; opacity: 0.8; }
.go-to-top i{ font-size: 40px; line-height: 30px; color: #000; }

.go-to-top:hover{ bottom: 40px; transition: bottom 0.2s, opacity 0.2s; opacity: 1; }

.header{ position: relative; width: 100%;
	
	background: #9833cb; /* For browsers that do not support gradients */
	background: -webkit-linear-gradient(left, #9833cb , #663398); /* For Safari 5.1 to 6.0 */
	background: -o-linear-gradient(right, #9833cb, #663398); /* For Opera 11.1 to 12.0 */
	background: -moz-linear-gradient(right, #9833cb, #663398); /* For Firefox 3.6 to 15 */
	background: linear-gradient(to right, #9833cb , #663398); /* Standard syntax */	
	
 }
 
.header .bo-header{ position: relative; width: 100%; height: 150px; }
.header .logo{ padding: 5px 0; }
.header .logo img{ max-width: 60px; }
.header .logo img.mobile-logo{ display: none; }

.header h1{ float: left; margin: 0; padding: 0; color: #fff; text-align: right; font-size: 30px; padding: 20px 0 0 20px; line-height: 24px; }
.header h1 small{ font-weight: 600; }


.fixed-popup{ position: fixed; width: 500px; min-height: 200px; left: -504px; top: 50%; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); background: #fff; border: 2px solid #6b2784; border-radius: 15px; transition: left 0.2s; }
.fixed-popup .handle{ position: relative; float: right; margin-top:20px; background: #6b2784; border-radius: 0 25px 25px 0; padding: 10px; cursor: pointer; margin-right: -36px; }
.fixed-popup .handle img{ max-width: 16px; height: auto; }

.fixed-popup:hover{ left: 5px; transition: left 0.2s; }


.social{ text-align: center;  }
.social i{ font-size: 30px; }

/* HOMEPAGE */
.homepage-text-wrapper .first-title-element{ border-top:2px solid #9833cb; width: 10%; }
.homepage-text-wrapper .last-title-element{ border-bottom:2px solid #9833cb; width: 90%; }
.homepage-text-wrapper .title{ padding: 5px 15px; color: #fff; background: #9833cb; font-size: 14px; border-radius: 15px; margin: 0 0 -2px -15px; font-weight: 700; text-transform: uppercase; }
.homepage-text-wrapper .summary{ padding-top: 5px; padding-right: 20px; font-weight: 600; }

.homepage-text-wrapper .twothirth{ padding-right: 20px; width: calc(67% - 20px) }

hr{ border: 0; background: #ccc; height: 1px; }



/* SECTIONS */
.section .title{ border-bottom: 2px solid #333; margin-right: 15px; }
.section .title .title-text{ float: right; padding: 5px 15px; color: #fff; background: #333; border-radius: 15px; margin: 0 -15px -2px 0; font-weight: 600; text-transform: uppercase; }

.section.newsletter .title{ border-color: #9833cb; }
.section.newsletter .title .title-text{ background: #9833cb; }


.rs-brand{ position: relative; background: #663398; margin-left: 35px; padding-left: 50px; }
.rs-brand .rs-logo{ position: absolute; left: -35px; bottom: 0; padding: 10px; width: 45px; height: 45px; background: #663398 url('../img/site/rs_footer.png') no-repeat center center; background-size: 45px auto; border-radius: 45px; border: 5px solid #fff; }
.rs-brand .text{ padding: 10px; font-size: 20px; color: #fff; border-left: 1px solid #fff; font-weight: bold; }



footer{ position: fixed; left: 0; bottom: 0; width: 100%; background: #333; color: #fff; text-align: center; padding: 2px 5px; font-size: 11px; z-index: 99999; }
footer a{ color: #fff !important; font-size: 11px !important; }
footer a:hover{ color: #fff; text-decoration: underline; cursor: pointer; }

.bo-footer{ position: relative; width: 100%; height: 150px; }


/* CONTACTS */
.map											{ position: relative; width: 100%; height: 500px; z-index: 0; }
.contactform{ margin-left: 25%; }
.contactform .dialog							{ margin-bottom: 10px; }
.contactform .groupinput						{ margin-bottom: 10px; }
.contactform .groupinput .innerpadding			{ background: #e1e1e1; padding: 10px; }
.contactform .groupinput.l .innerpadding		{ margin-right: 5px; }
.contactform .groupinput.r .innerpadding		{ margin-left: 5px; }
.contactform .groupinput.textarea .input		{ height: 200px; }
.contactform .button{ width: calc(100% - 20px); text-align: center; font-weight: bold; text-transform: uppercase; border: 0; background: #333; }
.contactform .button:hover{ background: #222; }


/* LOGIN AREA */

.loginform .groupinput .innerpadding					{ padding: 5px 10px; margin-bottom: 10px; border: 2px solid #000; }

.loginform .newregist .groupinput.l .innerpadding		{ margin-right: 5px; }
.loginform .newregist .groupinput.r .innerpadding		{ margin-left: 5px; }
.loginform .newregist .half.l .groupinput .innerpadding	{ margin-right: 5px; }
.loginform .newregist .half.r .groupinput .innerpadding	{ margin-left: 5px; }
.loginform .newregist .groupinput .select				{ width: 100%; padding: 3px 0 2px 0; padding-right: 25px; background-color: #fff; }
.loginform .dialog										{ margin-bottom: 10px; }
.loginform .button										{ border-width: 1px; margin: 0; }


/* SCROLL */
.jspContainer									{ overflow:hidden; position:relative; }
.jspPane										{ position:absolute; }
.jspVerticalBar									{ position: absolute; top: 0; right: 0; width: 6px; height: 100%; padding: 2px; }
.jspHorizontalBar								{ position: absolute; bottom: 0; left: 0; width: 100%; height: 5px; }
.jspVerticalBar *,
.jspHorizontalBar *								{ margin: 0; padding: 0; }
.jspCap											{ display: none; }
.jspHorizontalBar .jspCap						{ float: left; }
.jspTrack										{ background:none; position: relative;  }
.jspDrag										{ background:#1c1c1c; position: relative; box-shadow: 0 0 3px #000; top: 0; left: 0; cursor: pointer; }
.jspDrag:hover									{ background-position:center right; }
.jspHorizontalBar .jspTrack,
.jspHorizontalBar .jspDrag						{ float: left; height: 100%; }
.jspArrow										{ background: #50506d; text-indent: -20000px; display: block; cursor: pointer; }
.jspArrow.jspDisabled							{ cursor: default; background: #80808d; }
.jspVerticalBar .jspArrow						{ height: 5px; }
.jspHorizontalBar .jspArrow						{ width: 5px; float: left; height: 100%; }
.jspVerticalBar .jspArrow:focus					{ outline: none; }
.jspCorner										{ background: #eeeef4; float: left; height: 100%; }
/* Yuk! CSS Hack for IE6 3 pixel bug :( */
* html .jspCorner								{ margin: 0 -3px 0 0; }




/* Tooltips */
.tipsy { padding: 5px; font-size:13px; position: absolute; z-index: 100000; }
.tipsy-inner { padding: 5px 8px 4px 8px; background-color: black; color: white; max-width: 200px; text-align: center; }
.tipsy-inner { /*border-radius: 3px; -moz-border-radius:3px; -webkit-border-radius:3px;*/ }
.tipsy-arrow { position: absolute; background: url('../img/tipsy.gif') no-repeat top left; width: 9px; height: 5px; }
.tipsy-n .tipsy-arrow { top: 0; left: 50%; margin-left: -4px; }
.tipsy-nw .tipsy-arrow { top: 0; left: 10px; }
.tipsy-ne .tipsy-arrow { top: 0; right: 10px; }
.tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -4px; background-position: bottom left; }
.tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; background-position: bottom left; }
.tipsy-se .tipsy-arrow { bottom: 0; right: 10px; background-position: bottom left; }
.tipsy-e .tipsy-arrow { top: 50%; margin-top: -4px; right: 0; width: 5px; height: 9px; background-position: top right; }
.tipsy-w .tipsy-arrow { top: 50%; margin-top: -4px; left: 0; width: 5px; height: 9px; }



/* Messages */
.dialog						{ color: #000; font-size: 14px; }
.dialog .innerpadding		{ padding: 10px; }
.dialog.done .innerpadding	{ border: 2px solid #ceef73; background: rgba(206,239,115,0); }
.dialog.error .innerpadding	{ border: 2px solid #ef7373; background: rgba(239,155,115,0); }
.dialog.notes .innerpadding	{ border: 2px solid #73b3ef; background: rgba(115,179,239,0); }
.dialog li					{ margin-left: 20px; }
.dialog p					{ margin-left: 0; }


/* Parallax */
.parallaxImage									{ position: relative; width: 100% !important; height: 330px; margin: 0; padding: 0; overflow: hidden; z-index: 2; }
.parallaxImage .randomImage						{ position: absolute; left:0; top:0; width: 100%; height: 100%; background-repeat:no-repeat; background-attachment:fixed; background-position:50% 0; opacity: 1; }