@import url(//fonts.googleapis.com/css?family=Dosis:200,400,700|Open+Sans:300italic,400italic,600italic,700italic,800italic,200,300,400,600,700,800);

/* Reset */
* { margin: 0; padding: 0; }
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{padding:0;border:0;margin:0;vertical-align:baseline;box-sizing:border-box;}
body{}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}

/* Set Initial Values */
body { background: #fafafa; font-size: 100%; font-family: 'Open Sans', sans-serif; color: #222222; }
img { max-width: 100%; height: auto; border: none; }
h1, h2 { font-family: 'Open Sans', serif; color: #231f20; }
h3, h4, h5, h6 { font-family: 'Open Sans', serif; color: #231f20; }
a { text-decoration: none; color: #0085FF; }
a:hover { color: #ffb310; }

/* Utility Classes */
.f { width: 95%; margin: 0 auto; box-sizing: border-box; } /* Full Width Wrapper */
.w { width: 95%; margin: 0 auto; box-sizing: border-box; max-width: 1280px; } /* Padded Width Wrapper */
.i { width: 95%; margin: 0 auto; box-sizing: border-box; max-width: 1024px; } /* Padded Width Wrapper */
.x { clear: both; } /* Clear Class */
.group:after { visibility: hidden; display: block; content: ""; clear: both; height: 0; }
* html .group, *:first-child+html .group { zoom: 1; } /* IE6 / IE7 */
.align-center { text-align: center; }
.align-left { text-align: left; }
.align-right { text-align: right; }

button, input, textarea, select { font-size: 16px; border: 1px solid #ccc; font-family: inherit; padding: 8px; box-sizing: border-box; }
button, input { line-height: normal; }
textarea { font-size: 100%; overflow: auto; vertical-align: top; }
input[type="text"], input[type="submit"] { -webkit-appearance: none; }

body { padding: 0; }
body .container {  }

/* Header CSS */
.header { padding: 20px 0; background: #231f20; }
.header .cols .col.logo { max-width: 300px; }
.header .cols .col.navigation { text-align: right; }
.header .cols .col.navigation ul { list-style: none; }
.header .cols .col.navigation ul li { display: inline-block; margin-left: 8px; }
.header .cols .col.navigation ul li a { color: #fff; margin: 0 0 0 10px; }
.header .cols .col.navigation ul li a.button { color: #333333; }
.header .cols .col.navigation ul li a:hover { color: #ffb310; }
.header .cols .col.navigation ul li a.button:hover { background: #ffc445; color: #333333; }

/* Footer CSS */
.footer { }

.cols { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.cols > .col { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0; }
.cols > .col.f1 { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }
.cols > .col.f2 { -webkit-box-flex: 2; -ms-flex-positive: 2; flex-grow: 2; }
.cols > .col.f3 { -webkit-box-flex: 3; -ms-flex-positive: 3; flex-grow: 3; }
.cols > .col.f4 { -webkit-box-flex: 4; -ms-flex-positive: 4; flex-grow: 4; }
.cols > .col.f5 { -webkit-box-flex: 5; -ms-flex-positive: 5; flex-grow: 5; }
.cols > .col.f6 { -webkit-box-flex: 6; -ms-flex-positive: 6; flex-grow: 6; }

.cols.center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.cols.stretch { -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
.cols.reverse { flex-direction: row-reverse; }
.cols.spacing { padding-bottom: 45px; }
.cols.spacing > .col { padding: 0 20px; }
.cols.spacing.small > .col { padding: 0 10px; }
.cols.spacing > .col:first-child { padding-left: 0; }
.cols.spacing > .col:last-child { padding-right: 0; }
.cols.spacing.reverse > .col:first-child { padding-left: 20px; padding-right: 0; }
.cols.spacing.reverse > .col:last-child { padding-right: 20px; padding-left: 0; }
.cols.bordered > .col { border: 2px solid #f3f3f3; border-top: none; border-bottom: none; }
.cols.bordered > .col:first-child { border-left: none; }
.cols.bordered > .col:last-child { border-right: none; }

.submit input,
.button,
button[type="submit"] { cursor: pointer; font-size: 16px; border-radius: 3px; text-transform: uppercase; display: inline-block; padding: 11px 16px; color: #231f20; background: #f9cc44; text-decoration: none; line-height: 1; font-weight: 400; border: 0; }
.submit input:hover,
.button:hover,
button[type="submit"]:hover { color: #231f20; background-color: #f7bf1e; }

button.gold,
.button.gold { background: #ffb310; color: #231f20; }
button.gold,
.button.gold:hover { background: #ffc445; color: #231f20; }

button.black,
.button.black { background: #231f20; color: #ffffff; }
button.black,
.button.black:hover { background: #231f20; color: #ffb310; }

button.blue,
.button.blue { background: #0085FF; color: #ffffff; }
button.blue,
.button.blue:hover { background: #ffb310; color: #ffffff; }

button.grey,
.button.grey { background: #c3c3c3; color: #ffffff; }
button.grey,
.button.grey:hover { background: #b3b3b3; color: #ffffff; }

button.danger,
.button.danger { background: #ff253a; color: #ffffff; }
button.danger:hover,
.button.danger:hover { background: #cc1728;  }

button.continue,
.button.continue { background: #9bbd48; color: #ffffff; }
button.continue:hover,
.button.continue:hover { background: #79982d; }

button.facebook,
.button.facebook { background-color: #2D88FF; text-transform: none; }
button.facebook:hover,
.button.facebook:hover { background-color: #1c68cb; }
button.facebook svg,
.button.facebook svg { display: inline-block; margin-right: 5px; }

button.instagram,
.button.instagram { background: #7f38ad; background: linear-gradient(90deg, rgba(252,176,69,1) 0%, rgba(253,29,29,1) 27%, rgba(131,58,180,1) 76%); }
button.instagram:hover,
.button.instagram:hover { background: #692e90; background: linear-gradient(90deg, rgba(213,149,59,1) 0%, rgba(218,25,25,1) 27%, rgba(105,46,144,1) 76%); }
button.instagram svg,
.button.instagram svg { display: inline-block; margin-right: 5px; }

.container .shadow-box { border-radius: 4px; box-shadow: 0 0 6px rgba(0,0,0,.08); background-color: #ffffff; padding: 25px 30px; margin-bottom: 20px; }

.container .title-box { border-radius: 4px; box-shadow: 0 0 6px rgba(0,0,0,.08); background-color: #5d50db; padding: 12px 20px; margin-bottom: 25px; }
.container .title-box h3 { padding: 0; color: #fff; font-size: 18px; display: inline-block; }
.container .title-box .navigation { float: right; text-align: right; }
.container .title-box .navigation a { color: #fff; }
.container .title-box .navigation a:hover { color: #433743; }

.container .title-box.purple { background-color: #7a3d79; }

.container .notice-box { background: #d33c44; }
.container .notice-box h3 { padding: 0; margin-bottom: 5px; color: #fff; font-size: 20px; }
.container .notice-box p { padding: 0; margin-bottom: 10px; color: #fff; }
.container .notice-box > *:last-child { margin-bottom: 0; }
.container .notice-box a { color: #f8b759; }
.container .notice-box a:hover { text-decoration: underline; }
.container .notice-box .button { background-color: #ffffff; color: #d33c44; }
.container .notice-box .button:hover { text-decoration: none; background-color: #560d11; color: #ffffff; }

.container .notice-box.soft { background: #844984; }
.container .notice-box.soft h3 { color: #fff; }
.container .notice-box.soft .button { background-color: #ffffff; color: #844984; }
.container .notice-box.soft .button:hover { background-color: #f8b759; color: #ffffff; }

/* Default Styles */
.container { padding: 30px 0;}
.container h1 { font-size: 42px; line-height: 1.2; padding: 0 0 20px 0; font-weight: bold; }
.container h2 { font-size: 30px; line-height: 1.2; padding: 0 0 20px 0; }
.container h3 { font-size: 26px; line-height: 1.4; padding: 0 0 10px 0; }
.container h4 { font-size: 24px; line-height: 1.4; padding: 0 0 20px 0; }
.container h5 { font-size: 22px; line-height: 1.4; padding: 0 0 20px 0; }
.container h6 { font-size: 20px; line-height: 1.4; padding: 0 0 20px 0; }
.container p { font-size: 19px; line-height: 1.6; padding: 0 0 20px 0; }
.container ol,
.container ul { font-size: 19px; padding: 0 0 20px 0; margin-left: 40px; }
.container ol li,
.container ul li { line-height: 2; }
.container ol.none,
.container ul.none { list-style: none; margin-left: 0; }
.container ol.none li,
.container ul.none li { padding-left: 0; }
.container hr { clear: both; height: 20px; padding: 0; margin: 40px 0; border: none; }
.container hr.line { height: 0; margin: 0 0 20px 0; border-top: 1px solid #ccc; }
.container img.max { width: 100%; margin-bottom: 8px; }
.container table { margin: 0 0 20px 0; table-layout: auto; border-spacing:0; width:100% }
.container table tr th,
.container table tr td { border-bottom: 1px solid #e1e1e1; padding: 12px; text-align:left; }
.container table tr th { vertical-align: bottom; }
.container table thead td { font-weight: bold; }
.container .video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; margin: 25px 0; }
.container .video-container iframe,
.container .video-container object,
.container .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.container .red { color: #ff253a; }
.container .green { color: #9bbd48; }

.container .input { margin-bottom: 15px;}
.container .submit { margin-top: 16px; }
.container .input label { display: block; margin-bottom: 5px; }
.container .input input,
.container .input select,
.container .input textarea { margin: 0; width: 100%; border-radius: 4px; padding: 11px 8px; }
.container .input select { background: #f8f8f8 url('../img/bg.select.gif') right 12px center no-repeat; -webkit-appearance: none; padding: 11px 8px; }
.container .input.error input,
.container .input.error select,
.container .input.error textarea { border: 1px solid #ff5d78; }
.container .input.file { margin-top: 10px; }
.container .input.file input { border: none; padding: 0; }
.container .input .after { font-size: 12px; margin-top: 2px; margin-left: 4px; }
.container .input.checkbox input { display: inline-block; width: 20px; vertical-align: middle; position: relative; top: -2px; margin-right: 10px; }
.container .input.checkbox label { display: inline-block; width: calc(100% - 40px); vertical-align: middle; margin-bottom: 0; }
.container .input.required label:after { content: ""; display: inline-block; width: 6px; height: 6px; background: #ff253a; border-radius: 20px; position: relative; top: -6px; margin-left: 5px; }
.container .input.required label.error:after { content: none; }
.container .input.checkbox input { top: auto; position: relative; -webkit-appearance: none; -moz-appearance: none; appearance: none; display: inline-block; vertical-align: middle; background-color: #fff; color: #666; height: 25px; width: 25px; border: 1px solid #ccc; border-radius: 3px; cursor: pointer; margin-right: 8px; outline: none; }
.container .input.checkbox input:checked::before { position: absolute; font: 13px 'Open Sans', sans-serif; left: 7px; top: 0; content: '\02143'; transform: rotate(40deg); font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,.5); }
.container .input.checkbox input:hover { background-color: #f7f7f7; }
.container .input.checkbox input:checked { background-color: #0085FF; color: #fff; border-color: #044c8e; }
.container .input.radio input { top: auto; position: relative; -webkit-appearance: none; -moz-appearance: none; appearance: none; display: inline-block; vertical-align: middle; background-color: #fff; color: #666; height: 25px; width: 25px; border: 1px solid #ccc; border-radius: 3px; cursor: pointer; margin-right: 8px; outline: none; }
.container .input.radio input:checked::before { position: absolute; font: 13px 'Open Sans', sans-serif; left: 7px; top: 0; content: '\02143'; transform: rotate(40deg); font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,.5); }
.container .input.radio input:hover { background-color: #f7f7f7; }
.container .input.radio input:checked { background-color: #0085FF; color: #fff; border-color: #044c8e; }
.container .input .error-message { color: #ff5d78; font-size: 14px; padding-top: 8px; }

.container .table-responsive { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
/*table{}td,th{}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}*/

.container .actions .submit { margin-top: 0; }

/* Elements */
.element#message .message { background: #f8b759; color: #fff; text-align: center; font-weight: bold; font-size: 18px; padding: 20px; }
.element#message .message a { color: #fff; text-decoration: underline; }
.element#message .message.success { background: #a4d431; }
.element#message .message.error { background: #ff253a; }

.element#message .message.hidden { display: none; }

.element.cta { position: fixed; z-index: 999; bottom: 20px; left: 2.5%; }
.element.cta .shadow-box { cursor: pointer; padding: 15px 20px; border-radius: 10px; display: inline-block; margin: 0; background-color: #433743; }
.element.cta .shadow-box p { font-weight: bold; padding: 0; margin: 0; color: #fff; }
.element.cta .shadow-box:hover { background-color: #7a3d79; }
.element.cta .shadow-box:hover p { background-color: #7a3d79; color: #fff; }

.element.modal { position: fixed; height: 100%; width: 100%; z-index: 99999; top: 0; left: 0; display: none; }
.element.modal:after { visibility: hidden; display: block; content: ""; clear: both; height: 0; }
.element.modal .modal-background { height: 100%; width: 100%; background: rgba(0,0,0,.5); }
.element.modal .modal-background .modal-content { padding: 25px; min-height: 0; border-radius: 6px; margin: 0 auto; position: relative; background: #fff; width: auto; max-width: 700px; max-height: 80vh; box-shadow: 0 0 10px rgba(0,0,0,.5); top: 25vh; }
.element.modal .modal-background .modal-content img.max { width: 100%; margin: 0; }
.element.modal .modal-background .modal-content #close { position: absolute; right: 14px; top: 13px; color: rgba(222, 222, 222, 0.7); padding-top: 20px; display: block; font-size: 22px; cursor: pointer; padding: 0; border: none; font-weight: 600; }
.element.modal .modal-background .modal-content #close:hover { color: #4886ff; }
.element.modal .modal-background .modal-content .video-container { position: relative; overflow: hidden; padding-bottom: 56.25%;  height: 0; margin: 0; padding-top: 0; }
.element.modal .modal-background .modal-content .video-container iframe, 
.element.modal .modal-background .modal-content .video-container object, 
.element.modal .modal-background .modal-content .video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.element.modal .modal-background .modal-content .navigation { position: absolute; left: 0; width: 100%; top: 50%; padding: 0 14px;}
.element.modal .modal-background .modal-content .navigation a { font-size: 22px !important; color: rgba(255,255,255,.7); cursor: pointer; }
.element.modal .modal-background .modal-content .navigation a:hover { color: #4886ff; }
.element.modal .modal-background .modal-content .navigation .prev { float: left; }
.element.modal .modal-background .modal-content .navigation .next { float: right; }
.element.modal.video .modal-background .modal-content { min-width: 720px; }

.element.sidebar-splash .sidebar { height: 100vh; max-width: 450px; }
.element.sidebar-splash .main { padding: 40px; }

.element#overview { padding-bottom: 0; }
.element#overview .col { text-align: center; }
.element#overview .col h4 { padding: 0 0 5px; }
.element#overview .col p { padding: 0; }
.element#overview .col.resonance .shadow-box { background-color: #7a3d79; }
.element#overview .col.resonance h4 { color: #fff; }
.element#overview .col.resonance p { color: #f8b759; font-weight: bold; }

.element#products .product ul { list-style: none; margin: 0 0 20px 0; padding: 0; }
.element#products .product ul li { margin: 0; padding: 0; }

.element#auth { max-width: 550px; }

.element#paginator .pagination { list-style: none; text-align: right; }
.element#paginator .pagination li { display: inline-block; }
.element#paginator .pagination li a { display: inline-block; border: 1px solid #ddd; border-right: 0; padding: 3px 16px; }
.element#paginator .pagination li:first-child a { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
.element#paginator .pagination li:last-child a { display: inline-block; border: 1px solid #ddd; border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
.element#paginator .pagination li a:hover { background: #0085FF; color: #fff; border-color: #0085FF; }

.element#processing { position: fixed; height: 100%; width: 100%; z-index: 99999; top: 0; left: 0; display: none; }
.element#processing:after { visibility: hidden; display: block; content: ""; clear: both; height: 0; }
.element#processing .background { height: 100%; width: 100%; background: rgba(0,0,0,.5); }
.element#processing .background .content { padding: 0; min-height: 0; text-align: center; overflow: hidden; overflow: scroll; margin: 0 auto; position: relative; width: auto; max-width: 700px; max-height: 80vh; line-height: 0; top: 25vh; }

/* Stripe */
.container .StripeElement#card-element { font-size: 16px; border: 1px solid #ccc; border-radius: 4px; font-family: inherit; background-color: #fff; padding: 11px 8px; }
.container .StripeElement--focus#card-element {}
.container .StripeElement--invalid#card-element { border-color: #ff5d78; }
.container .StripeElement--webkit-autofill#card-element { background-color: #f1f1f1 !important; }

/* Pages */
.users.settings .user-details { text-align: center; }
.users.settings .user-details .avatar img{ border-radius: 200px; }

.accounts.setup .pages .page { background: #fafafa; border: 1px solid #ccc; border-radius: 4px; line-height: 0; margin-bottom: 5px; padding: 10px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.accounts.setup .pages .page .details-container { display: flex; align-items: center; }
.accounts.setup .pages .page img { display: inline-block; margin: 0; border-radius: 4px; max-width: 50px; width: 50px; height: 50px; }
.accounts.setup .pages .page .details { display: inline-block; text-align: left; vertical-align: top; padding: 0 10px; }
.accounts.setup .pages .page .details p { padding: 0; font-size: 14px; line-height: 18px; }
.accounts.setup .pages .page .details p.name { margin: 0; padding: 0; color: #F8B75C; font-weight: bold; font-size: 17px; }
.accounts.setup .pages .page svg { display: none; float: right; font-size: 20px; }
.accounts.setup .pages .page.selected svg { display: block; color: #09B29A; }
.accounts.setup .pages .page:hover { background: #f2f2f2; }
.accounts.setup .pages .page:hover i.fa { color: #09B29A; }
.accounts.setup .pages .page.selected { background: #e8e8e8; }

.connections.setup .pages .page { background: #fafafa; border: 1px solid #ccc; border-radius: 4px; line-height: 0; margin-bottom: 5px; padding: 10px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.connections.setup .pages .page .details-container { display: flex; align-items: center; }
.connections.setup .pages .page img { display: inline-block; margin: 0; border-radius: 4px; max-width: 50px; width: 50px; height: 50px; }
.connections.setup .pages .page .details { display: inline-block; text-align: left; vertical-align: top; padding: 0 10px; }
.connections.setup .pages .page .details p { padding: 0; font-size: 14px; line-height: 18px; }
.connections.setup .pages .page .details p.name { margin: 0; padding: 0; color: #F8B75C; font-weight: bold; font-size: 17px; }
.connections.setup .pages .page svg { display: none; float: right; font-size: 20px; }
.connections.setup .pages .page.selected svg { display: block; color: #09B29A; }
.connections.setup .pages .page:hover { background: #f2f2f2; }
.connections.setup .pages .page:hover i.fa { color: #09B29A; }
.connections.setup .pages .page.selected { background: #e8e8e8; }

.orders.view .container { padding: 0; }
.orders.view .element.sidebar-splash .sidebar { box-shadow: inset -10px 0 10px rgba(0,0,0,.15); background: url('/img/backgrounds/order.confirmation.jpg') center top no-repeat; background-size: cover; }
.orders.confirmation .container { padding: 0; }
.orders.confirmation .element.sidebar-splash .sidebar { box-shadow: inset -10px 0 10px rgba(0,0,0,.15); background: url('/img/backgrounds/order.confirmation.jpg') center top no-repeat; background-size: cover; }
