").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/js/libs/respond.min.js b/templates/frontOffice/sterivein_sans_commande/assets/js/libs/respond.min.js
new file mode 100644
index 000000000..e3dc2c0d6
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/js/libs/respond.min.js
@@ -0,0 +1,6 @@
+/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
+/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
+window.matchMedia=window.matchMedia||function(a){"use strict";var c,d=a.documentElement,e=d.firstElementChild||d.firstChild,f=a.createElement("body"),g=a.createElement("div");return g.id="mq-test-1",g.style.cssText="position:absolute;top:-100em",f.style.background="none",f.appendChild(g),function(a){return g.innerHTML='',d.insertBefore(f,e),c=42===g.offsetWidth,d.removeChild(f),{matches:c,media:a}}}(document);
+
+/*! Respond.js v1.3.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
+(function(a){"use strict";function x(){u(!0)}var b={};if(a.respond=b,b.update=function(){},b.mediaQueriesSupported=a.matchMedia&&a.matchMedia("only all").matches,!b.mediaQueriesSupported){var q,r,t,c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=c.getElementsByTagName("base")[0],l=j.getElementsByTagName("link"),m=[],n=function(){for(var b=0;l.length>b;b++){var c=l[b],d=c.href,e=c.media,f=c.rel&&"stylesheet"===c.rel.toLowerCase();d&&f&&!h[d]&&(c.styleSheet&&c.styleSheet.rawCssText?(p(c.styleSheet.rawCssText,d,e),h[d]=!0):(!/^([a-zA-Z:]*\/\/)/.test(d)&&!k||d.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&m.push({href:d,media:e}))}o()},o=function(){if(m.length){var b=m.shift();v(b.href,function(c){p(c,b.href,b.media),h[b.href]=!0,a.setTimeout(function(){o()},0)})}},p=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),g=d&&d.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c;b.length&&(b+="/"),i&&(g=1);for(var j=0;g>j;j++){var k,l,m,n;i?(k=c,f.push(h(a))):(k=d[j].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),m=k.split(","),n=m.length;for(var o=0;n>o;o++)l=m[o],e.push({media:l.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:f.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},s=function(){var a,b=c.createElement("div"),e=c.body,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",e||(e=f=c.createElement("body"),e.style.background="none"),e.appendChild(b),d.insertBefore(e,d.firstChild),a=b.offsetWidth,f?d.removeChild(e):e.removeChild(b),a=t=parseFloat(a)},u=function(b){var h="clientWidth",k=d[h],m="CSS1Compat"===c.compatMode&&k||c.body[h]||k,n={},o=l[l.length-1],p=(new Date).getTime();if(b&&q&&i>p-q)return a.clearTimeout(r),r=a.setTimeout(u,i),void 0;q=p;for(var v in e)if(e.hasOwnProperty(v)){var w=e[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?t||s():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?t||s():1)),w.hasquery&&(z&&A||!(z||m>=x)||!(A||y>=m))||(n[w.media]||(n[w.media]=[]),n[w.media].push(f[w.rules]))}for(var C in g)g.hasOwnProperty(C)&&g[C]&&g[C].parentNode===j&&j.removeChild(g[C]);for(var D in n)if(n.hasOwnProperty(D)){var E=c.createElement("style"),F=n[D].join("\n");E.type="text/css",E.media=D,j.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(c.createTextNode(F)),g.push(E)}},v=function(a,b){var c=w();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},w=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}();n(),b.update=n,a.addEventListener?a.addEventListener("resize",x,!1):a.attachEvent&&a.attachEvent("onresize",x)}})(this);
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/js/plugins/bootbox/bootbox.js b/templates/frontOffice/sterivein_sans_commande/assets/js/plugins/bootbox/bootbox.js
new file mode 100644
index 000000000..6da84eb7a
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/js/plugins/bootbox/bootbox.js
@@ -0,0 +1,604 @@
+/**
+ * bootbox.js v4.0.0
+ *
+ * http://bootboxjs.com/license.txt
+ */
+// @see https://github.com/makeusabrew/bootbox/issues/71
+window.bootbox = window.bootbox || (function init($, undefined) {
+ "use strict";
+
+ // the base DOM structure needed to create a modal
+ var templates = {
+ dialog:
+ "
",
+ header:
+ "",
+ footer:
+ "",
+ closeButton:
+ "
× ",
+ form:
+ "
",
+ inputs: {
+ text:
+ "
"
+ }
+ };
+
+ // cache a reference to the jQueryfied body element
+ var appendTo = $("body");
+
+ var defaults = {
+ // default language
+ locale: "en",
+ // show backdrop or not
+ backdrop: true,
+ // animate the modal in/out
+ animate: true,
+ // additional class string applied to the top level dialog
+ className: null,
+ // whether or not to include a close button
+ closeButton: true,
+ // show the dialog immediately by default
+ show: true
+ };
+
+ // our public object; augmented after our private API
+ var exports = {};
+
+ /**
+ * @private
+ */
+ function _t(key) {
+ var locale = locales[defaults.locale];
+ return locale ? locale[key] : locales.en[key];
+ }
+
+ function processCallback(e, dialog, callback) {
+ e.preventDefault();
+
+ // by default we assume a callback will get rid of the dialog,
+ // although it is given the opportunity to override this
+
+ // so, if the callback can be invoked and it *explicitly returns false*
+ // then we'll set a flag to keep the dialog active...
+ var preserveDialog = $.isFunction(callback) && callback(e) === false;
+
+ // ... otherwise we'll bin it
+ if (!preserveDialog) {
+ dialog.modal("hide");
+ }
+ }
+
+ function getKeyLength(obj) {
+ // @TODO defer to Object.keys(x).length if available?
+ var k, t = 0;
+ for (k in obj) {
+ t ++;
+ }
+ return t;
+ }
+
+ function each(collection, iterator) {
+ var index = 0;
+ $.each(collection, function(key, value) {
+ iterator(key, value, index++);
+ });
+ }
+
+ function sanitize(options) {
+ var buttons;
+ var total;
+
+
+ if (typeof options !== "object") {
+ throw new Error("Please supply an object of options");
+ }
+
+ if (!options.message) {
+ throw new Error("Please specify a message");
+ }
+
+ // make sure any supplied options take precedence over defaults
+ options = $.extend({}, defaults, options);
+
+ if (!options.buttons) {
+ options.buttons = {};
+ }
+
+ // we only support Bootstrap's "static" and false backdrop args
+ // supporting true would mean you could dismiss the dialog without
+ // explicitly interacting with it
+ options.backdrop = options.backdrop ? "static" : false;
+
+ buttons = options.buttons;
+
+ total = getKeyLength(buttons);
+
+ each(buttons, function(key, button, index) {
+
+ if ($.isFunction(button)) {
+ // short form, assume value is our callback. Since button
+ // isn't an object it isn't a reference either so re-assign it
+ button = buttons[key] = {
+ callback: button
+ };
+ }
+
+ // before any further checks make sure by now button is the correct type
+ if ($.type(button) !== "object") {
+ throw new Error("button with key " + key + " must be an object");
+ }
+
+ if (!button.label) {
+ // the lack of an explicit label means we'll assume the key is good enough
+ button.label = key;
+ }
+
+ if (!button.className) {
+ if (total <= 2 && index === total-1) {
+ // always add a primary to the main option in a two-button dialog
+ button.className = "btn-primary";
+ } else {
+ button.className = "btn-default";
+ }
+ }
+ });
+
+ return options;
+ }
+
+ function mapArguments(args, properties) {
+ var argn = args.length;
+ var options = {};
+
+ if (argn < 1 || argn > 2) {
+ throw new Error("Invalid argument length");
+ }
+
+ if (argn === 2 || typeof args[0] === "string") {
+ options[properties[0]] = args[0];
+ options[properties[1]] = args[1];
+ } else {
+ options = args[0];
+ }
+
+ return options;
+ }
+
+ function mergeArguments(defaults, args, properties) {
+ return $.extend(true, {}, defaults, mapArguments(args, properties));
+ }
+
+ function mergeButtons(labels, args, properties) {
+ return validateButtons(
+ mergeArguments(createButtons.apply(null, labels), args, properties),
+ labels
+ );
+ }
+
+ function createLabels() {
+ var buttons = {};
+
+ for (var i = 0, j = arguments.length; i < j; i++) {
+ var argument = arguments[i];
+ var key = argument.toLowerCase();
+ var value = argument.toUpperCase();
+
+ buttons[key] = {
+ label: _t(value)
+ };
+ }
+
+ return buttons;
+ }
+
+ function createButtons() {
+ return {
+ buttons: createLabels.apply(null, arguments)
+ };
+ }
+
+ function validateButtons(options, buttons) {
+ var allowedButtons = {};
+ each(buttons, function(key, value) {
+ allowedButtons[value] = true;
+ });
+
+ each(options.buttons, function(key) {
+ if (allowedButtons[key] === undefined) {
+ throw new Error("button key " + key + " is not allowed (options are " + buttons.join("\n") + ")");
+ }
+ });
+
+ return options;
+ }
+
+ exports.alert = function() {
+ var options;
+
+ options = mergeButtons(["ok"], arguments, ["message", "callback"]);
+
+ if (options.callback && !$.isFunction(options.callback)) {
+ throw new Error("alert requires callback property to be a function when provided");
+ }
+
+ /**
+ * overrides
+ */
+ options.buttons.ok.callback = options.onEscape = function() {
+ if ($.isFunction(options.callback)) {
+ return options.callback();
+ }
+ return true;
+ };
+
+ return exports.dialog(options);
+ };
+
+ exports.confirm = function() {
+ var options;
+
+ options = mergeButtons(["cancel", "confirm"], arguments, ["message", "callback"]);
+
+ /**
+ * overrides; undo anything the user tried to set they shouldn't have
+ */
+ options.buttons.cancel.callback = options.onEscape = function() {
+ return options.callback(false);
+ };
+
+ options.buttons.confirm.callback = function() {
+ return options.callback(true);
+ };
+
+ // confirm specific validation
+ if (!$.isFunction(options.callback)) {
+ throw new Error("confirm requires a callback");
+ }
+
+ return exports.dialog(options);
+ };
+
+ exports.prompt = function() {
+ var options;
+ var defaults;
+ var dialog;
+ var form;
+ var input;
+ var shouldShow;
+
+ // we have to create our form first otherwise
+ // its value is undefined when gearing up our options
+ // @TODO this could be solved by allowing message to
+ // be a function instead...
+ form = $(templates.form);
+
+ defaults = {
+ buttons: createLabels("cancel", "confirm"),
+ value: ""
+ };
+
+ options = validateButtons(
+ mergeArguments(defaults, arguments, ["title", "callback"]),
+ ["cancel", "confirm"]
+ );
+
+ // capture the user's show value; we always set this to false before
+ // spawning the dialog to give us a chance to attach some handlers to
+ // it, but we need to make sure we respect a preference not to show it
+ shouldShow = (options.show === undefined) ? true : options.show;
+
+ /**
+ * overrides; undo anything the user tried to set they shouldn't have
+ */
+ options.message = form;
+
+ options.buttons.cancel.callback = options.onEscape = function() {
+ return options.callback(null);
+ };
+
+ options.buttons.confirm.callback = function() {
+ return options.callback(input.val());
+ };
+
+ options.show = false;
+
+ // prompt specific validation
+ if (!options.title) {
+ throw new Error("prompt requires a title");
+ }
+
+ if (!$.isFunction(options.callback)) {
+ throw new Error("prompt requires a callback");
+ }
+
+ // create the input
+ input = $(templates.inputs.text);
+ input.val(options.value);
+
+ // now place it in our form
+ form.append(input);
+
+ form.on("submit", function(e) {
+ e.preventDefault();
+ // @TODO can we actually click *the* button object instead?
+ // e.g. buttons.confirm.click() or similar
+ dialog.find(".btn-primary").click();
+ });
+
+ dialog = exports.dialog(options);
+
+ // clear the existing handler focusing the submit button...
+ dialog.off("shown.bs.modal");
+
+ // ...and replace it with one focusing our input, if possible
+ dialog.on("shown.bs.modal", function() {
+ input.focus();
+ });
+
+ if (shouldShow === true) {
+ dialog.modal("show");
+ }
+
+ return dialog;
+ };
+
+ exports.dialog = function(options) {
+ options = sanitize(options);
+
+ var dialog = $(templates.dialog);
+ var body = dialog.find(".modal-body");
+ var buttons = options.buttons;
+ var buttonStr = "";
+ var callbacks = {
+ onEscape: options.onEscape
+ };
+
+ each(buttons, function(key, button) {
+
+ // @TODO I don't like this string appending to itself; bit dirty. Needs reworking
+ // can we just build up button elements instead? slower but neater. Then button
+ // can just become a template too
+ buttonStr += "
" + button.label + " ";
+ callbacks[key] = button.callback;
+ });
+
+ body.find(".bootbox-body").html(options.message);
+
+ if (options.animate === true) {
+ dialog.addClass("fade");
+ }
+
+ if (options.className) {
+ dialog.addClass(options.className);
+ }
+
+ if (options.title) {
+ body.before(templates.header);
+ }
+
+ if (options.closeButton) {
+ var closeButton = $(templates.closeButton);
+
+ if (options.title) {
+ dialog.find(".modal-header").prepend(closeButton);
+ } else {
+ closeButton.css("margin-top", "-10px").prependTo(body);
+ }
+ }
+
+ if (options.title) {
+ dialog.find(".modal-title").html(options.title);
+ }
+
+ if (buttonStr.length) {
+ body.after(templates.footer);
+ dialog.find(".modal-footer").html(buttonStr);
+ }
+
+
+ /**
+ * Bootstrap event listeners; used handle extra
+ * setup & teardown required after the underlying
+ * modal has performed certain actions
+ */
+
+ dialog.on("hidden.bs.modal", function(e) {
+ // ensure we don't accidentally intercept hidden events triggered
+ // by children of the current dialog. We shouldn't anymore now BS
+ // namespaces its events; but still worth doing
+ if (e.target === this) {
+ dialog.remove();
+ }
+ });
+
+ /*
+ dialog.on("show.bs.modal", function() {
+ // sadly this doesn't work; show is called *just* before
+ // the backdrop is added so we'd need a setTimeout hack or
+ // otherwise... leaving in as would be nice
+ if (options.backdrop) {
+ dialog.next(".modal-backdrop").addClass("bootbox-backdrop");
+ }
+ });
+ */
+
+ dialog.on("shown.bs.modal", function() {
+ dialog.find(".btn-primary:first").focus();
+ });
+
+ /**
+ * Bootbox event listeners; experimental and may not last
+ * just an attempt to decouple some behaviours from their
+ * respective triggers
+ */
+
+ dialog.on("escape.close.bb", function(e) {
+ if (callbacks.onEscape) {
+ processCallback(e, dialog, callbacks.onEscape);
+ }
+ });
+
+ /**
+ * Standard jQuery event listeners; used to handle user
+ * interaction with our dialog
+ */
+
+ dialog.on("click", ".modal-footer button", function(e) {
+ var callbackKey = $(this).data("bb-handler");
+
+ processCallback(e, dialog, callbacks[callbackKey]);
+
+ });
+
+ dialog.on("click", ".bootbox-close-button", function(e) {
+ // onEscape might be falsy but that's fine; the fact is
+ // if the user has managed to click the close button we
+ // have to close the dialog, callback or not
+ processCallback(e, dialog, callbacks.onEscape);
+ });
+
+ dialog.on("keyup", function(e) {
+ if (e.which === 27) {
+ dialog.trigger("escape.close.bb");
+ }
+ });
+
+ // the remainder of this method simply deals with adding our
+ // dialogent to the DOM, augmenting it with Bootstrap's modal
+ // functionality and then giving the resulting object back
+ // to our caller
+
+ appendTo.append(dialog);
+
+ dialog.modal({
+ backdrop: options.backdrop,
+ keyboard: false,
+ show: false
+ });
+
+ if (options.show) {
+ dialog.modal("show");
+ }
+
+ // @TODO should we return the raw element here or should
+ // we wrap it in an object on which we can expose some neater
+ // methods, e.g. var d = bootbox.alert(); d.hide(); instead
+ // of d.modal("hide");
+
+ /*
+ function BBDialog(elem) {
+ this.elem = elem;
+ }
+
+ BBDialog.prototype = {
+ hide: function() {
+ return this.elem.modal("hide");
+ },
+ show: function() {
+ return this.elem.modal("show");
+ }
+ };
+ */
+
+ return dialog;
+
+ };
+
+ exports.setDefaults = function(values) {
+ $.extend(defaults, values);
+ };
+
+ exports.hideAll = function() {
+ $(".bootbox").modal("hide");
+ };
+
+
+ /**
+ * standard locales. Please add more according to ISO 639-1 standard. Multiple language variants are
+ * unlikely to be required. If this gets too large it can be split out into separate JS files.
+ */
+ var locales = {
+ br : {
+ OK : "OK",
+ CANCEL : "Cancelar",
+ CONFIRM : "Sim"
+ },
+ da : {
+ OK : "OK",
+ CANCEL : "Annuller",
+ CONFIRM : "Accepter"
+ },
+ de : {
+ OK : "OK",
+ CANCEL : "Abbrechen",
+ CONFIRM : "Akzeptieren"
+ },
+ en : {
+ OK : "OK",
+ CANCEL : "Cancel",
+ CONFIRM : "OK"
+ },
+ es : {
+ OK : "OK",
+ CANCEL : "Cancelar",
+ CONFIRM : "Aceptar"
+ },
+ fi : {
+ OK : "OK",
+ CANCEL : "Peruuta",
+ CONFIRM : "OK"
+ },
+ fr : {
+ OK : "OK",
+ CANCEL : "Annuler",
+ CONFIRM : "D'accord"
+ },
+ it : {
+ OK : "OK",
+ CANCEL : "Annulla",
+ CONFIRM : "Conferma"
+ },
+ nl : {
+ OK : "OK",
+ CANCEL : "Annuleren",
+ CONFIRM : "Accepteren"
+ },
+ pl : {
+ OK : "OK",
+ CANCEL : "Anuluj",
+ CONFIRM : "Potwierdź"
+ },
+ ru : {
+ OK : "OK",
+ CANCEL : "Отмена",
+ CONFIRM : "Применить"
+ },
+ zh_CN : {
+ OK : "OK",
+ CANCEL : "取消",
+ CONFIRM : "确认"
+ },
+ zh_TW : {
+ OK : "OK",
+ CANCEL : "取消",
+ CONFIRM : "確認"
+ }
+ };
+
+ exports.init = function(_$) {
+ window.bootbox = init(_$ || $);
+ };
+
+ return exports;
+
+}(window.jQuery));
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/js/plugins/bootbox/bootbox.min.js b/templates/frontOffice/sterivein_sans_commande/assets/js/plugins/bootbox/bootbox.min.js
new file mode 100644
index 000000000..bd1d368c0
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/js/plugins/bootbox/bootbox.min.js
@@ -0,0 +1,6 @@
+/**
+ * bootbox.js v4.0.0
+ *
+ * http://bootboxjs.com/license.txt
+ */
+window.bootbox=window.bootbox||function a(b,c){"use strict";function d(a){var b=s[q.locale];return b?b[a]:s.en[a]}function e(a,c,d){a.preventDefault();var e=b.isFunction(d)&&d(a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},q,a),a.buttons||(a.buttons={}),a.backdrop=a.backdrop?"static":!1,c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c){return n(j(m.apply(null,a),b,c),a)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(){return{buttons:l.apply(null,arguments)}}function n(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var o={dialog:"
",header:"",footer:"",closeButton:"
× ",form:"
",inputs:{text:"
"}},p=b("body"),q={locale:"en",backdrop:!0,animate:!0,className:null,closeButton:!0,show:!0},r={};r.alert=function(){var a;if(a=k(["ok"],arguments,["message","callback"]),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback():!0},r.dialog(a)},r.confirm=function(){var a;if(a=k(["cancel","confirm"],arguments,["message","callback"]),a.buttons.cancel.callback=a.onEscape=function(){return a.callback(!1)},a.buttons.confirm.callback=function(){return a.callback(!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return r.dialog(a)},r.prompt=function(){var a,d,e,f,g,h;if(f=b(o.form),d={buttons:l("cancel","confirm"),value:""},a=n(j(d,arguments,["title","callback"]),["cancel","confirm"]),h=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback(null)},a.buttons.confirm.callback=function(){return a.callback(g.val())},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");return g=b(o.inputs.text),g.val(a.value),f.append(g),f.on("submit",function(a){a.preventDefault(),e.find(".btn-primary").click()}),e=r.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){g.focus()}),h===!0&&e.modal("show"),e},r.dialog=function(a){a=h(a);var c=b(o.dialog),d=c.find(".modal-body"),f=a.buttons,i="",j={onEscape:a.onEscape};if(g(f,function(a,b){i+="
"+b.label+" ",j[a]=b.callback}),d.find(".bootbox-body").html(a.message),a.animate===!0&&c.addClass("fade"),a.className&&c.addClass(a.className),a.title&&d.before(o.header),a.closeButton){var k=b(o.closeButton);a.title?c.find(".modal-header").prepend(k):k.css("margin-top","-10px").prependTo(d)}return a.title&&c.find(".modal-title").html(a.title),i.length&&(d.after(o.footer),c.find(".modal-footer").html(i)),c.on("hidden.bs.modal",function(a){a.target===this&&c.remove()}),c.on("shown.bs.modal",function(){c.find(".btn-primary:first").focus()}),c.on("escape.close.bb",function(a){j.onEscape&&e(a,c,j.onEscape)}),c.on("click",".modal-footer button",function(a){var d=b(this).data("bb-handler");e(a,c,j[d])}),c.on("click",".bootbox-close-button",function(a){e(a,c,j.onEscape)}),c.on("keyup",function(a){27===a.which&&c.trigger("escape.close.bb")}),p.append(c),c.modal({backdrop:a.backdrop,keyboard:!1,show:!1}),a.show&&c.modal("show"),c},r.setDefaults=function(a){b.extend(q,a)},r.hideAll=function(){b(".bootbox").modal("hide")};var s={br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return r.init=function(c){window.bootbox=a(c||b)},r}(window.jQuery);
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/js/script.js b/templates/frontOffice/sterivein_sans_commande/assets/js/script.js
new file mode 100644
index 000000000..bceeb2333
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/js/script.js
@@ -0,0 +1,617 @@
+// Avoid `console` errors in browsers that lack a console.
+(function() {
+ var method;
+ var noop = function () {};
+ var methods = [
+ 'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
+ 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
+ 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
+ 'timeStamp', 'trace', 'warn'
+ ];
+ var length = methods.length;
+ var console = (window.console = window.console || {});
+
+ while (length--) {
+ method = methods[length];
+
+ // Only stub undefined methods.
+ if (!console[method]) {
+ console[method] = noop;
+ }
+ }
+}());
+
+
+var pseManager = (function($){
+
+ // cache dom elements
+ var manager = {};
+ var $pse = {};
+
+ function init(){
+ $pse = {
+ "id": $("#pse-id"),
+ "product": $("#product"),
+ "name": $("#pse-name"),
+ "ref": $("#pse-ref"),
+ "ean": $("#pse-ean"),
+ "availability": $("#pse-availability"),
+ "validity": $("#pse-validity"),
+ "quantity": $("#quantity"),
+ "promo": $("#pse-promo"),
+ "new": $("#pse-new"),
+ "weight": $("#pse-weight"),
+ "price": $("#pse-price"),
+ "priceOld": $("#pse-price-old"),
+ "submit": $("#pse-submit"),
+ "options": {},
+ "pseId": null,
+ "useFallback": false,
+ "fallback": $("#pse-options .pse-fallback")
+ };
+ }
+
+ function buildProductForm() {
+ var pse = null,
+ combinationId = null,
+ combinationValue = null,
+ combinationValueId = null,
+ combinations = null,
+ combinationName = [],
+ i;
+
+ // initialization for the first default pse
+ $pse.pseId = $pse.id.val();
+
+ if (PSE_COUNT > 1) {
+ // Use fallback method ?
+ $pse.useFallback = useFallback();
+
+ if ($pse.useFallback) {
+ $("#pse-options .option-option").remove();
+
+ for (pse in PSE){
+ combinations = PSE[pse].combinations;
+ combinationName = [];
+ for (i = 0; i < combinations.length; i++){
+ combinationName.push(PSE_COMBINATIONS_VALUE[combinations[i]][0]);
+ }
+ $pse.fallback
+ .append("
"
+ + combinationName.join(', ') + " ");
+ }
+
+ $("#pse-options .pse-fallback").on("change",function(){
+ updateProductForm();
+ });
+
+ } else {
+ $("#pse-options .option-fallback").remove();
+
+ // get the select for options
+ $("#pse-options .pse-option").each(function(){
+ var $option = $(this);
+ if ( $option.data("attribute") in PSE_COMBINATIONS){
+ $pse['options'][$option.data("attribute")] = $option;
+ $option.on("change", updateProductForm);
+ } else {
+ // not affected to this product -> remove
+ $option.closest(".option").remove();
+ }
+ });
+
+ // build select
+ for (combinationValueId in PSE_COMBINATIONS_VALUE) {
+ combinationValue = PSE_COMBINATIONS_VALUE[combinationValueId];
+ $pse.options[combinationValue[1]]
+ .append("
"
+ + combinationValue[0] + " ");
+ }
+
+ setPseForm();
+ }
+ }
+ }
+
+ function setPseForm(id) {
+ var i = 0,
+ pse = null,
+ combinationValueId;
+ pse = PSE[id || $pse.pseId];
+ if ($pse.useFallback) {
+ $pse.fallbak.val(pse.id);
+ } else {
+ for (var i=0; i
1) {
+
+ if ($pse.useFallback) {
+ pseId = $pse.fallback.val();
+ } else {
+ // get form data
+ selection = getFormSelection();
+ // get the pse
+ pseId = pseExist(selection);
+
+ if ( ! pseId ) {
+ // not exists, revert
+ displayNotice();
+ setPseForm();
+ } else {
+ $pse.validity.hide();
+ }
+ }
+
+ $pse.id.val(pseId);
+ $pse.pseId = pseId;
+ }
+
+ // Update UI
+ updateProductUI();
+ }
+
+ function displayNotice() {
+ var $validity = $pse.validity;
+ $validity.show('fast', function(){
+ setTimeout(function(){
+ $validity.hide('fast');
+ }, 3000);
+ });
+ }
+
+ function updateProductUI() {
+ var pse = PSE[$pse.pseId],
+ name = [],
+ pseValueId,
+ i
+ ;
+
+ $pse.ref.html(pse.ref);
+ // $pse.ean.html(pse.ean);
+ // name
+ if (PSE_COUNT > 1) {
+
+ for (i = 0; i < pse.combinations.length; i++){
+ pseValueId = pse.combinations[i]
+ name.push(
+ //PSE_COMBINATIONS[PSE_COMBINATIONS_VALUE[pseValueId][1]].name +
+ //":" +
+ PSE_COMBINATIONS_VALUE[pseValueId][0]
+ )
+ }
+
+ $pse.name.html(" - " + name.join(", ") + "");
+ }
+
+ // promo
+ if (pse.isPromo) {
+ $pse.product.addClass("product--is-promo");
+ } else {
+ $pse.product.removeClass("product--is-promo");
+ }
+
+ // new
+ if (pse.isNew) {
+ $pse.product.addClass("product--is-new");
+ } else {
+ $pse.product.removeClass("product--is-new");
+ }
+
+ // availability
+ if (pse.quantity > 0 || ! PSE_CHECK_AVAILABILITY) {
+ $pse.availability
+ .removeClass("out-of-stock")
+ .addClass("in-stock")
+ .attr("href", "http://schema.org/InStock");
+
+ if (parseInt($pse.quantity.val()) > pse.quantity){
+ $pse.quantity.val(pse.quantity);
+ }
+
+ if (PSE_CHECK_AVAILABILITY) {
+ $pse.quantity.attr("max", pse.quantity);
+ } else {
+ $pse.quantity.attr("max", PSE_DEFAULT_AVAILABLE_STOCK);
+ }
+ $pse.submit.prop("disabled", false);
+
+ } else {
+ $pse.availability.removeClass("in-stock")
+ .addClass("out-of-stock")
+ .attr("href", "http://schema.org/OutOfStock");
+
+ $pse.submit.prop("disabled", true);
+ }
+
+ // price
+ if (pse.isPromo){
+ $pse.priceOld.html(pse.price);
+ $pse.price.html(pse.promo);
+ } else {
+ $pse.priceOld.html("");
+ $pse.price.html(pse.price);
+ }
+ }
+
+ function pseExist(selection) {
+ var pseId,
+ pse = null,
+ combinations,
+ i,
+ j,
+ existCombination;
+
+ for (pse in PSE){
+ pseId = pse;
+ combinations = PSE[pse].combinations;
+ for (i = 0; i < selection.length; i++){
+ existCombination = false;
+ for (j = 0; j < combinations.length; j++){
+ if (selection[i] == combinations[j]){
+ existCombination = true;
+ break;
+ }
+ }
+ if (existCombination === false) {
+ break;
+ }
+ }
+ if (existCombination) {
+ return pseId;
+ }
+ }
+
+ return false;
+ }
+
+ function useFallback() {
+ var pse = null,
+ count = -1,
+ pseCount = 0,
+ combinations,
+ i;
+
+ for (pse in PSE){
+ combinations = PSE[pse].combinations;
+ pseCount = 0;
+ for (i = 0; i < combinations.length; i++) {
+ pseCount += PSE_COMBINATIONS_VALUE[combinations[i]][1];
+ }
+ if (count == -1){
+ count = pseCount;
+ } else if (count != pseCount) {
+ return true;
+ }
+ }
+
+ return (count <= 0);
+ }
+
+ function getFormSelection() {
+ var selection = [],
+ combinationId;
+
+ for (combinationId in $pse.options){
+ selection.push($pse.options[combinationId].val());
+ }
+
+ return selection;
+ }
+
+ manager.load = function(){
+ init();
+ buildProductForm();
+ updateProductForm();
+ }
+
+ return manager;
+
+}(jQuery));
+
+
+/* JQUERY PREVENT CONFLICT */
+(function ($) {
+
+/* ------------------------------------------------------------------
+ callback Function ------------------------------------------------ */
+ var confirmCallback = {
+ 'address.delete': function ($elm) {
+ $.post($elm.attr('href'), function (data) {
+ if (data.success) {
+ $elm.closest('tr').remove();
+ } else {
+ bootbox.alert(data.message);
+ }
+ });
+ }
+ };
+
+
+/* ------------------------------------------------------------------
+ onLoad Function ------------------------------------------------- */
+ $(document).ready(function () {
+
+ // Loader
+ var $loader = $('
');
+ $('body').append($loader);
+
+ // Display loader if we do ajax call
+ $(document)
+ .ajaxStart(function () { $loader.show(); })
+ .ajaxStop(function () { $loader.hide(); })
+ .ajaxError(function () { $loader.hide(); });
+
+ // Check if the size of the window is appropriate for ajax
+ var doAjax = ($(window).width() > 768) ? true : false;
+
+ // Main Navigation Hover
+ $('.nav-main')
+ .on('click.subnav', '[data-toggle=dropdown]', function (event) {
+ if ($(this).parent().hasClass('open') && $(this).is(event.target)) { return false; }
+ })
+ .on('mouseenter.subnav', '.dropdown', function () {
+ if ($(this).hasClass('open')) { return; }
+
+ $(this).addClass('open');
+ })
+ .on('mouseleave.subnav', '.dropdown', function () {
+ var $this = $(this);
+
+ if (!$this.hasClass('open')) { return; }
+
+ //This will check if an input child has focus. If no then remove class open
+ if ($this.find(":input:focus").length === 0) {
+ $this.removeClass('open');
+ } else {
+ $this.find(":input:focus").one('blur', function () {
+ $this.trigger('mouseleave.subnav');
+ });
+ }
+ });
+
+ // Tooltip
+ $('body').tooltip({
+ selector: '[data-toggle=tooltip]'
+ });
+
+ // Confirm Dialog
+ $(document).on('click.confirm', '[data-confirm]', function () {
+ var $this = $(this),
+ href = $this.attr('href'),
+ callback = $this.attr('data-confirm-callback'),
+ title = $this.attr('data-confirm') !== '' ? $this.attr('data-confirm') : 'Are you sure?';
+
+ bootbox.confirm(title, function (confirm) {
+ if (confirm) {
+ //Check if callback and if it's a function
+ if (callback && $.isFunction(confirmCallback[callback])) {
+ confirmCallback[callback]($this);
+ } else {
+ if (href) {
+ window.location.href = href;
+ } else {
+ // If forms
+ var $form = $this.closest("form");
+ if ($form.size() > 0) {
+ $form.submit();
+ }
+ }
+ }
+ }
+ });
+
+ return false;
+ });
+
+ // Product Quick view Dialog
+ $(document).on('click.product-quickview', '.product-quickview', function () {
+ if (doAjax) {
+ $.get(this.href,
+ function (data) {
+ // Hide all currently active bootbox dialogs
+ bootbox.hideAll();
+ // Show dialog
+ bootbox.dialog({
+ message : $("#product",data),
+ onEscape: function() {
+ bootbox.hideAll();
+ }
+ });
+ window.pseManager.load();
+ }
+ );
+ return false;
+ }
+ return;
+ });
+
+ // Product AddtoCard - OnSubmit
+ if (typeof window.PSE_FORM !== "undefined"){
+ window.pseManager.load();
+ }
+
+ $(document).on('submit.form-product', '.form-product', function () {
+ if (doAjax) {
+ var url_action = $(this).attr("action"),
+ product_id = $("input[name$='product_id']",this).val(),
+ pse_id = $("input#pse-id",this).val();
+
+ $.ajax({type: "POST", data: $(this).serialize(), url: url_action,
+ success: function(data){
+ $(".cart-container").html($(data).html());
+ $.ajax({url:"ajax/addCartMessage", data:{ product_id: product_id, pse_id: pse_id },
+ success: function (data) {
+ // Hide all currently active bootbox dialogs
+ bootbox.hideAll();
+ // Show dialog
+ bootbox.dialog({
+ message : data,
+ onEscape: function() {
+ bootbox.hideAll();
+ }
+ });
+ }
+ });
+ },
+ error: function (e) {
+ console.log('Error.', e);
+ }
+ });
+ return false;
+ }
+ return;
+ });
+
+
+ // Toolbar
+ var $category_products = $ ('#category-products');
+ if ($category_products.size() > 0) {
+ var $parent = $category_products.parent();
+
+ $parent.on('click.view-mode', '[data-toggle=view]', function () {
+ if (($(this).hasClass('btn-grid') && $parent.hasClass('grid')) || ($(this).hasClass('btn-list') && $parent.hasClass('list'))) { return; }
+
+ // Add loader effect
+ $loader.show();
+ setTimeout(function () { $parent.toggleClass('grid').toggleClass('list'); $loader.hide(); }, 400);
+
+ return false;
+ });
+ }
+
+ // Login
+ var $form_login = $('#form-login');
+ if ($form_login.size() > 0) {
+ $form_login.on('change.account', ':radio', function () {
+ if ($(this).val() === '0') {
+ $('#password', $form_login).val('').prop('disabled', true); // Disabled (new customer)
+ }
+ else {
+ $('#password', $form_login).prop('disabled', false); // Enabled
+ }
+ }).find(':radio:checked').trigger('change.account');
+ }
+
+ // Mini Newsletter Subscription
+ var $form_newsletter = $('#form-newsletter-mini');
+ if ($form_newsletter.size() > 0) {
+ $form_newsletter.on('submit.newsletter', function () {
+
+ $.ajax({
+ url: $(this).attr('action'),
+ type: $(this).attr('method'),
+ data: $(this).serialize(),
+ dataType: 'json',
+ success: function (json) {
+ var $msg = '';
+ if (json.success) {
+ $msg = json.message;
+ } else {
+ $msg = json.message;
+ }
+ bootbox.alert($msg);
+ }
+ });
+
+ return false;
+ });
+ }
+
+
+ // Forgot Password
+ /*
+ var $forgot_password = $('.forgot-password', $form_login);
+ if($forgot_password.size() > 0) {
+ $forgot_password.popover({
+ html : true,
+ title: 'Forgot Password',
+ content: function() {
+ return $('#form-forgotpassword').html();
+ }
+ }).on('click.btn-forgot', function () {
+
+ $('.btn-forgot').click(function () {
+ alert('click form');
+ return false;
+ });
+
+ $('.btn-close').click(function () {
+ $forgot_password.popover('hide');
+ });
+
+ return false;
+ });
+ }
+ */
+
+ //.Form Filters
+ $('#form-filters').each(function () {
+ var $form = $(this);
+
+ $form
+ .on('change.filter', ':checkbox', function () {
+ $loader.show();
+ $form.submit();
+ })
+ .find('.group-btn > .btn').addClass('sr-only');
+ });
+
+ // Product details Thumbnails
+ $(document).on('click.thumbnails', '#product-thumbnails .thumbnail', function () {
+ if ($(this).hasClass('active')) { return false; }
+
+ var $productGallery = $(this).closest("#product-gallery");
+ $('.product-image > img', $productGallery).attr('src',$(this).attr('href'));
+ $('.thumbnail', $productGallery).removeClass('active');
+ $(this).addClass('active');
+
+ return false;
+ });
+
+ // Show Carousel control if needed
+ $('#product-gallery').each(function () {
+ if ($('.item', this).size() > 1) {
+ $('#product-thumbnails', this).carousel({interval: false}).find('.carousel-control').show();
+ }
+ });
+
+ // Payment Method
+ $('#payment-method').each(function () {
+ var $label = $('label', this);
+ $label.on('change', ':radio', function () {
+ $label.removeClass('active');
+ $label.filter('[for="' + $(this).attr('id') + '"]').addClass('active');
+ }).filter(':has(:checked)').addClass('active');
+ });
+
+ // Apply validation
+ $('#form-contact, #form-register, #form-address').validate({
+ highlight: function (element) {
+ $(element).closest('.form-group').addClass('has-error');
+ },
+ unhighlight: function (element) {
+ $(element).closest('.form-group').removeClass('has-error');
+ },
+ errorElement: 'span',
+ errorClass: 'help-block'
+ });
+
+ // Toolbar filter
+ $('#content').on('change.toolbarfilter', '#limit-top, #sortby-top', function () {
+ window.location = $(this).val();
+ });
+
+ });
+
+
+})(jQuery);
+
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/alerts.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/alerts.less
new file mode 100644
index 000000000..be09d18d0
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/alerts.less
@@ -0,0 +1,67 @@
+//
+// Alerts
+// --------------------------------------------------
+
+
+// Base styles
+// -------------------------
+
+.alert {
+ padding: @alert-padding;
+ margin-bottom: @line-height-computed;
+ border: 1px solid transparent;
+ border-radius: @alert-border-radius;
+
+ // Headings for larger alerts
+ h4 {
+ margin-top: 0;
+ // Specified for the h4 to prevent conflicts of changing @headingsColor
+ color: inherit;
+ }
+ // Provide class for links that match alerts
+ .alert-link {
+ font-weight: @alert-link-font-weight;
+ }
+
+ // Improve alignment and spacing of inner content
+ > p,
+ > ul {
+ margin-bottom: 0;
+ }
+ > p + p {
+ margin-top: 5px;
+ }
+}
+
+// Dismissable alerts
+//
+// Expand the right padding and account for the close button's positioning.
+
+.alert-dismissable {
+ padding-right: (@alert-padding + 20);
+
+ // Adjust close link position
+ .close {
+ position: relative;
+ top: -2px;
+ right: -21px;
+ color: inherit;
+ }
+}
+
+// Alternate styles
+//
+// Generate contextual modifier classes for colorizing the alert.
+
+.alert-success {
+ .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
+}
+.alert-info {
+ .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
+}
+.alert-warning {
+ .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);
+}
+.alert-danger {
+ .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/badges.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/badges.less
new file mode 100644
index 000000000..0b69753ef
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/badges.less
@@ -0,0 +1,51 @@
+//
+// Badges
+// --------------------------------------------------
+
+
+// Base classes
+.badge {
+ display: inline-block;
+ min-width: 10px;
+ padding: 3px 7px;
+ font-size: @font-size-small;
+ font-weight: @badge-font-weight;
+ color: @badge-color;
+ line-height: @badge-line-height;
+ vertical-align: baseline;
+ white-space: nowrap;
+ text-align: center;
+ background-color: @badge-bg;
+ border-radius: @badge-border-radius;
+
+ // Empty badges collapse automatically (not available in IE8)
+ &:empty {
+ display: none;
+ }
+}
+
+// Hover state, but only for links
+a.badge {
+ &:hover,
+ &:focus {
+ color: @badge-link-hover-color;
+ text-decoration: none;
+ cursor: pointer;
+ }
+}
+
+// Quick fix for labels/badges in buttons
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+
+// Account for counters in navs
+a.list-group-item.active > .badge,
+.nav-pills > .active > a > .badge {
+ color: @badge-active-color;
+ background-color: @badge-active-bg;
+}
+.nav-pills > li > a > .badge {
+ margin-left: 3px;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/bootstrap.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/bootstrap.less
new file mode 100644
index 000000000..bc610ad7b
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/bootstrap.less
@@ -0,0 +1,59 @@
+/*!
+ * Bootstrap v3.0.0
+ *
+ * Copyright 2013 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world by @mdo and @fat.
+ */
+
+// Core variables and mixins
+@import "variables";
+@import "mixins";
+
+// Reset
+@import "normalize";
+@import "print";
+
+// Core CSS
+@import "scaffolding";
+@import "type";
+@import "code";
+@import "grid";
+@import "tables";
+@import "forms";
+@import "buttons";
+
+// Components
+@import "component-animations";
+@import "glyphicons";
+@import "dropdowns";
+@import "button-groups";
+@import "input-groups";
+@import "navs";
+@import "navbar";
+@import "breadcrumbs";
+@import "pagination";
+@import "pager";
+@import "labels";
+@import "badges";
+@import "jumbotron";
+@import "thumbnails";
+@import "alerts";
+@import "progress-bars";
+@import "media";
+@import "list-group";
+@import "panels";
+@import "wells";
+@import "close";
+
+// Components w/ JavaScript
+@import "modals";
+@import "tooltip";
+@import "popovers";
+@import "carousel";
+
+// Utility classes
+@import "utilities";
+@import "responsive-utilities";
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/breadcrumbs.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/breadcrumbs.less
new file mode 100644
index 000000000..92643d167
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/breadcrumbs.less
@@ -0,0 +1,23 @@
+//
+// Breadcrumbs
+// --------------------------------------------------
+
+
+.breadcrumb {
+ padding: 8px 15px;
+ margin-bottom: @line-height-computed;
+ list-style: none;
+ background-color: @breadcrumb-bg;
+ border-radius: @border-radius-base;
+ > li {
+ display: inline-block;
+ &+li:before {
+ content: "/\00a0"; // Unicode space added since inline-block means non-collapsing white-space
+ padding: 0 5px;
+ color: @breadcrumb-color;
+ }
+ }
+ > .active {
+ color: @breadcrumb-active-color;
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/button-groups.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/button-groups.less
new file mode 100644
index 000000000..43ada11d9
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/button-groups.less
@@ -0,0 +1,248 @@
+//
+// Button groups
+// --------------------------------------------------
+
+// Button carets
+//
+// Match the button text color to the arrow/caret for indicating dropdown-ness.
+
+.caret {
+ .btn-default & {
+ border-top-color: @btn-default-color;
+ }
+ .btn-primary &,
+ .btn-success &,
+ .btn-warning &,
+ .btn-danger &,
+ .btn-info & {
+ border-top-color: #fff;
+ }
+}
+.dropup {
+ & .btn-default .caret {
+ border-bottom-color: @btn-default-color;
+ }
+ .btn-primary,
+ .btn-success,
+ .btn-warning,
+ .btn-danger,
+ .btn-info {
+ .caret {
+ border-bottom-color: #fff;
+ }
+ }
+}
+
+// Make the div behave like a button
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle; // match .btn alignment given font-size hack above
+ > .btn {
+ position: relative;
+ float: left;
+ // Bring the "active" button to the front
+ &:hover,
+ &:focus,
+ &:active,
+ &.active {
+ z-index: 2;
+ }
+ &:focus {
+ // Remove focus outline when dropdown JS adds it after closing the menu
+ outline: none;
+ }
+ }
+}
+
+// Prevent double borders when buttons are next to each other
+.btn-group {
+ .btn + .btn,
+ .btn + .btn-group,
+ .btn-group + .btn,
+ .btn-group + .btn-group {
+ margin-left: -1px;
+ }
+}
+
+// Optional: Group multiple button groups together for a toolbar
+.btn-toolbar {
+ .clearfix();
+
+ .btn-group {
+ float: left;
+ }
+ // Space out series of button groups
+ > .btn,
+ > .btn-group {
+ + .btn,
+ + .btn-group {
+ margin-left: 5px;
+ }
+ }
+}
+
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+ border-radius: 0;
+}
+
+// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
+.btn-group > .btn:first-child {
+ margin-left: 0;
+ &:not(:last-child):not(.dropdown-toggle) {
+ .border-right-radius(0);
+ }
+}
+// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+ .border-left-radius(0);
+}
+
+// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
+.btn-group > .btn-group {
+ float: left;
+}
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+.btn-group > .btn-group:first-child {
+ > .btn:last-child,
+ > .dropdown-toggle {
+ .border-right-radius(0);
+ }
+}
+.btn-group > .btn-group:last-child > .btn:first-child {
+ .border-left-radius(0);
+}
+
+// On active and open, don't show outline
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+ outline: 0;
+}
+
+
+// Sizing
+//
+// Remix the default button sizing classes into new ones for easier manipulation.
+
+.btn-group-xs > .btn { .btn-xs(); }
+.btn-group-sm > .btn { .btn-sm(); }
+.btn-group-lg > .btn { .btn-lg(); }
+
+
+// Split button dropdowns
+// ----------------------
+
+// Give the line between buttons some depth
+.btn-group > .btn + .dropdown-toggle {
+ padding-left: 8px;
+ padding-right: 8px;
+}
+.btn-group > .btn-lg + .dropdown-toggle {
+ padding-left: 12px;
+ padding-right: 12px;
+}
+
+// The clickable button for toggling the menu
+// Remove the gradient and set the same inset shadow as the :active state
+.btn-group.open .dropdown-toggle {
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+}
+
+
+// Reposition the caret
+.btn .caret {
+ margin-left: 0;
+}
+// Carets in other button sizes
+.btn-lg .caret {
+ border-width: @caret-width-large @caret-width-large 0;
+ border-bottom-width: 0;
+}
+// Upside down carets for .dropup
+.dropup .btn-lg .caret {
+ border-width: 0 @caret-width-large @caret-width-large;
+}
+
+
+// Vertical button groups
+// ----------------------
+
+.btn-group-vertical {
+ > .btn,
+ > .btn-group {
+ display: block;
+ float: none;
+ width: 100%;
+ max-width: 100%;
+ }
+
+ // Clear floats so dropdown menus can be properly placed
+ > .btn-group {
+ .clearfix();
+ > .btn {
+ float: none;
+ }
+ }
+
+ > .btn + .btn,
+ > .btn + .btn-group,
+ > .btn-group + .btn,
+ > .btn-group + .btn-group {
+ margin-top: -1px;
+ margin-left: 0;
+ }
+}
+
+.btn-group-vertical > .btn {
+ &:not(:first-child):not(:last-child) {
+ border-radius: 0;
+ }
+ &:first-child:not(:last-child) {
+ border-top-right-radius: @border-radius-base;
+ .border-bottom-radius(0);
+ }
+ &:last-child:not(:first-child) {
+ border-bottom-left-radius: @border-radius-base;
+ .border-top-radius(0);
+ }
+}
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+ border-radius: 0;
+}
+.btn-group-vertical > .btn-group:first-child {
+ > .btn:last-child,
+ > .dropdown-toggle {
+ .border-bottom-radius(0);
+ }
+}
+.btn-group-vertical > .btn-group:last-child > .btn:first-child {
+ .border-top-radius(0);
+}
+
+
+
+// Justified button groups
+// ----------------------
+
+.btn-group-justified {
+ display: table;
+ width: 100%;
+ table-layout: fixed;
+ border-collapse: separate;
+ .btn {
+ float: none;
+ display: table-cell;
+ width: 1%;
+ }
+}
+
+
+// Checkbox and radio options
+[data-toggle="buttons"] > .btn > input[type="radio"],
+[data-toggle="buttons"] > .btn > input[type="checkbox"] {
+ display: none;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/buttons.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/buttons.less
new file mode 100644
index 000000000..5d60d39a7
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/buttons.less
@@ -0,0 +1,160 @@
+//
+// Buttons
+// --------------------------------------------------
+
+
+// Base styles
+// --------------------------------------------------
+
+// Core styles
+.btn {
+ display: inline-block;
+ padding: @padding-base-vertical @padding-base-horizontal;
+ margin-bottom: 0; // For input.btn
+ font-size: @font-size-base;
+ font-weight: @btn-font-weight;
+ line-height: @line-height-base;
+ text-align: center;
+ vertical-align: middle;
+ cursor: pointer;
+ border: 1px solid transparent;
+ border-radius: @border-radius-base;
+ white-space: nowrap;
+ .user-select(none);
+
+ &:focus {
+ .tab-focus();
+ }
+
+ &:hover,
+ &:focus {
+ color: @btn-default-color;
+ text-decoration: none;
+ }
+
+ &:active,
+ &.active {
+ outline: 0;
+ background-image: none;
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+ }
+
+ &.disabled,
+ &[disabled],
+ fieldset[disabled] & {
+ cursor: not-allowed;
+ pointer-events: none; // Future-proof disabling of clicks
+ .opacity(.65);
+ .box-shadow(none);
+ }
+
+}
+
+
+// Alternate buttons
+// --------------------------------------------------
+
+.btn-default {
+ .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);
+}
+.btn-primary {
+ .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
+}
+// Warning appears as orange
+.btn-warning {
+ .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
+}
+// Danger and error appear as red
+.btn-danger {
+ .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
+}
+// Success appears as green
+.btn-success {
+ .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);
+}
+// Info appears as blue-green
+.btn-info {
+ .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);
+}
+
+
+// Link buttons
+// -------------------------
+
+// Make a button look and behave like a link
+.btn-link {
+ color: @link-color;
+ font-weight: normal;
+ cursor: pointer;
+ border-radius: 0;
+
+ &,
+ &:active,
+ &[disabled],
+ fieldset[disabled] & {
+ background-color: transparent;
+ .box-shadow(none);
+ }
+ &,
+ &:hover,
+ &:focus,
+ &:active {
+ border-color: transparent;
+ }
+ &:hover,
+ &:focus {
+ color: @link-hover-color;
+ text-decoration: underline;
+ background-color: transparent;
+ }
+ &[disabled],
+ fieldset[disabled] & {
+ &:hover,
+ &:focus {
+ color: @btn-link-disabled-color;
+ text-decoration: none;
+ }
+ }
+}
+
+
+// Button Sizes
+// --------------------------------------------------
+
+.btn-lg {
+ // line-height: ensure even-numbered height of button next to large input
+ .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
+}
+.btn-sm,
+.btn-xs {
+ // line-height: ensure proper height of button next to small input
+ .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
+}
+.btn-xs {
+ padding: 1px 5px;
+}
+
+
+// Block button
+// --------------------------------------------------
+
+.btn-block {
+ display: block;
+ width: 100%;
+ padding-left: 0;
+ padding-right: 0;
+}
+
+// Vertically space out multiple block buttons
+.btn-block + .btn-block {
+ margin-top: 5px;
+}
+
+// Specificity overrides
+input[type="submit"],
+input[type="reset"],
+input[type="button"] {
+ &.btn-block {
+ width: 100%;
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/carousel.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/carousel.less
new file mode 100644
index 000000000..c468d435c
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/carousel.less
@@ -0,0 +1,209 @@
+//
+// Carousel
+// --------------------------------------------------
+
+
+// Wrapper for the slide container and indicators
+.carousel {
+ position: relative;
+}
+
+.carousel-inner {
+ position: relative;
+ overflow: hidden;
+ width: 100%;
+
+ > .item {
+ display: none;
+ position: relative;
+ .transition(.6s ease-in-out left);
+
+ // Account for jankitude on images
+ > img,
+ > a > img {
+ .img-responsive();
+ line-height: 1;
+ }
+ }
+
+ > .active,
+ > .next,
+ > .prev { display: block; }
+
+ > .active {
+ left: 0;
+ }
+
+ > .next,
+ > .prev {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ }
+
+ > .next {
+ left: 100%;
+ }
+ > .prev {
+ left: -100%;
+ }
+ > .next.left,
+ > .prev.right {
+ left: 0;
+ }
+
+ > .active.left {
+ left: -100%;
+ }
+ > .active.right {
+ left: 100%;
+ }
+
+}
+
+// Left/right controls for nav
+// ---------------------------
+
+.carousel-control {
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ width: @carousel-control-width;
+ .opacity(@carousel-control-opacity);
+ font-size: @carousel-control-font-size;
+ color: @carousel-control-color;
+ text-align: center;
+ text-shadow: @carousel-text-shadow;
+ // We can't have this transition here because webkit cancels the carousel
+ // animation if you trip this while in the middle of another animation.
+
+ // Set gradients for backgrounds
+ &.left {
+ #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));
+ }
+ &.right {
+ left: auto;
+ right: 0;
+ #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));
+ }
+
+ // Hover/focus state
+ &:hover,
+ &:focus {
+ color: @carousel-control-color;
+ text-decoration: none;
+ .opacity(.9);
+ }
+
+ // Toggles
+ .icon-prev,
+ .icon-next,
+ .glyphicon-chevron-left,
+ .glyphicon-chevron-right {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ z-index: 5;
+ display: inline-block;
+ }
+ .icon-prev,
+ .icon-next {
+ width: 20px;
+ height: 20px;
+ margin-top: -10px;
+ margin-left: -10px;
+ font-family: serif;
+ }
+
+ .icon-prev {
+ &:before {
+ content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
+ }
+ }
+ .icon-next {
+ &:before {
+ content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
+ }
+ }
+}
+
+// Optional indicator pips
+//
+// Add an unordered list with the following class and add a list item for each
+// slide your carousel holds.
+
+.carousel-indicators {
+ position: absolute;
+ bottom: 10px;
+ left: 50%;
+ z-index: 15;
+ width: 60%;
+ margin-left: -30%;
+ padding-left: 0;
+ list-style: none;
+ text-align: center;
+
+ li {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+ margin: 1px;
+ text-indent: -999px;
+ border: 1px solid @carousel-indicator-border-color;
+ border-radius: 10px;
+ cursor: pointer;
+ }
+ .active {
+ margin: 0;
+ width: 12px;
+ height: 12px;
+ background-color: @carousel-indicator-active-bg;
+ }
+}
+
+// Optional captions
+// -----------------------------
+// Hidden by default for smaller viewports
+.carousel-caption {
+ position: absolute;
+ left: 15%;
+ right: 15%;
+ bottom: 20px;
+ z-index: 10;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ color: @carousel-caption-color;
+ text-align: center;
+ text-shadow: @carousel-text-shadow;
+ & .btn {
+ text-shadow: none; // No shadow for button elements in carousel-caption
+ }
+}
+
+
+// Scale up controls for tablets and up
+@media screen and (min-width: @screen-tablet) {
+
+ // Scale up the controls a smidge
+ .carousel-control .icon-prev,
+ .carousel-control .icon-next {
+ width: 30px;
+ height: 30px;
+ margin-top: -15px;
+ margin-left: -15px;
+ font-size: 30px;
+ }
+
+ // Show and left align the captions
+ .carousel-caption {
+ left: 20%;
+ right: 20%;
+ padding-bottom: 30px;
+ }
+
+ // Move up the indicators
+ .carousel-indicators {
+ bottom: 20px;
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/close.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/close.less
new file mode 100644
index 000000000..9b4e74f2b
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/close.less
@@ -0,0 +1,33 @@
+//
+// Close icons
+// --------------------------------------------------
+
+
+.close {
+ float: right;
+ font-size: (@font-size-base * 1.5);
+ font-weight: @close-font-weight;
+ line-height: 1;
+ color: @close-color;
+ text-shadow: @close-text-shadow;
+ .opacity(.2);
+
+ &:hover,
+ &:focus {
+ color: @close-color;
+ text-decoration: none;
+ cursor: pointer;
+ .opacity(.5);
+ }
+
+ // Additional properties for button version
+ // iOS requires the button element instead of an anchor tag.
+ // If you want the anchor version, it requires `href="#"`.
+ button& {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ -webkit-appearance: none;
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/code.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/code.less
new file mode 100644
index 000000000..d6661d2b9
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/code.less
@@ -0,0 +1,56 @@
+//
+// Code (inline and blocK)
+// --------------------------------------------------
+
+
+// Inline and block code styles
+code,
+pre {
+ font-family: @font-family-monospace;
+}
+
+// Inline code
+code {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: @code-color;
+ background-color: @code-bg;
+ white-space: nowrap;
+ border-radius: @border-radius-base;
+}
+
+// Blocks of code
+pre {
+ display: block;
+ padding: ((@line-height-computed - 1) / 2);
+ margin: 0 0 (@line-height-computed / 2);
+ font-size: (@font-size-base - 1); // 14px to 13px
+ line-height: @line-height-base;
+ word-break: break-all;
+ word-wrap: break-word;
+ color: @pre-color;
+ background-color: @pre-bg;
+ border: 1px solid @pre-border-color;
+ border-radius: @border-radius-base;
+
+ // Make prettyprint styles more spaced out for readability
+ &.prettyprint {
+ margin-bottom: @line-height-computed;
+ }
+
+ // Account for some code outputs that place code tags in pre tags
+ code {
+ padding: 0;
+ font-size: inherit;
+ color: inherit;
+ white-space: pre-wrap;
+ background-color: transparent;
+ border: 0;
+ }
+}
+
+// Enable scrollable blocks of code
+.pre-scrollable {
+ max-height: @pre-scrollable-max-height;
+ overflow-y: scroll;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/component-animations.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/component-animations.less
new file mode 100644
index 000000000..1efe45e2c
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/component-animations.less
@@ -0,0 +1,29 @@
+//
+// Component animations
+// --------------------------------------------------
+
+// Heads up!
+//
+// We don't use the `.opacity()` mixin here since it causes a bug with text
+// fields in IE7-8. Source: https://github.com/twitter/bootstrap/pull/3552.
+
+.fade {
+ opacity: 0;
+ .transition(opacity .15s linear);
+ &.in {
+ opacity: 1;
+ }
+}
+
+.collapse {
+ display: none;
+ &.in {
+ display: block;
+ }
+}
+.collapsing {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ .transition(height .35s ease);
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/dropdowns.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/dropdowns.less
new file mode 100644
index 000000000..96af127a5
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/dropdowns.less
@@ -0,0 +1,193 @@
+//
+// Dropdown menus
+// --------------------------------------------------
+
+
+// Dropdown arrow/caret
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 2px;
+ vertical-align: middle;
+ border-top: @caret-width-base solid @dropdown-caret-color;
+ border-right: @caret-width-base solid transparent;
+ border-left: @caret-width-base solid transparent;
+ // Firefox fix for https://github.com/twbs/bootstrap/issues/9538. Once fixed,
+ // we can just straight up remove this.
+ border-bottom: 0 dotted;
+ content: "";
+}
+
+// The dropdown wrapper (div)
+.dropdown {
+ position: relative;
+}
+
+// Prevent the focus on the dropdown toggle when closing dropdowns
+.dropdown-toggle:focus {
+ outline: 0;
+}
+
+// The dropdown menu (ul)
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: @zindex-dropdown;
+ display: none; // none by default, but block on "open" of the menu
+ float: left;
+ min-width: 160px;
+ padding: 5px 0;
+ margin: 2px 0 0; // override default ul
+ list-style: none;
+ font-size: @font-size-base;
+ background-color: @dropdown-bg;
+ border: 1px solid @dropdown-fallback-border; // IE8 fallback
+ border: 1px solid @dropdown-border;
+ border-radius: @border-radius-base;
+ .box-shadow(0 6px 12px rgba(0,0,0,.175));
+ background-clip: padding-box;
+
+ // Aligns the dropdown menu to right
+ &.pull-right {
+ right: 0;
+ left: auto;
+ }
+
+ // Dividers (basically an hr) within the dropdown
+ .divider {
+ .nav-divider(@dropdown-divider-bg);
+ }
+
+ // Links within the dropdown menu
+ > li > a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: @line-height-base;
+ color: @dropdown-link-color;
+ white-space: nowrap; // prevent links from randomly breaking onto new lines
+ }
+}
+
+// Hover/Focus state
+.dropdown-menu > li > a {
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ color: @dropdown-link-hover-color;
+ background-color: @dropdown-link-hover-bg;
+ }
+}
+
+// Active state
+.dropdown-menu > .active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @dropdown-link-active-color;
+ text-decoration: none;
+ outline: 0;
+ background-color: @dropdown-link-active-bg;
+ }
+}
+
+// Disabled state
+//
+// Gray out text and ensure the hover/focus state remains gray
+
+.dropdown-menu > .disabled > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @dropdown-link-disabled-color;
+ }
+}
+// Nuke hover/focus effects
+.dropdown-menu > .disabled > a {
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ background-color: transparent;
+ background-image: none; // Remove CSS gradient
+ .reset-filter();
+ cursor: not-allowed;
+ }
+}
+
+// Open state for the dropdown
+.open {
+ // Show the menu
+ > .dropdown-menu {
+ display: block;
+ }
+
+ // Remove the outline when :focus is triggered
+ > a {
+ outline: 0;
+ }
+}
+
+// Dropdown section headers
+.dropdown-header {
+ display: block;
+ padding: 3px 20px;
+ font-size: @font-size-small;
+ line-height: @line-height-base;
+ color: @dropdown-header-color;
+}
+
+// Backdrop to catch body clicks on mobile, etc.
+.dropdown-backdrop {
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+ z-index: @zindex-dropdown - 10;
+}
+
+// Right aligned dropdowns
+.pull-right > .dropdown-menu {
+ right: 0;
+ left: auto;
+}
+
+// Allow for dropdowns to go bottom up (aka, dropup-menu)
+//
+// Just add .dropup after the standard .dropdown class and you're set, bro.
+// TODO: abstract this so that the navbar fixed styles are not placed here?
+
+.dropup,
+.navbar-fixed-bottom .dropdown {
+ // Reverse the caret
+ .caret {
+ // Firefox fix for https://github.com/twbs/bootstrap/issues/9538. Once this
+ // gets fixed, restore `border-top: 0;`.
+ border-top: 0 dotted;
+ border-bottom: 4px solid @dropdown-caret-color;
+ content: "";
+ }
+ // Different positioning for bottom up menu
+ .dropdown-menu {
+ top: auto;
+ bottom: 100%;
+ margin-bottom: 1px;
+ }
+}
+
+
+// Component alignment
+//
+// Reiterate per navbar.less and the modified component alignment there.
+
+@media (min-width: @grid-float-breakpoint) {
+ .navbar-right {
+ .dropdown-menu {
+ .pull-right > .dropdown-menu();
+ }
+ }
+}
+
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/forms.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/forms.less
new file mode 100644
index 000000000..f87b60276
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/forms.less
@@ -0,0 +1,353 @@
+//
+// Forms
+// --------------------------------------------------
+
+
+// Normalize non-controls
+//
+// Restyle and baseline non-control form elements.
+
+fieldset {
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ display: block;
+ width: 100%;
+ padding: 0;
+ margin-bottom: @line-height-computed;
+ font-size: (@font-size-base * 1.5);
+ line-height: inherit;
+ color: @legend-color;
+ border: 0;
+ border-bottom: 1px solid @legend-border-color;
+}
+
+label {
+ display: inline-block;
+ margin-bottom: 5px;
+ font-weight: bold;
+}
+
+
+// Normalize form controls
+
+// Override content-box in Normalize (* isn't specific enough)
+input[type="search"] {
+ .box-sizing(border-box);
+}
+
+// Position radios and checkboxes better
+input[type="radio"],
+input[type="checkbox"] {
+ margin: 4px 0 0;
+ margin-top: 1px \9; /* IE8-9 */
+ line-height: normal;
+}
+
+// Set the height of select and file controls to match text inputs
+input[type="file"] {
+ display: block;
+}
+
+// Make multiple select elements height not fixed
+select[multiple],
+select[size] {
+ height: auto;
+}
+
+// Fix optgroup Firefox bug per https://github.com/twbs/bootstrap/issues/7611
+select optgroup {
+ font-size: inherit;
+ font-style: inherit;
+ font-family: inherit;
+}
+
+// Focus for select, file, radio, and checkbox
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+ .tab-focus();
+}
+
+// Fix for Chrome number input
+// Setting certain font-sizes causes the `I` bar to appear on hover of the bottom increment button.
+// See https://github.com/twbs/bootstrap/issues/8350 for more.
+input[type="number"] {
+ &::-webkit-outer-spin-button,
+ &::-webkit-inner-spin-button {
+ height: auto;
+ }
+}
+
+
+// Placeholder
+//
+// Placeholder text gets special styles because when browsers invalidate entire
+// lines if it doesn't understand a selector/
+.form-control {
+ .placeholder();
+}
+
+
+// Common form controls
+//
+// Shared size and type resets for form controls. Apply `.form-control` to any
+// of the following form controls:
+//
+// 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"]
+
+.form-control {
+ display: block;
+ width: 100%;
+ height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
+ padding: @padding-base-vertical @padding-base-horizontal;
+ font-size: @font-size-base;
+ line-height: @line-height-base;
+ color: @input-color;
+ vertical-align: middle;
+ background-color: @input-bg;
+ border: 1px solid @input-border;
+ border-radius: @input-border-radius;
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
+ .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s");
+
+ // Customize the `:focus` state to imitate native WebKit styles.
+ .form-control-focus();
+
+ // Disabled and read-only inputs
+ // Note: HTML5 says that controls under a fieldset > legend:first-child won't
+ // be disabled if the fieldset is disabled. Due to implementation difficulty,
+ // we don't honor that edge case; we style them as disabled anyway.
+ &[disabled],
+ &[readonly],
+ fieldset[disabled] & {
+ cursor: not-allowed;
+ background-color: @input-bg-disabled;
+ }
+
+ // Reset height for `textarea`s
+ textarea& {
+ height: auto;
+ }
+}
+
+
+// Form groups
+//
+// Designed to help with the organization and spacing of vertical forms. For
+// horizontal forms, use the predefined grid classes.
+
+.form-group {
+ margin-bottom: 15px;
+}
+
+
+// Checkboxes and radios
+//
+// Indent the labels to position radios/checkboxes as hanging controls.
+
+.radio,
+.checkbox {
+ display: block;
+ min-height: @line-height-computed; // clear the floating input if there is no label text
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding-left: 20px;
+ vertical-align: middle;
+ label {
+ display: inline;
+ margin-bottom: 0;
+ font-weight: normal;
+ cursor: pointer;
+ }
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+ float: left;
+ margin-left: -20px;
+}
+.radio + .radio,
+.checkbox + .checkbox {
+ margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
+}
+
+// Radios and checkboxes on same line
+.radio-inline,
+.checkbox-inline {
+ display: inline-block;
+ padding-left: 20px;
+ margin-bottom: 0;
+ vertical-align: middle;
+ font-weight: normal;
+ cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+ margin-top: 0;
+ margin-left: 10px; // space out consecutive inline controls
+}
+
+// Apply same disabled cursor tweak as for inputs
+//
+// Note: Neither radios nor checkboxes can be readonly.
+input[type="radio"],
+input[type="checkbox"],
+.radio,
+.radio-inline,
+.checkbox,
+.checkbox-inline {
+ &[disabled],
+ fieldset[disabled] & {
+ cursor: not-allowed;
+ }
+}
+
+// Form control sizing
+.input-sm {
+ .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
+}
+
+.input-lg {
+ .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
+}
+
+
+// Form control feedback states
+//
+// Apply contextual and semantic states to individual form controls.
+
+// Warning
+.has-warning {
+ .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);
+}
+// Error
+.has-error {
+ .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);
+}
+// Success
+.has-success {
+ .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);
+}
+
+
+// Static form control text
+//
+// Apply class to a `p` element to make any string of text align with labels in
+// a horizontal form layout.
+
+.form-control-static {
+ margin-bottom: 0; // Remove default margin from `p`
+ padding-top: (@padding-base-vertical + 1);
+}
+
+
+// Help text
+//
+// Apply to any element you wish to create light text for placement immediately
+// below a form control. Use for general help, formatting, or instructional text.
+
+.help-block {
+ display: block; // account for any element using help-block
+ margin-top: 5px;
+ margin-bottom: 10px;
+ color: lighten(@text-color, 25%); // lighten the text some for contrast
+}
+
+
+
+// Inline forms
+//
+// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
+// forms begin stacked on extra small (mobile) devices and then go inline when
+// viewports reach <768px.
+//
+// Requires wrapping inputs and labels with `.form-group` for proper display of
+// default HTML form controls and our custom form controls (e.g., input groups).
+//
+// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
+
+.form-inline {
+
+ // Kick in the inline
+ @media (min-width: @screen-tablet) {
+ // Inline-block all the things for "inline"
+ .form-group {
+ display: inline-block;
+ margin-bottom: 0;
+ vertical-align: middle;
+ }
+
+ // In navbar-form, allow folks to *not* use `.form-group`
+ .form-control {
+ display: inline-block;
+ }
+
+ // Remove default margin on radios/checkboxes that were used for stacking, and
+ // then undo the floating of radios and checkboxes to match (which also avoids
+ // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
+ .radio,
+ .checkbox {
+ display: inline-block;
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-left: 0;
+ }
+ .radio input[type="radio"],
+ .checkbox input[type="checkbox"] {
+ float: none;
+ margin-left: 0;
+ }
+ }
+}
+
+
+// Horizontal forms
+//
+// Horizontal forms are built on grid classes and allow you to create forms with
+// labels on the left and inputs on the right.
+
+.form-horizontal {
+
+ // Consistent vertical alignment of labels, radios, and checkboxes
+ .control-label,
+ .radio,
+ .checkbox,
+ .radio-inline,
+ .checkbox-inline {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-top: (@padding-base-vertical + 1); // Default padding plus a border
+ }
+
+ // Make form groups behave like rows
+ .form-group {
+ .make-row();
+ }
+
+ // Only right align form labels here when the columns stop stacking
+ @media (min-width: @screen-tablet) {
+ .control-label {
+ text-align: right;
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/glyphicons.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/glyphicons.less
new file mode 100644
index 000000000..0e0ba986c
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/glyphicons.less
@@ -0,0 +1,232 @@
+//
+// Glyphicons for Bootstrap
+//
+// Since icons are fonts, they can be placed anywhere text is placed and are
+// thus automatically sized to match the surrounding child. To use, create an
+// inline element with the appropriate classes, like so:
+//
+// Star
+
+// Import the fonts
+@font-face {
+ font-family: 'Glyphicons Halflings';
+ src: url('@{icon-font-path}@{icon-font-name}.eot');
+ src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),
+ url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),
+ url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),
+ url('@{icon-font-path}@{icon-font-name}.svg#glyphicons-halflingsregular') format('svg');
+}
+
+// Catchall baseclass
+.glyphicon {
+ position: relative;
+ top: 1px;
+ display: inline-block;
+ font-family: 'Glyphicons Halflings';
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+}
+
+// Individual icons
+.glyphicon-asterisk { &:before { content: "\2a"; } }
+.glyphicon-plus { &:before { content: "\2b"; } }
+.glyphicon-euro { &:before { content: "\20ac"; } }
+.glyphicon-minus { &:before { content: "\2212"; } }
+.glyphicon-cloud { &:before { content: "\2601"; } }
+.glyphicon-envelope { &:before { content: "\2709"; } }
+.glyphicon-pencil { &:before { content: "\270f"; } }
+.glyphicon-glass { &:before { content: "\e001"; } }
+.glyphicon-music { &:before { content: "\e002"; } }
+.glyphicon-search { &:before { content: "\e003"; } }
+.glyphicon-heart { &:before { content: "\e005"; } }
+.glyphicon-star { &:before { content: "\e006"; } }
+.glyphicon-star-empty { &:before { content: "\e007"; } }
+.glyphicon-user { &:before { content: "\e008"; } }
+.glyphicon-film { &:before { content: "\e009"; } }
+.glyphicon-th-large { &:before { content: "\e010"; } }
+.glyphicon-th { &:before { content: "\e011"; } }
+.glyphicon-th-list { &:before { content: "\e012"; } }
+.glyphicon-ok { &:before { content: "\e013"; } }
+.glyphicon-remove { &:before { content: "\e014"; } }
+.glyphicon-zoom-in { &:before { content: "\e015"; } }
+.glyphicon-zoom-out { &:before { content: "\e016"; } }
+.glyphicon-off { &:before { content: "\e017"; } }
+.glyphicon-signal { &:before { content: "\e018"; } }
+.glyphicon-cog { &:before { content: "\e019"; } }
+.glyphicon-trash { &:before { content: "\e020"; } }
+.glyphicon-home { &:before { content: "\e021"; } }
+.glyphicon-file { &:before { content: "\e022"; } }
+.glyphicon-time { &:before { content: "\e023"; } }
+.glyphicon-road { &:before { content: "\e024"; } }
+.glyphicon-download-alt { &:before { content: "\e025"; } }
+.glyphicon-download { &:before { content: "\e026"; } }
+.glyphicon-upload { &:before { content: "\e027"; } }
+.glyphicon-inbox { &:before { content: "\e028"; } }
+.glyphicon-play-circle { &:before { content: "\e029"; } }
+.glyphicon-repeat { &:before { content: "\e030"; } }
+.glyphicon-refresh { &:before { content: "\e031"; } }
+.glyphicon-list-alt { &:before { content: "\e032"; } }
+.glyphicon-flag { &:before { content: "\e034"; } }
+.glyphicon-headphones { &:before { content: "\e035"; } }
+.glyphicon-volume-off { &:before { content: "\e036"; } }
+.glyphicon-volume-down { &:before { content: "\e037"; } }
+.glyphicon-volume-up { &:before { content: "\e038"; } }
+.glyphicon-qrcode { &:before { content: "\e039"; } }
+.glyphicon-barcode { &:before { content: "\e040"; } }
+.glyphicon-tag { &:before { content: "\e041"; } }
+.glyphicon-tags { &:before { content: "\e042"; } }
+.glyphicon-book { &:before { content: "\e043"; } }
+.glyphicon-print { &:before { content: "\e045"; } }
+.glyphicon-font { &:before { content: "\e047"; } }
+.glyphicon-bold { &:before { content: "\e048"; } }
+.glyphicon-italic { &:before { content: "\e049"; } }
+.glyphicon-text-height { &:before { content: "\e050"; } }
+.glyphicon-text-width { &:before { content: "\e051"; } }
+.glyphicon-align-left { &:before { content: "\e052"; } }
+.glyphicon-align-center { &:before { content: "\e053"; } }
+.glyphicon-align-right { &:before { content: "\e054"; } }
+.glyphicon-align-justify { &:before { content: "\e055"; } }
+.glyphicon-list { &:before { content: "\e056"; } }
+.glyphicon-indent-left { &:before { content: "\e057"; } }
+.glyphicon-indent-right { &:before { content: "\e058"; } }
+.glyphicon-facetime-video { &:before { content: "\e059"; } }
+.glyphicon-picture { &:before { content: "\e060"; } }
+.glyphicon-map-marker { &:before { content: "\e062"; } }
+.glyphicon-adjust { &:before { content: "\e063"; } }
+.glyphicon-tint { &:before { content: "\e064"; } }
+.glyphicon-edit { &:before { content: "\e065"; } }
+.glyphicon-share { &:before { content: "\e066"; } }
+.glyphicon-check { &:before { content: "\e067"; } }
+.glyphicon-move { &:before { content: "\e068"; } }
+.glyphicon-step-backward { &:before { content: "\e069"; } }
+.glyphicon-fast-backward { &:before { content: "\e070"; } }
+.glyphicon-backward { &:before { content: "\e071"; } }
+.glyphicon-play { &:before { content: "\e072"; } }
+.glyphicon-pause { &:before { content: "\e073"; } }
+.glyphicon-stop { &:before { content: "\e074"; } }
+.glyphicon-forward { &:before { content: "\e075"; } }
+.glyphicon-fast-forward { &:before { content: "\e076"; } }
+.glyphicon-step-forward { &:before { content: "\e077"; } }
+.glyphicon-eject { &:before { content: "\e078"; } }
+.glyphicon-chevron-left { &:before { content: "\e079"; } }
+.glyphicon-chevron-right { &:before { content: "\e080"; } }
+.glyphicon-plus-sign { &:before { content: "\e081"; } }
+.glyphicon-minus-sign { &:before { content: "\e082"; } }
+.glyphicon-remove-sign { &:before { content: "\e083"; } }
+.glyphicon-ok-sign { &:before { content: "\e084"; } }
+.glyphicon-question-sign { &:before { content: "\e085"; } }
+.glyphicon-info-sign { &:before { content: "\e086"; } }
+.glyphicon-screenshot { &:before { content: "\e087"; } }
+.glyphicon-remove-circle { &:before { content: "\e088"; } }
+.glyphicon-ok-circle { &:before { content: "\e089"; } }
+.glyphicon-ban-circle { &:before { content: "\e090"; } }
+.glyphicon-arrow-left { &:before { content: "\e091"; } }
+.glyphicon-arrow-right { &:before { content: "\e092"; } }
+.glyphicon-arrow-up { &:before { content: "\e093"; } }
+.glyphicon-arrow-down { &:before { content: "\e094"; } }
+.glyphicon-share-alt { &:before { content: "\e095"; } }
+.glyphicon-resize-full { &:before { content: "\e096"; } }
+.glyphicon-resize-small { &:before { content: "\e097"; } }
+.glyphicon-exclamation-sign { &:before { content: "\e101"; } }
+.glyphicon-gift { &:before { content: "\e102"; } }
+.glyphicon-leaf { &:before { content: "\e103"; } }
+.glyphicon-eye-open { &:before { content: "\e105"; } }
+.glyphicon-eye-close { &:before { content: "\e106"; } }
+.glyphicon-warning-sign { &:before { content: "\e107"; } }
+.glyphicon-plane { &:before { content: "\e108"; } }
+.glyphicon-random { &:before { content: "\e110"; } }
+.glyphicon-comment { &:before { content: "\e111"; } }
+.glyphicon-magnet { &:before { content: "\e112"; } }
+.glyphicon-chevron-up { &:before { content: "\e113"; } }
+.glyphicon-chevron-down { &:before { content: "\e114"; } }
+.glyphicon-retweet { &:before { content: "\e115"; } }
+.glyphicon-shopping-cart { &:before { content: "\e116"; } }
+.glyphicon-folder-close { &:before { content: "\e117"; } }
+.glyphicon-folder-open { &:before { content: "\e118"; } }
+.glyphicon-resize-vertical { &:before { content: "\e119"; } }
+.glyphicon-resize-horizontal { &:before { content: "\e120"; } }
+.glyphicon-hdd { &:before { content: "\e121"; } }
+.glyphicon-bullhorn { &:before { content: "\e122"; } }
+.glyphicon-certificate { &:before { content: "\e124"; } }
+.glyphicon-thumbs-up { &:before { content: "\e125"; } }
+.glyphicon-thumbs-down { &:before { content: "\e126"; } }
+.glyphicon-hand-right { &:before { content: "\e127"; } }
+.glyphicon-hand-left { &:before { content: "\e128"; } }
+.glyphicon-hand-up { &:before { content: "\e129"; } }
+.glyphicon-hand-down { &:before { content: "\e130"; } }
+.glyphicon-circle-arrow-right { &:before { content: "\e131"; } }
+.glyphicon-circle-arrow-left { &:before { content: "\e132"; } }
+.glyphicon-circle-arrow-up { &:before { content: "\e133"; } }
+.glyphicon-circle-arrow-down { &:before { content: "\e134"; } }
+.glyphicon-globe { &:before { content: "\e135"; } }
+.glyphicon-tasks { &:before { content: "\e137"; } }
+.glyphicon-filter { &:before { content: "\e138"; } }
+.glyphicon-fullscreen { &:before { content: "\e140"; } }
+.glyphicon-dashboard { &:before { content: "\e141"; } }
+.glyphicon-heart-empty { &:before { content: "\e143"; } }
+.glyphicon-link { &:before { content: "\e144"; } }
+.glyphicon-phone { &:before { content: "\e145"; } }
+.glyphicon-usd { &:before { content: "\e148"; } }
+.glyphicon-gbp { &:before { content: "\e149"; } }
+.glyphicon-sort { &:before { content: "\e150"; } }
+.glyphicon-sort-by-alphabet { &:before { content: "\e151"; } }
+.glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } }
+.glyphicon-sort-by-order { &:before { content: "\e153"; } }
+.glyphicon-sort-by-order-alt { &:before { content: "\e154"; } }
+.glyphicon-sort-by-attributes { &:before { content: "\e155"; } }
+.glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } }
+.glyphicon-unchecked { &:before { content: "\e157"; } }
+.glyphicon-expand { &:before { content: "\e158"; } }
+.glyphicon-collapse-down { &:before { content: "\e159"; } }
+.glyphicon-collapse-up { &:before { content: "\e160"; } }
+.glyphicon-log-in { &:before { content: "\e161"; } }
+.glyphicon-flash { &:before { content: "\e162"; } }
+.glyphicon-log-out { &:before { content: "\e163"; } }
+.glyphicon-new-window { &:before { content: "\e164"; } }
+.glyphicon-record { &:before { content: "\e165"; } }
+.glyphicon-save { &:before { content: "\e166"; } }
+.glyphicon-open { &:before { content: "\e167"; } }
+.glyphicon-saved { &:before { content: "\e168"; } }
+.glyphicon-import { &:before { content: "\e169"; } }
+.glyphicon-export { &:before { content: "\e170"; } }
+.glyphicon-send { &:before { content: "\e171"; } }
+.glyphicon-floppy-disk { &:before { content: "\e172"; } }
+.glyphicon-floppy-saved { &:before { content: "\e173"; } }
+.glyphicon-floppy-remove { &:before { content: "\e174"; } }
+.glyphicon-floppy-save { &:before { content: "\e175"; } }
+.glyphicon-floppy-open { &:before { content: "\e176"; } }
+.glyphicon-credit-card { &:before { content: "\e177"; } }
+.glyphicon-transfer { &:before { content: "\e178"; } }
+.glyphicon-cutlery { &:before { content: "\e179"; } }
+.glyphicon-header { &:before { content: "\e180"; } }
+.glyphicon-compressed { &:before { content: "\e181"; } }
+.glyphicon-earphone { &:before { content: "\e182"; } }
+.glyphicon-phone-alt { &:before { content: "\e183"; } }
+.glyphicon-tower { &:before { content: "\e184"; } }
+.glyphicon-stats { &:before { content: "\e185"; } }
+.glyphicon-sd-video { &:before { content: "\e186"; } }
+.glyphicon-hd-video { &:before { content: "\e187"; } }
+.glyphicon-subtitles { &:before { content: "\e188"; } }
+.glyphicon-sound-stereo { &:before { content: "\e189"; } }
+.glyphicon-sound-dolby { &:before { content: "\e190"; } }
+.glyphicon-sound-5-1 { &:before { content: "\e191"; } }
+.glyphicon-sound-6-1 { &:before { content: "\e192"; } }
+.glyphicon-sound-7-1 { &:before { content: "\e193"; } }
+.glyphicon-copyright-mark { &:before { content: "\e194"; } }
+.glyphicon-registration-mark { &:before { content: "\e195"; } }
+.glyphicon-cloud-download { &:before { content: "\e197"; } }
+.glyphicon-cloud-upload { &:before { content: "\e198"; } }
+.glyphicon-tree-conifer { &:before { content: "\e199"; } }
+.glyphicon-tree-deciduous { &:before { content: "\e200"; } }
+.glyphicon-briefcase { &:before { content: "\1f4bc"; } }
+.glyphicon-calendar { &:before { content: "\1f4c5"; } }
+.glyphicon-pushpin { &:before { content: "\1f4cc"; } }
+.glyphicon-paperclip { &:before { content: "\1f4ce"; } }
+.glyphicon-camera { &:before { content: "\1f4f7"; } }
+.glyphicon-lock { &:before { content: "\1f512"; } }
+.glyphicon-bell { &:before { content: "\1f514"; } }
+.glyphicon-bookmark { &:before { content: "\1f516"; } }
+.glyphicon-fire { &:before { content: "\1f525"; } }
+.glyphicon-wrench { &:before { content: "\1f527"; } }
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/grid.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/grid.less
new file mode 100644
index 000000000..44e38994e
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/grid.less
@@ -0,0 +1,346 @@
+//
+// Grid system
+// --------------------------------------------------
+
+
+// Set the container width, and override it for fixed navbars in media queries
+.container {
+ .container-fixed();
+}
+
+// mobile first defaults
+.row {
+ .make-row();
+}
+
+// Common styles for small and large grid columns
+.col-xs-1,
+.col-xs-2,
+.col-xs-3,
+.col-xs-4,
+.col-xs-5,
+.col-xs-6,
+.col-xs-7,
+.col-xs-8,
+.col-xs-9,
+.col-xs-10,
+.col-xs-11,
+.col-xs-12,
+.col-sm-1,
+.col-sm-2,
+.col-sm-3,
+.col-sm-4,
+.col-sm-5,
+.col-sm-6,
+.col-sm-7,
+.col-sm-8,
+.col-sm-9,
+.col-sm-10,
+.col-sm-11,
+.col-sm-12,
+.col-md-1,
+.col-md-2,
+.col-md-3,
+.col-md-4,
+.col-md-5,
+.col-md-6,
+.col-md-7,
+.col-md-8,
+.col-md-9,
+.col-md-10,
+.col-md-11,
+.col-md-12,
+.col-lg-1,
+.col-lg-2,
+.col-lg-3,
+.col-lg-4,
+.col-lg-5,
+.col-lg-6,
+.col-lg-7,
+.col-lg-8,
+.col-lg-9,
+.col-lg-10,
+.col-lg-11,
+.col-lg-12 {
+ position: relative;
+ // Prevent columns from collapsing when empty
+ min-height: 1px;
+ // Inner gutter via padding
+ padding-left: (@grid-gutter-width / 2);
+ padding-right: (@grid-gutter-width / 2);
+}
+
+
+// Extra small grid
+//
+// Grid classes for extra small devices like smartphones. No offset, push, or
+// pull classes are present here due to the size of the target.
+//
+// Note that `.col-xs-12` doesn't get floated on purpose—there's no need since
+// it's full-width.
+
+.col-xs-1,
+.col-xs-2,
+.col-xs-3,
+.col-xs-4,
+.col-xs-5,
+.col-xs-6,
+.col-xs-7,
+.col-xs-8,
+.col-xs-9,
+.col-xs-10,
+.col-xs-11 {
+ float: left;
+}
+.col-xs-1 { width: percentage((1 / @grid-columns)); }
+.col-xs-2 { width: percentage((2 / @grid-columns)); }
+.col-xs-3 { width: percentage((3 / @grid-columns)); }
+.col-xs-4 { width: percentage((4 / @grid-columns)); }
+.col-xs-5 { width: percentage((5 / @grid-columns)); }
+.col-xs-6 { width: percentage((6 / @grid-columns)); }
+.col-xs-7 { width: percentage((7 / @grid-columns)); }
+.col-xs-8 { width: percentage((8 / @grid-columns)); }
+.col-xs-9 { width: percentage((9 / @grid-columns)); }
+.col-xs-10 { width: percentage((10/ @grid-columns)); }
+.col-xs-11 { width: percentage((11/ @grid-columns)); }
+.col-xs-12 { width: 100%; }
+
+
+// Small grid
+//
+// Columns, offsets, pushes, and pulls for the small device range, from phones
+// to tablets.
+//
+// Note that `.col-sm-12` doesn't get floated on purpose—there's no need since
+// it's full-width.
+
+@media (min-width: @screen-tablet) {
+ .container {
+ max-width: @container-tablet;
+ }
+
+ .col-sm-1,
+ .col-sm-2,
+ .col-sm-3,
+ .col-sm-4,
+ .col-sm-5,
+ .col-sm-6,
+ .col-sm-7,
+ .col-sm-8,
+ .col-sm-9,
+ .col-sm-10,
+ .col-sm-11 {
+ float: left;
+ }
+ .col-sm-1 { width: percentage((1 / @grid-columns)); }
+ .col-sm-2 { width: percentage((2 / @grid-columns)); }
+ .col-sm-3 { width: percentage((3 / @grid-columns)); }
+ .col-sm-4 { width: percentage((4 / @grid-columns)); }
+ .col-sm-5 { width: percentage((5 / @grid-columns)); }
+ .col-sm-6 { width: percentage((6 / @grid-columns)); }
+ .col-sm-7 { width: percentage((7 / @grid-columns)); }
+ .col-sm-8 { width: percentage((8 / @grid-columns)); }
+ .col-sm-9 { width: percentage((9 / @grid-columns)); }
+ .col-sm-10 { width: percentage((10/ @grid-columns)); }
+ .col-sm-11 { width: percentage((11/ @grid-columns)); }
+ .col-sm-12 { width: 100%; }
+
+ // Push and pull columns for source order changes
+ .col-sm-push-1 { left: percentage((1 / @grid-columns)); }
+ .col-sm-push-2 { left: percentage((2 / @grid-columns)); }
+ .col-sm-push-3 { left: percentage((3 / @grid-columns)); }
+ .col-sm-push-4 { left: percentage((4 / @grid-columns)); }
+ .col-sm-push-5 { left: percentage((5 / @grid-columns)); }
+ .col-sm-push-6 { left: percentage((6 / @grid-columns)); }
+ .col-sm-push-7 { left: percentage((7 / @grid-columns)); }
+ .col-sm-push-8 { left: percentage((8 / @grid-columns)); }
+ .col-sm-push-9 { left: percentage((9 / @grid-columns)); }
+ .col-sm-push-10 { left: percentage((10/ @grid-columns)); }
+ .col-sm-push-11 { left: percentage((11/ @grid-columns)); }
+
+ .col-sm-pull-1 { right: percentage((1 / @grid-columns)); }
+ .col-sm-pull-2 { right: percentage((2 / @grid-columns)); }
+ .col-sm-pull-3 { right: percentage((3 / @grid-columns)); }
+ .col-sm-pull-4 { right: percentage((4 / @grid-columns)); }
+ .col-sm-pull-5 { right: percentage((5 / @grid-columns)); }
+ .col-sm-pull-6 { right: percentage((6 / @grid-columns)); }
+ .col-sm-pull-7 { right: percentage((7 / @grid-columns)); }
+ .col-sm-pull-8 { right: percentage((8 / @grid-columns)); }
+ .col-sm-pull-9 { right: percentage((9 / @grid-columns)); }
+ .col-sm-pull-10 { right: percentage((10/ @grid-columns)); }
+ .col-sm-pull-11 { right: percentage((11/ @grid-columns)); }
+
+ // Offsets
+ .col-sm-offset-1 { margin-left: percentage((1 / @grid-columns)); }
+ .col-sm-offset-2 { margin-left: percentage((2 / @grid-columns)); }
+ .col-sm-offset-3 { margin-left: percentage((3 / @grid-columns)); }
+ .col-sm-offset-4 { margin-left: percentage((4 / @grid-columns)); }
+ .col-sm-offset-5 { margin-left: percentage((5 / @grid-columns)); }
+ .col-sm-offset-6 { margin-left: percentage((6 / @grid-columns)); }
+ .col-sm-offset-7 { margin-left: percentage((7 / @grid-columns)); }
+ .col-sm-offset-8 { margin-left: percentage((8 / @grid-columns)); }
+ .col-sm-offset-9 { margin-left: percentage((9 / @grid-columns)); }
+ .col-sm-offset-10 { margin-left: percentage((10/ @grid-columns)); }
+ .col-sm-offset-11 { margin-left: percentage((11/ @grid-columns)); }
+}
+
+
+// Medium grid
+//
+// Columns, offsets, pushes, and pulls for the desktop device range.
+//
+// Note that `.col-md-12` doesn't get floated on purpose—there's no need since
+// it's full-width.
+
+@media (min-width: @screen-desktop) {
+ .container {
+ max-width: @container-desktop;
+ }
+ .col-md-1,
+ .col-md-2,
+ .col-md-3,
+ .col-md-4,
+ .col-md-5,
+ .col-md-6,
+ .col-md-7,
+ .col-md-8,
+ .col-md-9,
+ .col-md-10,
+ .col-md-11 {
+ float: left;
+ }
+ .col-md-1 { width: percentage((1 / @grid-columns)); }
+ .col-md-2 { width: percentage((2 / @grid-columns)); }
+ .col-md-3 { width: percentage((3 / @grid-columns)); }
+ .col-md-4 { width: percentage((4 / @grid-columns)); }
+ .col-md-5 { width: percentage((5 / @grid-columns)); }
+ .col-md-6 { width: percentage((6 / @grid-columns)); }
+ .col-md-7 { width: percentage((7 / @grid-columns)); }
+ .col-md-8 { width: percentage((8 / @grid-columns)); }
+ .col-md-9 { width: percentage((9 / @grid-columns)); }
+ .col-md-10 { width: percentage((10/ @grid-columns)); }
+ .col-md-11 { width: percentage((11/ @grid-columns)); }
+ .col-md-12 { width: 100%; }
+
+ // Push and pull columns for source order changes
+ .col-md-push-0 { left: auto; }
+ .col-md-push-1 { left: percentage((1 / @grid-columns)); }
+ .col-md-push-2 { left: percentage((2 / @grid-columns)); }
+ .col-md-push-3 { left: percentage((3 / @grid-columns)); }
+ .col-md-push-4 { left: percentage((4 / @grid-columns)); }
+ .col-md-push-5 { left: percentage((5 / @grid-columns)); }
+ .col-md-push-6 { left: percentage((6 / @grid-columns)); }
+ .col-md-push-7 { left: percentage((7 / @grid-columns)); }
+ .col-md-push-8 { left: percentage((8 / @grid-columns)); }
+ .col-md-push-9 { left: percentage((9 / @grid-columns)); }
+ .col-md-push-10 { left: percentage((10/ @grid-columns)); }
+ .col-md-push-11 { left: percentage((11/ @grid-columns)); }
+
+ .col-md-pull-0 { right: auto; }
+ .col-md-pull-1 { right: percentage((1 / @grid-columns)); }
+ .col-md-pull-2 { right: percentage((2 / @grid-columns)); }
+ .col-md-pull-3 { right: percentage((3 / @grid-columns)); }
+ .col-md-pull-4 { right: percentage((4 / @grid-columns)); }
+ .col-md-pull-5 { right: percentage((5 / @grid-columns)); }
+ .col-md-pull-6 { right: percentage((6 / @grid-columns)); }
+ .col-md-pull-7 { right: percentage((7 / @grid-columns)); }
+ .col-md-pull-8 { right: percentage((8 / @grid-columns)); }
+ .col-md-pull-9 { right: percentage((9 / @grid-columns)); }
+ .col-md-pull-10 { right: percentage((10/ @grid-columns)); }
+ .col-md-pull-11 { right: percentage((11/ @grid-columns)); }
+
+ // Offsets
+ .col-md-offset-0 { margin-left: 0; }
+ .col-md-offset-1 { margin-left: percentage((1 / @grid-columns)); }
+ .col-md-offset-2 { margin-left: percentage((2 / @grid-columns)); }
+ .col-md-offset-3 { margin-left: percentage((3 / @grid-columns)); }
+ .col-md-offset-4 { margin-left: percentage((4 / @grid-columns)); }
+ .col-md-offset-5 { margin-left: percentage((5 / @grid-columns)); }
+ .col-md-offset-6 { margin-left: percentage((6 / @grid-columns)); }
+ .col-md-offset-7 { margin-left: percentage((7 / @grid-columns)); }
+ .col-md-offset-8 { margin-left: percentage((8 / @grid-columns)); }
+ .col-md-offset-9 { margin-left: percentage((9 / @grid-columns)); }
+ .col-md-offset-10 { margin-left: percentage((10/ @grid-columns)); }
+ .col-md-offset-11 { margin-left: percentage((11/ @grid-columns)); }
+}
+
+
+// Large grid
+//
+// Columns, offsets, pushes, and pulls for the large desktop device range.
+//
+// Note that `.col-lg-12` doesn't get floated on purpose—there's no need since
+// it's full-width.
+
+@media (min-width: @screen-lg-desktop) {
+ .container {
+ max-width: @container-lg-desktop;
+ }
+
+ .col-lg-1,
+ .col-lg-2,
+ .col-lg-3,
+ .col-lg-4,
+ .col-lg-5,
+ .col-lg-6,
+ .col-lg-7,
+ .col-lg-8,
+ .col-lg-9,
+ .col-lg-10,
+ .col-lg-11 {
+ float: left;
+ }
+ .col-lg-1 { width: percentage((1 / @grid-columns)); }
+ .col-lg-2 { width: percentage((2 / @grid-columns)); }
+ .col-lg-3 { width: percentage((3 / @grid-columns)); }
+ .col-lg-4 { width: percentage((4 / @grid-columns)); }
+ .col-lg-5 { width: percentage((5 / @grid-columns)); }
+ .col-lg-6 { width: percentage((6 / @grid-columns)); }
+ .col-lg-7 { width: percentage((7 / @grid-columns)); }
+ .col-lg-8 { width: percentage((8 / @grid-columns)); }
+ .col-lg-9 { width: percentage((9 / @grid-columns)); }
+ .col-lg-10 { width: percentage((10/ @grid-columns)); }
+ .col-lg-11 { width: percentage((11/ @grid-columns)); }
+ .col-lg-12 { width: 100%; }
+
+ // Push and pull columns for source order changes
+ .col-lg-push-0 { left: auto; }
+ .col-lg-push-1 { left: percentage((1 / @grid-columns)); }
+ .col-lg-push-2 { left: percentage((2 / @grid-columns)); }
+ .col-lg-push-3 { left: percentage((3 / @grid-columns)); }
+ .col-lg-push-4 { left: percentage((4 / @grid-columns)); }
+ .col-lg-push-5 { left: percentage((5 / @grid-columns)); }
+ .col-lg-push-6 { left: percentage((6 / @grid-columns)); }
+ .col-lg-push-7 { left: percentage((7 / @grid-columns)); }
+ .col-lg-push-8 { left: percentage((8 / @grid-columns)); }
+ .col-lg-push-9 { left: percentage((9 / @grid-columns)); }
+ .col-lg-push-10 { left: percentage((10/ @grid-columns)); }
+ .col-lg-push-11 { left: percentage((11/ @grid-columns)); }
+
+ .col-lg-pull-0 { right: auto; }
+ .col-lg-pull-1 { right: percentage((1 / @grid-columns)); }
+ .col-lg-pull-2 { right: percentage((2 / @grid-columns)); }
+ .col-lg-pull-3 { right: percentage((3 / @grid-columns)); }
+ .col-lg-pull-4 { right: percentage((4 / @grid-columns)); }
+ .col-lg-pull-5 { right: percentage((5 / @grid-columns)); }
+ .col-lg-pull-6 { right: percentage((6 / @grid-columns)); }
+ .col-lg-pull-7 { right: percentage((7 / @grid-columns)); }
+ .col-lg-pull-8 { right: percentage((8 / @grid-columns)); }
+ .col-lg-pull-9 { right: percentage((9 / @grid-columns)); }
+ .col-lg-pull-10 { right: percentage((10/ @grid-columns)); }
+ .col-lg-pull-11 { right: percentage((11/ @grid-columns)); }
+
+ // Offsets
+ .col-lg-offset-0 { margin-left: 0; }
+ .col-lg-offset-1 { margin-left: percentage((1 / @grid-columns)); }
+ .col-lg-offset-2 { margin-left: percentage((2 / @grid-columns)); }
+ .col-lg-offset-3 { margin-left: percentage((3 / @grid-columns)); }
+ .col-lg-offset-4 { margin-left: percentage((4 / @grid-columns)); }
+ .col-lg-offset-5 { margin-left: percentage((5 / @grid-columns)); }
+ .col-lg-offset-6 { margin-left: percentage((6 / @grid-columns)); }
+ .col-lg-offset-7 { margin-left: percentage((7 / @grid-columns)); }
+ .col-lg-offset-8 { margin-left: percentage((8 / @grid-columns)); }
+ .col-lg-offset-9 { margin-left: percentage((9 / @grid-columns)); }
+ .col-lg-offset-10 { margin-left: percentage((10/ @grid-columns)); }
+ .col-lg-offset-11 { margin-left: percentage((11/ @grid-columns)); }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/input-groups.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/input-groups.less
new file mode 100644
index 000000000..570f03f90
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/input-groups.less
@@ -0,0 +1,127 @@
+//
+// Input groups
+// --------------------------------------------------
+
+// Base styles
+// -------------------------
+.input-group {
+ position: relative; // For dropdowns
+ display: table;
+ border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table
+
+ // Undo padding and float of grid classes
+ &.col {
+ float: none;
+ padding-left: 0;
+ padding-right: 0;
+ }
+
+ .form-control {
+ width: 100%;
+ margin-bottom: 0;
+ }
+}
+
+// Sizing options
+//
+// Remix the default form control sizing classes into new ones for easier
+// manipulation.
+
+.input-group-lg > .form-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn { .input-lg(); }
+.input-group-sm > .form-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn { .input-sm(); }
+
+
+// Display as table-cell
+// -------------------------
+.input-group-addon,
+.input-group-btn,
+.input-group .form-control {
+ display: table-cell;
+
+ &:not(:first-child):not(:last-child) {
+ border-radius: 0;
+ }
+}
+// Addon and addon wrapper for buttons
+.input-group-addon,
+.input-group-btn {
+ width: 1%;
+ white-space: nowrap;
+ vertical-align: middle; // Match the inputs
+}
+
+// Text input groups
+// -------------------------
+.input-group-addon {
+ padding: @padding-base-vertical @padding-base-horizontal;
+ font-size: @font-size-base;
+ font-weight: normal;
+ line-height: 1;
+ text-align: center;
+ background-color: @input-group-addon-bg;
+ border: 1px solid @input-group-addon-border-color;
+ border-radius: @border-radius-base;
+
+ // Sizing
+ &.input-sm {
+ padding: @padding-small-vertical @padding-small-horizontal;
+ font-size: @font-size-small;
+ border-radius: @border-radius-small;
+ }
+ &.input-lg {
+ padding: @padding-large-vertical @padding-large-horizontal;
+ font-size: @font-size-large;
+ border-radius: @border-radius-large;
+ }
+
+ // Nuke default margins from checkboxes and radios to vertically center within.
+ input[type="radio"],
+ input[type="checkbox"] {
+ margin-top: 0;
+ }
+}
+
+// Reset rounded corners
+.input-group .form-control:first-child,
+.input-group-addon:first-child,
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .dropdown-toggle,
+.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
+ .border-right-radius(0);
+}
+.input-group-addon:first-child {
+ border-right: 0;
+}
+.input-group .form-control:last-child,
+.input-group-addon:last-child,
+.input-group-btn:last-child > .btn,
+.input-group-btn:last-child > .dropdown-toggle,
+.input-group-btn:first-child > .btn:not(:first-child) {
+ .border-left-radius(0);
+}
+.input-group-addon:last-child {
+ border-left: 0;
+}
+
+// Button input groups
+// -------------------------
+.input-group-btn {
+ position: relative;
+ white-space: nowrap;
+}
+.input-group-btn > .btn {
+ position: relative;
+ // Jankily prevent input button groups from wrapping
+ + .btn {
+ margin-left: -4px;
+ }
+ // Bring the "active" button to the front
+ &:hover,
+ &:active {
+ z-index: 2;
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/jumbotron.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/jumbotron.less
new file mode 100644
index 000000000..8f482af52
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/jumbotron.less
@@ -0,0 +1,40 @@
+//
+// Jumbotron
+// --------------------------------------------------
+
+
+.jumbotron {
+ padding: @jumbotron-padding;
+ margin-bottom: @jumbotron-padding;
+ font-size: (@font-size-base * 1.5);
+ font-weight: 200;
+ line-height: (@line-height-base * 1.5);
+ color: @jumbotron-color;
+ background-color: @jumbotron-bg;
+
+ h1 {
+ line-height: 1;
+ color: @jumbotron-heading-color;
+ }
+ p {
+ line-height: 1.4;
+ }
+
+ .container & {
+ border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
+ }
+
+ @media screen and (min-width: @screen-tablet) {
+ padding-top: (@jumbotron-padding * 1.6);
+ padding-bottom: (@jumbotron-padding * 1.6);
+
+ .container & {
+ padding-left: (@jumbotron-padding * 2);
+ padding-right: (@jumbotron-padding * 2);
+ }
+
+ h1 {
+ font-size: (@font-size-base * 4.5);
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/labels.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/labels.less
new file mode 100644
index 000000000..cad5ce516
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/labels.less
@@ -0,0 +1,58 @@
+//
+// Labels
+// --------------------------------------------------
+
+.label {
+ display: inline;
+ padding: .2em .6em .3em;
+ font-size: 75%;
+ font-weight: bold;
+ line-height: 1;
+ color: @label-color;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: .25em;
+
+ // Add hover effects, but only for links
+ &[href] {
+ &:hover,
+ &:focus {
+ color: @label-link-hover-color;
+ text-decoration: none;
+ cursor: pointer;
+ }
+ }
+
+ // Empty labels collapse automatically (not available in IE8)
+ &:empty {
+ display: none;
+ }
+}
+
+// Colors
+// Contextual variations (linked labels get darker on :hover)
+
+.label-default {
+ .label-variant(@label-default-bg);
+}
+
+.label-primary {
+ .label-variant(@label-primary-bg);
+}
+
+.label-success {
+ .label-variant(@label-success-bg);
+}
+
+.label-info {
+ .label-variant(@label-info-bg);
+}
+
+.label-warning {
+ .label-variant(@label-warning-bg);
+}
+
+.label-danger {
+ .label-variant(@label-danger-bg);
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/list-group.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/list-group.less
new file mode 100644
index 000000000..46cda4085
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/list-group.less
@@ -0,0 +1,88 @@
+//
+// List groups
+// --------------------------------------------------
+
+// Base class
+//
+// Easily usable on , , or .
+.list-group {
+ // No need to set list-style: none; since .list-group-item is block level
+ margin-bottom: 20px;
+ padding-left: 0; // reset padding because ul and ol
+}
+
+// Individual list items
+// -------------------------
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+ // Place the border on the list items and negative margin up for better styling
+ margin-bottom: -1px;
+ background-color: @list-group-bg;
+ border: 1px solid @list-group-border;
+
+ // Round the first and last items
+ &:first-child {
+ .border-top-radius(@list-group-border-radius);
+ }
+ &:last-child {
+ margin-bottom: 0;
+ .border-bottom-radius(@list-group-border-radius);
+ }
+
+ // Align badges within list items
+ > .badge {
+ float: right;
+ }
+ > .badge + .badge {
+ margin-right: 5px;
+ }
+
+ // Linked list items
+ a& {
+ color: @list-group-link-color;
+
+ .list-group-item-heading {
+ color: @list-group-link-heading-color;
+ }
+
+ // Hover state
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ background-color: @list-group-hover-bg;
+ }
+ }
+
+ // Active class on item itself, not parent
+ &.active,
+ &.active:hover,
+ &.active:focus {
+ z-index: 2; // Place active items above their siblings for proper border styling
+ color: @list-group-active-color;
+ background-color: @list-group-active-bg;
+ border-color: @list-group-active-border;
+
+ // Force color to inherit for custom content
+ .list-group-item-heading {
+ color: inherit;
+ }
+ .list-group-item-text {
+ color: lighten(@list-group-active-bg, 40%);
+ }
+ }
+}
+
+// Custom content options
+// -------------------------
+
+.list-group-item-heading {
+ margin-top: 0;
+ margin-bottom: 5px;
+}
+.list-group-item-text {
+ margin-bottom: 0;
+ line-height: 1.3;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/media.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/media.less
new file mode 100644
index 000000000..5ad22cd6d
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/media.less
@@ -0,0 +1,56 @@
+// Media objects
+// Source: http://stubbornella.org/content/?p=497
+// --------------------------------------------------
+
+
+// Common styles
+// -------------------------
+
+// Clear the floats
+.media,
+.media-body {
+ overflow: hidden;
+ zoom: 1;
+}
+
+// Proper spacing between instances of .media
+.media,
+.media .media {
+ margin-top: 15px;
+}
+.media:first-child {
+ margin-top: 0;
+}
+
+// For images and videos, set to block
+.media-object {
+ display: block;
+}
+
+// Reset margins on headings for tighter default spacing
+.media-heading {
+ margin: 0 0 5px;
+}
+
+
+// Media image alignment
+// -------------------------
+
+.media {
+ > .pull-left {
+ margin-right: 10px;
+ }
+ > .pull-right {
+ margin-left: 10px;
+ }
+}
+
+
+// Media list variation
+// -------------------------
+
+// Undo default ul/ol styles
+.media-list {
+ padding-left: 0;
+ list-style: none;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/mixins.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/mixins.less
new file mode 100644
index 000000000..36dd661e0
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/mixins.less
@@ -0,0 +1,723 @@
+//
+// Mixins
+// --------------------------------------------------
+
+
+// Utilities
+// -------------------------
+
+// Clearfix
+// Source: http://nicolasgallagher.com/micro-clearfix-hack/
+//
+// For modern browsers
+// 1. The space content is one way to avoid an Opera bug when the
+// contenteditable attribute is included anywhere else in the document.
+// Otherwise it causes space to appear at the top and bottom of elements
+// that are clearfixed.
+// 2. The use of `table` rather than `block` is only necessary if using
+// `:before` to contain the top-margins of child elements.
+.clearfix() {
+ &:before,
+ &:after {
+ content: " "; /* 1 */
+ display: table; /* 2 */
+ }
+ &:after {
+ clear: both;
+ }
+}
+
+// Webkit-style focus
+.tab-focus() {
+ // Default
+ outline: thin dotted #333;
+ // Webkit
+ outline: 5px auto -webkit-focus-ring-color;
+ outline-offset: -2px;
+}
+
+// Center-align a block level element
+.center-block() {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+// Sizing shortcuts
+.size(@width; @height) {
+ width: @width;
+ height: @height;
+}
+.square(@size) {
+ .size(@size; @size);
+}
+
+// Placeholder text
+.placeholder(@color: @input-color-placeholder) {
+ &:-moz-placeholder { color: @color; } // Firefox 4-18
+ &::-moz-placeholder { color: @color; } // Firefox 19+
+ &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
+ &::-webkit-input-placeholder { color: @color; } // Safari and Chrome
+}
+
+// Text overflow
+// Requires inline-block or block for proper styling
+.text-overflow() {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+// CSS image replacement
+// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
+.hide-text() {
+ font: ~"0/0" a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+
+
+
+// CSS3 PROPERTIES
+// --------------------------------------------------
+
+// Single side border-radius
+.border-top-radius(@radius) {
+ border-top-right-radius: @radius;
+ border-top-left-radius: @radius;
+}
+.border-right-radius(@radius) {
+ border-bottom-right-radius: @radius;
+ border-top-right-radius: @radius;
+}
+.border-bottom-radius(@radius) {
+ border-bottom-right-radius: @radius;
+ border-bottom-left-radius: @radius;
+}
+.border-left-radius(@radius) {
+ border-bottom-left-radius: @radius;
+ border-top-left-radius: @radius;
+}
+
+// Drop shadows
+.box-shadow(@shadow) {
+ -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1
+ box-shadow: @shadow;
+}
+
+// Transitions
+.transition(@transition) {
+ -webkit-transition: @transition;
+ transition: @transition;
+}
+.transition-delay(@transition-delay) {
+ -webkit-transition-delay: @transition-delay;
+ transition-delay: @transition-delay;
+}
+.transition-duration(@transition-duration) {
+ -webkit-transition-duration: @transition-duration;
+ transition-duration: @transition-duration;
+}
+.transition-transform(@transition) {
+ -webkit-transition: -webkit-transform @transition;
+ -moz-transition: -moz-transform @transition;
+ -o-transition: -o-transform @transition;
+ transition: transform @transition;
+}
+
+// Transformations
+.rotate(@degrees) {
+ -webkit-transform: rotate(@degrees);
+ -ms-transform: rotate(@degrees); // IE9+
+ transform: rotate(@degrees);
+}
+.scale(@ratio) {
+ -webkit-transform: scale(@ratio);
+ -ms-transform: scale(@ratio); // IE9+
+ transform: scale(@ratio);
+}
+.translate(@x; @y) {
+ -webkit-transform: translate(@x, @y);
+ -ms-transform: translate(@x, @y); // IE9+
+ transform: translate(@x, @y);
+}
+.skew(@x; @y) {
+ -webkit-transform: skew(@x, @y);
+ -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
+ transform: skew(@x, @y);
+}
+.translate3d(@x; @y; @z) {
+ -webkit-transform: translate3d(@x, @y, @z);
+ transform: translate3d(@x, @y, @z);
+}
+
+// Backface visibility
+// Prevent browsers from flickering when using CSS 3D transforms.
+// Default value is `visible`, but can be changed to `hidden`
+// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
+.backface-visibility(@visibility){
+ -webkit-backface-visibility: @visibility;
+ -moz-backface-visibility: @visibility;
+ backface-visibility: @visibility;
+}
+
+// Box sizing
+.box-sizing(@boxmodel) {
+ -webkit-box-sizing: @boxmodel;
+ -moz-box-sizing: @boxmodel;
+ box-sizing: @boxmodel;
+}
+
+// User select
+// For selecting text on the page
+.user-select(@select) {
+ -webkit-user-select: @select;
+ -moz-user-select: @select;
+ -ms-user-select: @select; // IE10+
+ -o-user-select: @select;
+ user-select: @select;
+}
+
+// Resize anything
+.resizable(@direction) {
+ resize: @direction; // Options: horizontal, vertical, both
+ overflow: auto; // Safari fix
+}
+
+// CSS3 Content Columns
+.content-columns(@column-count; @column-gap: @grid-gutter-width) {
+ -webkit-column-count: @column-count;
+ -moz-column-count: @column-count;
+ column-count: @column-count;
+ -webkit-column-gap: @column-gap;
+ -moz-column-gap: @column-gap;
+ column-gap: @column-gap;
+}
+
+// Optional hyphenation
+.hyphens(@mode: auto) {
+ word-wrap: break-word;
+ -webkit-hyphens: @mode;
+ -moz-hyphens: @mode;
+ -ms-hyphens: @mode; // IE10+
+ -o-hyphens: @mode;
+ hyphens: @mode;
+}
+
+// Opacity
+.opacity(@opacity) {
+ opacity: @opacity;
+ // IE8 filter
+ @opacity-ie: (@opacity * 100);
+ filter: ~"alpha(opacity=@{opacity-ie})";
+}
+
+
+
+// GRADIENTS
+// --------------------------------------------------
+
+#gradient {
+
+ // Horizontal gradient, from left to right
+ //
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
+ // Color stops are not available in IE9 and below.
+ .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
+ background-image: -webkit-gradient(linear, @start-percent top, @end-percent top, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+
+ background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1+, Chrome 10+
+ background-image: -moz-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // FF 3.6+
+ background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10
+ background-repeat: repeat-x;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down
+ }
+
+ // Vertical gradient, from top to bottom
+ //
+ // Creates two color stops, start and end, by specifying a color and position for each color stop.
+ // Color stops are not available in IE9 and below.
+ .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
+ background-image: -webkit-gradient(linear, left @start-percent, left @end-percent, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+
+ background-image: -webkit-linear-gradient(top, @start-color, @start-percent, @end-color, @end-percent); // Safari 5.1+, Chrome 10+
+ background-image: -moz-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // FF 3.6+
+ background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10
+ background-repeat: repeat-x;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
+ }
+
+ .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {
+ background-repeat: repeat-x;
+ background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1+, Chrome 10+
+ background-image: -moz-linear-gradient(@deg, @start-color, @end-color); // FF 3.6+
+ background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10
+ }
+ .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
+ background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));
+ background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
+ background-image: -moz-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);
+ background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);
+ background-repeat: no-repeat;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
+ }
+ .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));
+ background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);
+ background-image: -moz-linear-gradient(top, @start-color, @mid-color @color-stop, @end-color);
+ background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);
+ background-repeat: no-repeat;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback
+ }
+ .radial(@inner-color: #555; @outer-color: #333) {
+ background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@inner-color), to(@outer-color));
+ background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);
+ background-image: -moz-radial-gradient(circle, @inner-color, @outer-color);
+ background-image: radial-gradient(circle, @inner-color, @outer-color);
+ background-repeat: no-repeat;
+ }
+ .striped(@color: #555; @angle: 45deg) {
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ }
+}
+
+// Reset filters for IE
+//
+// When you need to remove a gradient background, do not forget to use this to reset
+// the IE filter for IE9 and below.
+.reset-filter() {
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
+}
+
+
+
+// Retina images
+//
+// Short retina mixin for setting background-image and -size
+
+.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {
+ background-image: url("@{file-1x}");
+
+ @media
+ only screen and (-webkit-min-device-pixel-ratio: 2),
+ only screen and ( min--moz-device-pixel-ratio: 2),
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
+ only screen and ( min-device-pixel-ratio: 2),
+ only screen and ( min-resolution: 192dpi),
+ only screen and ( min-resolution: 2dppx) {
+ background-image: url("@{file-2x}");
+ background-size: @width-1x @height-1x;
+ }
+}
+
+
+// Responsive image
+//
+// Keep images from scaling beyond the width of their parents.
+
+.img-responsive(@display: block;) {
+ display: @display;
+ max-width: 100%; // Part 1: Set a maximum relative to the parent
+ height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
+}
+
+
+// COMPONENT MIXINS
+// --------------------------------------------------
+
+// Horizontal dividers
+// -------------------------
+// Dividers (basically an hr) within dropdowns and nav lists
+.nav-divider(@color: #e5e5e5) {
+ height: 1px;
+ margin: ((@line-height-computed / 2) - 1) 0;
+ overflow: hidden;
+ background-color: @color;
+}
+
+// Panels
+// -------------------------
+.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border;) {
+ border-color: @border;
+ & > .panel-heading {
+ color: @heading-text-color;
+ background-color: @heading-bg-color;
+ border-color: @heading-border;
+ + .panel-collapse .panel-body {
+ border-top-color: @border;
+ }
+ }
+ & > .panel-footer {
+ + .panel-collapse .panel-body {
+ border-bottom-color: @border;
+ }
+ }
+}
+
+// Alerts
+// -------------------------
+.alert-variant(@background; @border; @text-color) {
+ background-color: @background;
+ border-color: @border;
+ color: @text-color;
+ hr {
+ border-top-color: darken(@border, 5%);
+ }
+ .alert-link {
+ color: darken(@text-color, 10%);
+ }
+}
+
+// Tables
+// -------------------------
+.table-row-variant(@state; @background; @border) {
+ // Exact selectors below required to override `.table-striped` and prevent
+ // inheritance to nested tables.
+ .table > thead > tr,
+ .table > tbody > tr,
+ .table > tfoot > tr {
+ > td.@{state},
+ > th.@{state},
+ &.@{state} > td,
+ &.@{state} > th {
+ background-color: @background;
+ border-color: @border;
+ }
+ }
+
+ // Hover states for `.table-hover`
+ // Note: this is not available for cells or rows within `thead` or `tfoot`.
+ .table-hover > tbody > tr {
+ > td.@{state}:hover,
+ > th.@{state}:hover,
+ &.@{state}:hover > td {
+ background-color: darken(@background, 5%);
+ border-color: darken(@border, 5%);
+ }
+ }
+}
+
+// Button variants
+// -------------------------
+// Easily pump out default styles, as well as :hover, :focus, :active,
+// and disabled options for all buttons
+.button-variant(@color; @background; @border) {
+ color: @color;
+ background-color: @background;
+ border-color: @border;
+
+ &:hover,
+ &:focus,
+ &:active,
+ &.active,
+ .open .dropdown-toggle& {
+ color: @color;
+ background-color: darken(@background, 8%);
+ border-color: darken(@border, 12%);
+ }
+ &:active,
+ &.active,
+ .open .dropdown-toggle& {
+ background-image: none;
+ }
+ &.disabled,
+ &[disabled],
+ fieldset[disabled] & {
+ &,
+ &:hover,
+ &:focus,
+ &:active,
+ &.active {
+ background-color: @background;
+ border-color: @border
+ }
+ }
+}
+
+// Button sizes
+// -------------------------
+.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
+ padding: @padding-vertical @padding-horizontal;
+ font-size: @font-size;
+ line-height: @line-height;
+ border-radius: @border-radius;
+}
+
+// Pagination
+// -------------------------
+.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {
+ > li {
+ > a,
+ > span {
+ padding: @padding-vertical @padding-horizontal;
+ font-size: @font-size;
+ }
+ &:first-child {
+ > a,
+ > span {
+ .border-left-radius(@border-radius);
+ }
+ }
+ &:last-child {
+ > a,
+ > span {
+ .border-right-radius(@border-radius);
+ }
+ }
+ }
+}
+
+// Labels
+// -------------------------
+.label-variant(@color) {
+ background-color: @color;
+ &[href] {
+ &:hover,
+ &:focus {
+ background-color: darken(@color, 10%);
+ }
+ }
+}
+
+// Navbar vertical align
+// -------------------------
+// Vertically center elements in the navbar.
+// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
+.navbar-vertical-align(@element-height) {
+ margin-top: ((@navbar-height - @element-height) / 2);
+ margin-bottom: ((@navbar-height - @element-height) / 2);
+}
+
+// Progress bars
+// -------------------------
+.progress-bar-variant(@color) {
+ background-color: @color;
+ .progress-striped & {
+ #gradient > .striped(@color);
+ }
+}
+
+// Responsive utilities
+// -------------------------
+// More easily include all the states for responsive-utilities.less.
+.responsive-visibility() {
+ display: block !important;
+ tr& { display: table-row !important; }
+ th&,
+ td& { display: table-cell !important; }
+}
+
+.responsive-invisibility() {
+ display: none !important;
+ tr& { display: none !important; }
+ th&,
+ td& { display: none !important; }
+}
+
+// Grid System
+// -----------
+
+// Centered container element
+.container-fixed() {
+ margin-right: auto;
+ margin-left: auto;
+ padding-left: (@grid-gutter-width / 2);
+ padding-right: (@grid-gutter-width / 2);
+ .clearfix();
+}
+
+// Creates a wrapper for a series of columns
+.make-row(@gutter: @grid-gutter-width) {
+ margin-left: (@gutter / -2);
+ margin-right: (@gutter / -2);
+ .clearfix();
+}
+
+// Generate the extra small columns
+.make-xs-column(@columns; @gutter: @grid-gutter-width) {
+ position: relative;
+ float: left;
+ width: percentage((@columns / @grid-columns));
+ // Prevent columns from collapsing when empty
+ min-height: 1px;
+ // Inner gutter via padding
+ padding-left: (@gutter / 2);
+ padding-right: (@gutter / 2);
+}
+
+// Generate the small columns
+.make-sm-column(@columns; @gutter: @grid-gutter-width) {
+ position: relative;
+ // Prevent columns from collapsing when empty
+ min-height: 1px;
+ // Inner gutter via padding
+ padding-left: (@gutter / 2);
+ padding-right: (@gutter / 2);
+
+ // Calculate width based on number of columns available
+ @media (min-width: @screen-sm) {
+ float: left;
+ width: percentage((@columns / @grid-columns));
+ }
+}
+
+// Generate the small column offsets
+.make-sm-column-offset(@columns) {
+ @media (min-width: @screen-sm) {
+ margin-left: percentage((@columns / @grid-columns));
+ }
+}
+.make-sm-column-push(@columns) {
+ @media (min-width: @screen-sm) {
+ left: percentage((@columns / @grid-columns));
+ }
+}
+.make-sm-column-pull(@columns) {
+ @media (min-width: @screen-sm) {
+ right: percentage((@columns / @grid-columns));
+ }
+}
+
+// Generate the medium columns
+.make-md-column(@columns; @gutter: @grid-gutter-width) {
+ position: relative;
+ // Prevent columns from collapsing when empty
+ min-height: 1px;
+ // Inner gutter via padding
+ padding-left: (@gutter / 2);
+ padding-right: (@gutter / 2);
+
+ // Calculate width based on number of columns available
+ @media (min-width: @screen-md) {
+ float: left;
+ width: percentage((@columns / @grid-columns));
+ }
+}
+
+// Generate the large column offsets
+.make-md-column-offset(@columns) {
+ @media (min-width: @screen-md) {
+ margin-left: percentage((@columns / @grid-columns));
+ }
+}
+.make-md-column-push(@columns) {
+ @media (min-width: @screen-md) {
+ left: percentage((@columns / @grid-columns));
+ }
+}
+.make-md-column-pull(@columns) {
+ @media (min-width: @screen-md) {
+ right: percentage((@columns / @grid-columns));
+ }
+}
+
+// Generate the large columns
+.make-lg-column(@columns; @gutter: @grid-gutter-width) {
+ position: relative;
+ // Prevent columns from collapsing when empty
+ min-height: 1px;
+ // Inner gutter via padding
+ padding-left: (@gutter / 2);
+ padding-right: (@gutter / 2);
+
+ // Calculate width based on number of columns available
+ @media (min-width: @screen-lg) {
+ float: left;
+ width: percentage((@columns / @grid-columns));
+ }
+}
+
+// Generate the large column offsets
+.make-lg-column-offset(@columns) {
+ @media (min-width: @screen-lg) {
+ margin-left: percentage((@columns / @grid-columns));
+ }
+}
+.make-lg-column-push(@columns) {
+ @media (min-width: @screen-lg) {
+ left: percentage((@columns / @grid-columns));
+ }
+}
+.make-lg-column-pull(@columns) {
+ @media (min-width: @screen-lg) {
+ right: percentage((@columns / @grid-columns));
+ }
+}
+
+
+// Form validation states
+//
+// Used in forms.less to generate the form validation CSS for warnings, errors,
+// and successes.
+
+.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #D9EEFF) {
+ // Color the label and help text
+ .help-block,
+ .control-label {
+ color: @text-color;
+ }
+ // Set the border and box shadow on specific inputs to match
+ .form-control {
+ border-color: @border-color;
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
+ &:focus {
+ border-color: darken(@border-color, 10%);
+ @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);
+ .box-shadow(@shadow);
+ }
+ }
+ // Set validation states also for addons
+ .input-group-addon {
+ color: @text-color;
+ border-color: @border-color;
+ background-color: @background-color;
+ }
+}
+
+// Form control focus state
+//
+// Generate a customized focus state and for any input with the specified color,
+// which defaults to the `@input-focus-border` variable.
+//
+// We highly encourage you to not customize the default value, but instead use
+// this to tweak colors on an as-needed basis. This aesthetic change is based on
+// WebKit's default styles, but applicable to a wider range of browsers. Its
+// usability and accessibility should be taken into account with any change.
+//
+// Example usage: change the default blue border and shadow to white for better
+// contrast against a dark gray background.
+
+.form-control-focus(@color: @input-border-focus) {
+ @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);
+ &:focus {
+ border-color: @color;
+ outline: 0;
+ .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}");
+ }
+}
+
+// Form control sizing
+//
+// Relative text size, padding, and border-radii changes for form controls. For
+// horizontal sizing, wrap controls in the predefined grid classes. `
`
+// element gets special love because it's special, and that's a fact!
+
+.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
+ height: @input-height;
+ padding: @padding-vertical @padding-horizontal;
+ font-size: @font-size;
+ line-height: @line-height;
+ border-radius: @border-radius;
+
+ select& {
+ height: @input-height;
+ line-height: @input-height;
+ }
+
+ textarea& {
+ height: auto;
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/modals.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/modals.less
new file mode 100644
index 000000000..7bc6c314f
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/modals.less
@@ -0,0 +1,141 @@
+//
+// Modals
+// --------------------------------------------------
+
+// .modal-open - body class for killing the scroll
+// .modal - container to scroll within
+// .modal-dialog - positioning shell for the actual modal
+// .modal-content - actual modal w/ bg and corners and shit
+
+// Kill the scroll on the body
+.modal-open {
+ overflow: hidden;
+
+
+ // Account for hiding of scrollbar
+ body&,
+ .navbar-fixed-top,
+ .navbar-fixed-bottom {
+ margin-right: 15px
+ }
+}
+
+// Container that the modal scrolls within
+.modal {
+ display: none;
+ overflow: auto;
+ overflow-y: scroll;
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: @zindex-modal-background;
+
+ // When fading in the modal, animate it to slide down
+ &.fade .modal-dialog {
+ .translate(0, -25%);
+ .transition-transform(~"0.3s ease-out");
+ }
+ &.in .modal-dialog { .translate(0, 0)}
+}
+
+// Shell div to position the modal with bottom padding
+.modal-dialog {
+ margin-left: auto;
+ margin-right: auto;
+ width: auto;
+ padding: 10px;
+ z-index: (@zindex-modal-background + 10);
+}
+
+// Actual modal
+.modal-content {
+ position: relative;
+ background-color: @modal-content-bg;
+ border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
+ border: 1px solid @modal-content-border-color;
+ border-radius: @border-radius-large;
+ .box-shadow(0 3px 9px rgba(0,0,0,.5));
+ background-clip: padding-box;
+ // Remove focus outline from opened modal
+ outline: none;
+}
+
+// Modal background
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: (@zindex-modal-background - 10);
+ background-color: @modal-backdrop-bg;
+ // Fade for backdrop
+ &.fade { .opacity(0); }
+ &.in { .opacity(.5); }
+}
+
+// Modal header
+// Top section of the modal w/ title and dismiss
+.modal-header {
+ padding: @modal-title-padding;
+ border-bottom: 1px solid @modal-header-border-color;
+ min-height: (@modal-title-padding + @modal-title-line-height);
+}
+// Close icon
+.modal-header .close {
+ margin-top: -2px;
+}
+
+// Title text within header
+.modal-title {
+ margin: 0;
+ line-height: @modal-title-line-height;
+}
+
+// Modal body
+// Where all modal content resides (sibling of .modal-header and .modal-footer)
+.modal-body {
+ position: relative;
+ padding: @modal-inner-padding;
+}
+
+// Footer (for actions)
+.modal-footer {
+ margin-top: 15px;
+ padding: (@modal-inner-padding - 1) @modal-inner-padding @modal-inner-padding;
+ text-align: right; // right align buttons
+ border-top: 1px solid @modal-footer-border-color;
+ .clearfix(); // clear it in case folks use .pull-* classes on buttons
+
+ // Properly space out buttons
+ .btn + .btn {
+ margin-left: 5px;
+ margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
+ }
+ // but override that for button groups
+ .btn-group .btn + .btn {
+ margin-left: -1px;
+ }
+ // and override it for block buttons as well
+ .btn-block + .btn-block {
+ margin-left: 0;
+ }
+}
+
+// Scale up the modal
+@media screen and (min-width: @screen-tablet) {
+
+ .modal-dialog {
+ left: 50%;
+ right: auto;
+ width: 600px;
+ padding-top: 30px;
+ padding-bottom: 30px;
+ }
+ .modal-content {
+ .box-shadow(0 5px 15px rgba(0,0,0,.5));
+ }
+
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/navbar.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/navbar.less
new file mode 100644
index 000000000..351e20417
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/navbar.less
@@ -0,0 +1,621 @@
+//
+// Navbars
+// --------------------------------------------------
+
+
+// Wrapper and base class
+//
+// Provide a static navbar from which we expand to create full-width, fixed, and
+// other navbar variations.
+
+.navbar {
+ position: relative;
+ z-index: @zindex-navbar;
+ min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
+ margin-bottom: @navbar-margin-bottom;
+ border: 1px solid transparent;
+
+ // Prevent floats from breaking the navbar
+ .clearfix();
+
+ @media (min-width: @grid-float-breakpoint) {
+ border-radius: @navbar-border-radius;
+ }
+}
+
+
+// Navbar heading
+//
+// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy
+// styling of responsive aspects.
+
+.navbar-header {
+ .clearfix();
+
+ @media (min-width: @grid-float-breakpoint) {
+ float: left;
+ }
+}
+
+
+// Navbar collapse (body)
+//
+// Group your navbar content into this for easy collapsing and expanding across
+// various device sizes. By default, this content is collapsed when <768px, but
+// will expand past that for a horizontal display.
+//
+// To start (on mobile devices) the navbar links, forms, and buttons are stacked
+// vertically and include a `max-height` to overflow in case you have too much
+// content for the user's viewport.
+
+.navbar-collapse {
+ max-height: 340px;
+ overflow-x: visible;
+ padding-right: @navbar-padding-horizontal;
+ padding-left: @navbar-padding-horizontal;
+ border-top: 1px solid transparent;
+ box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
+ .clearfix();
+ -webkit-overflow-scrolling: touch;
+
+ &.in {
+ overflow-y: auto;
+ }
+
+ @media (min-width: @grid-float-breakpoint) {
+ width: auto;
+ border-top: 0;
+ box-shadow: none;
+
+ &.collapse {
+ display: block !important;
+ height: auto !important;
+ padding-bottom: 0; // Override default setting
+ overflow: visible !important;
+ }
+
+ &.in {
+ overflow-y: visible;
+ }
+
+ // Account for first and last children spacing
+ .navbar-nav.navbar-left:first-child {
+ margin-left: -@navbar-padding-horizontal;
+ }
+ .navbar-nav.navbar-right:last-child {
+ margin-right: -@navbar-padding-horizontal;
+ }
+ .navbar-text:last-child {
+ margin-right: 0;
+ }
+ }
+}
+
+
+// Both navbar header and collapse
+//
+// When a container is present, change the behavior of the header and collapse.
+
+.container > .navbar-header,
+.container > .navbar-collapse {
+ margin-right: -@navbar-padding-horizontal;
+ margin-left: -@navbar-padding-horizontal;
+
+ @media (min-width: @grid-float-breakpoint) {
+ margin-right: 0;
+ margin-left: 0;
+ }
+}
+
+
+//
+// Navbar alignment options
+//
+// Display the navbar across the entirity of the page or fixed it to the top or
+// bottom of the page.
+
+// Static top (unfixed, but 100% wide) navbar
+.navbar-static-top {
+ border-width: 0 0 1px;
+ @media (min-width: @grid-float-breakpoint) {
+ border-radius: 0;
+ }
+}
+
+// Fix the top/bottom navbars when screen real estate supports it
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ position: fixed;
+ right: 0;
+ left: 0;
+ border-width: 0 0 1px;
+
+ // Undo the rounded corners
+ @media (min-width: @grid-float-breakpoint) {
+ border-radius: 0;
+ }
+}
+.navbar-fixed-top {
+ z-index: @zindex-navbar-fixed;
+ top: 0;
+}
+.navbar-fixed-bottom {
+ bottom: 0;
+ margin-bottom: 0; // override .navbar defaults
+}
+
+
+// Brand/project name
+
+.navbar-brand {
+ float: left;
+ padding: @navbar-padding-vertical @navbar-padding-horizontal;
+ font-size: @font-size-large;
+ line-height: @line-height-computed;
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ }
+
+ @media (min-width: @grid-float-breakpoint) {
+ .navbar > .container & {
+ margin-left: -@navbar-padding-horizontal;
+ }
+ }
+}
+
+
+// Navbar toggle
+//
+// Custom button for toggling the `.navbar-collapse`, powered by the collapse
+// JavaScript plugin.
+
+.navbar-toggle {
+ position: relative;
+ float: right;
+ margin-right: @navbar-padding-horizontal;
+ padding: 9px 10px;
+ .navbar-vertical-align(34px);
+ background-color: transparent;
+ border: 1px solid transparent;
+ border-radius: @border-radius-base;
+
+ // Bars
+ .icon-bar {
+ display: block;
+ width: 22px;
+ height: 2px;
+ border-radius: 1px;
+ }
+ .icon-bar + .icon-bar {
+ margin-top: 4px;
+ }
+
+ @media (min-width: @grid-float-breakpoint) {
+ display: none;
+ }
+}
+
+
+// Navbar nav links
+//
+// Builds on top of the `.nav` components with it's own modifier class to make
+// the nav the full height of the horizontal nav (above 768px).
+
+.navbar-nav {
+ margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;
+
+ > li > a {
+ padding-top: 10px;
+ padding-bottom: 10px;
+ line-height: @line-height-computed;
+ }
+
+ @media (max-width: @screen-xs-max) {
+ // Dropdowns get custom display when collapsed
+ .open .dropdown-menu {
+ position: static;
+ float: none;
+ width: auto;
+ margin-top: 0;
+ background-color: transparent;
+ border: 0;
+ box-shadow: none;
+ > li > a,
+ .dropdown-header {
+ padding: 5px 15px 5px 25px;
+ }
+ > li > a {
+ line-height: @line-height-computed;
+ &:hover,
+ &:focus {
+ background-image: none;
+ }
+ }
+ }
+ }
+
+ // Uncollapse the nav
+ @media (min-width: @grid-float-breakpoint) {
+ float: left;
+ margin: 0;
+
+ > li {
+ float: left;
+ > a {
+ padding-top: ((@navbar-height - @line-height-computed) / 2);
+ padding-bottom: ((@navbar-height - @line-height-computed) / 2);
+ }
+ }
+ }
+
+}
+
+
+// Component alignment
+//
+// Repurpose the pull utilities as their own navbar utilities to avoid specifity
+// issues with parents and chaining. Only do this when the navbar is uncollapsed
+// though so that navbar contents properly stack and align in mobile.
+
+@media (min-width: @grid-float-breakpoint) {
+ .navbar-left { .pull-left(); }
+ .navbar-right { .pull-right(); }
+}
+
+
+// Navbar form
+//
+// Extension of the `.form-inline` with some extra flavor for optimum display in
+// our navbars.
+
+.navbar-form {
+ margin-left: -@navbar-padding-horizontal;
+ margin-right: -@navbar-padding-horizontal;
+ padding: 10px @navbar-padding-horizontal;
+ border-top: 1px solid transparent;
+ border-bottom: 1px solid transparent;
+ @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
+ .box-shadow(@shadow);
+
+ // Mixin behavior for optimum display
+ .form-inline();
+
+ .form-group {
+ @media (max-width: @screen-xs-max) {
+ margin-bottom: 5px;
+ }
+ }
+
+ // Vertically center in expanded, horizontal navbar
+ .navbar-vertical-align(@input-height-base);
+
+ // Undo 100% width for pull classes
+ @media (min-width: @grid-float-breakpoint) {
+ width: auto;
+ border: 0;
+ margin-left: 0;
+ margin-right: 0;
+ padding-top: 0;
+ padding-bottom: 0;
+ .box-shadow(none);
+ }
+}
+
+
+// Dropdown menus
+
+// Menu position and menu carets
+.navbar-nav > li > .dropdown-menu {
+ margin-top: 0;
+ .border-top-radius(0);
+}
+// Menu position and menu caret support for dropups via extra dropup class
+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+ .border-bottom-radius(0);
+}
+
+// Right aligned menus need alt position
+.navbar-nav.pull-right > li > .dropdown-menu,
+.navbar-nav > li > .dropdown-menu.pull-right {
+ left: auto;
+ right: 0;
+}
+
+
+// Buttons in navbars
+//
+// Vertically center a button within a navbar (when *not* in a form).
+
+.navbar-btn {
+ .navbar-vertical-align(@input-height-base);
+}
+
+
+// Text in navbars
+//
+// Add a class to make any element properly align itself vertically within the navbars.
+
+.navbar-text {
+ float: left;
+ .navbar-vertical-align(@line-height-computed);
+
+ @media (min-width: @grid-float-breakpoint) {
+ margin-left: @navbar-padding-horizontal;
+ margin-right: @navbar-padding-horizontal;
+ }
+}
+
+// Alternate navbars
+// --------------------------------------------------
+
+// Default navbar
+.navbar-default {
+ background-color: @navbar-default-bg;
+ border-color: @navbar-default-border;
+
+ .navbar-brand {
+ color: @navbar-default-brand-color;
+ &:hover,
+ &:focus {
+ color: @navbar-default-brand-hover-color;
+ background-color: @navbar-default-brand-hover-bg;
+ }
+ }
+
+ .navbar-text {
+ color: @navbar-default-color;
+ }
+
+ .navbar-nav {
+ > li > a {
+ color: @navbar-default-link-color;
+
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-hover-color;
+ background-color: @navbar-default-link-hover-bg;
+ }
+ }
+ > .active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-active-color;
+ background-color: @navbar-default-link-active-bg;
+ }
+ }
+ > .disabled > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-disabled-color;
+ background-color: @navbar-default-link-disabled-bg;
+ }
+ }
+ }
+
+ .navbar-toggle {
+ border-color: @navbar-default-toggle-border-color;
+ &:hover,
+ &:focus {
+ background-color: @navbar-default-toggle-hover-bg;
+ }
+ .icon-bar {
+ background-color: @navbar-default-toggle-icon-bar-bg;
+ }
+ }
+
+ .navbar-collapse,
+ .navbar-form {
+ border-color: darken(@navbar-default-bg, 7%);
+ }
+
+ // Dropdown menu items and carets
+ .navbar-nav {
+ // Caret should match text color on hover
+ > .dropdown > a:hover .caret,
+ > .dropdown > a:focus .caret {
+ border-top-color: @navbar-default-link-hover-color;
+ border-bottom-color: @navbar-default-link-hover-color;
+ }
+
+ // Remove background color from open dropdown
+ > .open > a {
+ &,
+ &:hover,
+ &:focus {
+ background-color: @navbar-default-link-active-bg;
+ color: @navbar-default-link-active-color;
+ .caret {
+ border-top-color: @navbar-default-link-active-color;
+ border-bottom-color: @navbar-default-link-active-color;
+ }
+ }
+ }
+ > .dropdown > a .caret {
+ border-top-color: @navbar-default-link-color;
+ border-bottom-color: @navbar-default-link-color;
+ }
+
+
+ @media (max-width: @screen-xs-max) {
+ // Dropdowns get custom display when collapsed
+ .open .dropdown-menu {
+ > li > a {
+ color: @navbar-default-link-color;
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-hover-color;
+ background-color: @navbar-default-link-hover-bg;
+ }
+ }
+ > .active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-active-color;
+ background-color: @navbar-default-link-active-bg;
+ }
+ }
+ > .disabled > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-disabled-color;
+ background-color: @navbar-default-link-disabled-bg;
+ }
+ }
+ }
+ }
+ }
+
+
+ // Links in navbars
+ //
+ // Add a class to ensure links outside the navbar nav are colored correctly.
+
+ .navbar-link {
+ color: @navbar-default-link-color;
+ &:hover {
+ color: @navbar-default-link-hover-color;
+ }
+ }
+
+}
+
+// Inverse navbar
+
+.navbar-inverse {
+ background-color: @navbar-inverse-bg;
+ border-color: @navbar-inverse-border;
+
+ .navbar-brand {
+ color: @navbar-inverse-brand-color;
+ &:hover,
+ &:focus {
+ color: @navbar-inverse-brand-hover-color;
+ background-color: @navbar-inverse-brand-hover-bg;
+ }
+ }
+
+ .navbar-text {
+ color: @navbar-inverse-color;
+ }
+
+ .navbar-nav {
+ > li > a {
+ color: @navbar-inverse-link-color;
+
+ &:hover,
+ &:focus {
+ color: @navbar-inverse-link-hover-color;
+ background-color: @navbar-inverse-link-hover-bg;
+ }
+ }
+ > .active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-inverse-link-active-color;
+ background-color: @navbar-inverse-link-active-bg;
+ }
+ }
+ > .disabled > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-inverse-link-disabled-color;
+ background-color: @navbar-inverse-link-disabled-bg;
+ }
+ }
+ }
+
+ // Darken the responsive nav toggle
+ .navbar-toggle {
+ border-color: @navbar-inverse-toggle-border-color;
+ &:hover,
+ &:focus {
+ background-color: @navbar-inverse-toggle-hover-bg;
+ }
+ .icon-bar {
+ background-color: @navbar-inverse-toggle-icon-bar-bg;
+ }
+ }
+
+ .navbar-collapse,
+ .navbar-form {
+ border-color: darken(@navbar-inverse-bg, 7%);
+ }
+
+ // Dropdowns
+ .navbar-nav {
+ > .open > a {
+ &,
+ &:hover,
+ &:focus {
+ background-color: @navbar-inverse-link-active-bg;
+ color: @navbar-inverse-link-active-color;
+ }
+ }
+ > .dropdown > a:hover .caret {
+ border-top-color: @navbar-inverse-link-hover-color;
+ border-bottom-color: @navbar-inverse-link-hover-color;
+ }
+ > .dropdown > a .caret {
+ border-top-color: @navbar-inverse-link-color;
+ border-bottom-color: @navbar-inverse-link-color;
+ }
+ > .open > a {
+ &,
+ &:hover,
+ &:focus {
+ .caret {
+ border-top-color: @navbar-inverse-link-active-color;
+ border-bottom-color: @navbar-inverse-link-active-color;
+ }
+ }
+ }
+
+ @media (max-width: @screen-xs-max) {
+ // Dropdowns get custom display
+ .open .dropdown-menu {
+ > .dropdown-header {
+ border-color: @navbar-inverse-border;
+ }
+ > li > a {
+ color: @navbar-inverse-link-color;
+ &:hover,
+ &:focus {
+ color: @navbar-inverse-link-hover-color;
+ background-color: @navbar-inverse-link-hover-bg;
+ }
+ }
+ > .active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-inverse-link-active-color;
+ background-color: @navbar-inverse-link-active-bg;
+ }
+ }
+ > .disabled > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-inverse-link-disabled-color;
+ background-color: @navbar-inverse-link-disabled-bg;
+ }
+ }
+ }
+ }
+ }
+
+ .navbar-link {
+ color: @navbar-inverse-link-color;
+ &:hover {
+ color: @navbar-inverse-link-hover-color;
+ }
+ }
+
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/navs.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/navs.less
new file mode 100644
index 000000000..6002a8cdd
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/navs.less
@@ -0,0 +1,229 @@
+//
+// Navs
+// --------------------------------------------------
+
+
+// Base class
+// --------------------------------------------------
+
+.nav {
+ margin-bottom: 0;
+ padding-left: 0; // Override default ul/ol
+ list-style: none;
+ .clearfix();
+
+ > li {
+ position: relative;
+ display: block;
+
+ > a {
+ position: relative;
+ display: block;
+ padding: @nav-link-padding;
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ background-color: @nav-link-hover-bg;
+ }
+ }
+
+ // Disabled state sets text to gray and nukes hover/tab effects
+ &.disabled > a {
+ color: @nav-disabled-link-color;
+
+ &:hover,
+ &:focus {
+ color: @nav-disabled-link-hover-color;
+ text-decoration: none;
+ background-color: transparent;
+ cursor: not-allowed;
+ }
+ }
+ }
+
+ // Open dropdowns
+ .open > a {
+ &,
+ &:hover,
+ &:focus {
+ background-color: @nav-link-hover-bg;
+ border-color: @link-color;
+ }
+ }
+
+ // Dividers (basically an hr) within the dropdown
+ .nav-divider {
+ .nav-divider();
+ }
+
+ // Prevent IE8 from misplacing imgs
+ // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
+ > li > a > img {
+ max-width: none;
+ }
+}
+
+
+// Tabs
+// -------------------------
+
+// Give the tabs something to sit on
+.nav-tabs {
+ border-bottom: 1px solid @nav-tabs-border-color;
+ > li {
+ float: left;
+ // Make the list-items overlay the bottom border
+ margin-bottom: -1px;
+
+ // Actual tabs (as links)
+ > a {
+ margin-right: 2px;
+ line-height: @line-height-base;
+ border: 1px solid transparent;
+ border-radius: @border-radius-base @border-radius-base 0 0;
+ &:hover {
+ border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;
+ }
+ }
+
+ // Active state, and it's :hover to override normal :hover
+ &.active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @nav-tabs-active-link-hover-color;
+ background-color: @nav-tabs-active-link-hover-bg;
+ border: 1px solid @nav-tabs-active-link-hover-border-color;
+ border-bottom-color: transparent;
+ cursor: default;
+ }
+ }
+ }
+ // pulling this in mainly for less shorthand
+ &.nav-justified {
+ .nav-justified();
+ .nav-tabs-justified();
+ }
+}
+
+
+// Pills
+// -------------------------
+.nav-pills {
+ > li {
+ float: left;
+
+ // Links rendered as pills
+ > a {
+ border-radius: 5px;
+ }
+ + li {
+ margin-left: 2px;
+ }
+
+ // Active state
+ &.active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @nav-pills-active-link-hover-color;
+ background-color: @nav-pills-active-link-hover-bg;
+ }
+ }
+ }
+}
+
+
+// Stacked pills
+.nav-stacked {
+ > li {
+ float: none;
+ + li {
+ margin-top: 2px;
+ margin-left: 0; // no need for this gap between nav items
+ }
+ }
+}
+
+
+// Nav variations
+// --------------------------------------------------
+
+// Justified nav links
+// -------------------------
+
+.nav-justified {
+ width: 100%;
+
+ > li {
+ float: none;
+ > a {
+ text-align: center;
+ }
+ }
+
+ @media (min-width: @screen-sm) {
+ > li {
+ display: table-cell;
+ width: 1%;
+ }
+ }
+}
+
+// Move borders to anchors instead of bottom of list
+.nav-tabs-justified {
+ border-bottom: 0;
+ > li > a {
+ border-bottom: 1px solid @nav-tabs-justified-link-border-color;
+
+ // Override margin from .nav-tabs
+ margin-right: 0;
+ }
+ > .active > a {
+ border-bottom-color: @nav-tabs-justified-active-link-border-color;
+ }
+}
+
+
+// Tabbable tabs
+// -------------------------
+
+// Clear any floats
+.tabbable {
+ .clearfix();
+}
+
+// Show/hide tabbable areas
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+ display: none;
+}
+.tab-content,
+.pill-content {
+ > .active {
+ display: block;
+ }
+}
+
+
+
+// Dropdowns
+// -------------------------
+
+// Make dropdown carets use link color in navs
+.nav .caret {
+ border-top-color: @link-color;
+ border-bottom-color: @link-color;
+}
+.nav a:hover .caret {
+ border-top-color: @link-hover-color;
+ border-bottom-color: @link-hover-color;
+}
+
+// Specific dropdowns
+.nav-tabs .dropdown-menu {
+ // make dropdown border overlap tab border
+ margin-top: -1px;
+ // Remove the top rounded corners here since there is a hard edge above the menu
+ .border-top-radius(0);
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/normalize.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/normalize.less
new file mode 100644
index 000000000..a2e9c6485
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/normalize.less
@@ -0,0 +1,396 @@
+/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
+
+// ==========================================================================
+// HTML5 display definitions
+// ==========================================================================
+
+//
+// Correct `block` display not defined in IE 8/9.
+//
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+//
+// Correct `inline-block` display not defined in IE 8/9.
+//
+
+audio,
+canvas,
+video {
+ display: inline-block;
+}
+
+//
+// Prevent modern browsers from displaying `audio` without controls.
+// Remove excess height in iOS 5 devices.
+//
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+//
+// Address styling not present in IE 8/9.
+//
+
+[hidden] {
+ display: none;
+}
+
+// ==========================================================================
+// Base
+// ==========================================================================
+
+//
+// 1. Set default font family to sans-serif.
+// 2. Prevent iOS text size adjust after orientation change, without disabling
+// user zoom.
+//
+
+html {
+ font-family: sans-serif; // 1
+ -webkit-text-size-adjust: 100%; // 2
+ -ms-text-size-adjust: 100%; // 2
+}
+
+//
+// Remove default margin.
+//
+
+body {
+ margin: 0;
+}
+
+// ==========================================================================
+// Links
+// ==========================================================================
+
+//
+// Address `outline` inconsistency between Chrome and other browsers.
+//
+
+a:focus {
+ outline: thin dotted;
+}
+
+//
+// Improve readability when focused and also mouse hovered in all browsers.
+//
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+// ==========================================================================
+// Typography
+// ==========================================================================
+
+//
+// Address variable `h1` font-size and margin within `section` and `article`
+// contexts in Firefox 4+, Safari 5, and Chrome.
+//
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+//
+// Address styling not present in IE 8/9, Safari 5, and Chrome.
+//
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+//
+// Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
+//
+
+b,
+strong {
+ font-weight: bold;
+}
+
+//
+// Address styling not present in Safari 5 and Chrome.
+//
+
+dfn {
+ font-style: italic;
+}
+
+//
+// Address differences between Firefox and other browsers.
+//
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+//
+// Address styling not present in IE 8/9.
+//
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+//
+// Correct font family set oddly in Safari 5 and Chrome.
+//
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, serif;
+ font-size: 1em;
+}
+
+//
+// Improve readability of pre-formatted text in all browsers.
+//
+
+pre {
+ white-space: pre-wrap;
+}
+
+//
+// Set consistent quote types.
+//
+
+q {
+ quotes: "\201C" "\201D" "\2018" "\2019";
+}
+
+//
+// Address inconsistent and variable font size in all browsers.
+//
+
+small {
+ font-size: 80%;
+}
+
+//
+// Prevent `sub` and `sup` affecting `line-height` in all browsers.
+//
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+// ==========================================================================
+// Embedded content
+// ==========================================================================
+
+//
+// Remove border when inside `a` element in IE 8/9.
+//
+
+img {
+ border: 0;
+}
+
+//
+// Correct overflow displayed oddly in IE 9.
+//
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+// ==========================================================================
+// Figures
+// ==========================================================================
+
+//
+// Address margin not present in IE 8/9 and Safari 5.
+//
+
+figure {
+ margin: 0;
+}
+
+// ==========================================================================
+// Forms
+// ==========================================================================
+
+//
+// Define consistent border, margin, and padding.
+//
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+//
+// 1. Correct `color` not being inherited in IE 8/9.
+// 2. Remove padding so people aren't caught out if they zero out fieldsets.
+//
+
+legend {
+ border: 0; // 1
+ padding: 0; // 2
+}
+
+//
+// 1. Correct font family not being inherited in all browsers.
+// 2. Correct font size not being inherited in all browsers.
+// 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
+//
+
+button,
+input,
+select,
+textarea {
+ font-family: inherit; // 1
+ font-size: 100%; // 2
+ margin: 0; // 3
+}
+
+//
+// Address Firefox 4+ setting `line-height` on `input` using `!important` in
+// the UA stylesheet.
+//
+
+button,
+input {
+ line-height: normal;
+}
+
+//
+// Address inconsistent `text-transform` inheritance for `button` and `select`.
+// All other form control elements do not inherit `text-transform` values.
+// Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
+// Correct `select` style inheritance in Firefox 4+ and Opera.
+//
+
+button,
+select {
+ text-transform: none;
+}
+
+//
+// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+// and `video` controls.
+// 2. Correct inability to style clickable `input` types in iOS.
+// 3. Improve usability and consistency of cursor style between image-type
+// `input` and others.
+//
+
+button,
+html input[type="button"], // 1
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; // 2
+ cursor: pointer; // 3
+}
+
+//
+// Re-set default cursor for disabled elements.
+//
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+//
+// 1. Address box sizing set to `content-box` in IE 8/9.
+// 2. Remove excess padding in IE 8/9.
+//
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; // 1
+ padding: 0; // 2
+}
+
+//
+// 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+// 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+// (include `-moz` to future-proof).
+//
+
+input[type="search"] {
+ -webkit-appearance: textfield; // 1
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; // 2
+ box-sizing: content-box;
+}
+
+//
+// Remove inner padding and search cancel button in Safari 5 and Chrome
+// on OS X.
+//
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+//
+// Remove inner padding and border in Firefox 4+.
+//
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+//
+// 1. Remove default vertical scrollbar in IE 8/9.
+// 2. Improve readability and alignment in all browsers.
+//
+
+textarea {
+ overflow: auto; // 1
+ vertical-align: top; // 2
+}
+
+// ==========================================================================
+// Tables
+// ==========================================================================
+
+//
+// Remove most spacing between table cells.
+//
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/pager.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/pager.less
new file mode 100644
index 000000000..16993ddc8
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/pager.less
@@ -0,0 +1,55 @@
+//
+// Pager pagination
+// --------------------------------------------------
+
+
+.pager {
+ padding-left: 0;
+ margin: @line-height-computed 0;
+ list-style: none;
+ text-align: center;
+ .clearfix();
+ li {
+ display: inline;
+ > a,
+ > span {
+ display: inline-block;
+ padding: 5px 14px;
+ background-color: @pagination-bg;
+ border: 1px solid @pagination-border;
+ border-radius: @pager-border-radius;
+ }
+
+ > a:hover,
+ > a:focus {
+ text-decoration: none;
+ background-color: @pagination-hover-bg;
+ }
+ }
+
+ .next {
+ > a,
+ > span {
+ float: right;
+ }
+ }
+
+ .previous {
+ > a,
+ > span {
+ float: left;
+ }
+ }
+
+ .disabled {
+ > a,
+ > a:hover,
+ > a:focus,
+ > span {
+ color: @pager-disabled-color;
+ background-color: @pagination-bg;
+ cursor: not-allowed;
+ }
+ }
+
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/pagination.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/pagination.less
new file mode 100644
index 000000000..b480b3889
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/pagination.less
@@ -0,0 +1,83 @@
+//
+// Pagination (multiple pages)
+// --------------------------------------------------
+.pagination {
+ display: inline-block;
+ padding-left: 0;
+ margin: @line-height-computed 0;
+ border-radius: @border-radius-base;
+
+ > li {
+ display: inline; // Remove list-style and block-level defaults
+ > a,
+ > span {
+ position: relative;
+ float: left; // Collapse white-space
+ padding: @padding-base-vertical @padding-base-horizontal;
+ line-height: @line-height-base;
+ text-decoration: none;
+ background-color: @pagination-bg;
+ border: 1px solid @pagination-border;
+ margin-left: -1px;
+ }
+ &:first-child {
+ > a,
+ > span {
+ margin-left: 0;
+ .border-left-radius(@border-radius-base);
+ }
+ }
+ &:last-child {
+ > a,
+ > span {
+ .border-right-radius(@border-radius-base);
+ }
+ }
+ }
+
+ > li > a,
+ > li > span {
+ &:hover,
+ &:focus {
+ background-color: @pagination-hover-bg;
+ }
+ }
+
+ > .active > a,
+ > .active > span {
+ &,
+ &:hover,
+ &:focus {
+ z-index: 2;
+ color: @pagination-active-color;
+ background-color: @pagination-active-bg;
+ border-color: @pagination-active-bg;
+ cursor: default;
+ }
+ }
+
+ > .disabled {
+ > span,
+ > a,
+ > a:hover,
+ > a:focus {
+ color: @pagination-disabled-color;
+ background-color: @pagination-bg;
+ border-color: @pagination-border;
+ cursor: not-allowed;
+ }
+ }
+}
+
+// Sizing
+// --------------------------------------------------
+
+// Large
+.pagination-lg {
+ .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);
+}
+
+// Small
+.pagination-sm {
+ .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/panels.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/panels.less
new file mode 100644
index 000000000..2343b2508
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/panels.less
@@ -0,0 +1,148 @@
+//
+// Panels
+// --------------------------------------------------
+
+
+// Base class
+.panel {
+ margin-bottom: @line-height-computed;
+ background-color: @panel-bg;
+ border: 1px solid transparent;
+ border-radius: @panel-border-radius;
+ .box-shadow(0 1px 1px rgba(0,0,0,.05));
+}
+
+// Panel contents
+.panel-body {
+ padding: 15px;
+ .clearfix();
+}
+
+
+// List groups in panels
+//
+// By default, space out list group content from panel headings to account for
+// any kind of custom content between the two.
+
+.panel {
+ > .list-group {
+ margin-bottom: 0;
+
+ .list-group-item {
+ border-width: 1px 0;
+
+ // Remove border radius for top one
+ &:first-child {
+ .border-top-radius(0);
+ }
+ // But keep it for the last one
+ &:last-child {
+ border-bottom: 0;
+ }
+ }
+ }
+}
+// Collapse space between when there's no additional content.
+.panel-heading + .list-group {
+ .list-group-item:first-child {
+ border-top-width: 0;
+ }
+}
+
+
+// Tables in panels
+//
+// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and
+// watch it go full width.
+
+.panel {
+ > .table {
+ margin-bottom: 0;
+ }
+ > .panel-body + .table {
+ border-top: 1px solid @table-border-color;
+ }
+}
+
+
+// Optional heading
+.panel-heading {
+ padding: 10px 15px;
+ border-bottom: 1px solid transparent;
+ .border-top-radius(@panel-border-radius - 1);
+}
+
+// Within heading, strip any `h*` tag of it's default margins for spacing.
+.panel-title {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: ceil((@font-size-base * 1.125));
+ > a {
+ color: inherit;
+ }
+}
+
+// Optional footer (stays gray in every modifier class)
+.panel-footer {
+ padding: 10px 15px;
+ background-color: @panel-footer-bg;
+ border-top: 1px solid @panel-inner-border;
+ .border-bottom-radius(@panel-border-radius - 1);
+}
+
+
+// Collapsable panels (aka, accordion)
+//
+// Wrap a series of panels in `.panel-group` to turn them into an accordion with
+// the help of our collapse JavaScript plugin.
+
+.panel-group {
+ // Tighten up margin so it's only between panels
+ .panel {
+ margin-bottom: 0;
+ border-radius: @panel-border-radius;
+ overflow: hidden; // crop contents when collapsed
+ + .panel {
+ margin-top: 5px;
+ }
+ }
+
+ .panel-heading {
+ border-bottom: 0;
+ + .panel-collapse .panel-body {
+ border-top: 1px solid @panel-inner-border;
+ }
+ }
+ .panel-footer {
+ border-top: 0;
+ + .panel-collapse .panel-body {
+ border-bottom: 1px solid @panel-inner-border;
+ }
+ }
+
+ // New subcomponent for wrapping collapsable content for proper animations
+ .panel-collapse {
+
+ }
+}
+
+
+// Contextual variations
+.panel-default {
+ .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);
+}
+.panel-primary {
+ .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);
+}
+.panel-success {
+ .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);
+}
+.panel-warning {
+ .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);
+}
+.panel-danger {
+ .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);
+}
+.panel-info {
+ .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/popovers.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/popovers.less
new file mode 100644
index 000000000..345bb1a31
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/popovers.less
@@ -0,0 +1,133 @@
+//
+// Popovers
+// --------------------------------------------------
+
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: @zindex-popover;
+ display: none;
+ max-width: @popover-max-width;
+ padding: 1px;
+ text-align: left; // Reset given new insertion method
+ background-color: @popover-bg;
+ background-clip: padding-box;
+ border: 1px solid @popover-fallback-border-color;
+ border: 1px solid @popover-border-color;
+ border-radius: @border-radius-large;
+ .box-shadow(0 5px 10px rgba(0,0,0,.2));
+
+ // Overrides for proper insertion
+ white-space: normal;
+
+ // Offset the popover to account for the popover arrow
+ &.top { margin-top: -10px; }
+ &.right { margin-left: 10px; }
+ &.bottom { margin-top: 10px; }
+ &.left { margin-left: -10px; }
+}
+
+.popover-title {
+ margin: 0; // reset heading margin
+ padding: 8px 14px;
+ font-size: @font-size-base;
+ font-weight: normal;
+ line-height: 18px;
+ background-color: @popover-title-bg;
+ border-bottom: 1px solid darken(@popover-title-bg, 5%);
+ border-radius: 5px 5px 0 0;
+}
+
+.popover-content {
+ padding: 9px 14px;
+}
+
+// Arrows
+//
+// .arrow is outer, .arrow:after is inner
+
+.popover .arrow {
+ &,
+ &:after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+ }
+}
+.popover .arrow {
+ border-width: @popover-arrow-outer-width;
+}
+.popover .arrow:after {
+ border-width: @popover-arrow-width;
+ content: "";
+}
+
+.popover {
+ &.top .arrow {
+ left: 50%;
+ margin-left: -@popover-arrow-outer-width;
+ border-bottom-width: 0;
+ border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
+ border-top-color: @popover-arrow-outer-color;
+ bottom: -@popover-arrow-outer-width;
+ &:after {
+ content: " ";
+ bottom: 1px;
+ margin-left: -@popover-arrow-width;
+ border-bottom-width: 0;
+ border-top-color: @popover-arrow-color;
+ }
+ }
+ &.right .arrow {
+ top: 50%;
+ left: -@popover-arrow-outer-width;
+ margin-top: -@popover-arrow-outer-width;
+ border-left-width: 0;
+ border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
+ border-right-color: @popover-arrow-outer-color;
+ &:after {
+ content: " ";
+ left: 1px;
+ bottom: -@popover-arrow-width;
+ border-left-width: 0;
+ border-right-color: @popover-arrow-color;
+ }
+ }
+ &.bottom .arrow {
+ left: 50%;
+ margin-left: -@popover-arrow-outer-width;
+ border-top-width: 0;
+ border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
+ border-bottom-color: @popover-arrow-outer-color;
+ top: -@popover-arrow-outer-width;
+ &:after {
+ content: " ";
+ top: 1px;
+ margin-left: -@popover-arrow-width;
+ border-top-width: 0;
+ border-bottom-color: @popover-arrow-color;
+ }
+ }
+
+ &.left .arrow {
+ top: 50%;
+ right: -@popover-arrow-outer-width;
+ margin-top: -@popover-arrow-outer-width;
+ border-right-width: 0;
+ border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
+ border-left-color: @popover-arrow-outer-color;
+ &:after {
+ content: " ";
+ right: 1px;
+ border-right-width: 0;
+ border-left-color: @popover-arrow-color;
+ bottom: -@popover-arrow-width;
+ }
+ }
+
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/print.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/print.less
new file mode 100644
index 000000000..1e4bffe3f
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/print.less
@@ -0,0 +1,100 @@
+//
+// Basic print styles
+// --------------------------------------------------
+// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
+
+@media print {
+
+ * {
+ text-shadow: none !important;
+ color: #000 !important; // Black prints faster: h5bp.com/s
+ background: transparent !important;
+ box-shadow: none !important;
+ }
+
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+
+ // Don't show links for images, or javascript/internal links
+ .ir a:after,
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: "";
+ }
+
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+
+ thead {
+ display: table-header-group; // h5bp.com/t
+ }
+
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+
+ img {
+ max-width: 100% !important;
+ }
+
+ @page {
+ margin: 2cm .5cm;
+ }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+
+ // Bootstrap components
+ .navbar {
+ display: none;
+ }
+ .table {
+ td,
+ th {
+ background-color: #fff !important;
+ }
+ }
+ .btn,
+ .dropup > .btn {
+ > .caret {
+ border-top-color: #000 !important;
+ }
+ }
+ .label {
+ border: 1px solid #000;
+ }
+
+ .table {
+ border-collapse: collapse !important;
+ }
+ .table-bordered {
+ th,
+ td {
+ border: 1px solid #ddd !important;
+ }
+ }
+
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/progress-bars.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/progress-bars.less
new file mode 100644
index 000000000..49e5df8e3
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/progress-bars.less
@@ -0,0 +1,95 @@
+//
+// Progress bars
+// --------------------------------------------------
+
+
+// Bar animations
+// -------------------------
+
+// Webkit
+@-webkit-keyframes progress-bar-stripes {
+ from { background-position: 40px 0; }
+ to { background-position: 0 0; }
+}
+
+// Firefox
+@-moz-keyframes progress-bar-stripes {
+ from { background-position: 40px 0; }
+ to { background-position: 0 0; }
+}
+
+// Opera
+@-o-keyframes progress-bar-stripes {
+ from { background-position: 0 0; }
+ to { background-position: 40px 0; }
+}
+
+// Spec and IE10+
+@keyframes progress-bar-stripes {
+ from { background-position: 40px 0; }
+ to { background-position: 0 0; }
+}
+
+
+
+// Bar itself
+// -------------------------
+
+// Outer container
+.progress {
+ overflow: hidden;
+ height: @line-height-computed;
+ margin-bottom: @line-height-computed;
+ background-color: @progress-bg;
+ border-radius: @border-radius-base;
+ .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
+}
+
+// Bar of progress
+.progress-bar {
+ float: left;
+ width: 0%;
+ height: 100%;
+ font-size: @font-size-small;
+ color: @progress-bar-color;
+ text-align: center;
+ background-color: @progress-bar-bg;
+ .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
+ .transition(width .6s ease);
+}
+
+// Striped bars
+.progress-striped .progress-bar {
+ #gradient > .striped(@progress-bar-bg);
+ background-size: 40px 40px;
+}
+
+// Call animation for the active one
+.progress.active .progress-bar {
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
+ -moz-animation: progress-bar-stripes 2s linear infinite;
+ -ms-animation: progress-bar-stripes 2s linear infinite;
+ -o-animation: progress-bar-stripes 2s linear infinite;
+ animation: progress-bar-stripes 2s linear infinite;
+}
+
+
+
+// Variations
+// -------------------------
+
+.progress-bar-success {
+ .progress-bar-variant(@progress-bar-success-bg);
+}
+
+.progress-bar-info {
+ .progress-bar-variant(@progress-bar-info-bg);
+}
+
+.progress-bar-warning {
+ .progress-bar-variant(@progress-bar-warning-bg);
+}
+
+.progress-bar-danger {
+ .progress-bar-variant(@progress-bar-danger-bg);
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/responsive-utilities.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/responsive-utilities.less
new file mode 100644
index 000000000..c756b2361
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/responsive-utilities.less
@@ -0,0 +1,220 @@
+//
+// Responsive: Utility classes
+// --------------------------------------------------
+
+
+// IE10 Metro responsive
+// Required for Windows 8 Metro split-screen snapping with IE10
+//
+// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
+@-ms-viewport{
+ width: device-width;
+}
+
+// IE10 on Windows Phone 8
+// IE10 on WP8 doesn't report CSS pixels, but actual device pixels. In
+// other words, say on a Lumia, you'll get 768px as the device width,
+// meaning users will see the tablet styles and not phone styles.
+//
+// Alternatively you can override this with JS (see source below), but
+// we won't be doing that here given our limited scope.
+//
+// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
+@media screen and (max-width: 400px) {
+ @-ms-viewport{
+ width: 320px;
+ }
+}
+
+// Hide from screenreaders and browsers
+// Credit: HTML5 Boilerplate
+.hidden {
+ display: none !important;
+ visibility: hidden !important;
+}
+
+// Visibility utilities
+
+.visible-xs {
+ .responsive-invisibility();
+ @media (max-width: @screen-xs-max) {
+ .responsive-visibility();
+ }
+ &.visible-sm {
+ @media (min-width: @screen-sm) and (max-width: @screen-sm-max) {
+ .responsive-visibility();
+ }
+ }
+ &.visible-md {
+ @media (min-width: @screen-md) and (max-width: @screen-md-max) {
+ .responsive-visibility();
+ }
+ }
+ &.visible-lg {
+ @media (min-width: @screen-lg) {
+ .responsive-visibility();
+ }
+ }
+}
+.visible-sm {
+ .responsive-invisibility();
+ &.visible-xs {
+ @media (max-width: @screen-xs-max) {
+ .responsive-visibility();
+ }
+ }
+ @media (min-width: @screen-sm) and (max-width: @screen-sm-max) {
+ .responsive-visibility();
+ }
+ &.visible-md {
+ @media (min-width: @screen-md) and (max-width: @screen-md-max) {
+ .responsive-visibility();
+ }
+ }
+ &.visible-lg {
+ @media (min-width: @screen-lg) {
+ .responsive-visibility();
+ }
+ }
+}
+.visible-md {
+ .responsive-invisibility();
+ &.visible-xs {
+ @media (max-width: @screen-xs-max) {
+ .responsive-visibility();
+ }
+ }
+ &.visible-sm {
+ @media (min-width: @screen-sm) and (max-width: @screen-sm-max) {
+ .responsive-visibility();
+ }
+ }
+ @media (min-width: @screen-md) and (max-width: @screen-md-max) {
+ .responsive-visibility();
+ }
+ &.visible-lg {
+ @media (min-width: @screen-lg) {
+ .responsive-visibility();
+ }
+ }
+}
+.visible-lg {
+ .responsive-invisibility();
+ &.visible-xs {
+ @media (max-width: @screen-xs-max) {
+ .responsive-visibility();
+ }
+ }
+ &.visible-sm {
+ @media (min-width: @screen-sm) and (max-width: @screen-sm-max) {
+ .responsive-visibility();
+ }
+ }
+ &.visible-md {
+ @media (min-width: @screen-md) and (max-width: @screen-md-max) {
+ .responsive-visibility();
+ }
+ }
+ @media (min-width: @screen-lg) {
+ .responsive-visibility();
+ }
+}
+
+.hidden-xs {
+ .responsive-visibility();
+ @media (max-width: @screen-xs-max) {
+ .responsive-invisibility();
+ }
+ &.hidden-sm {
+ @media (min-width: @screen-sm) and (max-width: @screen-sm-max) {
+ .responsive-invisibility();
+ }
+ }
+ &.hidden-md {
+ @media (min-width: @screen-md) and (max-width: @screen-md-max) {
+ .responsive-invisibility();
+ }
+ }
+ &.hidden-lg {
+ @media (min-width: @screen-lg) {
+ .responsive-invisibility();
+ }
+ }
+}
+.hidden-sm {
+ .responsive-visibility();
+ &.hidden-xs {
+ @media (max-width: @screen-xs-max) {
+ .responsive-invisibility();
+ }
+ }
+ @media (min-width: @screen-sm) and (max-width: @screen-sm-max) {
+ .responsive-invisibility();
+ }
+ &.hidden-md {
+ @media (min-width: @screen-md) and (max-width: @screen-md-max) {
+ .responsive-invisibility();
+ }
+ }
+ &.hidden-lg {
+ @media (min-width: @screen-lg) {
+ .responsive-invisibility();
+ }
+ }
+}
+.hidden-md {
+ .responsive-visibility();
+ &.hidden-xs {
+ @media (max-width: @screen-xs-max) {
+ .responsive-invisibility();
+ }
+ }
+ &.hidden-sm {
+ @media (min-width: @screen-sm) and (max-width: @screen-sm-max) {
+ .responsive-invisibility();
+ }
+ }
+ @media (min-width: @screen-md) and (max-width: @screen-md-max) {
+ .responsive-invisibility();
+ }
+ &.hidden-lg {
+ @media (min-width: @screen-lg) {
+ .responsive-invisibility();
+ }
+ }
+}
+.hidden-lg {
+ .responsive-visibility();
+ &.hidden-xs {
+ @media (max-width: @screen-xs-max) {
+ .responsive-invisibility();
+ }
+ }
+ &.hidden-sm {
+ @media (min-width: @screen-sm) and (max-width: @screen-sm-max) {
+ .responsive-invisibility();
+ }
+ }
+ &.hidden-md {
+ @media (min-width: @screen-md) and (max-width: @screen-md-max) {
+ .responsive-invisibility();
+ }
+ }
+ @media (min-width: @screen-lg) {
+ .responsive-invisibility();
+ }
+}
+
+// Print utilities
+.visible-print {
+ .responsive-invisibility();
+}
+
+@media print {
+ .visible-print {
+ .responsive-visibility();
+ }
+ .hidden-print {
+ .responsive-invisibility();
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/scaffolding.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/scaffolding.less
new file mode 100644
index 000000000..53e1be5ac
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/scaffolding.less
@@ -0,0 +1,130 @@
+//
+// Scaffolding
+// --------------------------------------------------
+
+
+// Reset the box-sizing
+
+*,
+*:before,
+*:after {
+ .box-sizing(border-box);
+}
+
+
+// Body reset
+
+html {
+ font-size: 62.5%;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+}
+
+body {
+ font-family: @font-family-base;
+ font-size: @font-size-base;
+ line-height: @line-height-base;
+ color: @text-color;
+ background-color: @body-bg;
+}
+
+// Reset fonts for relevant elements
+input,
+button,
+select,
+textarea {
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+// Reset unusual Firefox-on-Android default style.
+//
+// See https://github.com/necolas/normalize.css/issues/214
+
+button,
+input,
+select[multiple],
+textarea {
+ background-image: none;
+}
+
+
+// Links
+
+a {
+ color: @link-color;
+ text-decoration: none;
+
+ &:hover,
+ &:focus {
+ color: @link-hover-color;
+ text-decoration: underline;
+ }
+
+ &:focus {
+ .tab-focus();
+ }
+}
+
+
+// Images
+
+img {
+ vertical-align: middle;
+}
+
+// Responsive images (ensure images don't scale beyond their parents)
+.img-responsive {
+ .img-responsive();
+}
+
+// Rounded corners
+.img-rounded {
+ border-radius: @border-radius-large;
+}
+
+// Image thumbnails
+//
+// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
+.img-thumbnail {
+ padding: @thumbnail-padding;
+ line-height: @line-height-base;
+ background-color: @thumbnail-bg;
+ border: 1px solid @thumbnail-border;
+ border-radius: @thumbnail-border-radius;
+ .transition(all .2s ease-in-out);
+
+ // Keep them at most 100% wide
+ .img-responsive(inline-block);
+}
+
+// Perfect circle
+.img-circle {
+ border-radius: 50%; // set radius in percents
+}
+
+
+// Horizontal rules
+
+hr {
+ margin-top: @line-height-computed;
+ margin-bottom: @line-height-computed;
+ border: 0;
+ border-top: 1px solid @hr-border;
+}
+
+
+// Only display content to screen readers
+//
+// See: http://a11yproject.com/posts/how-to-hide-content/
+
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ margin: -1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0 0 0 0);
+ border: 0;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/tables.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/tables.less
new file mode 100644
index 000000000..7543b165a
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/tables.less
@@ -0,0 +1,236 @@
+//
+// Tables
+// --------------------------------------------------
+
+
+table {
+ max-width: 100%;
+ background-color: @table-bg;
+}
+th {
+ text-align: left;
+}
+
+
+// Baseline styles
+
+.table {
+ width: 100%;
+ margin-bottom: @line-height-computed;
+ // Cells
+ thead,
+ tbody,
+ tfoot {
+ > tr {
+ > th,
+ > td {
+ padding: @table-cell-padding;
+ line-height: @line-height-base;
+ vertical-align: top;
+ border-top: 1px solid @table-border-color;
+ }
+ }
+ }
+ // Bottom align for column headings
+ thead > tr > th {
+ vertical-align: bottom;
+ border-bottom: 2px solid @table-border-color;
+ }
+ // Remove top border from thead by default
+ caption + thead,
+ colgroup + thead,
+ thead:first-child {
+ tr:first-child {
+ th, td {
+ border-top: 0;
+ }
+ }
+ }
+ // Account for multiple tbody instances
+ tbody + tbody {
+ border-top: 2px solid @table-border-color;
+ }
+
+ // Nesting
+ .table {
+ background-color: @body-bg;
+ }
+}
+
+
+// Condensed table w/ half padding
+
+.table-condensed {
+ thead,
+ tbody,
+ tfoot {
+ > tr {
+ > th,
+ > td {
+ padding: @table-condensed-cell-padding;
+ }
+ }
+ }
+}
+
+
+// Bordered version
+//
+// Add borders all around the table and between all the columns.
+
+.table-bordered {
+ border: 1px solid @table-border-color;
+ > thead,
+ > tbody,
+ > tfoot {
+ > tr {
+ > th,
+ > td {
+ border: 1px solid @table-border-color;
+ }
+ }
+ }
+ > thead {
+ > tr {
+ > th,
+ > td {
+ border-bottom-width: 2px;
+ }
+ }
+ }
+}
+
+
+// Zebra-striping
+//
+// Default zebra-stripe styles (alternating gray and transparent backgrounds)
+
+.table-striped {
+ > tbody {
+ > tr:nth-child(odd) {
+ > td,
+ > th {
+ background-color: @table-bg-accent;
+ }
+ }
+ }
+}
+
+
+// Hover effect
+//
+// Placed here since it has to come after the potential zebra striping
+
+.table-hover {
+ > tbody {
+ > tr:hover {
+ > td,
+ > th {
+ background-color: @table-bg-hover;
+ }
+ }
+ }
+}
+
+
+// Table cell sizing
+//
+// Reset default table behavior
+
+table col[class*="col-"] {
+ float: none;
+ display: table-column;
+}
+table {
+ td,
+ th {
+ &[class*="col-"] {
+ float: none;
+ display: table-cell;
+ }
+ }
+}
+
+
+// Table backgrounds
+//
+// Exact selectors below required to override `.table-striped` and prevent
+// inheritance to nested tables.
+
+.table > thead > tr,
+.table > tbody > tr,
+.table > tfoot > tr {
+ > td.active,
+ > th.active,
+ &.active > td,
+ &.active > th {
+ background-color: @table-bg-active;
+ }
+}
+
+// Generate the contextual variants
+.table-row-variant(success; @state-success-bg; @state-success-border);
+.table-row-variant(danger; @state-danger-bg; @state-danger-border);
+.table-row-variant(warning; @state-warning-bg; @state-warning-border);
+
+
+// Responsive tables
+//
+// Wrap your tables in `.table-scrollable` and we'll make them mobile friendly
+// by enabling horizontal scrolling. Only applies <768px. Everything above that
+// will display normally.
+
+@media (max-width: @screen-sm) {
+ .table-responsive {
+ width: 100%;
+ margin-bottom: 15px;
+ overflow-y: hidden;
+ overflow-x: scroll;
+ border: 1px solid @table-border-color;
+
+ // Tighten up spacing and give a background color
+ > .table {
+ margin-bottom: 0;
+ background-color: #fff;
+
+ // Ensure the content doesn't wrap
+ > thead,
+ > tbody,
+ > tfoot {
+ > tr {
+ > th,
+ > td {
+ white-space: nowrap;
+ }
+ }
+ }
+ }
+
+ // Special overrides for the bordered tables
+ > .table-bordered {
+ border: 0;
+
+ // Nuke the appropriate borders so that the parent can handle them
+ > thead,
+ > tbody,
+ > tfoot {
+ > tr {
+ > th:first-child,
+ > td:first-child {
+ border-left: 0;
+ }
+ > th:last-child,
+ > td:last-child {
+ border-right: 0;
+ }
+ }
+ > tr:last-child {
+ > th,
+ > td {
+ border-bottom: 0;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/theme.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/theme.less
new file mode 100644
index 000000000..14913b99e
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/theme.less
@@ -0,0 +1,232 @@
+
+//
+// Load core variables and mixins
+// --------------------------------------------------
+
+@import "variables";
+@import "mixins";
+
+
+
+//
+// Buttons
+// --------------------------------------------------
+
+// Common styles
+.btn-default,
+.btn-primary,
+.btn-success,
+.btn-info,
+.btn-warning,
+.btn-danger {
+ text-shadow: 0 -1px 0 rgba(0,0,0,.2);
+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
+ .box-shadow(@shadow);
+
+ // Reset the shadow
+ &:active,
+ &.active {
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+ }
+}
+
+// Mixin for generating new styles
+.btn-styles(@btn-color: #555;) {
+ #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 10%));
+ border-color: darken(@btn-color, 12%);
+
+ &:active,
+ &.active {
+ background-color: darken(@btn-color, 10%);
+ border-color: darken(@btn-color, 12%);
+ }
+}
+
+// Common styles
+.btn {
+ // Remove the gradient for the pressed/active state
+ &:active,
+ &.active {
+ background-image: none;
+ }
+}
+
+// Apply the mixin to the buttons
+.btn-default { .btn-styles(@btn-default-bg;); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
+.btn-primary { .btn-styles(@btn-primary-bg); }
+.btn-success { .btn-styles(@btn-success-bg); }
+.btn-warning { .btn-styles(@btn-warning-bg); }
+.btn-danger { .btn-styles(@btn-danger-bg); }
+.btn-info { .btn-styles(@btn-info-bg); }
+
+
+
+//
+// Images
+// --------------------------------------------------
+
+.thumbnail,
+.img-thumbnail {
+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
+}
+
+
+
+//
+// Dropdowns
+// --------------------------------------------------
+
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus,
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+ #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
+ background-color: darken(@dropdown-link-hover-bg, 5%);
+}
+
+
+
+//
+// Navbar
+// --------------------------------------------------
+
+// Basic navbar
+.navbar {
+ #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg;);
+ border-radius: @navbar-border-radius;
+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
+ .box-shadow(@shadow);
+
+ .navbar-nav > .active > a {
+ background-color: @navbar-default-bg;
+ }
+}
+.navbar-brand,
+.navbar-nav > li > a {
+ text-shadow: 0 1px 0 rgba(255,255,255,.25);
+}
+
+// Inverted navbar
+.navbar-inverse {
+ #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg;);
+
+ .navbar-nav > .active > a {
+ background-color: @navbar-inverse-bg;
+ }
+
+ .navbar-brand,
+ .navbar-nav > li > a {
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+ }
+}
+
+// Undo rounded corners in static and fixed navbars
+.navbar-static-top,
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+ border-radius: 0;
+}
+
+
+
+//
+// Alerts
+// --------------------------------------------------
+
+// Common styles
+.alert {
+ text-shadow: 0 1px 0 rgba(255,255,255,.2);
+ @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
+ .box-shadow(@shadow);
+}
+
+// Mixin for generating new styles
+.alert-styles(@color) {
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));
+ border-color: darken(@color, 15%);
+}
+
+// Apply the mixin to the alerts
+.alert-success { .alert-styles(@alert-success-bg); }
+.alert-info { .alert-styles(@alert-info-bg); }
+.alert-warning { .alert-styles(@alert-warning-bg); }
+.alert-danger { .alert-styles(@alert-danger-bg); }
+
+
+
+//
+// Progress bars
+// --------------------------------------------------
+
+// Give the progress background some depth
+.progress {
+ #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg;)
+}
+
+// Mixin for generating new styles
+.progress-bar-styles(@color) {
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));
+}
+
+// Apply the mixin to the progress bars
+.progress-bar { .progress-bar-styles(@progress-bar-bg); }
+.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }
+.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }
+.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }
+.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }
+
+
+
+//
+// List groups
+// --------------------------------------------------
+
+.list-group {
+ border-radius: @border-radius-base;
+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+ text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
+ #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
+ border-color: darken(@list-group-active-border, 7.5%);
+}
+
+
+
+//
+// Panels
+// --------------------------------------------------
+
+// Common styles
+.panel {
+ .box-shadow(0 1px 2px rgba(0,0,0,.05));
+}
+
+// Mixin for generating new styles
+.panel-heading-styles(@color) {
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));
+}
+
+// Apply the mixin to the panel headings only
+.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }
+.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }
+.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }
+.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }
+.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }
+.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }
+
+
+
+//
+// Wells
+// --------------------------------------------------
+
+.well {
+ #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg;);
+ border-color: darken(@well-bg, 10%);
+ @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
+ .box-shadow(@shadow);
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/thumbnails.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/thumbnails.less
new file mode 100644
index 000000000..1adee9e35
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/thumbnails.less
@@ -0,0 +1,31 @@
+//
+// Thumbnails
+// --------------------------------------------------
+
+
+// Mixin and adjust the regular image class
+.thumbnail {
+ .img-thumbnail();
+ display: block; // Override the inline-block from `.img-thumbnail`
+
+ > img {
+ .img-responsive();
+ }
+}
+
+
+// Add a hover state for linked versions only
+a.thumbnail:hover,
+a.thumbnail:focus {
+ border-color: @link-color;
+}
+
+// Images and captions
+.thumbnail > img {
+ margin-left: auto;
+ margin-right: auto;
+}
+.thumbnail .caption {
+ padding: @thumbnail-caption-padding;
+ color: @thumbnail-caption-color;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/tooltip.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/tooltip.less
new file mode 100644
index 000000000..5a95b8462
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/tooltip.less
@@ -0,0 +1,95 @@
+//
+// Tooltips
+// --------------------------------------------------
+
+
+// Base class
+.tooltip {
+ position: absolute;
+ z-index: @zindex-tooltip;
+ display: block;
+ visibility: visible;
+ font-size: @font-size-small;
+ line-height: 1.4;
+ .opacity(0);
+
+ &.in { .opacity(.9); }
+ &.top { margin-top: -3px; padding: 5px 0; }
+ &.right { margin-left: 3px; padding: 0 5px; }
+ &.bottom { margin-top: 3px; padding: 5px 0; }
+ &.left { margin-left: -3px; padding: 0 5px; }
+}
+
+// Wrapper for the tooltip content
+.tooltip-inner {
+ max-width: @tooltip-max-width;
+ padding: 3px 8px;
+ color: @tooltip-color;
+ text-align: center;
+ text-decoration: none;
+ background-color: @tooltip-bg;
+ border-radius: @border-radius-base;
+}
+
+// Arrows
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+.tooltip {
+ &.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -@tooltip-arrow-width;
+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
+ border-top-color: @tooltip-arrow-color;
+ }
+ &.top-left .tooltip-arrow {
+ bottom: 0;
+ left: 5px;
+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
+ border-top-color: @tooltip-arrow-color;
+ }
+ &.top-right .tooltip-arrow {
+ bottom: 0;
+ right: 5px;
+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
+ border-top-color: @tooltip-arrow-color;
+ }
+ &.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -@tooltip-arrow-width;
+ border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
+ border-right-color: @tooltip-arrow-color;
+ }
+ &.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -@tooltip-arrow-width;
+ border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
+ border-left-color: @tooltip-arrow-color;
+ }
+ &.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -@tooltip-arrow-width;
+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
+ border-bottom-color: @tooltip-arrow-color;
+ }
+ &.bottom-left .tooltip-arrow {
+ top: 0;
+ left: 5px;
+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
+ border-bottom-color: @tooltip-arrow-color;
+ }
+ &.bottom-right .tooltip-arrow {
+ top: 0;
+ right: 5px;
+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
+ border-bottom-color: @tooltip-arrow-color;
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/type.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/type.less
new file mode 100644
index 000000000..c40a89106
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/type.less
@@ -0,0 +1,238 @@
+//
+// Typography
+// --------------------------------------------------
+
+
+// Body text
+// -------------------------
+
+p {
+ margin: 0 0 (@line-height-computed / 2);
+}
+.lead {
+ margin-bottom: @line-height-computed;
+ font-size: (@font-size-base * 1.15);
+ font-weight: 200;
+ line-height: 1.4;
+
+ @media (min-width: 768px) {
+ font-size: (@font-size-base * 1.5);
+ }
+}
+
+
+// Emphasis & misc
+// -------------------------
+
+// Ex: 14px base font * 85% = about 12px
+small { font-size: 85%; }
+
+// Undo browser default styling
+cite { font-style: normal; }
+
+// Contextual emphasis
+.text-muted { color: @text-muted; }
+.text-primary { color: @brand-primary; }
+.text-warning { color: @state-warning-text; }
+.text-danger { color: @state-danger-text; }
+.text-success { color: @state-success-text; }
+.text-info { color: @state-info-text; }
+
+// Alignment
+.text-left { text-align: left; }
+.text-right { text-align: right; }
+.text-center { text-align: center; }
+
+
+// Headings
+// -------------------------
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+ font-family: @headings-font-family;
+ font-weight: @headings-font-weight;
+ line-height: @headings-line-height;
+ small {
+ font-weight: normal;
+ line-height: 1;
+ color: @headings-small-color;
+ }
+}
+
+h1,
+h2,
+h3 {
+ margin-top: @line-height-computed;
+ margin-bottom: (@line-height-computed / 2);
+}
+h4,
+h5,
+h6 {
+ margin-top: (@line-height-computed / 2);
+ margin-bottom: (@line-height-computed / 2);
+}
+
+h1, .h1 { font-size: floor(@font-size-base * 2.60); } // ~36px
+h2, .h2 { font-size: floor(@font-size-base * 2.15); } // ~30px
+h3, .h3 { font-size: ceil(@font-size-base * 1.70); } // ~24px
+h4, .h4 { font-size: ceil(@font-size-base * 1.25); } // ~18px
+h5, .h5 { font-size: @font-size-base; }
+h6, .h6 { font-size: ceil(@font-size-base * 0.85); } // ~12px
+
+h1 small, .h1 small { font-size: ceil(@font-size-base * 1.70); } // ~24px
+h2 small, .h2 small { font-size: ceil(@font-size-base * 1.25); } // ~18px
+h3 small, .h3 small,
+h4 small, .h4 small { font-size: @font-size-base; }
+
+
+// Page header
+// -------------------------
+
+.page-header {
+ padding-bottom: ((@line-height-computed / 2) - 1);
+ margin: (@line-height-computed * 2) 0 @line-height-computed;
+ border-bottom: 1px solid @page-header-border-color;
+}
+
+
+
+// Lists
+// --------------------------------------------------
+
+// Unordered and Ordered lists
+ul,
+ol {
+ margin-top: 0;
+ margin-bottom: (@line-height-computed / 2);
+ ul,
+ ol{
+ margin-bottom: 0;
+ }
+}
+
+// List options
+
+// Unstyled keeps list items block level, just removes default browser padding and list-style
+.list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
+// Inline turns list items into inline-block
+.list-inline {
+ .list-unstyled();
+ > li {
+ display: inline-block;
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+}
+
+// Description Lists
+dl {
+ margin-bottom: @line-height-computed;
+}
+dt,
+dd {
+ line-height: @line-height-base;
+}
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 0; // Undo browser default
+}
+
+// Horizontal description lists
+//
+// Defaults to being stacked without any of the below styles applied, until the
+// grid breakpoint is reached (default of ~768px).
+
+@media (min-width: @grid-float-breakpoint) {
+ .dl-horizontal {
+ dt {
+ float: left;
+ width: (@component-offset-horizontal - 20);
+ clear: left;
+ text-align: right;
+ .text-overflow();
+ }
+ dd {
+ margin-left: @component-offset-horizontal;
+ .clearfix(); // Clear the floated `dt` if an empty `dd` is present
+ }
+ }
+}
+
+// MISC
+// ----
+
+// Abbreviations and acronyms
+abbr[title],
+// Added data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
+abbr[data-original-title] {
+ cursor: help;
+ border-bottom: 1px dotted @abbr-border-color;
+}
+abbr.initialism {
+ font-size: 90%;
+ text-transform: uppercase;
+}
+
+// Blockquotes
+blockquote {
+ padding: (@line-height-computed / 2) @line-height-computed;
+ margin: 0 0 @line-height-computed;
+ border-left: 5px solid @blockquote-border-color;
+ p {
+ font-size: (@font-size-base * 1.25);
+ font-weight: 300;
+ line-height: 1.25;
+ }
+ p:last-child {
+ margin-bottom: 0;
+ }
+ small {
+ display: block;
+ line-height: @line-height-base;
+ color: @blockquote-small-color;
+ &:before {
+ content: '\2014 \00A0';// EM DASH, NBSP
+ }
+ }
+
+ // Float right with text-align: right
+ &.pull-right {
+ padding-right: 15px;
+ padding-left: 0;
+ border-right: 5px solid @blockquote-border-color;
+ border-left: 0;
+ p,
+ small {
+ text-align: right;
+ }
+ small {
+ &:before {
+ content: '';
+ }
+ &:after {
+ content: '\00A0 \2014';// NBSP, EM DASH
+ }
+ }
+ }
+}
+
+// Quotes
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+ content: "";
+}
+
+// Addresses
+address {
+ display: block;
+ margin-bottom: @line-height-computed;
+ font-style: normal;
+ line-height: @line-height-base;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/utilities.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/utilities.less
new file mode 100644
index 000000000..3d310e651
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/utilities.less
@@ -0,0 +1,42 @@
+//
+// Utility classes
+// --------------------------------------------------
+
+
+// Floats
+// -------------------------
+
+.clearfix {
+ .clearfix();
+}
+.pull-right {
+ float: right !important;
+}
+.pull-left {
+ float: left !important;
+}
+
+
+// Toggling content
+// -------------------------
+
+.hide {
+ display: none !important;
+}
+.show {
+ display: block !important;
+}
+.invisible {
+ visibility: hidden;
+}
+.text-hide {
+ .hide-text();
+}
+
+
+// For Affix plugin
+// -------------------------
+
+.affix {
+ position: fixed;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/variables.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/variables.less
new file mode 100644
index 000000000..a12a4450d
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/variables.less
@@ -0,0 +1,620 @@
+//
+// Variables
+// --------------------------------------------------
+
+
+// Global values
+// --------------------------------------------------
+
+// Grays
+// -------------------------
+
+@gray-darker: lighten(#000, 13.5%); // #222
+@gray-dark: lighten(#000, 20%); // #333
+@gray: lighten(#000, 33.5%); // #555
+@gray-light: lighten(#000, 60%); // #999
+@gray-lighter: lighten(#000, 93.5%); // #eee
+
+// Brand colors
+// -------------------------
+
+@brand-primary: #428bca;
+@brand-success: #5cb85c;
+@brand-warning: #f0ad4e;
+@brand-danger: #d9534f;
+@brand-info: #5bc0de;
+
+// Scaffolding
+// -------------------------
+
+@body-bg: #fff;
+@text-color: @gray-dark;
+
+// Links
+// -------------------------
+
+@link-color: @brand-primary;
+@link-hover-color: darken(@link-color, 15%);
+
+// Typography
+// -------------------------
+
+@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
+@font-family-serif: Georgia, "Times New Roman", Times, serif;
+@font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace;
+@font-family-base: @font-family-sans-serif;
+
+@font-size-base: 14px;
+@font-size-large: ceil(@font-size-base * 1.25); // ~18px
+@font-size-small: ceil(@font-size-base * 0.85); // ~12px
+
+@line-height-base: 1.428571429; // 20/14
+@line-height-computed: floor(@font-size-base * @line-height-base); // ~20px
+
+@headings-font-family: @font-family-base;
+@headings-font-weight: 500;
+@headings-line-height: 1.1;
+
+// Iconography
+// -------------------------
+
+@icon-font-path: "../fonts/";
+@icon-font-name: "glyphicons-halflings-regular";
+
+
+// Components
+// -------------------------
+// Based on 14px font-size and 1.428 line-height (~20px to start)
+
+@padding-base-vertical: 6px;
+@padding-base-horizontal: 12px;
+
+@padding-large-vertical: 10px;
+@padding-large-horizontal: 16px;
+
+@padding-small-vertical: 5px;
+@padding-small-horizontal: 10px;
+
+@line-height-large: 1.33;
+@line-height-small: 1.5;
+
+@border-radius-base: 4px;
+@border-radius-large: 6px;
+@border-radius-small: 3px;
+
+@component-active-bg: @brand-primary;
+
+@caret-width-base: 4px;
+@caret-width-large: 5px;
+
+// Tables
+// -------------------------
+
+@table-cell-padding: 8px;
+@table-condensed-cell-padding: 5px;
+
+@table-bg: transparent; // overall background-color
+@table-bg-accent: #f9f9f9; // for striping
+@table-bg-hover: #f5f5f5;
+@table-bg-active: @table-bg-hover;
+
+@table-border-color: #ddd; // table and cell border
+
+
+// Buttons
+// -------------------------
+
+@btn-font-weight: normal;
+
+@btn-default-color: #333;
+@btn-default-bg: #fff;
+@btn-default-border: #ccc;
+
+@btn-primary-color: #fff;
+@btn-primary-bg: @brand-primary;
+@btn-primary-border: darken(@btn-primary-bg, 5%);
+
+@btn-success-color: #fff;
+@btn-success-bg: @brand-success;
+@btn-success-border: darken(@btn-success-bg, 5%);
+
+@btn-warning-color: #fff;
+@btn-warning-bg: @brand-warning;
+@btn-warning-border: darken(@btn-warning-bg, 5%);
+
+@btn-danger-color: #fff;
+@btn-danger-bg: @brand-danger;
+@btn-danger-border: darken(@btn-danger-bg, 5%);
+
+@btn-info-color: #fff;
+@btn-info-bg: @brand-info;
+@btn-info-border: darken(@btn-info-bg, 5%);
+
+@btn-link-disabled-color: @gray-light;
+
+
+// Forms
+// -------------------------
+
+@input-bg: #fff;
+@input-bg-disabled: @gray-lighter;
+
+@input-color: @gray;
+@input-border: #ccc;
+@input-border-radius: @border-radius-base;
+@input-border-focus: #66afe9;
+
+@input-color-placeholder: @gray-light;
+
+@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
+@input-height-large: (floor(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
+@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
+
+@legend-color: @gray-dark;
+@legend-border-color: #e5e5e5;
+
+@input-group-addon-bg: @gray-lighter;
+@input-group-addon-border-color: @input-border;
+
+
+// Dropdowns
+// -------------------------
+
+@dropdown-bg: #fff;
+@dropdown-border: rgba(0,0,0,.15);
+@dropdown-fallback-border: #ccc;
+@dropdown-divider-bg: #e5e5e5;
+
+@dropdown-link-active-color: #fff;
+@dropdown-link-active-bg: @component-active-bg;
+
+@dropdown-link-color: @gray-dark;
+@dropdown-link-hover-color: #fff;
+@dropdown-link-hover-bg: @dropdown-link-active-bg;
+
+@dropdown-link-disabled-color: @gray-light;
+
+@dropdown-header-color: @gray-light;
+
+@dropdown-caret-color: #000;
+
+
+// COMPONENT VARIABLES
+// --------------------------------------------------
+
+
+// Z-index master list
+// -------------------------
+// Used for a bird's eye view of components dependent on the z-axis
+// Try to avoid customizing these :)
+
+@zindex-navbar: 1000;
+@zindex-dropdown: 1000;
+@zindex-popover: 1010;
+@zindex-tooltip: 1030;
+@zindex-navbar-fixed: 1030;
+@zindex-modal-background: 1040;
+@zindex-modal: 1050;
+
+// Media queries breakpoints
+// --------------------------------------------------
+
+// Extra small screen / phone
+@screen-xs: 480px;
+@screen-phone: @screen-xs;
+
+// Small screen / tablet
+@screen-sm: 768px;
+@screen-tablet: @screen-sm;
+
+// Medium screen / desktop
+@screen-md: 992px;
+@screen-desktop: @screen-md;
+
+// Large screen / wide desktop
+@screen-lg: 1200px;
+@screen-lg-desktop: @screen-lg;
+
+// So media queries don't overlap when required, provide a maximum
+@screen-xs-max: (@screen-sm - 1);
+@screen-sm-max: (@screen-md - 1);
+@screen-md-max: (@screen-lg - 1);
+
+
+// Grid system
+// --------------------------------------------------
+
+// Number of columns in the grid system
+@grid-columns: 12;
+// Padding, to be divided by two and applied to the left and right of all columns
+@grid-gutter-width: 30px;
+// Point at which the navbar stops collapsing
+@grid-float-breakpoint: @screen-tablet;
+
+
+// Navbar
+// -------------------------
+
+// Basics of a navbar
+@navbar-height: 50px;
+@navbar-margin-bottom: @line-height-computed;
+@navbar-default-color: #777;
+@navbar-default-bg: #f8f8f8;
+@navbar-default-border: darken(@navbar-default-bg, 6.5%);
+@navbar-border-radius: @border-radius-base;
+@navbar-padding-horizontal: floor(@grid-gutter-width / 2);
+@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
+
+// Navbar links
+@navbar-default-link-color: #777;
+@navbar-default-link-hover-color: #333;
+@navbar-default-link-hover-bg: transparent;
+@navbar-default-link-active-color: #555;
+@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%);
+@navbar-default-link-disabled-color: #ccc;
+@navbar-default-link-disabled-bg: transparent;
+
+// Navbar brand label
+@navbar-default-brand-color: @navbar-default-link-color;
+@navbar-default-brand-hover-color: darken(@navbar-default-link-color, 10%);
+@navbar-default-brand-hover-bg: transparent;
+
+// Navbar toggle
+@navbar-default-toggle-hover-bg: #ddd;
+@navbar-default-toggle-icon-bar-bg: #ccc;
+@navbar-default-toggle-border-color: #ddd;
+
+
+// Inverted navbar
+//
+// Reset inverted navbar basics
+@navbar-inverse-color: @gray-light;
+@navbar-inverse-bg: #222;
+@navbar-inverse-border: darken(@navbar-inverse-bg, 10%);
+
+// Inverted navbar links
+@navbar-inverse-link-color: @gray-light;
+@navbar-inverse-link-hover-color: #fff;
+@navbar-inverse-link-hover-bg: transparent;
+@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color;
+@navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%);
+@navbar-inverse-link-disabled-color: #444;
+@navbar-inverse-link-disabled-bg: transparent;
+
+// Inverted navbar brand label
+@navbar-inverse-brand-color: @navbar-inverse-link-color;
+@navbar-inverse-brand-hover-color: #fff;
+@navbar-inverse-brand-hover-bg: transparent;
+
+// Inverted navbar search
+// Normal navbar needs no special styles or vars
+@navbar-inverse-search-bg: lighten(@navbar-inverse-bg, 25%);
+@navbar-inverse-search-bg-focus: #fff;
+@navbar-inverse-search-border: @navbar-inverse-bg;
+@navbar-inverse-search-placeholder-color: #ccc;
+
+// Inverted navbar toggle
+@navbar-inverse-toggle-hover-bg: #333;
+@navbar-inverse-toggle-icon-bar-bg: #fff;
+@navbar-inverse-toggle-border-color: #333;
+
+
+// Navs
+// -------------------------
+
+@nav-link-padding: 10px 15px;
+@nav-link-hover-bg: @gray-lighter;
+
+@nav-disabled-link-color: @gray-light;
+@nav-disabled-link-hover-color: @gray-light;
+
+@nav-open-link-hover-color: #fff;
+@nav-open-caret-border-color: #fff;
+
+// Tabs
+@nav-tabs-border-color: #ddd;
+
+@nav-tabs-link-hover-border-color: @gray-lighter;
+
+@nav-tabs-active-link-hover-bg: @body-bg;
+@nav-tabs-active-link-hover-color: @gray;
+@nav-tabs-active-link-hover-border-color: #ddd;
+
+@nav-tabs-justified-link-border-color: #ddd;
+@nav-tabs-justified-active-link-border-color: @body-bg;
+
+// Pills
+@nav-pills-active-link-hover-bg: @component-active-bg;
+@nav-pills-active-link-hover-color: #fff;
+
+
+// Pagination
+// -------------------------
+
+@pagination-bg: #fff;
+@pagination-border: #ddd;
+
+@pagination-hover-bg: @gray-lighter;
+
+@pagination-active-bg: @brand-primary;
+@pagination-active-color: #fff;
+
+@pagination-disabled-color: @gray-light;
+
+
+// Pager
+// -------------------------
+
+@pager-border-radius: 15px;
+@pager-disabled-color: @gray-light;
+
+
+// Jumbotron
+// -------------------------
+
+@jumbotron-padding: 30px;
+@jumbotron-color: inherit;
+@jumbotron-bg: @gray-lighter;
+
+@jumbotron-heading-color: inherit;
+
+
+// Form states and alerts
+// -------------------------
+
+@state-warning-text: #c09853;
+@state-warning-bg: #fcf8e3;
+@state-warning-border: darken(spin(@state-warning-bg, -10), 3%);
+
+@state-danger-text: #b94a48;
+@state-danger-bg: #f2dede;
+@state-danger-border: darken(spin(@state-danger-bg, -10), 3%);
+
+@state-success-text: #468847;
+@state-success-bg: #dff0d8;
+@state-success-border: darken(spin(@state-success-bg, -10), 5%);
+
+@state-info-text: #3a87ad;
+@state-info-bg: #d9edf7;
+@state-info-border: darken(spin(@state-info-bg, -10), 7%);
+
+
+// Tooltips
+// -------------------------
+@tooltip-max-width: 200px;
+@tooltip-color: #fff;
+@tooltip-bg: #000;
+
+@tooltip-arrow-width: 5px;
+@tooltip-arrow-color: @tooltip-bg;
+
+
+// Popovers
+// -------------------------
+@popover-bg: #fff;
+@popover-max-width: 276px;
+@popover-border-color: rgba(0,0,0,.2);
+@popover-fallback-border-color: #ccc;
+
+@popover-title-bg: darken(@popover-bg, 3%);
+
+@popover-arrow-width: 10px;
+@popover-arrow-color: #fff;
+
+@popover-arrow-outer-width: (@popover-arrow-width + 1);
+@popover-arrow-outer-color: rgba(0,0,0,.25);
+@popover-arrow-outer-fallback-color: #999;
+
+
+// Labels
+// -------------------------
+
+@label-default-bg: @gray-light;
+@label-primary-bg: @brand-primary;
+@label-success-bg: @brand-success;
+@label-info-bg: @brand-info;
+@label-warning-bg: @brand-warning;
+@label-danger-bg: @brand-danger;
+
+@label-color: #fff;
+@label-link-hover-color: #fff;
+
+
+// Modals
+// -------------------------
+@modal-inner-padding: 20px;
+
+@modal-title-padding: 15px;
+@modal-title-line-height: @line-height-base;
+
+@modal-content-bg: #fff;
+@modal-content-border-color: rgba(0,0,0,.2);
+@modal-content-fallback-border-color: #999;
+
+@modal-backdrop-bg: #000;
+@modal-header-border-color: #e5e5e5;
+@modal-footer-border-color: @modal-header-border-color;
+
+
+// Alerts
+// -------------------------
+@alert-padding: 15px;
+@alert-border-radius: @border-radius-base;
+@alert-link-font-weight: bold;
+
+@alert-success-bg: @state-success-bg;
+@alert-success-text: @state-success-text;
+@alert-success-border: @state-success-border;
+
+@alert-info-bg: @state-info-bg;
+@alert-info-text: @state-info-text;
+@alert-info-border: @state-info-border;
+
+@alert-warning-bg: @state-warning-bg;
+@alert-warning-text: @state-warning-text;
+@alert-warning-border: @state-warning-border;
+
+@alert-danger-bg: @state-danger-bg;
+@alert-danger-text: @state-danger-text;
+@alert-danger-border: @state-danger-border;
+
+
+// Progress bars
+// -------------------------
+@progress-bg: #D9EEFF;
+@progress-bar-color: #fff;
+
+@progress-bar-bg: @brand-primary;
+@progress-bar-success-bg: @brand-success;
+@progress-bar-warning-bg: @brand-warning;
+@progress-bar-danger-bg: @brand-danger;
+@progress-bar-info-bg: @brand-info;
+
+
+// List group
+// -------------------------
+@list-group-bg: #fff;
+@list-group-border: #ddd;
+@list-group-border-radius: @border-radius-base;
+
+@list-group-hover-bg: #D9EEFF;
+@list-group-active-color: #fff;
+@list-group-active-bg: @component-active-bg;
+@list-group-active-border: @list-group-active-bg;
+
+@list-group-link-color: #555;
+@list-group-link-heading-color: #333;
+
+
+// Panels
+// -------------------------
+@panel-bg: #fff;
+@panel-inner-border: #ddd;
+@panel-border-radius: @border-radius-base;
+@panel-footer-bg: #D9EEFF;
+
+@panel-default-text: @gray-dark;
+@panel-default-border: #ddd;
+@panel-default-heading-bg: #D9EEFF;
+
+@panel-primary-text: #fff;
+@panel-primary-border: @brand-primary;
+@panel-primary-heading-bg: @brand-primary;
+
+@panel-success-text: @state-success-text;
+@panel-success-border: @state-success-border;
+@panel-success-heading-bg: @state-success-bg;
+
+@panel-warning-text: @state-warning-text;
+@panel-warning-border: @state-warning-border;
+@panel-warning-heading-bg: @state-warning-bg;
+
+@panel-danger-text: @state-danger-text;
+@panel-danger-border: @state-danger-border;
+@panel-danger-heading-bg: @state-danger-bg;
+
+@panel-info-text: @state-info-text;
+@panel-info-border: @state-info-border;
+@panel-info-heading-bg: @state-info-bg;
+
+
+// Thumbnails
+// -------------------------
+@thumbnail-padding: 4px;
+@thumbnail-bg: @body-bg;
+@thumbnail-border: #ddd;
+@thumbnail-border-radius: @border-radius-base;
+
+@thumbnail-caption-color: @text-color;
+@thumbnail-caption-padding: 9px;
+
+
+// Wells
+// -------------------------
+@well-bg: #D9EEFF;
+
+
+// Badges
+// -------------------------
+@badge-color: #fff;
+@badge-link-hover-color: #fff;
+@badge-bg: @gray-light;
+
+@badge-active-color: @link-color;
+@badge-active-bg: #fff;
+
+@badge-font-weight: bold;
+@badge-line-height: 1;
+@badge-border-radius: 10px;
+
+
+// Breadcrumbs
+// -------------------------
+@breadcrumb-bg: #D9EEFF;
+@breadcrumb-color: #ccc;
+@breadcrumb-active-color: @gray-light;
+
+
+// Carousel
+// ------------------------
+
+@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
+
+@carousel-control-color: #fff;
+@carousel-control-width: 15%;
+@carousel-control-opacity: .5;
+@carousel-control-font-size: 20px;
+
+@carousel-indicator-active-bg: #fff;
+@carousel-indicator-border-color: #fff;
+
+@carousel-caption-color: #fff;
+
+
+// Close
+// ------------------------
+@close-color: #000;
+@close-font-weight: bold;
+@close-text-shadow: 0 1px 0 #fff;
+
+
+// Code
+// ------------------------
+@code-color: #c7254e;
+@code-bg: #f9f2f4;
+
+@pre-bg: #D9EEFF;
+@pre-color: @gray-dark;
+@pre-border-color: #ccc;
+@pre-scrollable-max-height: 340px;
+
+// Type
+// ------------------------
+@text-muted: @gray-light;
+@abbr-border-color: @gray-light;
+@headings-small-color: @gray-light;
+@blockquote-small-color: @gray-light;
+@blockquote-border-color: @gray-lighter;
+@page-header-border-color: @gray-lighter;
+
+// Miscellaneous
+// -------------------------
+
+// Hr border color
+@hr-border: @gray-lighter;
+
+// Horizontal forms & lists
+@component-offset-horizontal: 180px;
+
+
+// Container sizes
+// --------------------------------------------------
+
+// Small screen / tablet
+@container-tablet: ((720px + @grid-gutter-width));
+
+// Medium screen / desktop
+@container-desktop: ((940px + @grid-gutter-width));
+
+// Large screen / wide desktop
+@container-lg-desktop: ((940pxpx + @grid-gutter-width));
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/wells.less b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/wells.less
new file mode 100644
index 000000000..865abc2eb
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/bootstrap/wells.less
@@ -0,0 +1,29 @@
+//
+// Wells
+// --------------------------------------------------
+
+
+// Base class
+.well {
+ min-height: 20px;
+ padding: 19px;
+ margin-bottom: 20px;
+ background-color: @well-bg;
+ border: 1px solid darken(@well-bg, 7%);
+ border-radius: @border-radius-base;
+ .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
+ blockquote {
+ border-color: #ddd;
+ border-color: rgba(0,0,0,.15);
+ }
+}
+
+// Sizes
+.well-lg {
+ padding: 24px;
+ border-radius: @border-radius-large;
+}
+.well-sm {
+ padding: 9px;
+ border-radius: @border-radius-small;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/bootstrap.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/bootstrap.less
new file mode 100644
index 000000000..a2c96046b
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/bootstrap.less
@@ -0,0 +1,84 @@
+/* BOOTSTRAP SPECIFIC CLASSES
+ * -------------------------- */
+
+/* Bootstrap 2.0 sprites.less reset */
+[class^="icon-"],
+[class*=" icon-"] {
+ display: inline;
+ width: auto;
+ height: auto;
+ line-height: normal;
+ vertical-align: baseline;
+ background-image: none;
+ background-position: 0% 0%;
+ background-repeat: repeat;
+ margin-top: 0;
+}
+
+/* more sprites.less reset */
+.icon-white,
+.nav-pills > .active > a > [class^="icon-"],
+.nav-pills > .active > a > [class*=" icon-"],
+.nav-list > .active > a > [class^="icon-"],
+.nav-list > .active > a > [class*=" icon-"],
+.navbar-inverse .nav > .active > a > [class^="icon-"],
+.navbar-inverse .nav > .active > a > [class*=" icon-"],
+.dropdown-menu > li > a:hover > [class^="icon-"],
+.dropdown-menu > li > a:hover > [class*=" icon-"],
+.dropdown-menu > .active > a > [class^="icon-"],
+.dropdown-menu > .active > a > [class*=" icon-"],
+.dropdown-submenu:hover > a > [class^="icon-"],
+.dropdown-submenu:hover > a > [class*=" icon-"] {
+ background-image: none;
+}
+
+
+/* keeps Bootstrap styles with and without icons the same */
+.btn, .nav {
+ [class^="icon-"],
+ [class*=" icon-"] {
+// display: inline;
+ &.icon-large { line-height: .9em; }
+ &.icon-spin { display: inline-block; }
+ }
+}
+.nav-tabs, .nav-pills {
+ [class^="icon-"],
+ [class*=" icon-"] {
+ &, &.icon-large { line-height: .9em; }
+ }
+}
+.btn {
+ [class^="icon-"],
+ [class*=" icon-"] {
+ &.pull-left, &.pull-right {
+ &.icon-2x { margin-top: .18em; }
+ }
+ &.icon-spin.icon-large { line-height: .8em; }
+ }
+}
+.btn.btn-small {
+ [class^="icon-"],
+ [class*=" icon-"] {
+ &.pull-left, &.pull-right {
+ &.icon-2x { margin-top: .25em; }
+ }
+ }
+}
+.btn.btn-large {
+ [class^="icon-"],
+ [class*=" icon-"] {
+ margin-top: 0; // overrides bootstrap default
+ &.pull-left, &.pull-right {
+ &.icon-2x { margin-top: .05em; }
+ }
+ &.pull-left.icon-2x { margin-right: .2em; }
+ &.pull-right.icon-2x { margin-left: .2em; }
+ }
+}
+
+/* Fixes alignment in nav lists */
+.nav-list [class^="icon-"],
+.nav-list [class*=" icon-"] {
+ line-height: inherit;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/core.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/core.less
new file mode 100644
index 000000000..1ef7e2235
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/core.less
@@ -0,0 +1,129 @@
+/* FONT AWESOME CORE
+ * -------------------------- */
+
+[class^="icon-"],
+[class*=" icon-"] {
+ .icon-FontAwesome();
+}
+
+[class^="icon-"]:before,
+[class*=" icon-"]:before {
+ text-decoration: inherit;
+ display: inline-block;
+ speak: none;
+}
+
+/* makes the font 33% larger relative to the icon container */
+.icon-large:before {
+ vertical-align: -10%;
+ font-size: 4/3em;
+}
+
+/* makes sure icons active on rollover in links */
+a {
+ [class^="icon-"],
+ [class*=" icon-"] {
+ display: inline;
+ }
+}
+
+/* increased font size for icon-large */
+[class^="icon-"],
+[class*=" icon-"] {
+ &.icon-fixed-width {
+ display: inline-block;
+ width: 16/14em;
+ text-align: right;
+ padding-right: 4/14em;
+ &.icon-large {
+ width: 20/14em;
+ }
+ }
+}
+
+.icons-ul {
+ margin-left: @icons-li-width;
+ list-style-type: none;
+
+ > li { position: relative; }
+
+ .icon-li {
+ position: absolute;
+ left: -@icons-li-width;
+ width: @icons-li-width;
+ text-align: center;
+ line-height: inherit;
+ }
+}
+
+// allows usage of the hide class directly on font awesome icons
+[class^="icon-"],
+[class*=" icon-"] {
+ &.hide {
+ display: none;
+ }
+}
+
+.icon-muted { color: @iconMuted; }
+.icon-light { color: @iconLight; }
+.icon-dark { color: @iconDark; }
+
+// Icon Borders
+// -------------------------
+
+.icon-border {
+ border: solid 1px @borderColor;
+ padding: .2em .25em .15em;
+ .border-radius(3px);
+}
+
+// Icon Sizes
+// -------------------------
+
+.icon-2x {
+ font-size: 2em;
+ &.icon-border {
+ border-width: 2px;
+ .border-radius(4px);
+ }
+}
+.icon-3x {
+ font-size: 3em;
+ &.icon-border {
+ border-width: 3px;
+ .border-radius(5px);
+ }
+}
+.icon-4x {
+ font-size: 4em;
+ &.icon-border {
+ border-width: 4px;
+ .border-radius(6px);
+ }
+}
+
+.icon-5x {
+ font-size: 5em;
+ &.icon-border {
+ border-width: 5px;
+ .border-radius(7px);
+ }
+}
+
+
+// Floats & Margins
+// -------------------------
+
+// Quick floats
+.pull-right { float: right; }
+.pull-left { float: left; }
+
+[class^="icon-"],
+[class*=" icon-"] {
+ &.pull-left {
+ margin-right: .3em;
+ }
+ &.pull-right {
+ margin-left: .3em;
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/extras.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/extras.less
new file mode 100644
index 000000000..c93c260c8
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/extras.less
@@ -0,0 +1,93 @@
+/* EXTRAS
+ * -------------------------- */
+
+/* Stacked and layered icon */
+.icon-stack();
+
+/* Animated rotating icon */
+.icon-spin {
+ display: inline-block;
+ -moz-animation: spin 2s infinite linear;
+ -o-animation: spin 2s infinite linear;
+ -webkit-animation: spin 2s infinite linear;
+ animation: spin 2s infinite linear;
+}
+
+/* Prevent stack and spinners from being taken inline when inside a link */
+a .icon-stack,
+a .icon-spin {
+ display: inline-block;
+ text-decoration: none;
+}
+
+@-moz-keyframes spin {
+ 0% { -moz-transform: rotate(0deg); }
+ 100% { -moz-transform: rotate(359deg); }
+}
+@-webkit-keyframes spin {
+ 0% { -webkit-transform: rotate(0deg); }
+ 100% { -webkit-transform: rotate(359deg); }
+}
+@-o-keyframes spin {
+ 0% { -o-transform: rotate(0deg); }
+ 100% { -o-transform: rotate(359deg); }
+}
+@-ms-keyframes spin {
+ 0% { -ms-transform: rotate(0deg); }
+ 100% { -ms-transform: rotate(359deg); }
+}
+@keyframes spin {
+ 0% { transform: rotate(0deg); }
+ 100% { transform: rotate(359deg); }
+}
+
+/* Icon rotations and mirroring */
+.icon-rotate-90:before {
+ -webkit-transform: rotate(90deg);
+ -moz-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ -o-transform: rotate(90deg);
+ transform: rotate(90deg);
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
+}
+
+.icon-rotate-180:before {
+ -webkit-transform: rotate(180deg);
+ -moz-transform: rotate(180deg);
+ -ms-transform: rotate(180deg);
+ -o-transform: rotate(180deg);
+ transform: rotate(180deg);
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
+}
+
+.icon-rotate-270:before {
+ -webkit-transform: rotate(270deg);
+ -moz-transform: rotate(270deg);
+ -ms-transform: rotate(270deg);
+ -o-transform: rotate(270deg);
+ transform: rotate(270deg);
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
+}
+
+.icon-flip-horizontal:before {
+ -webkit-transform: scale(-1, 1);
+ -moz-transform: scale(-1, 1);
+ -ms-transform: scale(-1, 1);
+ -o-transform: scale(-1, 1);
+ transform: scale(-1, 1);
+}
+
+.icon-flip-vertical:before {
+ -webkit-transform: scale(1, -1);
+ -moz-transform: scale(1, -1);
+ -ms-transform: scale(1, -1);
+ -o-transform: scale(1, -1);
+ transform: scale(1, -1);
+}
+
+/* ensure rotation occurs inside anchor tags */
+a {
+ .icon-rotate-90, .icon-rotate-180, .icon-rotate-270, .icon-flip-horizontal, .icon-flip-vertical {
+ &:before { display: inline-block; }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/font-awesome-ie7.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/font-awesome-ie7.less
new file mode 100644
index 000000000..6675c4989
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/font-awesome-ie7.less
@@ -0,0 +1,1953 @@
+/*!
+ * Font Awesome 3.2.1
+ * the iconic font designed for Bootstrap
+ * ------------------------------------------------------------------------------
+ * The full suite of pictographic icons, examples, and documentation can be
+ * found at http://fontawesome.io. Stay up to date on Twitter at
+ * http://twitter.com/fontawesome.
+ *
+ * License
+ * ------------------------------------------------------------------------------
+ * - The Font Awesome font is licensed under SIL OFL 1.1 -
+ * http://scripts.sil.org/OFL
+ * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
+ * http://opensource.org/licenses/mit-license.html
+ * - Font Awesome documentation licensed under CC BY 3.0 -
+ * http://creativecommons.org/licenses/by/3.0/
+ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
+ * "Font Awesome by Dave Gandy - http://fontawesome.io"
+ *
+ * Author - Dave Gandy
+ * ------------------------------------------------------------------------------
+ * Email: dave@fontawesome.io
+ * Twitter: http://twitter.com/davegandy
+ * Work: Lead Product Designer @ Kyruus - http://kyruus.com
+ */
+
+.icon-large {
+ font-size: 4/3em;
+ margin-top: -4px;
+ padding-top: 3px;
+ margin-bottom: -4px;
+ padding-bottom: 3px;
+ vertical-align: middle;
+}
+
+.nav {
+ [class^="icon-"],
+ [class*=" icon-"] {
+ vertical-align: inherit;
+ margin-top: -4px;
+ padding-top: 3px;
+ margin-bottom: -4px;
+ padding-bottom: 3px;
+ &.icon-large {
+ vertical-align: -25%;
+ }
+ }
+}
+
+.nav-pills, .nav-tabs {
+ [class^="icon-"],
+ [class*=" icon-"] {
+ &.icon-large {
+ line-height: .75em;
+ margin-top: -7px;
+ padding-top: 5px;
+ margin-bottom: -5px;
+ padding-bottom: 4px;
+ }
+ }
+}
+
+.btn {
+ [class^="icon-"],
+ [class*=" icon-"] {
+ &.pull-left, &.pull-right { vertical-align: inherit; }
+ &.icon-large {
+ margin-top: -.5em;
+ }
+ }
+}
+
+a [class^="icon-"],
+a [class*=" icon-"] {
+ cursor: pointer;
+}
+
+.ie7icon(@inner) { *zoom: ~"expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '@{inner}')"; }
+
+
+.icon-glass {
+ .ie7icon('');
+}
+
+
+.icon-music {
+ .ie7icon('');
+}
+
+
+.icon-search {
+ .ie7icon('');
+}
+
+
+.icon-envelope-alt {
+ .ie7icon('');
+}
+
+
+.icon-heart {
+ .ie7icon('');
+}
+
+
+.icon-star {
+ .ie7icon('');
+}
+
+
+.icon-star-empty {
+ .ie7icon('');
+}
+
+
+.icon-user {
+ .ie7icon('');
+}
+
+
+.icon-film {
+ .ie7icon('');
+}
+
+
+.icon-th-large {
+ .ie7icon('');
+}
+
+
+.icon-th {
+ .ie7icon('');
+}
+
+
+.icon-th-list {
+ .ie7icon('');
+}
+
+
+.icon-ok {
+ .ie7icon('');
+}
+
+
+.icon-remove {
+ .ie7icon('');
+}
+
+
+.icon-zoom-in {
+ .ie7icon('');
+}
+
+
+.icon-zoom-out {
+ .ie7icon('');
+}
+
+
+.icon-off {
+ .ie7icon('');
+}
+
+.icon-power-off {
+ .ie7icon('');
+}
+
+
+.icon-signal {
+ .ie7icon('');
+}
+
+
+.icon-cog {
+ .ie7icon('');
+}
+
+.icon-gear {
+ .ie7icon('');
+}
+
+
+.icon-trash {
+ .ie7icon('');
+}
+
+
+.icon-home {
+ .ie7icon('');
+}
+
+
+.icon-file-alt {
+ .ie7icon('');
+}
+
+
+.icon-time {
+ .ie7icon('');
+}
+
+
+.icon-road {
+ .ie7icon('');
+}
+
+
+.icon-download-alt {
+ .ie7icon('');
+}
+
+
+.icon-download {
+ .ie7icon('');
+}
+
+
+.icon-upload {
+ .ie7icon('');
+}
+
+
+.icon-inbox {
+ .ie7icon('');
+}
+
+
+.icon-play-circle {
+ .ie7icon('');
+}
+
+
+.icon-repeat {
+ .ie7icon('');
+}
+
+.icon-rotate-right {
+ .ie7icon('');
+}
+
+
+.icon-refresh {
+ .ie7icon('');
+}
+
+
+.icon-list-alt {
+ .ie7icon('');
+}
+
+
+.icon-lock {
+ .ie7icon('');
+}
+
+
+.icon-flag {
+ .ie7icon('');
+}
+
+
+.icon-headphones {
+ .ie7icon('');
+}
+
+
+.icon-volume-off {
+ .ie7icon('');
+}
+
+
+.icon-volume-down {
+ .ie7icon('');
+}
+
+
+.icon-volume-up {
+ .ie7icon('');
+}
+
+
+.icon-qrcode {
+ .ie7icon('');
+}
+
+
+.icon-barcode {
+ .ie7icon('');
+}
+
+
+.icon-tag {
+ .ie7icon('');
+}
+
+
+.icon-tags {
+ .ie7icon('');
+}
+
+
+.icon-book {
+ .ie7icon('');
+}
+
+
+.icon-bookmark {
+ .ie7icon('');
+}
+
+
+.icon-print {
+ .ie7icon('');
+}
+
+
+.icon-camera {
+ .ie7icon('');
+}
+
+
+.icon-font {
+ .ie7icon('');
+}
+
+
+.icon-bold {
+ .ie7icon('');
+}
+
+
+.icon-italic {
+ .ie7icon('');
+}
+
+
+.icon-text-height {
+ .ie7icon('');
+}
+
+
+.icon-text-width {
+ .ie7icon('');
+}
+
+
+.icon-align-left {
+ .ie7icon('');
+}
+
+
+.icon-align-center {
+ .ie7icon('');
+}
+
+
+.icon-align-right {
+ .ie7icon('');
+}
+
+
+.icon-align-justify {
+ .ie7icon('');
+}
+
+
+.icon-list {
+ .ie7icon('');
+}
+
+
+.icon-indent-left {
+ .ie7icon('');
+}
+
+
+.icon-indent-right {
+ .ie7icon('');
+}
+
+
+.icon-facetime-video {
+ .ie7icon('');
+}
+
+
+.icon-picture {
+ .ie7icon('');
+}
+
+
+.icon-pencil {
+ .ie7icon('');
+}
+
+
+.icon-map-marker {
+ .ie7icon('');
+}
+
+
+.icon-adjust {
+ .ie7icon('');
+}
+
+
+.icon-tint {
+ .ie7icon('');
+}
+
+
+.icon-edit {
+ .ie7icon('');
+}
+
+
+.icon-share {
+ .ie7icon('');
+}
+
+
+.icon-check {
+ .ie7icon('');
+}
+
+
+.icon-move {
+ .ie7icon('');
+}
+
+
+.icon-step-backward {
+ .ie7icon('');
+}
+
+
+.icon-fast-backward {
+ .ie7icon('');
+}
+
+
+.icon-backward {
+ .ie7icon('');
+}
+
+
+.icon-play {
+ .ie7icon('');
+}
+
+
+.icon-pause {
+ .ie7icon('');
+}
+
+
+.icon-stop {
+ .ie7icon('');
+}
+
+
+.icon-forward {
+ .ie7icon('');
+}
+
+
+.icon-fast-forward {
+ .ie7icon('');
+}
+
+
+.icon-step-forward {
+ .ie7icon('');
+}
+
+
+.icon-eject {
+ .ie7icon('');
+}
+
+
+.icon-chevron-left {
+ .ie7icon('');
+}
+
+
+.icon-chevron-right {
+ .ie7icon('');
+}
+
+
+.icon-plus-sign {
+ .ie7icon('');
+}
+
+
+.icon-minus-sign {
+ .ie7icon('');
+}
+
+
+.icon-remove-sign {
+ .ie7icon('');
+}
+
+
+.icon-ok-sign {
+ .ie7icon('');
+}
+
+
+.icon-question-sign {
+ .ie7icon('');
+}
+
+
+.icon-info-sign {
+ .ie7icon('');
+}
+
+
+.icon-screenshot {
+ .ie7icon('');
+}
+
+
+.icon-remove-circle {
+ .ie7icon('');
+}
+
+
+.icon-ok-circle {
+ .ie7icon('');
+}
+
+
+.icon-ban-circle {
+ .ie7icon('');
+}
+
+
+.icon-arrow-left {
+ .ie7icon('');
+}
+
+
+.icon-arrow-right {
+ .ie7icon('');
+}
+
+
+.icon-arrow-up {
+ .ie7icon('');
+}
+
+
+.icon-arrow-down {
+ .ie7icon('');
+}
+
+
+.icon-share-alt {
+ .ie7icon('');
+}
+
+.icon-mail-forward {
+ .ie7icon('');
+}
+
+
+.icon-resize-full {
+ .ie7icon('');
+}
+
+
+.icon-resize-small {
+ .ie7icon('');
+}
+
+
+.icon-plus {
+ .ie7icon('');
+}
+
+
+.icon-minus {
+ .ie7icon('');
+}
+
+
+.icon-asterisk {
+ .ie7icon('');
+}
+
+
+.icon-exclamation-sign {
+ .ie7icon('');
+}
+
+
+.icon-gift {
+ .ie7icon('');
+}
+
+
+.icon-leaf {
+ .ie7icon('');
+}
+
+
+.icon-fire {
+ .ie7icon('');
+}
+
+
+.icon-eye-open {
+ .ie7icon('');
+}
+
+
+.icon-eye-close {
+ .ie7icon('');
+}
+
+
+.icon-warning-sign {
+ .ie7icon('');
+}
+
+
+.icon-plane {
+ .ie7icon('');
+}
+
+
+.icon-calendar {
+ .ie7icon('');
+}
+
+
+.icon-random {
+ .ie7icon('');
+}
+
+
+.icon-comment {
+ .ie7icon('');
+}
+
+
+.icon-magnet {
+ .ie7icon('');
+}
+
+
+.icon-chevron-up {
+ .ie7icon('');
+}
+
+
+.icon-chevron-down {
+ .ie7icon('');
+}
+
+
+.icon-retweet {
+ .ie7icon('');
+}
+
+
+.icon-shopping-cart {
+ .ie7icon('');
+}
+
+
+.icon-folder-close {
+ .ie7icon('');
+}
+
+
+.icon-folder-open {
+ .ie7icon('');
+}
+
+
+.icon-resize-vertical {
+ .ie7icon('');
+}
+
+
+.icon-resize-horizontal {
+ .ie7icon('');
+}
+
+
+.icon-bar-chart {
+ .ie7icon('');
+}
+
+
+.icon-twitter-sign {
+ .ie7icon('');
+}
+
+
+.icon-facebook-sign {
+ .ie7icon('');
+}
+
+
+.icon-camera-retro {
+ .ie7icon('');
+}
+
+
+.icon-key {
+ .ie7icon('');
+}
+
+
+.icon-cogs {
+ .ie7icon('');
+}
+
+.icon-gears {
+ .ie7icon('');
+}
+
+
+.icon-comments {
+ .ie7icon('');
+}
+
+
+.icon-thumbs-up-alt {
+ .ie7icon('');
+}
+
+
+.icon-thumbs-down-alt {
+ .ie7icon('');
+}
+
+
+.icon-star-half {
+ .ie7icon('');
+}
+
+
+.icon-heart-empty {
+ .ie7icon('');
+}
+
+
+.icon-signout {
+ .ie7icon('');
+}
+
+
+.icon-linkedin-sign {
+ .ie7icon('');
+}
+
+
+.icon-pushpin {
+ .ie7icon('');
+}
+
+
+.icon-external-link {
+ .ie7icon('');
+}
+
+
+.icon-signin {
+ .ie7icon('');
+}
+
+
+.icon-trophy {
+ .ie7icon('');
+}
+
+
+.icon-github-sign {
+ .ie7icon('');
+}
+
+
+.icon-upload-alt {
+ .ie7icon('');
+}
+
+
+.icon-lemon {
+ .ie7icon('');
+}
+
+
+.icon-phone {
+ .ie7icon('');
+}
+
+
+.icon-check-empty {
+ .ie7icon('');
+}
+
+.icon-unchecked {
+ .ie7icon('');
+}
+
+
+.icon-bookmark-empty {
+ .ie7icon('');
+}
+
+
+.icon-phone-sign {
+ .ie7icon('');
+}
+
+
+.icon-twitter {
+ .ie7icon('');
+}
+
+
+.icon-facebook {
+ .ie7icon('');
+}
+
+
+.icon-github {
+ .ie7icon('');
+}
+
+
+.icon-unlock {
+ .ie7icon('');
+}
+
+
+.icon-credit-card {
+ .ie7icon('');
+}
+
+
+.icon-rss {
+ .ie7icon('');
+}
+
+
+.icon-hdd {
+ .ie7icon('');
+}
+
+
+.icon-bullhorn {
+ .ie7icon('');
+}
+
+
+.icon-bell {
+ .ie7icon('');
+}
+
+
+.icon-certificate {
+ .ie7icon('');
+}
+
+
+.icon-hand-right {
+ .ie7icon('');
+}
+
+
+.icon-hand-left {
+ .ie7icon('');
+}
+
+
+.icon-hand-up {
+ .ie7icon('');
+}
+
+
+.icon-hand-down {
+ .ie7icon('');
+}
+
+
+.icon-circle-arrow-left {
+ .ie7icon('');
+}
+
+
+.icon-circle-arrow-right {
+ .ie7icon('');
+}
+
+
+.icon-circle-arrow-up {
+ .ie7icon('');
+}
+
+
+.icon-circle-arrow-down {
+ .ie7icon('');
+}
+
+
+.icon-globe {
+ .ie7icon('');
+}
+
+
+.icon-wrench {
+ .ie7icon('');
+}
+
+
+.icon-tasks {
+ .ie7icon('');
+}
+
+
+.icon-filter {
+ .ie7icon('');
+}
+
+
+.icon-briefcase {
+ .ie7icon('');
+}
+
+
+.icon-fullscreen {
+ .ie7icon('');
+}
+
+
+.icon-group {
+ .ie7icon('');
+}
+
+
+.icon-link {
+ .ie7icon('');
+}
+
+
+.icon-cloud {
+ .ie7icon('');
+}
+
+
+.icon-beaker {
+ .ie7icon('');
+}
+
+
+.icon-cut {
+ .ie7icon('');
+}
+
+
+.icon-copy {
+ .ie7icon('');
+}
+
+
+.icon-paper-clip {
+ .ie7icon('');
+}
+
+.icon-paperclip {
+ .ie7icon('');
+}
+
+
+.icon-save {
+ .ie7icon('');
+}
+
+
+.icon-sign-blank {
+ .ie7icon('');
+}
+
+
+.icon-reorder {
+ .ie7icon('');
+}
+
+
+.icon-list-ul {
+ .ie7icon('');
+}
+
+
+.icon-list-ol {
+ .ie7icon('');
+}
+
+
+.icon-strikethrough {
+ .ie7icon('');
+}
+
+
+.icon-underline {
+ .ie7icon('');
+}
+
+
+.icon-table {
+ .ie7icon('');
+}
+
+
+.icon-magic {
+ .ie7icon('');
+}
+
+
+.icon-truck {
+ .ie7icon('');
+}
+
+
+.icon-pinterest {
+ .ie7icon('');
+}
+
+
+.icon-pinterest-sign {
+ .ie7icon('');
+}
+
+
+.icon-google-plus-sign {
+ .ie7icon('');
+}
+
+
+.icon-google-plus {
+ .ie7icon('');
+}
+
+
+.icon-money {
+ .ie7icon('');
+}
+
+
+.icon-caret-down {
+ .ie7icon('');
+}
+
+
+.icon-caret-up {
+ .ie7icon('');
+}
+
+
+.icon-caret-left {
+ .ie7icon('');
+}
+
+
+.icon-caret-right {
+ .ie7icon('');
+}
+
+
+.icon-columns {
+ .ie7icon('');
+}
+
+
+.icon-sort {
+ .ie7icon('');
+}
+
+
+.icon-sort-down {
+ .ie7icon('');
+}
+
+
+.icon-sort-up {
+ .ie7icon('');
+}
+
+
+.icon-envelope {
+ .ie7icon('');
+}
+
+
+.icon-linkedin {
+ .ie7icon('');
+}
+
+
+.icon-undo {
+ .ie7icon('');
+}
+
+.icon-rotate-left {
+ .ie7icon('');
+}
+
+
+.icon-legal {
+ .ie7icon('');
+}
+
+
+.icon-dashboard {
+ .ie7icon('');
+}
+
+
+.icon-comment-alt {
+ .ie7icon('');
+}
+
+
+.icon-comments-alt {
+ .ie7icon('');
+}
+
+
+.icon-bolt {
+ .ie7icon('');
+}
+
+
+.icon-sitemap {
+ .ie7icon('');
+}
+
+
+.icon-umbrella {
+ .ie7icon('');
+}
+
+
+.icon-paste {
+ .ie7icon('');
+}
+
+
+.icon-lightbulb {
+ .ie7icon('');
+}
+
+
+.icon-exchange {
+ .ie7icon('');
+}
+
+
+.icon-cloud-download {
+ .ie7icon('');
+}
+
+
+.icon-cloud-upload {
+ .ie7icon('');
+}
+
+
+.icon-user-md {
+ .ie7icon('');
+}
+
+
+.icon-stethoscope {
+ .ie7icon('');
+}
+
+
+.icon-suitcase {
+ .ie7icon('');
+}
+
+
+.icon-bell-alt {
+ .ie7icon('');
+}
+
+
+.icon-coffee {
+ .ie7icon('');
+}
+
+
+.icon-food {
+ .ie7icon('');
+}
+
+
+.icon-file-text-alt {
+ .ie7icon('');
+}
+
+
+.icon-building {
+ .ie7icon('');
+}
+
+
+.icon-hospital {
+ .ie7icon('');
+}
+
+
+.icon-ambulance {
+ .ie7icon('');
+}
+
+
+.icon-medkit {
+ .ie7icon('');
+}
+
+
+.icon-fighter-jet {
+ .ie7icon('');
+}
+
+
+.icon-beer {
+ .ie7icon('');
+}
+
+
+.icon-h-sign {
+ .ie7icon('');
+}
+
+
+.icon-plus-sign-alt {
+ .ie7icon('');
+}
+
+
+.icon-double-angle-left {
+ .ie7icon('');
+}
+
+
+.icon-double-angle-right {
+ .ie7icon('');
+}
+
+
+.icon-double-angle-up {
+ .ie7icon('');
+}
+
+
+.icon-double-angle-down {
+ .ie7icon('');
+}
+
+
+.icon-angle-left {
+ .ie7icon('');
+}
+
+
+.icon-angle-right {
+ .ie7icon('');
+}
+
+
+.icon-angle-up {
+ .ie7icon('');
+}
+
+
+.icon-angle-down {
+ .ie7icon('');
+}
+
+
+.icon-desktop {
+ .ie7icon('');
+}
+
+
+.icon-laptop {
+ .ie7icon('');
+}
+
+
+.icon-tablet {
+ .ie7icon('');
+}
+
+
+.icon-mobile-phone {
+ .ie7icon('');
+}
+
+
+.icon-circle-blank {
+ .ie7icon('');
+}
+
+
+.icon-quote-left {
+ .ie7icon('');
+}
+
+
+.icon-quote-right {
+ .ie7icon('');
+}
+
+
+.icon-spinner {
+ .ie7icon('');
+}
+
+
+.icon-circle {
+ .ie7icon('');
+}
+
+
+.icon-reply {
+ .ie7icon('');
+}
+
+.icon-mail-reply {
+ .ie7icon('');
+}
+
+
+.icon-github-alt {
+ .ie7icon('');
+}
+
+
+.icon-folder-close-alt {
+ .ie7icon('');
+}
+
+
+.icon-folder-open-alt {
+ .ie7icon('');
+}
+
+
+.icon-expand-alt {
+ .ie7icon('');
+}
+
+
+.icon-collapse-alt {
+ .ie7icon('');
+}
+
+
+.icon-smile {
+ .ie7icon('');
+}
+
+
+.icon-frown {
+ .ie7icon('');
+}
+
+
+.icon-meh {
+ .ie7icon('');
+}
+
+
+.icon-gamepad {
+ .ie7icon('');
+}
+
+
+.icon-keyboard {
+ .ie7icon('');
+}
+
+
+.icon-flag-alt {
+ .ie7icon('');
+}
+
+
+.icon-flag-checkered {
+ .ie7icon('');
+}
+
+
+.icon-terminal {
+ .ie7icon('');
+}
+
+
+.icon-code {
+ .ie7icon('');
+}
+
+
+.icon-reply-all {
+ .ie7icon('');
+}
+
+
+.icon-mail-reply-all {
+ .ie7icon('');
+}
+
+
+.icon-star-half-empty {
+ .ie7icon('');
+}
+
+.icon-star-half-full {
+ .ie7icon('');
+}
+
+
+.icon-location-arrow {
+ .ie7icon('');
+}
+
+
+.icon-crop {
+ .ie7icon('');
+}
+
+
+.icon-code-fork {
+ .ie7icon('');
+}
+
+
+.icon-unlink {
+ .ie7icon('');
+}
+
+
+.icon-question {
+ .ie7icon('');
+}
+
+
+.icon-info {
+ .ie7icon('');
+}
+
+
+.icon-exclamation {
+ .ie7icon('');
+}
+
+
+.icon-superscript {
+ .ie7icon('');
+}
+
+
+.icon-subscript {
+ .ie7icon('');
+}
+
+
+.icon-eraser {
+ .ie7icon('');
+}
+
+
+.icon-puzzle-piece {
+ .ie7icon('');
+}
+
+
+.icon-microphone {
+ .ie7icon('');
+}
+
+
+.icon-microphone-off {
+ .ie7icon('');
+}
+
+
+.icon-shield {
+ .ie7icon('');
+}
+
+
+.icon-calendar-empty {
+ .ie7icon('');
+}
+
+
+.icon-fire-extinguisher {
+ .ie7icon('');
+}
+
+
+.icon-rocket {
+ .ie7icon('');
+}
+
+
+.icon-maxcdn {
+ .ie7icon('');
+}
+
+
+.icon-chevron-sign-left {
+ .ie7icon('');
+}
+
+
+.icon-chevron-sign-right {
+ .ie7icon('');
+}
+
+
+.icon-chevron-sign-up {
+ .ie7icon('');
+}
+
+
+.icon-chevron-sign-down {
+ .ie7icon('');
+}
+
+
+.icon-html5 {
+ .ie7icon('');
+}
+
+
+.icon-css3 {
+ .ie7icon('');
+}
+
+
+.icon-anchor {
+ .ie7icon('');
+}
+
+
+.icon-unlock-alt {
+ .ie7icon('');
+}
+
+
+.icon-bullseye {
+ .ie7icon('');
+}
+
+
+.icon-ellipsis-horizontal {
+ .ie7icon('');
+}
+
+
+.icon-ellipsis-vertical {
+ .ie7icon('');
+}
+
+
+.icon-rss-sign {
+ .ie7icon('');
+}
+
+
+.icon-play-sign {
+ .ie7icon('');
+}
+
+
+.icon-ticket {
+ .ie7icon('');
+}
+
+
+.icon-minus-sign-alt {
+ .ie7icon('');
+}
+
+
+.icon-check-minus {
+ .ie7icon('');
+}
+
+
+.icon-level-up {
+ .ie7icon('');
+}
+
+
+.icon-level-down {
+ .ie7icon('');
+}
+
+
+.icon-check-sign {
+ .ie7icon('');
+}
+
+
+.icon-edit-sign {
+ .ie7icon('');
+}
+
+
+.icon-external-link-sign {
+ .ie7icon('');
+}
+
+
+.icon-share-sign {
+ .ie7icon('');
+}
+
+
+.icon-compass {
+ .ie7icon('');
+}
+
+
+.icon-collapse {
+ .ie7icon('');
+}
+
+
+.icon-collapse-top {
+ .ie7icon('');
+}
+
+
+.icon-expand {
+ .ie7icon('');
+}
+
+
+.icon-eur {
+ .ie7icon('');
+}
+
+.icon-euro {
+ .ie7icon('');
+}
+
+
+.icon-gbp {
+ .ie7icon('');
+}
+
+
+.icon-usd {
+ .ie7icon('');
+}
+
+.icon-dollar {
+ .ie7icon('');
+}
+
+
+.icon-inr {
+ .ie7icon('');
+}
+
+.icon-rupee {
+ .ie7icon('');
+}
+
+
+.icon-jpy {
+ .ie7icon('');
+}
+
+.icon-yen {
+ .ie7icon('');
+}
+
+
+.icon-cny {
+ .ie7icon('');
+}
+
+.icon-renminbi {
+ .ie7icon('');
+}
+
+
+.icon-krw {
+ .ie7icon('');
+}
+
+.icon-won {
+ .ie7icon('');
+}
+
+
+.icon-btc {
+ .ie7icon('');
+}
+
+.icon-bitcoin {
+ .ie7icon('');
+}
+
+
+.icon-file {
+ .ie7icon('');
+}
+
+
+.icon-file-text {
+ .ie7icon('');
+}
+
+
+.icon-sort-by-alphabet {
+ .ie7icon('');
+}
+
+
+.icon-sort-by-alphabet-alt {
+ .ie7icon('');
+}
+
+
+.icon-sort-by-attributes {
+ .ie7icon('');
+}
+
+
+.icon-sort-by-attributes-alt {
+ .ie7icon('');
+}
+
+
+.icon-sort-by-order {
+ .ie7icon('');
+}
+
+
+.icon-sort-by-order-alt {
+ .ie7icon('');
+}
+
+
+.icon-thumbs-up {
+ .ie7icon('');
+}
+
+
+.icon-thumbs-down {
+ .ie7icon('');
+}
+
+
+.icon-youtube-sign {
+ .ie7icon('');
+}
+
+
+.icon-youtube {
+ .ie7icon('');
+}
+
+
+.icon-xing {
+ .ie7icon('');
+}
+
+
+.icon-xing-sign {
+ .ie7icon('');
+}
+
+
+.icon-youtube-play {
+ .ie7icon('');
+}
+
+
+.icon-dropbox {
+ .ie7icon('');
+}
+
+
+.icon-stackexchange {
+ .ie7icon('');
+}
+
+
+.icon-instagram {
+ .ie7icon('');
+}
+
+
+.icon-flickr {
+ .ie7icon('');
+}
+
+
+.icon-adn {
+ .ie7icon('');
+}
+
+
+.icon-bitbucket {
+ .ie7icon('');
+}
+
+
+.icon-bitbucket-sign {
+ .ie7icon('');
+}
+
+
+.icon-tumblr {
+ .ie7icon('');
+}
+
+
+.icon-tumblr-sign {
+ .ie7icon('');
+}
+
+
+.icon-long-arrow-down {
+ .ie7icon('');
+}
+
+
+.icon-long-arrow-up {
+ .ie7icon('');
+}
+
+
+.icon-long-arrow-left {
+ .ie7icon('');
+}
+
+
+.icon-long-arrow-right {
+ .ie7icon('');
+}
+
+
+.icon-apple {
+ .ie7icon('');
+}
+
+
+.icon-windows {
+ .ie7icon('');
+}
+
+
+.icon-android {
+ .ie7icon('');
+}
+
+
+.icon-linux {
+ .ie7icon('');
+}
+
+
+.icon-dribbble {
+ .ie7icon('');
+}
+
+
+.icon-skype {
+ .ie7icon('');
+}
+
+
+.icon-foursquare {
+ .ie7icon('');
+}
+
+
+.icon-trello {
+ .ie7icon('');
+}
+
+
+.icon-female {
+ .ie7icon('');
+}
+
+
+.icon-male {
+ .ie7icon('');
+}
+
+
+.icon-gittip {
+ .ie7icon('');
+}
+
+
+.icon-sun {
+ .ie7icon('');
+}
+
+
+.icon-moon {
+ .ie7icon('');
+}
+
+
+.icon-archive {
+ .ie7icon('');
+}
+
+
+.icon-bug {
+ .ie7icon('');
+}
+
+
+.icon-vk {
+ .ie7icon('');
+}
+
+
+.icon-weibo {
+ .ie7icon('');
+}
+
+
+.icon-renren {
+ .ie7icon('');
+}
+
+
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/font-awesome.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/font-awesome.less
new file mode 100644
index 000000000..e5903d856
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/font-awesome.less
@@ -0,0 +1,33 @@
+/*!
+ * Font Awesome 3.2.1
+ * the iconic font designed for Bootstrap
+ * ------------------------------------------------------------------------------
+ * The full suite of pictographic icons, examples, and documentation can be
+ * found at http://fontawesome.io. Stay up to date on Twitter at
+ * http://twitter.com/fontawesome.
+ *
+ * License
+ * ------------------------------------------------------------------------------
+ * - The Font Awesome font is licensed under SIL OFL 1.1 -
+ * http://scripts.sil.org/OFL
+ * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
+ * http://opensource.org/licenses/mit-license.html
+ * - Font Awesome documentation licensed under CC BY 3.0 -
+ * http://creativecommons.org/licenses/by/3.0/
+ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
+ * "Font Awesome by Dave Gandy - http://fontawesome.io"
+ *
+ * Author - Dave Gandy
+ * ------------------------------------------------------------------------------
+ * Email: dave@fontawesome.io
+ * Twitter: http://twitter.com/davegandy
+ * Work: Lead Product Designer @ Kyruus - http://kyruus.com
+ */
+
+@import "variables";
+@import "mixins";
+@import "path";
+@import "core";
+@import "bootstrap";
+@import "extras";
+@import "icons";
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/icons.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/icons.less
new file mode 100644
index 000000000..08b8c083a
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/icons.less
@@ -0,0 +1,382 @@
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+ readers do not read off random characters that represent icons */
+
+.icon-glass:before { content: @glass; }
+.icon-music:before { content: @music; }
+.icon-search:before { content: @search; }
+.icon-envelope-alt:before { content: @envelope-alt; }
+.icon-heart:before { content: @heart; }
+.icon-star:before { content: @star; }
+.icon-star-empty:before { content: @star-empty; }
+.icon-user:before { content: @user; }
+.icon-film:before { content: @film; }
+.icon-th-large:before { content: @th-large; }
+.icon-th:before { content: @th; }
+.icon-th-list:before { content: @th-list; }
+.icon-ok:before { content: @ok; }
+.icon-remove:before { content: @remove; }
+.icon-zoom-in:before { content: @zoom-in; }
+.icon-zoom-out:before { content: @zoom-out; }
+.icon-power-off:before,
+.icon-off:before { content: @off; }
+.icon-signal:before { content: @signal; }
+.icon-gear:before,
+.icon-cog:before { content: @cog; }
+.icon-trash:before { content: @trash; }
+.icon-home:before { content: @home; }
+.icon-file-alt:before { content: @file-alt; }
+.icon-time:before { content: @time; }
+.icon-road:before { content: @road; }
+.icon-download-alt:before { content: @download-alt; }
+.icon-download:before { content: @download; }
+.icon-upload:before { content: @upload; }
+.icon-inbox:before { content: @inbox; }
+.icon-play-circle:before { content: @play-circle; }
+.icon-rotate-right:before,
+.icon-repeat:before { content: @repeat; }
+.icon-refresh:before { content: @refresh; }
+.icon-list-alt:before { content: @list-alt; }
+.icon-lock:before { content: @lock; }
+.icon-flag:before { content: @flag; }
+.icon-headphones:before { content: @headphones; }
+.icon-volume-off:before { content: @volume-off; }
+.icon-volume-down:before { content: @volume-down; }
+.icon-volume-up:before { content: @volume-up; }
+.icon-qrcode:before { content: @qrcode; }
+.icon-barcode:before { content: @barcode; }
+.icon-tag:before { content: @tag; }
+.icon-tags:before { content: @tags; }
+.icon-book:before { content: @book; }
+.icon-bookmark:before { content: @bookmark; }
+.icon-print:before { content: @print; }
+.icon-camera:before { content: @camera; }
+.icon-font:before { content: @font; }
+.icon-bold:before { content: @bold; }
+.icon-italic:before { content: @italic; }
+.icon-text-height:before { content: @text-height; }
+.icon-text-width:before { content: @text-width; }
+.icon-align-left:before { content: @align-left; }
+.icon-align-center:before { content: @align-center; }
+.icon-align-right:before { content: @align-right; }
+.icon-align-justify:before { content: @align-justify; }
+.icon-list:before { content: @list; }
+.icon-indent-left:before { content: @indent-left; }
+.icon-indent-right:before { content: @indent-right; }
+.icon-facetime-video:before { content: @facetime-video; }
+.icon-picture:before { content: @picture; }
+.icon-pencil:before { content: @pencil; }
+.icon-map-marker:before { content: @map-marker; }
+.icon-adjust:before { content: @adjust; }
+.icon-tint:before { content: @tint; }
+.icon-edit:before { content: @edit; }
+.icon-share:before { content: @share; }
+.icon-check:before { content: @check; }
+.icon-move:before { content: @move; }
+.icon-step-backward:before { content: @step-backward; }
+.icon-fast-backward:before { content: @fast-backward; }
+.icon-backward:before { content: @backward; }
+.icon-play:before { content: @play; }
+.icon-pause:before { content: @pause; }
+.icon-stop:before { content: @stop; }
+.icon-forward:before { content: @forward; }
+.icon-fast-forward:before { content: @fast-forward; }
+.icon-step-forward:before { content: @step-forward; }
+.icon-eject:before { content: @eject; }
+.icon-chevron-left:before { content: @chevron-left; }
+.icon-chevron-right:before { content: @chevron-right; }
+.icon-plus-sign:before { content: @plus-sign; }
+.icon-minus-sign:before { content: @minus-sign; }
+.icon-remove-sign:before { content: @remove-sign; }
+.icon-ok-sign:before { content: @ok-sign; }
+.icon-question-sign:before { content: @question-sign; }
+.icon-info-sign:before { content: @info-sign; }
+.icon-screenshot:before { content: @screenshot; }
+.icon-remove-circle:before { content: @remove-circle; }
+.icon-ok-circle:before { content: @ok-circle; }
+.icon-ban-circle:before { content: @ban-circle; }
+.icon-arrow-left:before { content: @arrow-left; }
+.icon-arrow-right:before { content: @arrow-right; }
+.icon-arrow-up:before { content: @arrow-up; }
+.icon-arrow-down:before { content: @arrow-down; }
+.icon-mail-forward:before,
+.icon-share-alt:before { content: @share-alt; }
+.icon-resize-full:before { content: @resize-full; }
+.icon-resize-small:before { content: @resize-small; }
+.icon-plus:before { content: @plus; }
+.icon-minus:before { content: @minus; }
+.icon-asterisk:before { content: @asterisk; }
+.icon-exclamation-sign:before { content: @exclamation-sign; }
+.icon-gift:before { content: @gift; }
+.icon-leaf:before { content: @leaf; }
+.icon-fire:before { content: @fire; }
+.icon-eye-open:before { content: @eye-open; }
+.icon-eye-close:before { content: @eye-close; }
+.icon-warning-sign:before { content: @warning-sign; }
+.icon-plane:before { content: @plane; }
+.icon-calendar:before { content: @calendar; }
+.icon-random:before { content: @random; }
+.icon-comment:before { content: @comment; }
+.icon-magnet:before { content: @magnet; }
+.icon-chevron-up:before { content: @chevron-up; }
+.icon-chevron-down:before { content: @chevron-down; }
+.icon-retweet:before { content: @retweet; }
+.icon-shopping-cart:before { content: @shopping-cart; }
+.icon-folder-close:before { content: @folder-close; }
+.icon-folder-open:before { content: @folder-open; }
+.icon-resize-vertical:before { content: @resize-vertical; }
+.icon-resize-horizontal:before { content: @resize-horizontal; }
+.icon-bar-chart:before { content: @bar-chart; }
+.icon-twitter-sign:before { content: @twitter-sign; }
+.icon-facebook-sign:before { content: @facebook-sign; }
+.icon-camera-retro:before { content: @camera-retro; }
+.icon-key:before { content: @key; }
+.icon-gears:before,
+.icon-cogs:before { content: @cogs; }
+.icon-comments:before { content: @comments; }
+.icon-thumbs-up-alt:before { content: @thumbs-up-alt; }
+.icon-thumbs-down-alt:before { content: @thumbs-down-alt; }
+.icon-star-half:before { content: @star-half; }
+.icon-heart-empty:before { content: @heart-empty; }
+.icon-signout:before { content: @signout; }
+.icon-linkedin-sign:before { content: @linkedin-sign; }
+.icon-pushpin:before { content: @pushpin; }
+.icon-external-link:before { content: @external-link; }
+.icon-signin:before { content: @signin; }
+.icon-trophy:before { content: @trophy; }
+.icon-github-sign:before { content: @github-sign; }
+.icon-upload-alt:before { content: @upload-alt; }
+.icon-lemon:before { content: @lemon; }
+.icon-phone:before { content: @phone; }
+.icon-fax:before { content: @fax; }
+.icon-unchecked:before,
+.icon-check-empty:before { content: @check-empty; }
+.icon-bookmark-empty:before { content: @bookmark-empty; }
+.icon-phone-sign:before { content: @phone-sign; }
+.icon-twitter:before { content: @twitter; }
+.icon-facebook:before { content: @facebook; }
+.icon-github:before { content: @github; }
+.icon-unlock:before { content: @unlock; }
+.icon-credit-card:before { content: @credit-card; }
+.icon-rss:before { content: @rss; }
+.icon-hdd:before { content: @hdd; }
+.icon-bullhorn:before { content: @bullhorn; }
+.icon-bell:before { content: @bell; }
+.icon-certificate:before { content: @certificate; }
+.icon-hand-right:before { content: @hand-right; }
+.icon-hand-left:before { content: @hand-left; }
+.icon-hand-up:before { content: @hand-up; }
+.icon-hand-down:before { content: @hand-down; }
+.icon-circle-arrow-left:before { content: @circle-arrow-left; }
+.icon-circle-arrow-right:before { content: @circle-arrow-right; }
+.icon-circle-arrow-up:before { content: @circle-arrow-up; }
+.icon-circle-arrow-down:before { content: @circle-arrow-down; }
+.icon-globe:before { content: @globe; }
+.icon-wrench:before { content: @wrench; }
+.icon-tasks:before { content: @tasks; }
+.icon-filter:before { content: @filter; }
+.icon-briefcase:before { content: @briefcase; }
+.icon-fullscreen:before { content: @fullscreen; }
+.icon-group:before { content: @group; }
+.icon-link:before { content: @link; }
+.icon-cloud:before { content: @cloud; }
+.icon-beaker:before { content: @beaker; }
+.icon-cut:before { content: @cut; }
+.icon-copy:before { content: @copy; }
+.icon-paperclip:before,
+.icon-paper-clip:before { content: @paper-clip; }
+.icon-save:before { content: @save; }
+.icon-sign-blank:before { content: @sign-blank; }
+.icon-reorder:before { content: @reorder; }
+.icon-list-ul:before { content: @list-ul; }
+.icon-list-ol:before { content: @list-ol; }
+.icon-strikethrough:before { content: @strikethrough; }
+.icon-underline:before { content: @underline; }
+.icon-table:before { content: @table; }
+.icon-magic:before { content: @magic; }
+.icon-truck:before { content: @truck; }
+.icon-pinterest:before { content: @pinterest; }
+.icon-pinterest-sign:before { content: @pinterest-sign; }
+.icon-google-plus-sign:before { content: @google-plus-sign; }
+.icon-google-plus:before { content: @google-plus; }
+.icon-money:before { content: @money; }
+.icon-caret-down:before { content: @caret-down; }
+.icon-caret-up:before { content: @caret-up; }
+.icon-caret-left:before { content: @caret-left; }
+.icon-caret-right:before { content: @caret-right; }
+.icon-columns:before { content: @columns; }
+.icon-sort:before { content: @sort; }
+.icon-sort-down:before { content: @sort-down; }
+.icon-sort-up:before { content: @sort-up; }
+.icon-envelope:before { content: @envelope; }
+.icon-linkedin:before { content: @linkedin; }
+.icon-rotate-left:before,
+.icon-undo:before { content: @undo; }
+.icon-legal:before { content: @legal; }
+.icon-dashboard:before { content: @dashboard; }
+.icon-comment-alt:before { content: @comment-alt; }
+.icon-comments-alt:before { content: @comments-alt; }
+.icon-bolt:before { content: @bolt; }
+.icon-sitemap:before { content: @sitemap; }
+.icon-umbrella:before { content: @umbrella; }
+.icon-paste:before { content: @paste; }
+.icon-lightbulb:before { content: @lightbulb; }
+.icon-exchange:before { content: @exchange; }
+.icon-cloud-download:before { content: @cloud-download; }
+.icon-cloud-upload:before { content: @cloud-upload; }
+.icon-user-md:before { content: @user-md; }
+.icon-stethoscope:before { content: @stethoscope; }
+.icon-suitcase:before { content: @suitcase; }
+.icon-bell-alt:before { content: @bell-alt; }
+.icon-coffee:before { content: @coffee; }
+.icon-food:before { content: @food; }
+.icon-file-text-alt:before { content: @file-text-alt; }
+.icon-building:before { content: @building; }
+.icon-hospital:before { content: @hospital; }
+.icon-ambulance:before { content: @ambulance; }
+.icon-medkit:before { content: @medkit; }
+.icon-fighter-jet:before { content: @fighter-jet; }
+.icon-beer:before { content: @beer; }
+.icon-h-sign:before { content: @h-sign; }
+.icon-plus-sign-alt:before { content: @plus-sign-alt; }
+.icon-double-angle-left:before { content: @double-angle-left; }
+.icon-double-angle-right:before { content: @double-angle-right; }
+.icon-double-angle-up:before { content: @double-angle-up; }
+.icon-double-angle-down:before { content: @double-angle-down; }
+.icon-angle-left:before { content: @angle-left; }
+.icon-angle-right:before { content: @angle-right; }
+.icon-angle-up:before { content: @angle-up; }
+.icon-angle-down:before { content: @angle-down; }
+.icon-desktop:before { content: @desktop; }
+.icon-laptop:before { content: @laptop; }
+.icon-tablet:before { content: @tablet; }
+.icon-mobile-phone:before { content: @mobile-phone; }
+.icon-circle-blank:before { content: @circle-blank; }
+.icon-quote-left:before { content: @quote-left; }
+.icon-quote-right:before { content: @quote-right; }
+.icon-spinner:before { content: @spinner; }
+.icon-circle:before { content: @circle; }
+.icon-mail-reply:before,
+.icon-reply:before { content: @reply; }
+.icon-github-alt:before { content: @github-alt; }
+.icon-folder-close-alt:before { content: @folder-close-alt; }
+.icon-folder-open-alt:before { content: @folder-open-alt; }
+.icon-expand-alt:before { content: @expand-alt; }
+.icon-collapse-alt:before { content: @collapse-alt; }
+.icon-smile:before { content: @smile; }
+.icon-frown:before { content: @frown; }
+.icon-meh:before { content: @meh; }
+.icon-gamepad:before { content: @gamepad; }
+.icon-keyboard:before { content: @keyboard; }
+.icon-flag-alt:before { content: @flag-alt; }
+.icon-flag-checkered:before { content: @flag-checkered; }
+.icon-terminal:before { content: @terminal; }
+.icon-code:before { content: @code; }
+.icon-reply-all:before { content: @reply-all; }
+.icon-mail-reply-all:before { content: @mail-reply-all; }
+.icon-star-half-full:before,
+.icon-star-half-empty:before { content: @star-half-empty; }
+.icon-location-arrow:before { content: @location-arrow; }
+.icon-crop:before { content: @crop; }
+.icon-code-fork:before { content: @code-fork; }
+.icon-unlink:before { content: @unlink; }
+.icon-question:before { content: @question; }
+.icon-info:before { content: @info; }
+.icon-exclamation:before { content: @exclamation; }
+.icon-superscript:before { content: @superscript; }
+.icon-subscript:before { content: @subscript; }
+.icon-eraser:before { content: @eraser; }
+.icon-puzzle-piece:before { content: @puzzle-piece; }
+.icon-microphone:before { content: @microphone; }
+.icon-microphone-off:before { content: @microphone-off; }
+.icon-shield:before { content: @shield; }
+.icon-calendar-empty:before { content: @calendar-empty; }
+.icon-fire-extinguisher:before { content: @fire-extinguisher; }
+.icon-rocket:before { content: @rocket; }
+.icon-maxcdn:before { content: @maxcdn; }
+.icon-chevron-sign-left:before { content: @chevron-sign-left; }
+.icon-chevron-sign-right:before { content: @chevron-sign-right; }
+.icon-chevron-sign-up:before { content: @chevron-sign-up; }
+.icon-chevron-sign-down:before { content: @chevron-sign-down; }
+.icon-html5:before { content: @html5; }
+.icon-css3:before { content: @css3; }
+.icon-anchor:before { content: @anchor; }
+.icon-unlock-alt:before { content: @unlock-alt; }
+.icon-bullseye:before { content: @bullseye; }
+.icon-ellipsis-horizontal:before { content: @ellipsis-horizontal; }
+.icon-ellipsis-vertical:before { content: @ellipsis-vertical; }
+.icon-rss-sign:before { content: @rss-sign; }
+.icon-play-sign:before { content: @play-sign; }
+.icon-ticket:before { content: @ticket; }
+.icon-minus-sign-alt:before { content: @minus-sign-alt; }
+.icon-check-minus:before { content: @check-minus; }
+.icon-level-up:before { content: @level-up; }
+.icon-level-down:before { content: @level-down; }
+.icon-check-sign:before { content: @check-sign; }
+.icon-edit-sign:before { content: @edit-sign; }
+.icon-external-link-sign:before { content: @external-link-sign; }
+.icon-share-sign:before { content: @share-sign; }
+.icon-compass:before { content: @compass; }
+.icon-collapse:before { content: @collapse; }
+.icon-collapse-top:before { content: @collapse-top; }
+.icon-expand:before { content: @expand; }
+.icon-euro:before,
+.icon-eur:before { content: @eur; }
+.icon-gbp:before { content: @gbp; }
+.icon-dollar:before,
+.icon-usd:before { content: @usd; }
+.icon-rupee:before,
+.icon-inr:before { content: @inr; }
+.icon-yen:before,
+.icon-jpy:before { content: @jpy; }
+.icon-renminbi:before,
+.icon-cny:before { content: @cny; }
+.icon-won:before,
+.icon-krw:before { content: @krw; }
+.icon-bitcoin:before,
+.icon-btc:before { content: @btc; }
+.icon-file:before { content: @file; }
+.icon-file-text:before { content: @file-text; }
+.icon-sort-by-alphabet:before { content: @sort-by-alphabet; }
+.icon-sort-by-alphabet-alt:before { content: @sort-by-alphabet-alt; }
+.icon-sort-by-attributes:before { content: @sort-by-attributes; }
+.icon-sort-by-attributes-alt:before { content: @sort-by-attributes-alt; }
+.icon-sort-by-order:before { content: @sort-by-order; }
+.icon-sort-by-order-alt:before { content: @sort-by-order-alt; }
+.icon-thumbs-up:before { content: @thumbs-up; }
+.icon-thumbs-down:before { content: @thumbs-down; }
+.icon-youtube-sign:before { content: @youtube-sign; }
+.icon-youtube:before { content: @youtube; }
+.icon-xing:before { content: @xing; }
+.icon-xing-sign:before { content: @xing-sign; }
+.icon-youtube-play:before { content: @youtube-play; }
+.icon-dropbox:before { content: @dropbox; }
+.icon-stackexchange:before { content: @stackexchange; }
+.icon-instagram:before { content: @instagram; }
+.icon-flickr:before { content: @flickr; }
+.icon-adn:before { content: @adn; }
+.icon-bitbucket:before { content: @bitbucket; }
+.icon-bitbucket-sign:before { content: @bitbucket-sign; }
+.icon-tumblr:before { content: @tumblr; }
+.icon-tumblr-sign:before { content: @tumblr-sign; }
+.icon-long-arrow-down:before { content: @long-arrow-down; }
+.icon-long-arrow-up:before { content: @long-arrow-up; }
+.icon-long-arrow-left:before { content: @long-arrow-left; }
+.icon-long-arrow-right:before { content: @long-arrow-right; }
+.icon-apple:before { content: @apple; }
+.icon-windows:before { content: @windows; }
+.icon-android:before { content: @android; }
+.icon-linux:before { content: @linux; }
+.icon-dribbble:before { content: @dribbble; }
+.icon-skype:before { content: @skype; }
+.icon-foursquare:before { content: @foursquare; }
+.icon-trello:before { content: @trello; }
+.icon-female:before { content: @female; }
+.icon-male:before { content: @male; }
+.icon-gittip:before { content: @gittip; }
+.icon-sun:before { content: @sun; }
+.icon-moon:before { content: @moon; }
+.icon-archive:before { content: @archive; }
+.icon-bug:before { content: @bug; }
+.icon-vk:before { content: @vk; }
+.icon-weibo:before { content: @weibo; }
+.icon-renren:before { content: @renren; }
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/mixins.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/mixins.less
new file mode 100644
index 000000000..f7fdda590
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/mixins.less
@@ -0,0 +1,48 @@
+// Mixins
+// --------------------------
+
+.icon(@icon) {
+ .icon-FontAwesome();
+ content: @icon;
+}
+
+.icon-FontAwesome() {
+ font-family: FontAwesome;
+ font-weight: normal;
+ font-style: normal;
+ text-decoration: inherit;
+ -webkit-font-smoothing: antialiased;
+ *margin-right: .3em; // fixes ie7 issues
+}
+
+.border-radius(@radius) {
+ -webkit-border-radius: @radius;
+ -moz-border-radius: @radius;
+ border-radius: @radius;
+}
+
+.icon-stack(@width: 2em, @height: 2em, @top-font-size: 1em, @base-font-size: 2em) {
+ .icon-stack {
+ position: relative;
+ display: inline-block;
+ width: @width;
+ height: @height;
+ line-height: @width;
+ vertical-align: -35%;
+ [class^="icon-"],
+ [class*=" icon-"] {
+ display: block;
+ text-align: center;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ font-size: @top-font-size;
+ line-height: inherit;
+ *line-height: @height;
+ }
+ .icon-stack-base {
+ font-size: @base-font-size;
+ *line-height: @height / @base-font-size;
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/bordered-pulled.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/bordered-pulled.less
new file mode 100644
index 000000000..0c90eb567
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/bordered-pulled.less
@@ -0,0 +1,16 @@
+// Bordered & Pulled
+// -------------------------
+
+.@{fa-css-prefix}-border {
+ padding: .2em .25em .15em;
+ border: solid .08em @fa-border-color;
+ border-radius: .1em;
+}
+
+.pull-right { float: right; }
+.pull-left { float: left; }
+
+.@{fa-css-prefix} {
+ &.pull-left { margin-right: .3em; }
+ &.pull-right { margin-left: .3em; }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/core.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/core.less
new file mode 100644
index 000000000..6d223bc2f
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/core.less
@@ -0,0 +1,12 @@
+// Base Class Definition
+// -------------------------
+
+.@{fa-css-prefix} {
+ display: inline-block;
+ font-family: FontAwesome;
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/fixed-width.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/fixed-width.less
new file mode 100644
index 000000000..110289f2f
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/fixed-width.less
@@ -0,0 +1,6 @@
+// Fixed Width Icons
+// -------------------------
+.@{fa-css-prefix}-fw {
+ width: (18em / 14);
+ text-align: center;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/font-awesome.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/font-awesome.less
new file mode 100644
index 000000000..50cbcac49
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/font-awesome.less
@@ -0,0 +1,17 @@
+/*!
+ * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */
+
+@import "variables.less";
+@import "mixins.less";
+@import "path.less";
+@import "core.less";
+@import "larger.less";
+@import "fixed-width.less";
+@import "list.less";
+@import "bordered-pulled.less";
+@import "spinning.less";
+@import "rotated-flipped.less";
+@import "stacked.less";
+@import "icons.less";
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/icons.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/icons.less
new file mode 100644
index 000000000..13d8c685b
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/icons.less
@@ -0,0 +1,506 @@
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+ readers do not read off random characters that represent icons */
+
+.@{fa-css-prefix}-glass:before { content: @fa-var-glass; }
+.@{fa-css-prefix}-music:before { content: @fa-var-music; }
+.@{fa-css-prefix}-search:before { content: @fa-var-search; }
+.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; }
+.@{fa-css-prefix}-heart:before { content: @fa-var-heart; }
+.@{fa-css-prefix}-star:before { content: @fa-var-star; }
+.@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; }
+.@{fa-css-prefix}-user:before { content: @fa-var-user; }
+.@{fa-css-prefix}-film:before { content: @fa-var-film; }
+.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; }
+.@{fa-css-prefix}-th:before { content: @fa-var-th; }
+.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; }
+.@{fa-css-prefix}-check:before { content: @fa-var-check; }
+.@{fa-css-prefix}-times:before { content: @fa-var-times; }
+.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; }
+.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; }
+.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; }
+.@{fa-css-prefix}-signal:before { content: @fa-var-signal; }
+.@{fa-css-prefix}-gear:before,
+.@{fa-css-prefix}-cog:before { content: @fa-var-cog; }
+.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; }
+.@{fa-css-prefix}-home:before { content: @fa-var-home; }
+.@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; }
+.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; }
+.@{fa-css-prefix}-road:before { content: @fa-var-road; }
+.@{fa-css-prefix}-download:before { content: @fa-var-download; }
+.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; }
+.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; }
+.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; }
+.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; }
+.@{fa-css-prefix}-rotate-right:before,
+.@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; }
+.@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; }
+.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; }
+.@{fa-css-prefix}-lock:before { content: @fa-var-lock; }
+.@{fa-css-prefix}-flag:before { content: @fa-var-flag; }
+.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; }
+.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; }
+.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; }
+.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; }
+.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; }
+.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; }
+.@{fa-css-prefix}-tag:before { content: @fa-var-tag; }
+.@{fa-css-prefix}-tags:before { content: @fa-var-tags; }
+.@{fa-css-prefix}-book:before { content: @fa-var-book; }
+.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; }
+.@{fa-css-prefix}-print:before { content: @fa-var-print; }
+.@{fa-css-prefix}-camera:before { content: @fa-var-camera; }
+.@{fa-css-prefix}-font:before { content: @fa-var-font; }
+.@{fa-css-prefix}-bold:before { content: @fa-var-bold; }
+.@{fa-css-prefix}-italic:before { content: @fa-var-italic; }
+.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; }
+.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; }
+.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; }
+.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; }
+.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; }
+.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; }
+.@{fa-css-prefix}-list:before { content: @fa-var-list; }
+.@{fa-css-prefix}-dedent:before,
+.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; }
+.@{fa-css-prefix}-indent:before { content: @fa-var-indent; }
+.@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; }
+.@{fa-css-prefix}-photo:before,
+.@{fa-css-prefix}-image:before,
+.@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; }
+.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; }
+.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; }
+.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; }
+.@{fa-css-prefix}-tint:before { content: @fa-var-tint; }
+.@{fa-css-prefix}-edit:before,
+.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; }
+.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; }
+.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; }
+.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; }
+.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; }
+.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; }
+.@{fa-css-prefix}-backward:before { content: @fa-var-backward; }
+.@{fa-css-prefix}-play:before { content: @fa-var-play; }
+.@{fa-css-prefix}-pause:before { content: @fa-var-pause; }
+.@{fa-css-prefix}-stop:before { content: @fa-var-stop; }
+.@{fa-css-prefix}-forward:before { content: @fa-var-forward; }
+.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; }
+.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; }
+.@{fa-css-prefix}-eject:before { content: @fa-var-eject; }
+.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; }
+.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; }
+.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; }
+.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; }
+.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; }
+.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; }
+.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; }
+.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; }
+.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; }
+.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; }
+.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; }
+.@{fa-css-prefix}-ban:before { content: @fa-var-ban; }
+.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; }
+.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; }
+.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; }
+.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; }
+.@{fa-css-prefix}-mail-forward:before,
+.@{fa-css-prefix}-share:before { content: @fa-var-share; }
+.@{fa-css-prefix}-expand:before { content: @fa-var-expand; }
+.@{fa-css-prefix}-compress:before { content: @fa-var-compress; }
+.@{fa-css-prefix}-plus:before { content: @fa-var-plus; }
+.@{fa-css-prefix}-minus:before { content: @fa-var-minus; }
+.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; }
+.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; }
+.@{fa-css-prefix}-gift:before { content: @fa-var-gift; }
+.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; }
+.@{fa-css-prefix}-fire:before { content: @fa-var-fire; }
+.@{fa-css-prefix}-eye:before { content: @fa-var-eye; }
+.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; }
+.@{fa-css-prefix}-warning:before,
+.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; }
+.@{fa-css-prefix}-plane:before { content: @fa-var-plane; }
+.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; }
+.@{fa-css-prefix}-random:before { content: @fa-var-random; }
+.@{fa-css-prefix}-comment:before { content: @fa-var-comment; }
+.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; }
+.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; }
+.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; }
+.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; }
+.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; }
+.@{fa-css-prefix}-folder:before { content: @fa-var-folder; }
+.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; }
+.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; }
+.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; }
+.@{fa-css-prefix}-bar-chart-o:before { content: @fa-var-bar-chart-o; }
+.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; }
+.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; }
+.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; }
+.@{fa-css-prefix}-key:before { content: @fa-var-key; }
+.@{fa-css-prefix}-gears:before,
+.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; }
+.@{fa-css-prefix}-comments:before { content: @fa-var-comments; }
+.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; }
+.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; }
+.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; }
+.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; }
+.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; }
+.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; }
+.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; }
+.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; }
+.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; }
+.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; }
+.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; }
+.@{fa-css-prefix}-upload:before { content: @fa-var-upload; }
+.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; }
+.@{fa-css-prefix}-phone:before { content: @fa-var-phone; }
+.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; }
+.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; }
+.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; }
+.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; }
+.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; }
+.@{fa-css-prefix}-github:before { content: @fa-var-github; }
+.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; }
+.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; }
+.@{fa-css-prefix}-rss:before { content: @fa-var-rss; }
+.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; }
+.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; }
+.@{fa-css-prefix}-bell:before { content: @fa-var-bell; }
+.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; }
+.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; }
+.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; }
+.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; }
+.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; }
+.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; }
+.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; }
+.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; }
+.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; }
+.@{fa-css-prefix}-globe:before { content: @fa-var-globe; }
+.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; }
+.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; }
+.@{fa-css-prefix}-filter:before { content: @fa-var-filter; }
+.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; }
+.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; }
+.@{fa-css-prefix}-group:before,
+.@{fa-css-prefix}-users:before { content: @fa-var-users; }
+.@{fa-css-prefix}-chain:before,
+.@{fa-css-prefix}-link:before { content: @fa-var-link; }
+.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; }
+.@{fa-css-prefix}-flask:before { content: @fa-var-flask; }
+.@{fa-css-prefix}-cut:before,
+.@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; }
+.@{fa-css-prefix}-copy:before,
+.@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; }
+.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; }
+.@{fa-css-prefix}-save:before,
+.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; }
+.@{fa-css-prefix}-square:before { content: @fa-var-square; }
+.@{fa-css-prefix}-navicon:before,
+.@{fa-css-prefix}-reorder:before,
+.@{fa-css-prefix}-bars:before { content: @fa-var-bars; }
+.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; }
+.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; }
+.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; }
+.@{fa-css-prefix}-underline:before { content: @fa-var-underline; }
+.@{fa-css-prefix}-table:before { content: @fa-var-table; }
+.@{fa-css-prefix}-magic:before { content: @fa-var-magic; }
+.@{fa-css-prefix}-truck:before { content: @fa-var-truck; }
+.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; }
+.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; }
+.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; }
+.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; }
+.@{fa-css-prefix}-money:before { content: @fa-var-money; }
+.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; }
+.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; }
+.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; }
+.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; }
+.@{fa-css-prefix}-columns:before { content: @fa-var-columns; }
+.@{fa-css-prefix}-unsorted:before,
+.@{fa-css-prefix}-sort:before { content: @fa-var-sort; }
+.@{fa-css-prefix}-sort-down:before,
+.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; }
+.@{fa-css-prefix}-sort-up:before,
+.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; }
+.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; }
+.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; }
+.@{fa-css-prefix}-rotate-left:before,
+.@{fa-css-prefix}-undo:before { content: @fa-var-undo; }
+.@{fa-css-prefix}-legal:before,
+.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; }
+.@{fa-css-prefix}-dashboard:before,
+.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; }
+.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; }
+.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; }
+.@{fa-css-prefix}-flash:before,
+.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; }
+.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; }
+.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; }
+.@{fa-css-prefix}-paste:before,
+.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; }
+.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; }
+.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; }
+.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; }
+.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; }
+.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; }
+.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; }
+.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; }
+.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; }
+.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; }
+.@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; }
+.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; }
+.@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; }
+.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; }
+.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; }
+.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; }
+.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; }
+.@{fa-css-prefix}-beer:before { content: @fa-var-beer; }
+.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; }
+.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; }
+.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; }
+.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; }
+.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; }
+.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; }
+.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; }
+.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; }
+.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; }
+.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; }
+.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; }
+.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; }
+.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; }
+.@{fa-css-prefix}-mobile-phone:before,
+.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; }
+.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; }
+.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; }
+.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; }
+.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; }
+.@{fa-css-prefix}-circle:before { content: @fa-var-circle; }
+.@{fa-css-prefix}-mail-reply:before,
+.@{fa-css-prefix}-reply:before { content: @fa-var-reply; }
+.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; }
+.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; }
+.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; }
+.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; }
+.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; }
+.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; }
+.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; }
+.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; }
+.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; }
+.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; }
+.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; }
+.@{fa-css-prefix}-code:before { content: @fa-var-code; }
+.@{fa-css-prefix}-mail-reply-all:before,
+.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; }
+.@{fa-css-prefix}-star-half-empty:before,
+.@{fa-css-prefix}-star-half-full:before,
+.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; }
+.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; }
+.@{fa-css-prefix}-crop:before { content: @fa-var-crop; }
+.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; }
+.@{fa-css-prefix}-unlink:before,
+.@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; }
+.@{fa-css-prefix}-question:before { content: @fa-var-question; }
+.@{fa-css-prefix}-info:before { content: @fa-var-info; }
+.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; }
+.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; }
+.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; }
+.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; }
+.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; }
+.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; }
+.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; }
+.@{fa-css-prefix}-shield:before { content: @fa-var-shield; }
+.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; }
+.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; }
+.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; }
+.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; }
+.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; }
+.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; }
+.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; }
+.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; }
+.@{fa-css-prefix}-html5:before { content: @fa-var-html5; }
+.@{fa-css-prefix}-css3:before { content: @fa-var-css3; }
+.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; }
+.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; }
+.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; }
+.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; }
+.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; }
+.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; }
+.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; }
+.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; }
+.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; }
+.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; }
+.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; }
+.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; }
+.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; }
+.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; }
+.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; }
+.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; }
+.@{fa-css-prefix}-compass:before { content: @fa-var-compass; }
+.@{fa-css-prefix}-toggle-down:before,
+.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; }
+.@{fa-css-prefix}-toggle-up:before,
+.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; }
+.@{fa-css-prefix}-toggle-right:before,
+.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; }
+.@{fa-css-prefix}-euro:before,
+.@{fa-css-prefix}-eur:before { content: @fa-var-eur; }
+.@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; }
+.@{fa-css-prefix}-dollar:before,
+.@{fa-css-prefix}-usd:before { content: @fa-var-usd; }
+.@{fa-css-prefix}-rupee:before,
+.@{fa-css-prefix}-inr:before { content: @fa-var-inr; }
+.@{fa-css-prefix}-cny:before,
+.@{fa-css-prefix}-rmb:before,
+.@{fa-css-prefix}-yen:before,
+.@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; }
+.@{fa-css-prefix}-ruble:before,
+.@{fa-css-prefix}-rouble:before,
+.@{fa-css-prefix}-rub:before { content: @fa-var-rub; }
+.@{fa-css-prefix}-won:before,
+.@{fa-css-prefix}-krw:before { content: @fa-var-krw; }
+.@{fa-css-prefix}-bitcoin:before,
+.@{fa-css-prefix}-btc:before { content: @fa-var-btc; }
+.@{fa-css-prefix}-file:before { content: @fa-var-file; }
+.@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; }
+.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; }
+.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; }
+.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; }
+.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; }
+.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; }
+.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; }
+.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; }
+.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; }
+.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; }
+.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; }
+.@{fa-css-prefix}-xing:before { content: @fa-var-xing; }
+.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; }
+.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; }
+.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; }
+.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; }
+.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; }
+.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; }
+.@{fa-css-prefix}-adn:before { content: @fa-var-adn; }
+.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; }
+.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; }
+.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; }
+.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; }
+.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; }
+.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; }
+.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; }
+.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; }
+.@{fa-css-prefix}-apple:before { content: @fa-var-apple; }
+.@{fa-css-prefix}-windows:before { content: @fa-var-windows; }
+.@{fa-css-prefix}-android:before { content: @fa-var-android; }
+.@{fa-css-prefix}-linux:before { content: @fa-var-linux; }
+.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; }
+.@{fa-css-prefix}-skype:before { content: @fa-var-skype; }
+.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; }
+.@{fa-css-prefix}-trello:before { content: @fa-var-trello; }
+.@{fa-css-prefix}-female:before { content: @fa-var-female; }
+.@{fa-css-prefix}-male:before { content: @fa-var-male; }
+.@{fa-css-prefix}-gittip:before { content: @fa-var-gittip; }
+.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; }
+.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; }
+.@{fa-css-prefix}-archive:before { content: @fa-var-archive; }
+.@{fa-css-prefix}-bug:before { content: @fa-var-bug; }
+.@{fa-css-prefix}-vk:before { content: @fa-var-vk; }
+.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; }
+.@{fa-css-prefix}-renren:before { content: @fa-var-renren; }
+.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; }
+.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; }
+.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; }
+.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; }
+.@{fa-css-prefix}-toggle-left:before,
+.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; }
+.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; }
+.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; }
+.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; }
+.@{fa-css-prefix}-turkish-lira:before,
+.@{fa-css-prefix}-try:before { content: @fa-var-try; }
+.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; }
+.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; }
+.@{fa-css-prefix}-slack:before { content: @fa-var-slack; }
+.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; }
+.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; }
+.@{fa-css-prefix}-openid:before { content: @fa-var-openid; }
+.@{fa-css-prefix}-institution:before,
+.@{fa-css-prefix}-bank:before,
+.@{fa-css-prefix}-university:before { content: @fa-var-university; }
+.@{fa-css-prefix}-mortar-board:before,
+.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; }
+.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; }
+.@{fa-css-prefix}-google:before { content: @fa-var-google; }
+.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; }
+.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; }
+.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; }
+.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; }
+.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; }
+.@{fa-css-prefix}-digg:before { content: @fa-var-digg; }
+.@{fa-css-prefix}-pied-piper-square:before,
+.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; }
+.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; }
+.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; }
+.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; }
+.@{fa-css-prefix}-language:before { content: @fa-var-language; }
+.@{fa-css-prefix}-fax:before { content: @fa-var-fax; }
+.@{fa-css-prefix}-building:before { content: @fa-var-building; }
+.@{fa-css-prefix}-child:before { content: @fa-var-child; }
+.@{fa-css-prefix}-paw:before { content: @fa-var-paw; }
+.@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; }
+.@{fa-css-prefix}-cube:before { content: @fa-var-cube; }
+.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; }
+.@{fa-css-prefix}-behance:before { content: @fa-var-behance; }
+.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; }
+.@{fa-css-prefix}-steam:before { content: @fa-var-steam; }
+.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; }
+.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; }
+.@{fa-css-prefix}-automobile:before,
+.@{fa-css-prefix}-car:before { content: @fa-var-car; }
+.@{fa-css-prefix}-cab:before,
+.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; }
+.@{fa-css-prefix}-tree:before { content: @fa-var-tree; }
+.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; }
+.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; }
+.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; }
+.@{fa-css-prefix}-database:before { content: @fa-var-database; }
+.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; }
+.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; }
+.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; }
+.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; }
+.@{fa-css-prefix}-file-photo-o:before,
+.@{fa-css-prefix}-file-picture-o:before,
+.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; }
+.@{fa-css-prefix}-file-zip-o:before,
+.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; }
+.@{fa-css-prefix}-file-sound-o:before,
+.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; }
+.@{fa-css-prefix}-file-movie-o:before,
+.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; }
+.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; }
+.@{fa-css-prefix}-vine:before { content: @fa-var-vine; }
+.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; }
+.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; }
+.@{fa-css-prefix}-life-bouy:before,
+.@{fa-css-prefix}-life-saver:before,
+.@{fa-css-prefix}-support:before,
+.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; }
+.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; }
+.@{fa-css-prefix}-ra:before,
+.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; }
+.@{fa-css-prefix}-ge:before,
+.@{fa-css-prefix}-empire:before { content: @fa-var-empire; }
+.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; }
+.@{fa-css-prefix}-git:before { content: @fa-var-git; }
+.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; }
+.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; }
+.@{fa-css-prefix}-qq:before { content: @fa-var-qq; }
+.@{fa-css-prefix}-wechat:before,
+.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; }
+.@{fa-css-prefix}-send:before,
+.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; }
+.@{fa-css-prefix}-send-o:before,
+.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; }
+.@{fa-css-prefix}-history:before { content: @fa-var-history; }
+.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; }
+.@{fa-css-prefix}-header:before { content: @fa-var-header; }
+.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; }
+.@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; }
+.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; }
+.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; }
+.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; }
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/larger.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/larger.less
new file mode 100644
index 000000000..c9d646770
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/larger.less
@@ -0,0 +1,13 @@
+// Icon Sizes
+// -------------------------
+
+/* makes the font 33% larger relative to the icon container */
+.@{fa-css-prefix}-lg {
+ font-size: (4em / 3);
+ line-height: (3em / 4);
+ vertical-align: -15%;
+}
+.@{fa-css-prefix}-2x { font-size: 2em; }
+.@{fa-css-prefix}-3x { font-size: 3em; }
+.@{fa-css-prefix}-4x { font-size: 4em; }
+.@{fa-css-prefix}-5x { font-size: 5em; }
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/list.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/list.less
new file mode 100644
index 000000000..eed934051
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/list.less
@@ -0,0 +1,19 @@
+// List Icons
+// -------------------------
+
+.@{fa-css-prefix}-ul {
+ padding-left: 0;
+ margin-left: @fa-li-width;
+ list-style-type: none;
+ > li { position: relative; }
+}
+.@{fa-css-prefix}-li {
+ position: absolute;
+ left: -@fa-li-width;
+ width: @fa-li-width;
+ top: (2em / 14);
+ text-align: center;
+ &.@{fa-css-prefix}-lg {
+ left: -@fa-li-width + (4em / 14);
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/mixins.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/mixins.less
new file mode 100644
index 000000000..19e5a6457
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/mixins.less
@@ -0,0 +1,20 @@
+// Mixins
+// --------------------------
+
+.fa-icon-rotate(@degrees, @rotation) {
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
+ -webkit-transform: rotate(@degrees);
+ -moz-transform: rotate(@degrees);
+ -ms-transform: rotate(@degrees);
+ -o-transform: rotate(@degrees);
+ transform: rotate(@degrees);
+}
+
+.fa-icon-flip(@horiz, @vert, @rotation) {
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
+ -webkit-transform: scale(@horiz, @vert);
+ -moz-transform: scale(@horiz, @vert);
+ -ms-transform: scale(@horiz, @vert);
+ -o-transform: scale(@horiz, @vert);
+ transform: scale(@horiz, @vert);
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/path.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/path.less
new file mode 100644
index 000000000..d73bff8b5
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/path.less
@@ -0,0 +1,14 @@
+/* FONT PATH
+ * -------------------------- */
+
+@font-face {
+ font-family: 'FontAwesome';
+ src: ~"url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}')";
+ src: ~"url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype')",
+ ~"url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff')",
+ ~"url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype')",
+ ~"url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg')";
+// src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
+ font-weight: normal;
+ font-style: normal;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/rotated-flipped.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/rotated-flipped.less
new file mode 100644
index 000000000..8fff3a6c4
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/rotated-flipped.less
@@ -0,0 +1,9 @@
+// Rotated & Flipped Icons
+// -------------------------
+
+.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
+.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
+.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
+
+.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
+.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/spinning.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/spinning.less
new file mode 100644
index 000000000..06b71ecb4
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/spinning.less
@@ -0,0 +1,32 @@
+// Spinning Icons
+// --------------------------
+
+.@{fa-css-prefix}-spin {
+ -webkit-animation: spin 2s infinite linear;
+ -moz-animation: spin 2s infinite linear;
+ -o-animation: spin 2s infinite linear;
+ animation: spin 2s infinite linear;
+}
+
+@-moz-keyframes spin {
+ 0% { -moz-transform: rotate(0deg); }
+ 100% { -moz-transform: rotate(359deg); }
+}
+@-webkit-keyframes spin {
+ 0% { -webkit-transform: rotate(0deg); }
+ 100% { -webkit-transform: rotate(359deg); }
+}
+@-o-keyframes spin {
+ 0% { -o-transform: rotate(0deg); }
+ 100% { -o-transform: rotate(359deg); }
+}
+@keyframes spin {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(359deg);
+ transform: rotate(359deg);
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/stacked.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/stacked.less
new file mode 100644
index 000000000..fc53fb0e7
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/stacked.less
@@ -0,0 +1,20 @@
+// Stacked Icons
+// -------------------------
+
+.@{fa-css-prefix}-stack {
+ position: relative;
+ display: inline-block;
+ width: 2em;
+ height: 2em;
+ line-height: 2em;
+ vertical-align: middle;
+}
+.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
+ position: absolute;
+ left: 0;
+ width: 100%;
+ text-align: center;
+}
+.@{fa-css-prefix}-stack-1x { line-height: inherit; }
+.@{fa-css-prefix}-stack-2x { font-size: 2em; }
+.@{fa-css-prefix}-inverse { color: @fa-inverse; }
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/variables.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/variables.less
new file mode 100644
index 000000000..d7e8bd728
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/new/variables.less
@@ -0,0 +1,515 @@
+// Variables
+// --------------------------
+
+@fa-font-path: "../fonts";
+//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.1.0/fonts"; // for referencing Bootstrap CDN font files directly
+@fa-css-prefix: fa;
+@fa-version: "4.1.0";
+@fa-border-color: #eee;
+@fa-inverse: #fff;
+@fa-li-width: (30em / 14);
+
+@fa-var-adjust: "\f042";
+@fa-var-adn: "\f170";
+@fa-var-align-center: "\f037";
+@fa-var-align-justify: "\f039";
+@fa-var-align-left: "\f036";
+@fa-var-align-right: "\f038";
+@fa-var-ambulance: "\f0f9";
+@fa-var-anchor: "\f13d";
+@fa-var-android: "\f17b";
+@fa-var-angle-double-down: "\f103";
+@fa-var-angle-double-left: "\f100";
+@fa-var-angle-double-right: "\f101";
+@fa-var-angle-double-up: "\f102";
+@fa-var-angle-down: "\f107";
+@fa-var-angle-left: "\f104";
+@fa-var-angle-right: "\f105";
+@fa-var-angle-up: "\f106";
+@fa-var-apple: "\f179";
+@fa-var-archive: "\f187";
+@fa-var-arrow-circle-down: "\f0ab";
+@fa-var-arrow-circle-left: "\f0a8";
+@fa-var-arrow-circle-o-down: "\f01a";
+@fa-var-arrow-circle-o-left: "\f190";
+@fa-var-arrow-circle-o-right: "\f18e";
+@fa-var-arrow-circle-o-up: "\f01b";
+@fa-var-arrow-circle-right: "\f0a9";
+@fa-var-arrow-circle-up: "\f0aa";
+@fa-var-arrow-down: "\f063";
+@fa-var-arrow-left: "\f060";
+@fa-var-arrow-right: "\f061";
+@fa-var-arrow-up: "\f062";
+@fa-var-arrows: "\f047";
+@fa-var-arrows-alt: "\f0b2";
+@fa-var-arrows-h: "\f07e";
+@fa-var-arrows-v: "\f07d";
+@fa-var-asterisk: "\f069";
+@fa-var-automobile: "\f1b9";
+@fa-var-backward: "\f04a";
+@fa-var-ban: "\f05e";
+@fa-var-bank: "\f19c";
+@fa-var-bar-chart-o: "\f080";
+@fa-var-barcode: "\f02a";
+@fa-var-bars: "\f0c9";
+@fa-var-beer: "\f0fc";
+@fa-var-behance: "\f1b4";
+@fa-var-behance-square: "\f1b5";
+@fa-var-bell: "\f0f3";
+@fa-var-bell-o: "\f0a2";
+@fa-var-bitbucket: "\f171";
+@fa-var-bitbucket-square: "\f172";
+@fa-var-bitcoin: "\f15a";
+@fa-var-bold: "\f032";
+@fa-var-bolt: "\f0e7";
+@fa-var-bomb: "\f1e2";
+@fa-var-book: "\f02d";
+@fa-var-bookmark: "\f02e";
+@fa-var-bookmark-o: "\f097";
+@fa-var-briefcase: "\f0b1";
+@fa-var-btc: "\f15a";
+@fa-var-bug: "\f188";
+@fa-var-building: "\f1ad";
+@fa-var-building-o: "\f0f7";
+@fa-var-bullhorn: "\f0a1";
+@fa-var-bullseye: "\f140";
+@fa-var-cab: "\f1ba";
+@fa-var-calendar: "\f073";
+@fa-var-calendar-o: "\f133";
+@fa-var-camera: "\f030";
+@fa-var-camera-retro: "\f083";
+@fa-var-car: "\f1b9";
+@fa-var-caret-down: "\f0d7";
+@fa-var-caret-left: "\f0d9";
+@fa-var-caret-right: "\f0da";
+@fa-var-caret-square-o-down: "\f150";
+@fa-var-caret-square-o-left: "\f191";
+@fa-var-caret-square-o-right: "\f152";
+@fa-var-caret-square-o-up: "\f151";
+@fa-var-caret-up: "\f0d8";
+@fa-var-certificate: "\f0a3";
+@fa-var-chain: "\f0c1";
+@fa-var-chain-broken: "\f127";
+@fa-var-check: "\f00c";
+@fa-var-check-circle: "\f058";
+@fa-var-check-circle-o: "\f05d";
+@fa-var-check-square: "\f14a";
+@fa-var-check-square-o: "\f046";
+@fa-var-chevron-circle-down: "\f13a";
+@fa-var-chevron-circle-left: "\f137";
+@fa-var-chevron-circle-right: "\f138";
+@fa-var-chevron-circle-up: "\f139";
+@fa-var-chevron-down: "\f078";
+@fa-var-chevron-left: "\f053";
+@fa-var-chevron-right: "\f054";
+@fa-var-chevron-up: "\f077";
+@fa-var-child: "\f1ae";
+@fa-var-circle: "\f111";
+@fa-var-circle-o: "\f10c";
+@fa-var-circle-o-notch: "\f1ce";
+@fa-var-circle-thin: "\f1db";
+@fa-var-clipboard: "\f0ea";
+@fa-var-clock-o: "\f017";
+@fa-var-cloud: "\f0c2";
+@fa-var-cloud-download: "\f0ed";
+@fa-var-cloud-upload: "\f0ee";
+@fa-var-cny: "\f157";
+@fa-var-code: "\f121";
+@fa-var-code-fork: "\f126";
+@fa-var-codepen: "\f1cb";
+@fa-var-coffee: "\f0f4";
+@fa-var-cog: "\f013";
+@fa-var-cogs: "\f085";
+@fa-var-columns: "\f0db";
+@fa-var-comment: "\f075";
+@fa-var-comment-o: "\f0e5";
+@fa-var-comments: "\f086";
+@fa-var-comments-o: "\f0e6";
+@fa-var-compass: "\f14e";
+@fa-var-compress: "\f066";
+@fa-var-copy: "\f0c5";
+@fa-var-credit-card: "\f09d";
+@fa-var-crop: "\f125";
+@fa-var-crosshairs: "\f05b";
+@fa-var-css3: "\f13c";
+@fa-var-cube: "\f1b2";
+@fa-var-cubes: "\f1b3";
+@fa-var-cut: "\f0c4";
+@fa-var-cutlery: "\f0f5";
+@fa-var-dashboard: "\f0e4";
+@fa-var-database: "\f1c0";
+@fa-var-dedent: "\f03b";
+@fa-var-delicious: "\f1a5";
+@fa-var-desktop: "\f108";
+@fa-var-deviantart: "\f1bd";
+@fa-var-digg: "\f1a6";
+@fa-var-dollar: "\f155";
+@fa-var-dot-circle-o: "\f192";
+@fa-var-download: "\f019";
+@fa-var-dribbble: "\f17d";
+@fa-var-dropbox: "\f16b";
+@fa-var-drupal: "\f1a9";
+@fa-var-edit: "\f044";
+@fa-var-eject: "\f052";
+@fa-var-ellipsis-h: "\f141";
+@fa-var-ellipsis-v: "\f142";
+@fa-var-empire: "\f1d1";
+@fa-var-envelope: "\f0e0";
+@fa-var-envelope-o: "\f003";
+@fa-var-envelope-square: "\f199";
+@fa-var-eraser: "\f12d";
+@fa-var-eur: "\f153";
+@fa-var-euro: "\f153";
+@fa-var-exchange: "\f0ec";
+@fa-var-exclamation: "\f12a";
+@fa-var-exclamation-circle: "\f06a";
+@fa-var-exclamation-triangle: "\f071";
+@fa-var-expand: "\f065";
+@fa-var-external-link: "\f08e";
+@fa-var-external-link-square: "\f14c";
+@fa-var-eye: "\f06e";
+@fa-var-eye-slash: "\f070";
+@fa-var-facebook: "\f09a";
+@fa-var-facebook-square: "\f082";
+@fa-var-fast-backward: "\f049";
+@fa-var-fast-forward: "\f050";
+@fa-var-fax: "\f1ac";
+@fa-var-female: "\f182";
+@fa-var-fighter-jet: "\f0fb";
+@fa-var-file: "\f15b";
+@fa-var-file-archive-o: "\f1c6";
+@fa-var-file-audio-o: "\f1c7";
+@fa-var-file-code-o: "\f1c9";
+@fa-var-file-excel-o: "\f1c3";
+@fa-var-file-image-o: "\f1c5";
+@fa-var-file-movie-o: "\f1c8";
+@fa-var-file-o: "\f016";
+@fa-var-file-pdf-o: "\f1c1";
+@fa-var-file-photo-o: "\f1c5";
+@fa-var-file-picture-o: "\f1c5";
+@fa-var-file-powerpoint-o: "\f1c4";
+@fa-var-file-sound-o: "\f1c7";
+@fa-var-file-text: "\f15c";
+@fa-var-file-text-o: "\f0f6";
+@fa-var-file-video-o: "\f1c8";
+@fa-var-file-word-o: "\f1c2";
+@fa-var-file-zip-o: "\f1c6";
+@fa-var-files-o: "\f0c5";
+@fa-var-film: "\f008";
+@fa-var-filter: "\f0b0";
+@fa-var-fire: "\f06d";
+@fa-var-fire-extinguisher: "\f134";
+@fa-var-flag: "\f024";
+@fa-var-flag-checkered: "\f11e";
+@fa-var-flag-o: "\f11d";
+@fa-var-flash: "\f0e7";
+@fa-var-flask: "\f0c3";
+@fa-var-flickr: "\f16e";
+@fa-var-floppy-o: "\f0c7";
+@fa-var-folder: "\f07b";
+@fa-var-folder-o: "\f114";
+@fa-var-folder-open: "\f07c";
+@fa-var-folder-open-o: "\f115";
+@fa-var-font: "\f031";
+@fa-var-forward: "\f04e";
+@fa-var-foursquare: "\f180";
+@fa-var-frown-o: "\f119";
+@fa-var-gamepad: "\f11b";
+@fa-var-gavel: "\f0e3";
+@fa-var-gbp: "\f154";
+@fa-var-ge: "\f1d1";
+@fa-var-gear: "\f013";
+@fa-var-gears: "\f085";
+@fa-var-gift: "\f06b";
+@fa-var-git: "\f1d3";
+@fa-var-git-square: "\f1d2";
+@fa-var-github: "\f09b";
+@fa-var-github-alt: "\f113";
+@fa-var-github-square: "\f092";
+@fa-var-gittip: "\f184";
+@fa-var-glass: "\f000";
+@fa-var-globe: "\f0ac";
+@fa-var-google: "\f1a0";
+@fa-var-google-plus: "\f0d5";
+@fa-var-google-plus-square: "\f0d4";
+@fa-var-graduation-cap: "\f19d";
+@fa-var-group: "\f0c0";
+@fa-var-h-square: "\f0fd";
+@fa-var-hacker-news: "\f1d4";
+@fa-var-hand-o-down: "\f0a7";
+@fa-var-hand-o-left: "\f0a5";
+@fa-var-hand-o-right: "\f0a4";
+@fa-var-hand-o-up: "\f0a6";
+@fa-var-hdd-o: "\f0a0";
+@fa-var-header: "\f1dc";
+@fa-var-headphones: "\f025";
+@fa-var-heart: "\f004";
+@fa-var-heart-o: "\f08a";
+@fa-var-history: "\f1da";
+@fa-var-home: "\f015";
+@fa-var-hospital-o: "\f0f8";
+@fa-var-html5: "\f13b";
+@fa-var-image: "\f03e";
+@fa-var-inbox: "\f01c";
+@fa-var-indent: "\f03c";
+@fa-var-info: "\f129";
+@fa-var-info-circle: "\f05a";
+@fa-var-inr: "\f156";
+@fa-var-instagram: "\f16d";
+@fa-var-institution: "\f19c";
+@fa-var-italic: "\f033";
+@fa-var-joomla: "\f1aa";
+@fa-var-jpy: "\f157";
+@fa-var-jsfiddle: "\f1cc";
+@fa-var-key: "\f084";
+@fa-var-keyboard-o: "\f11c";
+@fa-var-krw: "\f159";
+@fa-var-language: "\f1ab";
+@fa-var-laptop: "\f109";
+@fa-var-leaf: "\f06c";
+@fa-var-legal: "\f0e3";
+@fa-var-lemon-o: "\f094";
+@fa-var-level-down: "\f149";
+@fa-var-level-up: "\f148";
+@fa-var-life-bouy: "\f1cd";
+@fa-var-life-ring: "\f1cd";
+@fa-var-life-saver: "\f1cd";
+@fa-var-lightbulb-o: "\f0eb";
+@fa-var-link: "\f0c1";
+@fa-var-linkedin: "\f0e1";
+@fa-var-linkedin-square: "\f08c";
+@fa-var-linux: "\f17c";
+@fa-var-list: "\f03a";
+@fa-var-list-alt: "\f022";
+@fa-var-list-ol: "\f0cb";
+@fa-var-list-ul: "\f0ca";
+@fa-var-location-arrow: "\f124";
+@fa-var-lock: "\f023";
+@fa-var-long-arrow-down: "\f175";
+@fa-var-long-arrow-left: "\f177";
+@fa-var-long-arrow-right: "\f178";
+@fa-var-long-arrow-up: "\f176";
+@fa-var-magic: "\f0d0";
+@fa-var-magnet: "\f076";
+@fa-var-mail-forward: "\f064";
+@fa-var-mail-reply: "\f112";
+@fa-var-mail-reply-all: "\f122";
+@fa-var-male: "\f183";
+@fa-var-map-marker: "\f041";
+@fa-var-maxcdn: "\f136";
+@fa-var-medkit: "\f0fa";
+@fa-var-meh-o: "\f11a";
+@fa-var-microphone: "\f130";
+@fa-var-microphone-slash: "\f131";
+@fa-var-minus: "\f068";
+@fa-var-minus-circle: "\f056";
+@fa-var-minus-square: "\f146";
+@fa-var-minus-square-o: "\f147";
+@fa-var-mobile: "\f10b";
+@fa-var-mobile-phone: "\f10b";
+@fa-var-money: "\f0d6";
+@fa-var-moon-o: "\f186";
+@fa-var-mortar-board: "\f19d";
+@fa-var-music: "\f001";
+@fa-var-navicon: "\f0c9";
+@fa-var-openid: "\f19b";
+@fa-var-outdent: "\f03b";
+@fa-var-pagelines: "\f18c";
+@fa-var-paper-plane: "\f1d8";
+@fa-var-paper-plane-o: "\f1d9";
+@fa-var-paperclip: "\f0c6";
+@fa-var-paragraph: "\f1dd";
+@fa-var-paste: "\f0ea";
+@fa-var-pause: "\f04c";
+@fa-var-paw: "\f1b0";
+@fa-var-pencil: "\f040";
+@fa-var-pencil-square: "\f14b";
+@fa-var-pencil-square-o: "\f044";
+@fa-var-phone: "\f095";
+@fa-var-phone-square: "\f098";
+@fa-var-photo: "\f03e";
+@fa-var-picture-o: "\f03e";
+@fa-var-pied-piper: "\f1a7";
+@fa-var-pied-piper-alt: "\f1a8";
+@fa-var-pied-piper-square: "\f1a7";
+@fa-var-pinterest: "\f0d2";
+@fa-var-pinterest-square: "\f0d3";
+@fa-var-plane: "\f072";
+@fa-var-play: "\f04b";
+@fa-var-play-circle: "\f144";
+@fa-var-play-circle-o: "\f01d";
+@fa-var-plus: "\f067";
+@fa-var-plus-circle: "\f055";
+@fa-var-plus-square: "\f0fe";
+@fa-var-plus-square-o: "\f196";
+@fa-var-power-off: "\f011";
+@fa-var-print: "\f02f";
+@fa-var-puzzle-piece: "\f12e";
+@fa-var-qq: "\f1d6";
+@fa-var-qrcode: "\f029";
+@fa-var-question: "\f128";
+@fa-var-question-circle: "\f059";
+@fa-var-quote-left: "\f10d";
+@fa-var-quote-right: "\f10e";
+@fa-var-ra: "\f1d0";
+@fa-var-random: "\f074";
+@fa-var-rebel: "\f1d0";
+@fa-var-recycle: "\f1b8";
+@fa-var-reddit: "\f1a1";
+@fa-var-reddit-square: "\f1a2";
+@fa-var-refresh: "\f021";
+@fa-var-renren: "\f18b";
+@fa-var-reorder: "\f0c9";
+@fa-var-repeat: "\f01e";
+@fa-var-reply: "\f112";
+@fa-var-reply-all: "\f122";
+@fa-var-retweet: "\f079";
+@fa-var-rmb: "\f157";
+@fa-var-road: "\f018";
+@fa-var-rocket: "\f135";
+@fa-var-rotate-left: "\f0e2";
+@fa-var-rotate-right: "\f01e";
+@fa-var-rouble: "\f158";
+@fa-var-rss: "\f09e";
+@fa-var-rss-square: "\f143";
+@fa-var-rub: "\f158";
+@fa-var-ruble: "\f158";
+@fa-var-rupee: "\f156";
+@fa-var-save: "\f0c7";
+@fa-var-scissors: "\f0c4";
+@fa-var-search: "\f002";
+@fa-var-search-minus: "\f010";
+@fa-var-search-plus: "\f00e";
+@fa-var-send: "\f1d8";
+@fa-var-send-o: "\f1d9";
+@fa-var-share: "\f064";
+@fa-var-share-alt: "\f1e0";
+@fa-var-share-alt-square: "\f1e1";
+@fa-var-share-square: "\f14d";
+@fa-var-share-square-o: "\f045";
+@fa-var-shield: "\f132";
+@fa-var-shopping-cart: "\f07a";
+@fa-var-sign-in: "\f090";
+@fa-var-sign-out: "\f08b";
+@fa-var-signal: "\f012";
+@fa-var-sitemap: "\f0e8";
+@fa-var-skype: "\f17e";
+@fa-var-slack: "\f198";
+@fa-var-sliders: "\f1de";
+@fa-var-smile-o: "\f118";
+@fa-var-sort: "\f0dc";
+@fa-var-sort-alpha-asc: "\f15d";
+@fa-var-sort-alpha-desc: "\f15e";
+@fa-var-sort-amount-asc: "\f160";
+@fa-var-sort-amount-desc: "\f161";
+@fa-var-sort-asc: "\f0de";
+@fa-var-sort-desc: "\f0dd";
+@fa-var-sort-down: "\f0dd";
+@fa-var-sort-numeric-asc: "\f162";
+@fa-var-sort-numeric-desc: "\f163";
+@fa-var-sort-up: "\f0de";
+@fa-var-soundcloud: "\f1be";
+@fa-var-space-shuttle: "\f197";
+@fa-var-spinner: "\f110";
+@fa-var-spoon: "\f1b1";
+@fa-var-spotify: "\f1bc";
+@fa-var-square: "\f0c8";
+@fa-var-square-o: "\f096";
+@fa-var-stack-exchange: "\f18d";
+@fa-var-stack-overflow: "\f16c";
+@fa-var-star: "\f005";
+@fa-var-star-half: "\f089";
+@fa-var-star-half-empty: "\f123";
+@fa-var-star-half-full: "\f123";
+@fa-var-star-half-o: "\f123";
+@fa-var-star-o: "\f006";
+@fa-var-steam: "\f1b6";
+@fa-var-steam-square: "\f1b7";
+@fa-var-step-backward: "\f048";
+@fa-var-step-forward: "\f051";
+@fa-var-stethoscope: "\f0f1";
+@fa-var-stop: "\f04d";
+@fa-var-strikethrough: "\f0cc";
+@fa-var-stumbleupon: "\f1a4";
+@fa-var-stumbleupon-circle: "\f1a3";
+@fa-var-subscript: "\f12c";
+@fa-var-suitcase: "\f0f2";
+@fa-var-sun-o: "\f185";
+@fa-var-superscript: "\f12b";
+@fa-var-support: "\f1cd";
+@fa-var-table: "\f0ce";
+@fa-var-tablet: "\f10a";
+@fa-var-tachometer: "\f0e4";
+@fa-var-tag: "\f02b";
+@fa-var-tags: "\f02c";
+@fa-var-tasks: "\f0ae";
+@fa-var-taxi: "\f1ba";
+@fa-var-tencent-weibo: "\f1d5";
+@fa-var-terminal: "\f120";
+@fa-var-text-height: "\f034";
+@fa-var-text-width: "\f035";
+@fa-var-th: "\f00a";
+@fa-var-th-large: "\f009";
+@fa-var-th-list: "\f00b";
+@fa-var-thumb-tack: "\f08d";
+@fa-var-thumbs-down: "\f165";
+@fa-var-thumbs-o-down: "\f088";
+@fa-var-thumbs-o-up: "\f087";
+@fa-var-thumbs-up: "\f164";
+@fa-var-ticket: "\f145";
+@fa-var-times: "\f00d";
+@fa-var-times-circle: "\f057";
+@fa-var-times-circle-o: "\f05c";
+@fa-var-tint: "\f043";
+@fa-var-toggle-down: "\f150";
+@fa-var-toggle-left: "\f191";
+@fa-var-toggle-right: "\f152";
+@fa-var-toggle-up: "\f151";
+@fa-var-trash-o: "\f014";
+@fa-var-tree: "\f1bb";
+@fa-var-trello: "\f181";
+@fa-var-trophy: "\f091";
+@fa-var-truck: "\f0d1";
+@fa-var-try: "\f195";
+@fa-var-tumblr: "\f173";
+@fa-var-tumblr-square: "\f174";
+@fa-var-turkish-lira: "\f195";
+@fa-var-twitter: "\f099";
+@fa-var-twitter-square: "\f081";
+@fa-var-umbrella: "\f0e9";
+@fa-var-underline: "\f0cd";
+@fa-var-undo: "\f0e2";
+@fa-var-university: "\f19c";
+@fa-var-unlink: "\f127";
+@fa-var-unlock: "\f09c";
+@fa-var-unlock-alt: "\f13e";
+@fa-var-unsorted: "\f0dc";
+@fa-var-upload: "\f093";
+@fa-var-usd: "\f155";
+@fa-var-user: "\f007";
+@fa-var-user-md: "\f0f0";
+@fa-var-users: "\f0c0";
+@fa-var-video-camera: "\f03d";
+@fa-var-vimeo-square: "\f194";
+@fa-var-vine: "\f1ca";
+@fa-var-vk: "\f189";
+@fa-var-volume-down: "\f027";
+@fa-var-volume-off: "\f026";
+@fa-var-volume-up: "\f028";
+@fa-var-warning: "\f071";
+@fa-var-wechat: "\f1d7";
+@fa-var-weibo: "\f18a";
+@fa-var-weixin: "\f1d7";
+@fa-var-wheelchair: "\f193";
+@fa-var-windows: "\f17a";
+@fa-var-won: "\f159";
+@fa-var-wordpress: "\f19a";
+@fa-var-wrench: "\f0ad";
+@fa-var-xing: "\f168";
+@fa-var-xing-square: "\f169";
+@fa-var-yahoo: "\f19e";
+@fa-var-yen: "\f157";
+@fa-var-youtube: "\f167";
+@fa-var-youtube-play: "\f16a";
+@fa-var-youtube-square: "\f166";
+
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/path.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/path.less
new file mode 100644
index 000000000..646525207
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/path.less
@@ -0,0 +1,26 @@
+/* FONT PATH
+ * -------------------------- */
+
+/*
+@font-face {
+ font-family: 'FontAwesome';
+ src: url('@{FontAwesomePath}/fontawesome-webfont.eot?v=@{FontAwesomeVersion}');
+ src: url('@{FontAwesomePath}/fontawesome-webfont.eot?#iefix&v=@{FontAwesomeVersion}') format('embedded-opentype'),
+ url('@{FontAwesomePath}/fontawesome-webfont.woff?v=@{FontAwesomeVersion}') format('woff'),
+ url('@{FontAwesomePath}/fontawesome-webfont.ttf?v=@{FontAwesomeVersion}') format('truetype'),
+ url('@{FontAwesomePath}/fontawesome-webfont.svg#fontawesomeregular?v=@{FontAwesomeVersion}') format('svg');
+// src: url('@{FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts
+ font-weight: normal;
+ font-style: normal;
+}*/
+@font-face {
+ font-family: 'FontAwesome';
+ src: url('@{FontAwesomePath}/fontawesome-webfont.eot?v=3');
+ src: url('@{FontAwesomePath}/fontawesome-webfont.eot?#iefix&v=3') format('embedded-opentype'),
+ url('@{FontAwesomePath}/fontawesome-webfont.woff?v=3') format('woff'),
+ url('@{FontAwesomePath}/fontawesome-webfont.ttf?v=3') format('truetype'),
+ url('@{FontAwesomePath}/fontawesome-webfont.svg?v=3#fontawesomeregular') format('svg');
+ // src: url('@{FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts
+ font-weight: normal;
+ font-style: normal;
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/variables.less b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/variables.less
new file mode 100644
index 000000000..273adbaaf
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/fontawesome/variables.less
@@ -0,0 +1,737 @@
+// Variables
+// --------------------------
+
+@FontAwesomePath: "../font";
+//@FontAwesomePath: "//netdna.bootstrapcdn.com/font-awesome/3.2.1/font"; // for referencing Bootstrap CDN font files directly
+@FontAwesomeVersion: "3.2.1";
+@borderColor: #eee;
+@iconMuted: #eee;
+@iconLight: #fff;
+@iconDark: #333;
+@icons-li-width: 30/14em;
+
+
+ @glass: "\f000";
+
+ @music: "\f001";
+
+ @search: "\f002";
+
+ @envelope-alt: "\f003";
+
+ @heart: "\f004";
+
+ @star: "\f005";
+
+ @star-empty: "\f006";
+
+ @user: "\f007";
+
+ @film: "\f008";
+
+ @th-large: "\f009";
+
+ @th: "\f00a";
+
+ @th-list: "\f00b";
+
+ @ok: "\f00c";
+
+ @remove: "\f00d";
+
+ @zoom-in: "\f00e";
+
+ @zoom-out: "\f010";
+
+ @off: "\f011";
+
+ @signal: "\f012";
+
+ @cog: "\f013";
+
+ @trash: "\f014";
+
+ @home: "\f015";
+
+ @file-alt: "\f016";
+
+ @time: "\f017";
+
+ @road: "\f018";
+
+ @download-alt: "\f019";
+
+ @download: "\f01a";
+
+ @upload: "\f01b";
+
+ @inbox: "\f01c";
+
+ @play-circle: "\f01d";
+
+ @repeat: "\f01e";
+
+ @refresh: "\f021";
+
+ @list-alt: "\f022";
+
+ @lock: "\f023";
+
+ @flag: "\f024";
+
+ @headphones: "\f025";
+
+ @volume-off: "\f026";
+
+ @volume-down: "\f027";
+
+ @volume-up: "\f028";
+
+ @qrcode: "\f029";
+
+ @barcode: "\f02a";
+
+ @tag: "\f02b";
+
+ @tags: "\f02c";
+
+ @book: "\f02d";
+
+ @bookmark: "\f02e";
+
+ @print: "\f02f";
+
+ @camera: "\f030";
+
+ @font: "\f031";
+
+ @bold: "\f032";
+
+ @italic: "\f033";
+
+ @text-height: "\f034";
+
+ @text-width: "\f035";
+
+ @align-left: "\f036";
+
+ @align-center: "\f037";
+
+ @align-right: "\f038";
+
+ @align-justify: "\f039";
+
+ @list: "\f03a";
+
+ @indent-left: "\f03b";
+
+ @indent-right: "\f03c";
+
+ @facetime-video: "\f03d";
+
+ @picture: "\f03e";
+
+ @pencil: "\f040";
+
+ @map-marker: "\f041";
+
+ @adjust: "\f042";
+
+ @tint: "\f043";
+
+ @edit: "\f044";
+
+ @share: "\f045";
+
+ @check: "\f046";
+
+ @move: "\f047";
+
+ @step-backward: "\f048";
+
+ @fast-backward: "\f049";
+
+ @backward: "\f04a";
+
+ @play: "\f04b";
+
+ @pause: "\f04c";
+
+ @stop: "\f04d";
+
+ @forward: "\f04e";
+
+ @fast-forward: "\f050";
+
+ @step-forward: "\f051";
+
+ @eject: "\f052";
+
+ @chevron-left: "\f053";
+
+ @chevron-right: "\f054";
+
+ @plus-sign: "\f055";
+
+ @minus-sign: "\f056";
+
+ @remove-sign: "\f057";
+
+ @ok-sign: "\f058";
+
+ @question-sign: "\f059";
+
+ @info-sign: "\f05a";
+
+ @screenshot: "\f05b";
+
+ @remove-circle: "\f05c";
+
+ @ok-circle: "\f05d";
+
+ @ban-circle: "\f05e";
+
+ @arrow-left: "\f060";
+
+ @arrow-right: "\f061";
+
+ @arrow-up: "\f062";
+
+ @arrow-down: "\f063";
+
+ @share-alt: "\f064";
+
+ @resize-full: "\f065";
+
+ @resize-small: "\f066";
+
+ @plus: "\f067";
+
+ @minus: "\f068";
+
+ @asterisk: "\f069";
+
+ @exclamation-sign: "\f06a";
+
+ @gift: "\f06b";
+
+ @leaf: "\f06c";
+
+ @fire: "\f06d";
+
+ @eye-open: "\f06e";
+
+ @eye-close: "\f070";
+
+ @warning-sign: "\f071";
+
+ @plane: "\f072";
+
+ @calendar: "\f073";
+
+ @random: "\f074";
+
+ @comment: "\f075";
+
+ @magnet: "\f076";
+
+ @chevron-up: "\f077";
+
+ @chevron-down: "\f078";
+
+ @retweet: "\f079";
+
+ @shopping-cart: "\f07a";
+
+ @folder-close: "\f07b";
+
+ @folder-open: "\f07c";
+
+ @resize-vertical: "\f07d";
+
+ @resize-horizontal: "\f07e";
+
+ @bar-chart: "\f080";
+
+ @twitter-sign: "\f081";
+
+ @facebook-sign: "\f082";
+
+ @camera-retro: "\f083";
+
+ @key: "\f084";
+
+ @cogs: "\f085";
+
+ @comments: "\f086";
+
+ @thumbs-up-alt: "\f087";
+
+ @thumbs-down-alt: "\f088";
+
+ @star-half: "\f089";
+
+ @heart-empty: "\f08a";
+
+ @signout: "\f08b";
+
+ @linkedin-sign: "\f08c";
+
+ @pushpin: "\f08d";
+
+ @external-link: "\f08e";
+
+ @signin: "\f090";
+
+ @trophy: "\f091";
+
+ @github-sign: "\f092";
+
+ @upload-alt: "\f093";
+
+ @lemon: "\f094";
+
+ @phone: "\f095";
+
+ @check-empty: "\f096";
+
+ @bookmark-empty: "\f097";
+
+ @phone-sign: "\f098";
+
+ @twitter: "\f099";
+
+ @facebook: "\f09a";
+
+ @github: "\f09b";
+
+ @unlock: "\f09c";
+
+ @credit-card: "\f09d";
+
+ @rss: "\f09e";
+
+ @hdd: "\f0a0";
+
+ @bullhorn: "\f0a1";
+
+ @bell: "\f0a2";
+
+ @certificate: "\f0a3";
+
+ @hand-right: "\f0a4";
+
+ @hand-left: "\f0a5";
+
+ @hand-up: "\f0a6";
+
+ @hand-down: "\f0a7";
+
+ @circle-arrow-left: "\f0a8";
+
+ @circle-arrow-right: "\f0a9";
+
+ @circle-arrow-up: "\f0aa";
+
+ @circle-arrow-down: "\f0ab";
+
+ @globe: "\f0ac";
+
+ @wrench: "\f0ad";
+
+ @tasks: "\f0ae";
+
+ @filter: "\f0b0";
+
+ @briefcase: "\f0b1";
+
+ @fullscreen: "\f0b2";
+
+ @group: "\f0c0";
+
+ @link: "\f0c1";
+
+ @cloud: "\f0c2";
+
+ @beaker: "\f0c3";
+
+ @cut: "\f0c4";
+
+ @copy: "\f0c5";
+
+ @paper-clip: "\f0c6";
+
+ @save: "\f0c7";
+
+ @sign-blank: "\f0c8";
+
+ @reorder: "\f0c9";
+
+ @list-ul: "\f0ca";
+
+ @list-ol: "\f0cb";
+
+ @strikethrough: "\f0cc";
+
+ @underline: "\f0cd";
+
+ @table: "\f0ce";
+
+ @magic: "\f0d0";
+
+ @truck: "\f0d1";
+
+ @pinterest: "\f0d2";
+
+ @pinterest-sign: "\f0d3";
+
+ @google-plus-sign: "\f0d4";
+
+ @google-plus: "\f0d5";
+
+ @money: "\f0d6";
+
+ @caret-down: "\f0d7";
+
+ @caret-up: "\f0d8";
+
+ @caret-left: "\f0d9";
+
+ @caret-right: "\f0da";
+
+ @columns: "\f0db";
+
+ @sort: "\f0dc";
+
+ @sort-down: "\f0dd";
+
+ @sort-up: "\f0de";
+
+ @envelope: "\f0e0";
+
+ @linkedin: "\f0e1";
+
+ @undo: "\f0e2";
+
+ @legal: "\f0e3";
+
+ @dashboard: "\f0e4";
+
+ @comment-alt: "\f0e5";
+
+ @comments-alt: "\f0e6";
+
+ @bolt: "\f0e7";
+
+ @sitemap: "\f0e8";
+
+ @umbrella: "\f0e9";
+
+ @paste: "\f0ea";
+
+ @lightbulb: "\f0eb";
+
+ @exchange: "\f0ec";
+
+ @cloud-download: "\f0ed";
+
+ @cloud-upload: "\f0ee";
+
+ @user-md: "\f0f0";
+
+ @stethoscope: "\f0f1";
+
+ @suitcase: "\f0f2";
+
+ @bell-alt: "\f0f3";
+
+ @coffee: "\f0f4";
+
+ @food: "\f0f5";
+
+ @file-text-alt: "\f0f6";
+
+ @building: "\f0f7";
+
+ @hospital: "\f0f8";
+
+ @ambulance: "\f0f9";
+
+ @medkit: "\f0fa";
+
+ @fighter-jet: "\f0fb";
+
+ @beer: "\f0fc";
+
+ @h-sign: "\f0fd";
+
+ @plus-sign-alt: "\f0fe";
+
+ @double-angle-left: "\f100";
+
+ @double-angle-right: "\f101";
+
+ @double-angle-up: "\f102";
+
+ @double-angle-down: "\f103";
+
+ @angle-left: "\f104";
+
+ @angle-right: "\f105";
+
+ @angle-up: "\f106";
+
+ @angle-down: "\f107";
+
+ @desktop: "\f108";
+
+ @laptop: "\f109";
+
+ @tablet: "\f10a";
+
+ @mobile-phone: "\f10b";
+
+ @circle-blank: "\f10c";
+
+ @quote-left: "\f10d";
+
+ @quote-right: "\f10e";
+
+ @spinner: "\f110";
+
+ @circle: "\f111";
+
+ @reply: "\f112";
+
+ @github-alt: "\f113";
+
+ @folder-close-alt: "\f114";
+
+ @folder-open-alt: "\f115";
+
+ @expand-alt: "\f116";
+
+ @collapse-alt: "\f117";
+
+ @smile: "\f118";
+
+ @frown: "\f119";
+
+ @meh: "\f11a";
+
+ @gamepad: "\f11b";
+
+ @keyboard: "\f11c";
+
+ @flag-alt: "\f11d";
+
+ @flag-checkered: "\f11e";
+
+ @terminal: "\f120";
+
+ @code: "\f121";
+
+ @reply-all: "\f122";
+
+ @mail-reply-all: "\f122";
+
+ @star-half-empty: "\f123";
+
+ @location-arrow: "\f124";
+
+ @crop: "\f125";
+
+ @code-fork: "\f126";
+
+ @unlink: "\f127";
+
+ @question: "\f128";
+
+ @info: "\f129";
+
+ @exclamation: "\f12a";
+
+ @superscript: "\f12b";
+
+ @subscript: "\f12c";
+
+ @eraser: "\f12d";
+
+ @puzzle-piece: "\f12e";
+
+ @microphone: "\f130";
+
+ @microphone-off: "\f131";
+
+ @shield: "\f132";
+
+ @calendar-empty: "\f133";
+
+ @fire-extinguisher: "\f134";
+
+ @rocket: "\f135";
+
+ @maxcdn: "\f136";
+
+ @chevron-sign-left: "\f137";
+
+ @chevron-sign-right: "\f138";
+
+ @chevron-sign-up: "\f139";
+
+ @chevron-sign-down: "\f13a";
+
+ @html5: "\f13b";
+
+ @css3: "\f13c";
+
+ @anchor: "\f13d";
+
+ @unlock-alt: "\f13e";
+
+ @bullseye: "\f140";
+
+ @ellipsis-horizontal: "\f141";
+
+ @ellipsis-vertical: "\f142";
+
+ @rss-sign: "\f143";
+
+ @play-sign: "\f144";
+
+ @ticket: "\f145";
+
+ @minus-sign-alt: "\f146";
+
+ @check-minus: "\f147";
+
+ @level-up: "\f148";
+
+ @level-down: "\f149";
+
+ @check-sign: "\f14a";
+
+ @edit-sign: "\f14b";
+
+ @external-link-sign: "\f14c";
+
+ @share-sign: "\f14d";
+
+ @compass: "\f14e";
+
+ @collapse: "\f150";
+
+ @collapse-top: "\f151";
+
+ @expand: "\f152";
+
+ @eur: "\f153";
+
+ @gbp: "\f154";
+
+ @usd: "\f155";
+
+ @inr: "\f156";
+
+ @jpy: "\f157";
+
+ @cny: "\f158";
+
+ @krw: "\f159";
+
+ @btc: "\f15a";
+
+ @file: "\f15b";
+
+ @file-text: "\f15c";
+
+ @sort-by-alphabet: "\f15d";
+
+ @sort-by-alphabet-alt: "\f15e";
+
+ @sort-by-attributes: "\f160";
+
+ @sort-by-attributes-alt: "\f161";
+
+ @sort-by-order: "\f162";
+
+ @sort-by-order-alt: "\f163";
+
+ @thumbs-up: "\f164";
+
+ @thumbs-down: "\f165";
+
+ @youtube-sign: "\f166";
+
+ @youtube: "\f167";
+
+ @xing: "\f168";
+
+ @xing-sign: "\f169";
+
+ @youtube-play: "\f16a";
+
+ @dropbox: "\f16b";
+
+ @stackexchange: "\f16c";
+
+ @instagram: "\f16d";
+
+ @flickr: "\f16e";
+
+ @adn: "\f170";
+
+ @bitbucket: "\f171";
+
+ @bitbucket-sign: "\f172";
+
+ @tumblr: "\f173";
+
+ @tumblr-sign: "\f174";
+
+ @long-arrow-down: "\f175";
+
+ @long-arrow-up: "\f176";
+
+ @long-arrow-left: "\f177";
+
+ @long-arrow-right: "\f178";
+
+ @apple: "\f179";
+
+ @windows: "\f17a";
+
+ @android: "\f17b";
+
+ @linux: "\f17c";
+
+ @dribbble: "\f17d";
+
+ @skype: "\f17e";
+
+ @foursquare: "\f180";
+
+ @trello: "\f181";
+
+ @female: "\f182";
+
+ @male: "\f183";
+
+ @gittip: "\f184";
+
+ @sun: "\f185";
+
+ @moon: "\f186";
+
+ @archive: "\f187";
+
+ @bug: "\f188";
+
+ @vk: "\f189";
+
+ @weibo: "\f18a";
+
+ @renren: "\f18b";
+
+ @fax: "\f1ac";
+
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/styles.less b/templates/frontOffice/sterivein_sans_commande/assets/less/styles.less
new file mode 100644
index 000000000..be1ed75f6
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/styles.less
@@ -0,0 +1,11 @@
+/* Bootstrap */
+@import "bootstrap/bootstrap";
+
+/* FontAwesome */
+@import "fontawesome/font-awesome";
+
+/* Thelia */
+@import "thelia/import";
+
+/* Theme */
+@import "../themes/default/less/import";
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/account.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/account.less
new file mode 100644
index 000000000..1e78cd9b7
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/account.less
@@ -0,0 +1,68 @@
+// Account Panel
+.account-info {
+ .list-info {
+ address { margin-bottom: 0; }
+
+ .mobile,
+ .tel,
+ .email {
+ display: block;
+ }
+
+ > li { margin-bottom: @line-height-computed; }
+ }
+}
+
+.account-address {
+ .btn-add-address { margin-bottom: 10px; }
+
+ .address-primary {}
+ .address-additional {}
+}
+
+.account-orders {
+
+ // Table of Orders
+ .table-orders {
+ thead,
+ tbody,
+ tfooter {
+ > tr {
+ > th,
+ > td {
+ }
+ }
+ }
+
+ thead {
+ th {}
+ }
+
+ tbody {
+ td {}
+ }
+
+ tfoot {
+ td {}
+ }
+ }
+}
+
+// Message if no order or no address
+.deliveries-warning,
+.address-warning,
+.orders-warning,
+.folder-warning {
+ clear: both;
+ .alert; .alert-warning;
+ margin-bottom: 0;
+ text-align: center;
+
+ > a { color: inherit; }
+
+ &:before {
+ .icon(@warning-sign);
+ display: block;
+ font-size: 2.2em;
+ }
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/blocks.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/blocks.less
new file mode 100644
index 000000000..3a5d5d44b
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/blocks.less
@@ -0,0 +1,253 @@
+// Thelia : Block (Nav, Links, Poll, )
+
+.block {
+ background: @block-bg;
+ border: 1px solid @block-border;
+ .border-radius(@block-border-radius);
+ .box-shadow(@block-shadow);
+
+ // Heading
+ .block-heading {
+ background: @block-heading-bg;
+ border-bottom: 1px solid @block-heading-border;
+ color: @block-heading-color;
+ margin:0 0 @padding-base-vertical 0; padding-bottom: @padding-base-vertical;
+ }
+
+ // Within heading, strip any `h*` tag of it's default margins for spacing.
+ .block-title {
+ font-size: @block-heading-font-size;
+ margin-top: 0; margin-bottom: 0;
+ > a {
+ color: inherit;
+ }
+ }
+
+ .block-content {
+ font-size: @font-size-small;
+ margin-bottom: @line-height-computed;
+
+ .block-subtitle {
+ /*border-bottom: 1px solid @block-subheading-border;*/
+ color: @block-subheading-color;
+ font-size: @block-subheading-font-size;
+ font-weight: 300;
+ margin:0 0 @padding-base-vertical 0;
+ }
+ }
+}
+
+
+// Block - Default
+.block-default {
+ .block-content {
+ ul {
+ .list-unstyled();
+ > li {
+ margin-left: 15px; padding-top: @padding-base-vertical;
+ a {
+ color: @block-links-color;
+ // Hover state
+ &:hover,
+ &:focus {
+ color: @link-hover-color;
+ }
+ }
+ &:before {
+ .icon(@chevron-right);
+ color: @link-color;
+ margin-left: -15px; margin-right: 5px;
+ }
+ }
+ }
+ }
+}
+
+
+/* Block - Links */
+.block-links {
+ .block-content {
+ ul {
+ .list-unstyled();
+ > li + li a { border-top: 1px solid @block-links-border; }
+ > li a {
+ background-color: @block-links-bg;
+ color: @block-links-color;
+ display: block;
+ font-size: @font-size-small;
+ font-weight: normal;
+ padding: 10px 3px;
+ position: relative;
+
+ // Hover state
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ background-color: @block-links-hover-bg;
+ }
+
+ > p { margin-bottom: 0; }
+ }
+ }
+ }
+}
+
+
+/* Block - Nav */
+.block-nav {
+ .block-heading { margin-bottom: 0;}
+ .block-content {
+ ul {
+ .list-unstyled();
+ //> li + li a { border-top: 1px solid @block-nav-border; }
+ > li a {
+ background-color: @block-nav-bg;
+ border-top: 1px solid @block-nav-border;
+ color: @block-nav-color;
+ display: block;
+ font-size: @font-size-small;
+ font-weight: normal;
+ padding: 10px 3px;
+ position: relative;
+
+ // Hover state
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ background-color: @block-nav-hover-bg;
+ }
+ &.accordion-toggle {
+ &:after {
+ color: @brand-primary;
+ float: right;
+ .icon(@minus);
+ }
+ &.collapsed:after { content: @plus; }
+ }
+ }
+ ul a { padding-left: 15px; }
+ ul ul a { padding-left: 30px; }
+ ul ul ul a { padding-left: 45px; }
+ }
+ }
+}
+
+
+/* Block - Thumbnails */
+.block-thumbnail {
+ .make-row();
+ &.block-thumbnail-2 li { max-width: percentage((6 / @grid-columns)); }
+ &.block-thumbnail-3 li { max-width: percentage((4 / @grid-columns)); }
+ &.block-thumbnail-4 li { max-width: percentage((3 / @grid-columns)); }
+ .block-content {
+ ul {
+ .list-unstyled();
+ > li {
+ float: left;
+ padding-right: (@grid-gutter-width / 4);
+ padding-bottom: (@grid-gutter-width / 4);
+ position: relative;
+ max-width: percentage((4 / @grid-columns)); // Default is 3 thumbnails
+ }
+ }
+ }
+}
+
+/* Block - Social */
+.block-social {
+ .block-content {
+ ul {
+ .list-unstyled();
+ > li {
+ display: inline-block;
+ font-size: @font-size-large;
+ > a {
+ color: @block-social-links-color;
+ &:hover,
+ &:focus {
+ color: @block-social-links-hover-color;
+ }
+ }
+ }
+ }
+ }
+}
+
+
+/* Block - Newsletter */
+&.block-newsletter {
+ .block-content {
+ form {
+ .btn-subscribe { padding: 6px 6px; }
+ }
+ }
+}
+
+
+/* Block - Contact Info */
+.block-contact {
+ .block-content {
+ ul {
+ .list-unstyled();
+ > li {
+ clear: both;
+ margin-bottom: 5px;
+ }
+ }
+ }
+}
+
+
+// Block - Carousel
+.block-carousel {
+ margin-bottom: 30px;
+ .carousel-indicators {
+ bottom: auto;
+ }
+ .block-carousel-control {
+ .pull-right;
+ .carousel-control {
+ background: #efefef;
+ color: #000;
+ display: block;
+ float: left;
+ font-size: 24px;
+ margin-left: 3px;
+ position: relative;
+ top: 1px; left: auto; bottom: auto;
+ width: 28px; height: 28px;
+ .transition(background-color 300ms ease-in-out);
+
+ &:hover,&:focus {
+ background-color: #000;
+ color: #fff;
+ }
+ }
+ }
+}
+
+
+/* Block - Poll */
+.block-poll {}
+
+
+/* Block - Compare */
+.block-compare {}
+
+
+/* Block - Wishlist */
+.block-wishlist {}
+
+
+/* Block - Cart */
+.block-cart {
+ .block-title {}
+ .block-content {}
+}
+
+
+/* Block - Related */
+.block-cart {
+ .block-title {}
+ .block-content {}
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/brand.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/brand.less
new file mode 100644
index 000000000..cb993aca8
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/brand.less
@@ -0,0 +1,99 @@
+// Thelia : Brand
+
+// Brand Info
+.brand-chapo {}
+.brand-description {
+ margin-bottom: 20px;
+}
+
+// Content List
+#brands {
+ .brands > ul { .brands-list; }
+}
+
+.brands-grid,
+.brands-list {
+ // Animation
+ @media (min-width: @screen-tablet) {
+ .brand-image {
+ display: block;
+ overflow: hidden;
+ position: relative;
+ > .mask {
+ background-color: @brand-primary;
+ background-color: rgba(red(@brand-primary), green(@brand-primary), blue(@brand-primary), .4);
+ display: block;
+ .opacity(0);
+ overflow: visible;
+ position: absolute;
+ top: 0; left: 0;
+ visibility: hidden;
+ width: 100%; height: 100%;
+ .transition(opacity 300ms ease-in-out 50ms);
+ }
+ &:hover,
+ &:focus {
+ .mask {
+ visibility: visible;
+ .opacity(1);
+ }
+ }
+
+ }
+ }
+}
+
+
+// Contents Grid
+.brands-grid {
+ .make-row();
+ .list-unstyled();
+ .item { .make-sm-column(4); .make-md-column(4); .clearfix(); } // default
+ &.content-col-2 > .item { .make-md-column(6); }
+ &.content-col-3 > .item { .make-md-column(4); }
+ &.content-col-4 > .item { .make-md-column(3); }
+ &.content-col-5 > .item { .make-md-column(2.4); }
+ &.content-col-6 > .item { .make-md-column(2); }
+
+ .item {
+ margin-bottom: @line-height-computed;
+
+ .brand-image {
+ > img { .img-responsive(); width: 100%; }
+ > .mask {}
+ }
+
+ .brand-info {
+ .name { margin: 4px 0; }
+ .description { .visible-xs; }
+ .short-description { display: block; margin-bottom: 5px; }
+ }
+ }
+}
+
+// Content List
+.brands-list {
+ .list-unstyled();
+ .item {
+ padding-bottom: 15px;
+ + .item { border-top: 1px solid #ededed; padding-top: 15px; }
+ > article {
+ .make-row();
+ margin-left: 0;
+
+ .brand-image {
+ .make-sm-column(2);
+ margin-bottom: 15px; padding: 0;
+ > img { .img-responsive(); width: 100%; }
+ > .mask {}
+ }
+
+ .brand-info {
+ .make-sm-column(7);
+ .name { margin-top: 0; }
+ .description {}
+ .short-description {}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/breadcrumbs.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/breadcrumbs.less
new file mode 100644
index 000000000..3c7942746
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/breadcrumbs.less
@@ -0,0 +1,10 @@
+
+// Thelia: Breadcrumb
+.breadcrumb {
+ padding: @breadcrumb-padding;
+ > li {
+ &+li:before {
+ .icon(@angle-right); // Unicode space added since inline-block means non-collapsing white-space
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/buttons.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/buttons.less
new file mode 100644
index 000000000..4f5bc91fb
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/buttons.less
@@ -0,0 +1,101 @@
+// Thelia : Buttons
+
+.btn-primary {}
+
+.btn-secondary {
+ .btn-default;
+}
+
+
+// Buttons
+.btn {
+
+ // Remove Box Shadow
+ &:active,
+ &.active {
+ .box-shadow(none);
+ }
+
+ // Primary Buttons
+ &.btn_add_to_cart,
+ &.btn-cart,
+ &.btn-checkout,
+ &.btn-checkout-next,
+ &.btn-checkout-home,
+ &.btn-contact,
+ &.btn-forgot,
+ &.btn-login,
+ &.btn-proceed-checkout,
+ &.btn-register,
+ &.btn-submit { .btn-primary; }
+
+ &.btn-add-address,
+ &.btn-checkout,
+ &.btn-checkout-next,
+ &.btn-checkout-home { float: right; }
+
+
+ // Secondary Buttons
+ &.btn-back,
+ &.btn-continue-shopping {
+ .btn-secondary;
+ }
+
+ // Keep old style button
+ &.btn-add-address,
+ &.btn-cart-update,
+ &.btn-coupon,
+ &.btn-filter,
+ &.btn-grid,
+ &.btn-jumbotron,
+ &.btn-list,
+ &.btn-login-mini,
+ &.btn-search,
+ &.btn-subscribe { .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); }
+
+ // Account Info
+ &.btn-change-account,
+ &.btn-change-password { padding: 0; }
+
+ // Account Address and Account orders
+ &.btn-edit-address,
+ &.btn-order-details,
+ &.btn-remove-address {
+ border: 1px solid @btn-primary-border;
+ margin-bottom: 10px; padding: 4px 9px;
+
+ &:hover,
+ &:focus {
+ border-color: @text-color;
+ color: @text-color;
+ }
+ }
+
+ // Checkout Step 3
+ &.btn-change-address {
+ padding: 0;
+ &:before {
+ .icon(@pencil);
+ border: 1px solid @brand-primary;
+ .border-radius(@border-radius-base);
+ font-size: ceil(@font-size-base * 1.2);
+ margin-right: .4em; padding: 4px 9px;
+ }
+ &:hover,
+ &:focus {
+ &:before {
+ border-color: @link-hover-color;
+ color: @link-hover-color;
+ }
+ }
+ }
+
+
+ // Not styled
+ &.btn-cancel { padding-left: 0; }
+ &.btn-compare {}
+ &.btn-remove { padding-left: 0; }
+ &.btn-update {}
+ &.btn-wishlist {}
+
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/cart.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/cart.less
new file mode 100644
index 000000000..69eabc528
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/cart.less
@@ -0,0 +1,126 @@
+// Thelia : Shopping Cart
+
+
+// Cart Empty
+.cart-empty { margin: 0; padding: 40px; }
+
+// Cart Mini
+.table-cart-mini { margin-bottom: 0; }
+
+
+// Cart
+.table-cart {
+ .table-bordered;
+
+ thead,
+ tbody,
+ tfooter {
+ > tr {
+ > th,
+ > td {
+ &.image { border-right-color: transparent; }
+ }
+ }
+ }
+
+ thead {
+ th {
+ background-color: #edf7ff;
+ text-transform: uppercase;
+ }
+ }
+
+ tbody {
+ td {
+ &.image {}
+ &.product {
+ .name {
+ margin-top: 0;
+ }
+ }
+ &.unitprice {
+ .price {
+ color: @text-color;
+ }
+ .old-price {
+ .price {
+ font-size: @font-size-base;
+ }
+ }
+ .secondary-price {
+ .price {
+ font-size: @font-size-base;
+ font-weight: normal;
+ }
+ }
+ }
+ &.qty {
+ .group-qty {
+ margin-bottom: 0;
+ }
+ }
+ &.subprice {
+ .price {
+ color: @brand-primary;
+ }
+ }
+ }
+ }
+
+ tfoot {
+ td {
+ &.shipping {
+ .price {
+ color: @text-color;
+ font-size: ceil(@font-size-base * 1.3);
+ }
+ }
+ &.coupon {}
+ &.total {
+ .price {
+ font-size: ceil(@font-size-base * 1.3);
+ }
+ }
+ &.empty {
+ border-bottom-color: transparent; border-left-color: transparent;
+ }
+ }
+ }
+}
+
+.table-cart-total{
+ td {
+ width: 50%;
+ &.coupon {}
+ &.total {
+ .price {
+ font-size: ceil(@font-size-base * 1.3);
+ }
+ }
+ &.empty {
+ border-bottom-color: transparent; border-left-color: transparent;
+ }
+ }
+}
+
+// Message if no product in the cart
+.cart-warning {
+ clear: both;
+ .alert; .alert-warning;
+ margin-bottom: 0;
+ text-align: center;
+
+ > a { color: inherit; }
+
+ &:before {
+ .icon(@warning-sign);
+ display: block;
+ font-size: 2.2em;
+ }
+}
+
+// Qty (js enabled)
+.js .group-qty {
+ .form-inline .form-group { display: block; }
+ .btn-cart-update { .sr-only; }
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/category.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/category.less
new file mode 100644
index 000000000..9c490e30a
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/category.less
@@ -0,0 +1,126 @@
+// Thelia : Category
+
+// Category
+#category-products {}
+
+
+.grid {
+ .btn-grid {
+ cursor: default;
+ pointer-events: none; // Future-proof disabling of clicks
+ .opacity(.65);
+ .box-shadow(none);
+ }
+ .products-content > ul { .products-grid; }
+}
+
+.list {
+ .btn-list {
+ cursor: default;
+ pointer-events: none; // Future-proof disabling of clicks
+ .opacity(.65);
+ .box-shadow(none);
+ }
+ .products-content > ul { .products-list; }
+}
+
+
+.products-grid,
+.products-list {
+ // Animation
+ @media (min-width: @screen-tablet) {
+ .product-image {
+ display: block;
+ overflow: hidden;
+ position: relative;
+ > .mask {
+ background-color: @brand-primary;
+ background-color: rgba(red(@brand-primary), green(@brand-primary), blue(@brand-primary), .4);
+ display: block;
+ .opacity(0);
+ overflow: visible;
+ position: absolute;
+ top: 0; left: 0;
+ visibility: hidden;
+ width: 100%; height: 100%;
+ .transition(opacity 300ms ease-in-out 50ms);
+ }
+ &:hover,
+ &:focus {
+ .mask {
+ visibility: visible;
+ .opacity(1);
+ }
+ }
+
+ }
+ }
+}
+
+
+// Products Grid
+.products-grid {
+ .make-row();
+ .list-unstyled();
+ .item { .make-sm-column(4); .make-md-column(4); .clearfix(); } // default
+ &.product-col-2 > .item { .make-md-column(6); }
+ &.product-col-3 > .item { .make-md-column(4); }
+ &.product-col-4 > .item { .make-md-column(3); }
+ &.product-col-5 > .item { .make-md-column(2.4); }
+ &.product-col-6 > .item { .make-md-column(2); }
+
+ .item {
+ margin-bottom: @line-height-computed;
+
+ .product-image {
+ > img { .img-responsive(); width: 100%; }
+ > .mask {}
+ }
+
+ .product-info {
+ .name { margin: 4px 0; }
+ .description { .visible-xs; }
+ .short-description { display: block; margin-bottom: 5px; }
+ }
+
+ .product-price {
+ .price-container { display: block; margin-bottom: 5px; }
+ .product-btn {
+ .btn-cart { .btn-block; }
+ }
+ }
+ }
+}
+
+// Product List
+.products-list {
+ .list-unstyled();
+ .item {
+ + .item { border-top: 1px solid #ededed; padding-top: 15px; }
+ > article {
+ .make-row();
+ margin-left: 0;
+
+ .product-image {
+ .make-sm-column(3);
+ margin-bottom: 15px; padding: 0;
+ > img { .img-responsive(); width: 100%; }
+ > .mask {}
+ }
+
+ .product-info {
+ .make-sm-column(6);
+ .name { margin-top: 0; }
+ .description {}
+ .short-description {}
+ }
+
+ .product-price {
+ .make-sm-column(3);
+ text-align: right;
+ .price-container {}
+ .product-btn {}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/checkout.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/checkout.less
new file mode 100644
index 000000000..016b8e2e9
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/checkout.less
@@ -0,0 +1,116 @@
+// Thelia : Checkout
+
+// Step 2
+#delivery-address {
+ .panel-heading {
+ position: relative;
+ > .btn-add-address { position: absolute; top: 7px; right: 10px; margin:0; padding: 0; text-transform: none; }
+ }
+}
+
+
+// Step 3
+#cart-address {
+ .make-row();
+ .panel {
+ .make-sm-column(6);
+ .box-shadow(none);
+ border: none;
+ .panel-heading { }
+ .panel-body{}
+ }
+}
+
+.list-payment {
+ .list-inline;
+ margin-bottom: 0;
+}
+
+#payment-method.panel {
+ .panel-body { text-align: center; }
+ .radio {
+ display:block;
+
+ // Add a hover state
+ label {
+ > img {
+ border: 1px solid #ddd;
+ border-radius: @border-radius-base;
+ .opacity(.4);
+ &:hover,
+ &:focus {
+ .opacity(1); .transition(opacity 200ms ease-in-out);
+ }
+ }
+ }
+ }
+}
+
+#payment-method {
+ .list-group-item {
+ border: none;
+ }
+}
+
+.js #payment-method {
+ .radio {
+ .active > img,
+ input:checked + img {
+ .opacity(1);
+ }
+ }
+}
+
+
+// Checkout - One Page
+.checkout-onepage {}
+
+// Checkout - Mutliple Steps
+.checkout-multiple {}
+
+
+// Checkout - Progress
+.checkout-progress {
+ margin-bottom: 20px;
+ width: 100%;
+
+ .btn-step {
+ .btn-default;
+ padding: 16px 24px;
+ .step-nb {
+ border-right: 1px solid @text-color;
+ font-size: 30px; line-height: 0;
+ font-weight: 600;
+ padding-right: 6px;
+ vertical-align: middle;
+ }
+
+ .step-label {
+ font-size: ceil(@font-size-base * 1.4);
+ font-weight: 100;
+ min-width: 250px;
+ padding-left: 6px;
+ vertical-align: middle;
+ }
+
+ &:hover,
+ &:focus,
+ &:active,
+ &.active {
+ color: #fff;
+ .step-nb { border-right: 1px solid #fff; }
+ }
+
+ &.active {
+ cursor: default;
+ display: inherit;
+ pointer-events: none; // Future-proof disabling of clicks
+ }
+
+
+ }
+}
+
+
+// Checkout - Success
+.checkout-success {}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/filters.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/filters.less
new file mode 100644
index 000000000..ea52ca39f
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/filters.less
@@ -0,0 +1,34 @@
+
+// Thelia : Products Filters
+#filters {
+ margin-bottom: @line-height-computed;
+
+ // Filter btn
+ .group-btn {
+ .btn-filter { .btn-block; }
+ }
+}
+
+// filter block
+.filter {
+ background: @filter-bg;
+ border: 1px solid @filter-border;
+ border-radius: @filter-border-radius;
+ margin-bottom: @line-height-computed; padding: @filter-padding;
+
+ .filter-heading {
+ border-bottom: 1px solid @filter-heading-border;
+ color: @filter-heading-color;
+ font-size: @filter-heading-font-size;
+ font-weight: 100;
+ margin: 0; margin-bottom: 4px;
+ text-transform: uppercase;
+ }
+ .filter-content {
+ .clearfix();
+ .radio label,
+ .checkbox label {
+ font-weight: 100;
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/folder.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/folder.less
new file mode 100644
index 000000000..70ba45eab
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/folder.less
@@ -0,0 +1,99 @@
+// Thelia : Folder
+
+// Folder Info
+.folder-chapo {}
+.folder-description {
+ margin-bottom: 20px;
+}
+
+// Content List
+#folder-contents {
+ .contents > ul { .contents-list; }
+}
+
+.contents-grid,
+.contents-list {
+ // Animation
+ @media (min-width: @screen-tablet) {
+ .content-image {
+ display: block;
+ overflow: hidden;
+ position: relative;
+ > .mask {
+ background-color: @brand-primary;
+ background-color: rgba(red(@brand-primary), green(@brand-primary), blue(@brand-primary), .4);
+ display: block;
+ .opacity(0);
+ overflow: visible;
+ position: absolute;
+ top: 0; left: 0;
+ visibility: hidden;
+ width: 100%; height: 100%;
+ .transition(opacity 300ms ease-in-out 50ms);
+ }
+ &:hover,
+ &:focus {
+ .mask {
+ visibility: visible;
+ .opacity(1);
+ }
+ }
+
+ }
+ }
+}
+
+
+// Contents Grid
+.contents-grid {
+ .make-row();
+ .list-unstyled();
+ .item { .make-sm-column(4); .make-md-column(4); .clearfix(); } // default
+ &.content-col-2 > .item { .make-md-column(6); }
+ &.content-col-3 > .item { .make-md-column(4); }
+ &.content-col-4 > .item { .make-md-column(3); }
+ &.content-col-5 > .item { .make-md-column(2.4); }
+ &.content-col-6 > .item { .make-md-column(2); }
+
+ .item {
+ margin-bottom: @line-height-computed;
+
+ .content-image {
+ > img { .img-responsive(); width: 100%; }
+ > .mask {}
+ }
+
+ .content-info {
+ .name { margin: 4px 0; }
+ .description { .visible-xs; }
+ .short-description { display: block; margin-bottom: 5px; }
+ }
+ }
+}
+
+// Content List
+.contents-list {
+ .list-unstyled();
+ .item {
+ padding-bottom: 15px;
+ + .item { border-top: 1px solid #ededed; padding-top: 15px; }
+ > article {
+ .make-row();
+ margin-left: 0;
+
+ .content-image {
+ .make-sm-column(2);
+ margin-bottom: 15px; padding: 0;
+ > img { .img-responsive(); width: 100%; }
+ > .mask {}
+ }
+
+ .content-info {
+ .make-sm-column(7);
+ .name { margin-top: 0; }
+ .description {}
+ .short-description {}
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/footer.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/footer.less
new file mode 100644
index 000000000..140212b59
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/footer.less
@@ -0,0 +1,75 @@
+
+// Footer
+.footer-container {
+
+ // footer-banner
+ .footer-banner {
+ background-color: @footer-banner-bg;
+ font-size: ceil(@font-size-base * 1.3);
+ .banner {
+ i { display: block; font-size: 2em; }
+ small { font-size: .65em; display: block; font-style: italic; font-weight: normal; }
+
+ .make-row();
+ .col {
+ padding: 10px 0;
+ .text-center;
+ + .col {
+ border-top: 1px solid @footer-banner-border;
+ @media (min-width: @screen-tablet) {
+ border-left: 1px solid @footer-banner-border;
+ border-top: none;
+ }
+ }
+ }
+ &.banner-col-2 > .col { .make-sm-column(6); }
+ &.banner-col-3 > .col { .make-sm-column(4); }
+ }
+ }
+
+ // footer-block
+ .footer-block {
+ background-color: @footer-block-bg;
+ .blocks {
+ .make-row();
+ padding: 20px 0;
+ .col { .make-sm-column(3); } // default
+ &.block-col-2 > .col { .make-sm-column(6); }
+ &.block-col-3 > .col { .make-sm-column(4); }
+ &.block-col-4 > .col { .make-sm-column(3); }
+ }
+ }
+
+ // footer-info
+ .footer-info {
+ background-color: @footer-info-bg;
+ color: @footer-info-text-color;
+ font-size: @font-size-small;
+ a {
+ color: @footer-info-link-color;
+ &:focus,
+ &:hover { color: @footer-info-link-hover-color; }
+ }
+ .info {
+ .make-row();
+ padding: 20px 0;
+ .nav-footer {
+ .make-lg-column(9);
+ ul {
+ .list-inline;
+ li + li {
+ &:before { content:'-'; margin-right: 10px; }
+ }
+ }
+ }
+ .copyright {
+ .make-lg-column(3);
+ font-weight: 300;
+ text-align: right;
+ > a {
+ font-weight: bold;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/forms.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/forms.less
new file mode 100644
index 000000000..c8a579f77
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/forms.less
@@ -0,0 +1,71 @@
+// Thelia : Forms
+
+
+// Forms : Placeholder
+.form-control {
+ &:focus {
+ .placeholder(@gray-lighter);
+ }
+}
+
+
+// Form Login Mini
+#form-login-mini {
+ .form-control { .input-sm; }
+ .btn { .btn-sm; }
+ width: 200px;
+}
+
+
+// Form Login
+#form-login,
+#form-forgotpassword {
+ background: #edf7ff;
+ padding: 45px;
+
+ legend {
+ font-size: @font-size-base;
+ font-weight: bold;
+ margin-bottom: 10px;
+ }
+
+ .form-control { .input-sm; }
+
+ .btn-login { display:block; width:100%; }
+ .forgot-password, .btn-cancel { float: left; padding-left: 0; }
+
+ @media (min-width: @screen-tablet) {
+ .group-btn {
+ text-align: right;
+
+ .btn-login {
+ display: inline-block;
+ width: auto;
+ }
+ }
+ }
+ @media (min-width: @screen-desktop) { width: 45%; }
+
+}
+
+// Form Register
+#form-address,
+#form-register {
+ .panel-body {
+ .control-label { .make-sm-column(3); }
+ .control-input { .make-sm-column(5); }
+ }
+ .group-primary,
+ .group-agreed,
+ .group-newsletter {
+ .control-input { .make-sm-column-offset(3); .make-sm-column(5); }
+ }
+ .group-btn {
+ .control-btn { .make-sm-column-offset(3); .make-sm-column(5); }
+ }
+}
+
+// Form Contact
+#form-contact {
+
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/global.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/global.less
new file mode 100644
index 000000000..691f6aa1c
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/global.less
@@ -0,0 +1,125 @@
+// Thelia
+
+// Main Title
+.page-header { margin-top: 0; }
+
+// Collapse
+.no-js .collapse { display: block!important; }
+
+// Hide carousel arrow if no js
+.no-js #carousel .carousel-control { display: none; }
+
+// Loader (Overlay)
+.loader {
+ position: fixed;
+ background: #fff url(../img/ajax-loader.gif) no-repeat center center;
+ background-color: rgba(255,255,255,.5);
+ display: none;
+ left: 0; top: 0;
+ width: 100%;height: 100%;
+ z-index: 100;
+}
+.oldie { position: absolute; }
+
+// thumbnail
+.thumbnail {
+ /*&.active,
+ &:active {
+ border-style: solid;
+ border-width: 2px;
+ }*/
+ &.active { border-color: @gray-dark; }
+}
+
+// Layout
+.main { margin-bottom: @line-height-computed; }
+.layout-col-1,
+.layout-col-2-left,
+.layout-col-2-right {
+ .make-row();
+}
+
+/* 1 Column Layout */
+.layout-col-1 .col-main { .make-md-column(12); }
+
+/* 2 Columns Layout */
+.layout-col-2-left {
+ .col-main {
+ .make-md-column(9);
+ .make-md-column-push(3);
+ }
+ .col-left {
+ .make-md-column(3);
+ .make-md-column-pull(9);
+ }
+}
+.layout-col-2-right {
+ .col-main {
+ .make-md-column(9);
+ }
+ .col-right {
+ .make-md-column(3);
+ }
+}
+
+
+// List Responsive
+ul {
+ &.list-info,
+ &.list-address {
+ .make-row();
+ .list-unstyled();
+
+ > li {
+ .make-sm-column(4);
+ }
+ }
+}
+
+
+// Address Format
+.fn { font-weight: 600; display: block; }
+.adr, .org { font-size: @font-size-small; }
+
+// Address Book Table
+.table-address {
+ .radio {
+ margin-top: 0;
+ label { font-weight: 600; }
+ }
+ .group-btn {
+ text-align: right;
+ }
+
+ thead,
+ tbody,
+ tfoot {
+ > tr {
+ > th,
+ > td {
+ border-color: #edf7ff;;
+ padding: 10px 10px 0;
+ @media (min-width: @screen-tablet) { padding: 30px 30px 0; }
+ }
+ }
+ }
+}
+
+
+.modal-dialog{
+ td{vertical-align: middle}
+
+ .close{
+ margin: 10px;
+ position: relative; z-index: 10;
+ }
+
+ .btn{
+ margin-left: 10px;
+ }
+}
+@media screen and (min-width: 768px){
+ .modal-dialog{
+ width: 800px;
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/header.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/header.less
new file mode 100644
index 000000000..7bdff653a
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/header.less
@@ -0,0 +1,36 @@
+// header
+header {
+ .header {
+ .make-row();
+ margin-bottom: @line-height-computed;
+
+ .logo {
+ .make-md-column(4);
+ .hidden-xs;
+ margin-top: 0;
+ a {
+ text-decoration: none;
+ }
+ }
+
+ .language-container {
+ .make-md-column(4);
+ .make-md-column-offset(4);
+ text-align: right;
+
+ .search-container {
+ margin-bottom: @line-height-computed/2;
+ }
+
+ .language-switch,
+ .currency-switch {
+ display: inline-block;
+ position: relative;
+ vertical-align: middle;
+ .dropdown-label { display: inline-block; float: left; font-size: 1em; font-weight: 300; margin-left: 1em; margin-right: .4em; }
+ .current { display: inline-block; float: left; position: relative; }
+ .select { left:auto; right: 0; min-width: 80px; }
+ }
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/import.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/import.less
new file mode 100644
index 000000000..2e42acd9d
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/import.less
@@ -0,0 +1,40 @@
+// Thelia
+@import "variables";
+
+// Thelia : Layout
+@import "global";
+@import "header";
+@import "footer";
+
+// Thelia
+@import "account";
+@import "checkout";
+@import "cart";
+
+// Thelia : Components
+@import "breadcrumbs";
+@import "pagination";
+@import "navbar";
+@import "labels";
+@import "panels";
+@import "blocks";
+@import "buttons";
+@import "forms";
+
+// Thelia : Products
+@import "filters";
+@import "toolbars";
+@import "price";
+@import "category";
+@import "product";
+
+// Thelia : Contents
+@import "folder";
+
+// Thelia : Brands
+@import "brand";
+
+// Thelia : Pages
+@import "page-home";
+@import "page-error";
+//@import "page-login.less";
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/labels.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/labels.less
new file mode 100644
index 000000000..f009daae9
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/labels.less
@@ -0,0 +1,7 @@
+
+// Thelia: Labels
+.label-new { .label; .label-info; }
+.label-sale { .label; .label-danger; }
+
+// Order status
+.label-delivered { .label; .label-success; }
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/navbar.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/navbar.less
new file mode 100644
index 000000000..f0a456376
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/navbar.less
@@ -0,0 +1,88 @@
+
+// Thelia: Navbars
+.navbar {
+ .navbar-default;
+ .navbar-brand { .visible-xs; } // Visible only Small screen
+
+ .navbar-cart {
+ @media (min-width: @grid-float-breakpoint) {
+ .dropdown > a {
+ .js .dropdown-toggle;
+ &:after {
+ float: none;
+ }
+ }
+ }
+ .dropdown-menu {
+ @media (max-width: @grid-float-breakpoint) { display: none; }
+ margin: 0; padding: 20px;
+ &.cart-content {
+ width: 350px;
+ > p { margin: 0; }
+ }
+ }
+ .cart-not-empty .cart-content { border-top: none; padding: 0; }
+ }
+
+ // Subnav Links
+ @media (min-width: @grid-float-breakpoint) {
+ .list-subnav {
+ background-color: @navbar-subnav-bg;
+ border: 1px solid @navbar-subnav-border;
+ border-radius: @navbar-subnav-border-radius;
+ .box-shadow(@navbar-subnav-shadow);
+
+ // Links within the sub navigation
+ > li > a {
+ color: @navbar-subnav-link-color;
+ padding: @navbar-subnav-link-padding;
+
+ // Hover/Focus state
+ &:hover,
+ &:focus {
+ color: @navbar-subnav-link-hover-color;
+ background-color: @navbar-subnav-link-hover-bg;
+ }
+ }
+
+ // Active state
+ > .active > a {
+ &,
+ &:hover,
+ &:focus {
+ background-color: @navbar-subnav-link-hover-bg;
+ color: @navbar-subnav-link-hover-color;
+ }
+ }
+ }
+ }
+
+
+ // Subnav Full width
+ .full-width {
+ position: static;
+ .dropdown-menu {
+ width: 100%;
+ left: 0; right: 0;
+ .dropdown-content {
+ padding: 20px;
+ .dropdown-subheading {
+ display: block;
+ font-weight: bold;
+ }
+ }
+ }
+ }
+}
+
+
+// Icons (Accordion and Dropdown)
+//.accordion-toggle,
+.js .dropdown-toggle {
+ &:after {
+ .icon(@chevron-down);
+ float:right;
+ padding-left: .3em;
+ @media (min-width: @screen-desktop) { float: none; }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/page-error.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/page-error.less
new file mode 100644
index 000000000..e322f5180
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/page-error.less
@@ -0,0 +1,15 @@
+// 404 Page
+.page-404 {
+ .main { padding: 10px 0 100px; }
+ #main-label {
+ color: @brand-primary;
+ font-size: 9em; font-weight: bold;
+ text-align: center;
+
+ span{
+ color : #444;
+ display: block;
+ font-size: 15px; font-weight: normal;
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/page-home.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/page-home.less
new file mode 100644
index 000000000..969eb6c5e
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/page-home.less
@@ -0,0 +1,29 @@
+.page-home #carousel {
+ margin-bottom: @line-height-computed;;
+
+ .item { .text-center; }
+ .carousel-control {
+ .icon-prev {
+ &:before {
+ .icon(@chevron-left);
+ }
+ }
+ .icon-next {
+ &:before {
+ .icon(@chevron-right);
+ }
+ }
+
+ // Scale up controls for tablets and up
+ @media screen and (min-width: @screen-tablet) {
+
+ // Scale up the controls a smidge
+ .icon-prev,
+ .icon-next {
+ font-size: 80px;
+ margin-top: -40px; margin-left: -40px;
+ width: 80px; height: 80px;
+ }
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/pagination.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/pagination.less
new file mode 100644
index 000000000..be3806c53
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/pagination.less
@@ -0,0 +1,13 @@
+
+// Pagination
+.pagination {
+ .icon-next:before { content: @chevron-right; }
+ .icon-prev:before { content: @chevron-left; }
+
+ > li {
+ > a,
+ > span {
+ &:focus { z-index: 3; }
+ }
+ }
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/panels.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/panels.less
new file mode 100644
index 000000000..69134004c
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/panels.less
@@ -0,0 +1,48 @@
+
+// Thelia : Panels
+
+.panel {
+ .panel-default;
+/*
+ @media (min-width: @screen-tablet) {
+ .panel-heading {
+ text-align: center;
+ }
+ }
+*/
+}
+
+.panel-heading { text-transform: uppercase; }
+
+// Account Page
+#account {
+
+ // Make heading clickable
+ .panel-heading {
+ padding: 0;
+ // Title
+ .panel-title {
+ > a {
+ background: @panel-primary-heading-bg;
+ color: @panel-primary-text;
+ display: block;
+ padding: 12px 15px;
+ text-decoration: none;
+
+ &.collapsed {
+ background: inherit;
+ color: inherit;
+
+ &:hover,
+ &:focus {
+ background: @panel-primary-heading-bg;
+ color: @panel-primary-text;
+ }
+ }
+ }
+ }
+ }
+
+ .panel-body { padding: 25px; }
+
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/price.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/price.less
new file mode 100644
index 000000000..bf847e856
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/price.less
@@ -0,0 +1,47 @@
+// Thelia: Price
+
+
+// Price
+.price-container {}
+
+.price {
+ color: @brand-primary;
+ font-size: ceil(@font-size-base * 1.4);
+ font-weight: bold;
+ font-style: italic;
+ white-space: nowrap;
+}
+
+// Regular price
+.regular-price {
+ .price {}
+}
+
+
+// Special price
+.special-price {
+ .price {}
+}
+
+
+// Old price
+.old-price {
+ .price {
+ color: @text-color;
+ font-size: ceil(@font-size-base * 1.1);
+ font-weight: 600;
+ text-decoration: line-through;
+ }
+}
+
+
+// Excluding TAX
+.price-excluding-tax {
+ .price {}
+}
+
+
+// Including TAX
+price-including-tax {
+ .price {}
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/product.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/product.less
new file mode 100644
index 000000000..75540a72b
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/product.less
@@ -0,0 +1,160 @@
+// Products Heading
+.products-heading {
+ .btn-all {
+ float: right;
+ font-size: .6em;
+ }
+ h3{
+ top: -14px !important;
+ margin: 0;
+ }
+}
+
+// Availibility
+.availability {
+ display: block;
+
+ // In Stock
+ .in-stock {
+ color: @brand-success;
+ font-style: italic; font-weight: bold;
+ text-transform: uppercase;
+
+ .in { display: block; }
+ .out { display: none; }
+
+ .quantity{
+ font-style: italic;
+ }
+ }
+ // Out of Stock
+ .out-of-stock {
+ color: @brand-warning;
+ font-style: italic; font-weight: bold;
+ text-transform: uppercase;
+
+ .in { display: none; }
+ .out { display: block; }
+ }
+
+ #stock-information {
+
+ }
+}
+
+.product-pse-name {
+
+}
+
+// Option block
+.option {
+ background: @option-bg;
+ border: 1px solid @option-border;
+ border-radius: @option-border-radius;
+ margin-bottom: @line-height-computed; padding: @option-padding;
+
+ .option-heading {
+ border-bottom: 1px solid @option-heading-border;
+ color: @option-heading-color;
+ display: block;
+ font-size: @option-heading-font-size;
+ font-weight: bold;
+ margin: 0; margin-bottom: 5px;
+ }
+ .option-content {
+ .clearfix();
+ .radio label,
+ .checkbox label {
+ font-weight: 100;
+ }
+ .form-control { .input-sm; }
+ }
+}
+
+
+// Product Details
+#product {
+ .make-row();
+
+ > section {
+ .make-sm-column(6);
+ margin-bottom: @line-height-computed;
+ }
+
+ // Product Gallery
+ #product-gallery {
+ border-right:1px solid #edf7ff;
+ padding-right: 20px;
+
+ .product-image {
+ margin-bottom: @line-height-computed;
+ }
+
+ #product-thumbnails {
+ .carousel-inner {
+ margin: 0 auto;
+ width: 90%;
+ }
+ .carousel-control {
+ background-image: none;
+ display: none; // Need js
+ width: 4%; margin-top: -4px;
+ .icon-prev {
+ &:before {
+ .icon(@chevron-left);
+ }
+ }
+ .icon-next {
+ &:before {
+ .icon(@chevron-right);
+ }
+ }
+ }
+
+ ul {
+ .list-inline;
+ margin: 0;
+ > li {
+ margin: 0; padding: 0;
+ width: 19%;
+ }
+ }
+ }
+ }
+
+ // Product Details
+ #product-details {
+ .name {
+ font-size: ceil(@font-size-base*1.5);
+ font-weight: 400;
+ margin-top: 0;
+ }
+ .product-price {
+ margin-bottom: @line-height-computed;
+ }
+ .product-cart {
+ background: @option-bg;
+ border: 1px solid @option-border;
+ border-radius: @option-border-radius;
+ margin-bottom: @line-height-computed; padding: @option-padding;
+ }
+ }
+
+ // Product Tabs
+ #product-tabs {
+ .make-sm-column(12);
+ margin-bottom: @line-height-computed;
+ .nav-tabs {
+ border-bottom: 1px solid @nav-tabs-border-color;
+ margin-bottom: -1px;
+ li { text-transform: uppercase; }
+ }
+
+ .tab-content {
+ border: 1px solid @nav-tabs-border-color;
+ border-radius: 0 0 @border-radius-base @border-radius-base;
+ padding: 30px 15px;
+ min-height: 180px; height: auto!important; height: 180px;
+ }
+ }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/toolbars.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/toolbars.less
new file mode 100644
index 000000000..11512bac8
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/toolbars.less
@@ -0,0 +1,48 @@
+
+// Thelia: Toolbar (Products Sorter)
+.toolbar {
+ line-height: 50px;
+ margin-bottom: @line-height-computed;
+
+ .sorter-container, .pagination-container { .clearfix(); height: 50px; overflow: hidden; }
+
+ // Sorter
+ .sorter-container {
+ background-color: @toolbar-sorter-bg;
+ border-radius: @toolbar-sorter-border-radius;
+ padding: @toolbar-sorter-padding;
+ text-align: right;
+
+ // Amout
+ .amount { float: left; }
+
+ // Limiter
+ .limiter {}
+
+ // Sort By
+ .sort-by { margin-left: 40px; }
+
+ // View Mode
+ .view-mode {
+ margin-left: 40px;
+ > .view-mode-btn {
+ a { padding: 0 6px; font-size: ceil(@font-size-base * 1.5); text-decoration: none; }
+ font-size: 24px;
+ .icon-grid:before { content: @th; }
+ .icon-list:before { content: @th-list; }
+ }
+ }
+ }
+
+ // Pagination
+ .pagination-container {
+ text-align: center;
+ > .pagination-label { .sr-only; }
+ > .pagination { margin: 15px 0 0; }
+ }
+}
+
+.no-js .toolbar {
+ .limiter,
+ .sort-by { display : none; }
+}
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/variables.less b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/variables.less
new file mode 100644
index 000000000..bbd192264
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/less/thelia/variables.less
@@ -0,0 +1,114 @@
+// Theme colors
+@brand-primary: #f49a17;
+
+// Iconography
+@FontAwesomePath: "../font/fontawesome";
+
+//bootstrap font
+@icon-font-path: "../font/bootstrap/";
+
+// Grid system
+@grid-float-breakpoint: @screen-desktop;
+
+// Form
+@legend-border-color: transparent;
+
+// Buttons
+@btn-default-color: #333;
+@btn-default-bg: #edf7ff;
+@btn-default-border: #ccc;
+
+@btn-primary-color: #fff;
+@btn-primary-bg: @brand-primary;
+@btn-primary-border: @brand-primary;
+
+
+// Thelia : Breadcrumbs
+@breadcrumb-padding: 8px 15px;
+
+
+// Navbar links
+@navbar-default-link-hover-color: #fff;
+@navbar-default-link-hover-bg: @brand-primary;
+@navbar-default-link-active-color: @navbar-default-link-hover-color;
+@navbar-default-link-active-bg: @navbar-default-link-hover-bg;
+
+
+// Thelia : Sub Navigation
+@navbar-subnav-bg: @dropdown-bg;
+@navbar-subnav-link-padding: 5px 20px;
+@navbar-subnav-link-color: @dropdown-link-color;
+@navbar-subnav-link-hover-bg: @dropdown-link-hover-bg;
+@navbar-subnav-link-hover-color: @dropdown-link-hover-color;
+@navbar-subnav-border: @dropdown-border;
+@navbar-subnav-border-radius: @border-radius-base;
+@navbar-subnav-divider-bg: @dropdown-divider-bg;
+@navbar-subnav-shadow: 0 6px 12px rgba(0,0,0,.175);
+
+
+// Thelia : Toolbar
+@toolbar-sorter-bg: #edf7ff;
+@toolbar-sorter-border-radius: @border-radius-base;
+@toolbar-sorter-padding: 0 15px;
+
+
+// Thelia : Footer Banner
+@footer-banner-bg: darken(@body-bg, 9%); //#e9e9e9
+@footer-banner-border: darken(@footer-banner-bg, 7%); //#d6d6d6
+
+// Thelia : Footer Blocks
+@footer-block-bg: darken(@body-bg, 4%); //#f5f5f5
+
+// Thelia : Blocks
+@block-bg: transparent;
+@block-border: none;
+@block-border-radius: 0;
+@block-shadow: none;
+
+@block-heading-bg: transparent;
+@block-heading-border: darken(@body-bg, 12.5%); //#dfdfdf
+@block-heading-color: darken(@body-bg, 46.5%); //#888888
+@block-heading-font-size: ceil(@font-size-base * 1.5); // 21px
+@block-subheading-border: @footer-block-bg;
+@block-subheading-color: @link-color;
+@block-subheading-font-size: ceil(@font-size-base * 1.1); // 15.4px
+
+// Thelia : Block Links
+@block-nav-bg: transparent;
+@block-nav-hover-bg: #f7f7f7;
+@block-nav-border: #eee;
+@block-nav-color: #747474;
+
+// Thelia : Block Links
+@block-links-bg: transparent;
+@block-links-hover-bg: darken(@body-bg, 8%);
+@block-links-border: #fff;
+@block-links-color: #747474;
+
+// Thelia : Block Social
+@block-social-links-color: @block-heading-color;
+@block-social-links-hover-color: @link-hover-color;
+
+// Thelia : Footer Info
+@footer-info-bg: darken(@body-bg, 73.5%); //#444444
+@footer-info-text-color: #fff;
+@footer-info-link-color: #fff;
+@footer-info-link-hover-color: #fff;
+
+// Thelia : Products Filter
+@filter-bg: darken(@body-bg, 4%); //#f5f5f5
+@filter-border: darken(@filter-bg, 7%);
+@filter-border-radius: @border-radius-base;
+@filter-padding: 10px 15px;
+@filter-heading-border: darken(@body-bg, 12.5%); //#dfdfdf
+@filter-heading-color: darken(@body-bg, 46.5%); //#888888
+@filter-heading-font-size: ceil(@font-size-base * 1.3);
+
+// Thelia : Product Option
+@option-bg: darken(@body-bg, 4%); //#f5f5f5
+@option-border: darken(@option-bg, 7%);
+@option-border-radius: @border-radius-base;
+@option-padding: 10px 15px;
+@option-heading-border: darken(@body-bg, 12.5%); //#dfdfdf
+@option-heading-color: @text-color;
+@option-heading-font-size: @font-size-base;
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/themes/default/less/import.less b/templates/frontOffice/sterivein_sans_commande/assets/themes/default/less/import.less
new file mode 100644
index 000000000..20eed089d
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/themes/default/less/import.less
@@ -0,0 +1,4 @@
+
+// Theme
+@import "variables";
+@import "theme";
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/themes/default/less/theme.less b/templates/frontOffice/sterivein_sans_commande/assets/themes/default/less/theme.less
new file mode 100644
index 000000000..10dfd3c66
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/themes/default/less/theme.less
@@ -0,0 +1,1444 @@
+// Body padding required with the fixed navbar (By default, the navbar is 50px high.)
+/*
+body { padding-top: 80px; }
+
+.navbar {
+ .navbar-fixed-top;
+}
+*/
+
+body {
+ background-image: url('../img/background-of-blue-bubbles-foam.jpg');
+ background-repeat: no-repeat;
+ background-position: center top;
+}
+h1 small {
+ color: #444;
+}
+
+.page-home .well {
+ margin: 25px 0;
+
+ background-color: #d9eeff;
+ border-color: #CBE0F1;
+ color: #222;
+
+ font-size: 120%;
+
+ p {
+ margin: 0;
+ }
+}
+
+.panel {
+ background-color: #edf7ff;
+}
+
+.panel > .panel-heading {
+ background-color: #b2dcff;
+ border-color: #b2dcff;
+ color: #444;
+}
+
+.contact-info {
+ margin-bottom: 1.5em;
+}
+
+.footer-container {
+ margin-top: 20px;
+}
+
+.footer-container .footer-info .info {
+ padding-top: 10px;
+ padding-bottom: 0;
+}
+.footer-container .footer-info .info {
+ padding: 10px 0;
+ .copyright {
+ float: none;
+ width: auto;
+ text-align: center;
+ }
+}
+
+@font-face {
+ font-family: 'Bambina';
+ src: url('../font/bambina/bambina-webfont.eot');
+ src: url('../font/bambina/bambina-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../font/bambina/bambina-webfont.woff') format('woff'),
+ url('../font/bambina/bambina-webfont.ttf') format('truetype'),
+ url('../font/bambina/bambina-webfont.svg#bambinaregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+
+header .header {
+ margin-bottom: 0;
+
+ .logo {
+ float: none;
+ width: auto;
+ text-align: center;
+ margin: 0;
+ padding: 0;
+
+ a {
+ display: inline-block;
+ height: 70px;
+ line-height: 75px;
+
+ .site-logo {
+ font-family: Bambina, Arial, Geneva, sans-serif;
+ font-size: 52px;
+ color: #0080FF;
+ margin-right: 10%;
+
+ span {
+ font-size: 80%;
+ }
+
+ .reg {
+ font-size: 15px;
+ }
+ }
+
+ .site-logo-sclerivein {
+ font-size: 24px;
+ margin-left: 10%;
+ }
+ }
+ }
+}
+.navbar-menu {
+ margin-bottom: 5px;
+}
+.navbar-tools {
+ min-height: 20px;
+ margin-bottom: 5px;
+
+ background-color: transparent;
+ border: none;
+
+ z-index: 1;
+
+ .navbar-nav > li > a {
+ padding-top: 2px;
+ padding-bottom: 2px;
+
+ color: #444;
+ }
+}
+
+.main-container .container {
+ background-color: #edf7ff;
+ padding: 15px;
+ border-radius: 5px;
+}
+
+.folder-description table {
+ border-collapse: collapse;
+ width: 100%;
+ margin: 0 auto;
+
+ td {
+ padding: 10px;
+ border: 1px solid #b2dcff;
+ }
+}
+
+.page-header {
+ border: none;
+ font-weight: 100;
+ font-size: 30px;
+}
+
+.option {
+ background-color: transparent;
+}
+// Forms
+.form-control {
+ .box-shadow(none);
+ &:invalid {
+ &:focus {
+ border-color: darken(@state-danger-text, 10%);
+ @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@state-danger-text, 20%);
+ .box-shadow(@shadow);
+ }
+ }
+}
+
+.has-error .help-block {
+ &:before {
+ .icon(@remove);
+ margin-right: .3em;
+ }
+}
+
+label { font-weight: 600; }
+
+// Dropdowns
+.dropdown-menu {
+ .box-shadow(none);
+}
+
+// Modal
+.modal-content {
+ .box-shadow(none);
+}
+
+// Popover
+.popover {
+ border-radius: @border-radius-base;
+ .box-shadow(none);
+}
+
+
+// Navbar
+.navbar {
+ li {
+ > a.home {
+ &:before {
+ .icon(@home);
+ color: #c9c9c9;
+ font-size: 26px; line-height: 0;
+ margin-right: .5em;
+ position: relative;
+ top: 3px;
+ }
+ }
+ > a.login {
+ &:before {
+ .icon(@user);
+ color: @brand-primary;
+ font-size: 19px; line-height: 0;
+ margin-right: .5em;
+ }
+ }
+ > a.cart {
+ &:hover,
+ &:focus {
+ > .badge {
+ background-color: #fff;
+ color: @brand-primary;
+ }
+ }
+ }
+ &.cart-not-empty {
+ > a.cart {
+ background-color: @brand-primary;
+ color: #fff;
+
+ > .badge {
+ background-color: #fff;
+ color: @brand-primary;
+ }
+
+ &:hover,
+ &:focus {
+ background-color: @brand-primary;
+ color: #fff;
+ }
+
+ &:before {
+ .icon(@shopping-cart);
+ color: #fff;
+ font-size: 24px; line-height: 0;
+ margin-right: .4em;
+ }
+ }
+ }
+ }
+ .navbar-nav {
+ @media (min-width: @grid-float-breakpoint) {
+ .list-subnav {
+ > li + li {
+ border-top: 1px solid darken(@navbar-subnav-bg, 6%);
+ }
+ > li > a { font-weight: 100; }
+ }
+ }
+ > li > a {
+ &:hover,
+ &:focus {
+ &:before {
+ color: @navbar-default-link-hover-color;
+ }
+ }
+ }
+ > .active {
+ > a {
+ &:hover,
+ &:focus {
+ background-color: @navbar-default-link-hover-bg;
+ color: @navbar-default-link-hover-color;
+ }
+ }
+
+ &:after {
+ background: @navbar-default-link-hover-bg;
+ content: "";
+ display: block;
+ position: absolute; bottom: 0;
+ width: 100%; height: 2px; z-index: 100;
+ }
+ }
+ > .open > a {
+ &,
+ &:hover,
+ &:focus {
+ background-color: @navbar-default-link-hover-bg;
+ color: @navbar-default-link-hover-color;
+ &:before {
+ color: @navbar-default-link-hover-color;
+ }
+ }
+ }
+ }
+}
+
+// Align the navbar with carousel
+.container > .navbar-collapse { margin-left: -15px; margin-right: -15px; }
+
+// Search
+header {
+ .search-container {
+ label,
+ .btn-search > span { .sr-only; }
+ }
+}
+
+
+// Breadcrumb
+#breadcrumb-label { .sr-only; }
+
+.breadcrumb {
+ padding: 5px;
+ border-radius: 0;
+}
+
+/* Custom button */
+.btn-primary {
+ border-left: 3px solid lighten(@brand-primary, 20%);
+ .border-radius(0);
+ color: #fff;
+ font-style: italic;
+ font-weight: 600;
+ text-align: left;
+ text-shadow: none;
+
+ @media (min-width: @screen-desktop) { padding: 2px 15px 2px 5px; }
+
+ &:hover,
+ &:focus {
+ background-color: @brand-primary;
+ color: @link-hover-color;
+ text-decoration: none;
+ }
+
+ &:active,
+ &.active {
+ &,
+ &:hover {
+ background-image: none;
+ background-color: darken(@gray-lighter, 10%);
+ border-color: darken(@gray-lighter, 50%);
+ .box-shadow(none);
+ color: #fff;
+ outline: 0;
+ }
+ }
+
+ &:before {
+ .icon(@chevron-right);
+ font-size: 1em; line-height: 0;
+ margin: 0 .4em 0 4px;
+ }
+}
+
+.btn-secondary {
+ .border-radius(0);
+ background-color: #f7f7f7;
+ border-color: #f7f7f7;
+ border-left: 3px solid darken(@gray-light, 10%);
+ color: @link-color;
+ font-weight: 600;
+ text-align: left;
+ text-shadow: none;
+
+ @media (min-width: @screen-desktop) { padding: 2px 15px 2px 5px; }
+
+ &:hover,
+ &:focus {
+ background-color: #f7f7f7;
+ }
+
+ &:active,
+ &.active {
+ &,
+ &:hover {
+ background-image: none;
+ background-color: darken(@gray-lighter, 10%);
+ border-color: darken(@gray-lighter, 50%);
+ .box-shadow(none);
+ color: #fff;
+ outline: 0;
+ }
+ }
+
+ &:before {
+ .icon(@chevron-left);
+ font-size: 1em; line-height: 0;
+ margin: 0 .4em 0 4px;
+ }
+}
+
+// Pager
+.pager {
+ .next,
+ .previous {
+ > a {
+ .btn-secondary;
+ }
+ }
+
+ .previous a:before { .icon(@chevron-left); margin-right: .4em; }
+ .next a:before { .icon(@chevron-right); margin-right: .4em; }
+}
+
+// Products List
+#category-products .btn-cart {
+ .btn-secondary;
+
+ &:before {
+ content: @shopping-cart;
+ font-size: 1.3em;
+ }
+
+}
+
+// Cart - Remove button
+.btn-remove { font-style: italic; }
+
+
+// Carousel
+.page-home #carousel .carousel-control { background-image: none; }
+
+// Products
+.products-heading {
+ h2 {
+ color: #7a7a7a;
+ font-size: 18px;
+ font-weight: bold;
+ .btn-all {
+ &,
+ &:hover,
+ &:focus {
+ color: #7a7a7a;
+ font-size: 16px;
+ font-style: italic;
+ font-weight: 600;
+ }
+ }
+ }
+}
+
+.product-options {
+ dl {
+ font-size: .85em;
+ margin-bottom: 10px;
+ > dt { text-align: left; }
+ }
+}
+
+// Product Info
+td.product,
+.product-info {
+ .name {
+ font-size: 16px;
+ font-weight: 600;
+ > a {
+ color: @text-color;
+ text-decoration: none;
+ &:hover,
+ &:focus {
+ color: @link-hover-color;
+ }
+ }
+ }
+}
+
+
+// Product Price
+.product-price {
+ .price-label { .hide-text(); display: block; }
+
+ .regular-price,
+ .special-price {
+ .price {
+ display: block;
+ font-size: 14px; line-height: 25px;
+ font-style: normal;
+ font-weight: 400;
+ }
+ }
+
+ .old-price {
+ .price {
+ display: block;
+ font-size: 14px; line-height: 25px;
+ font-style: italic;
+ font-weight: 400;
+ text-decoration: line-through;
+ }
+ }
+}
+
+// Availibility
+.availibity-label { .sr-only; }
+
+.products-grid,
+.products-list {
+ // Animation
+ @media (min-width: @screen-tablet) {
+ .product-image {
+ > .mask {
+ .border-radius(@border-radius-base);
+ }
+
+ &:hover,
+ &:focus {
+ .border-radius(@border-radius-base);
+ .mask {
+ &:before {
+ color: #fff;
+ content: '+';
+ font-size: 80px; line-height: 0;
+ font-style: normal;
+ font-weight: 100;
+ -webkit-font-smoothing: antialiased;
+ position: absolute;
+ top: 50%; left: 50%;
+ margin-top: -10px; margin-left: -20px;
+ width: 40px; height: 40px;
+ z-index: 100;
+ }
+ }
+ }
+ &.product-quickview {
+ &:hover,
+ &:focus {
+ .mask:before {
+ .icon(@search);
+ font-size: 40px;
+ margin-top: 0;
+ }
+ }
+ }
+ }
+ }
+}
+
+
+// Products New
+#products-new .products-grid {
+ .item {
+ > article {
+ border-bottom: 4px solid @brand-primary;
+ .border-bottom-radius(@border-radius-base);
+ overflow: hidden;
+ position: relative;
+ .product-info {
+ background-color: lighten(@brand-primary, 10%);
+ color: #fff;
+ display: block;
+ padding: 6px 12px;
+ position: relative;
+ text-decoration: none!important;
+
+ &:hover,
+ &:focus {
+ background-color: @brand-primary;
+ }
+
+ .name {
+ min-height: 40px; height:auto !important; height:40px;
+ &:after {
+ content: '+';
+ font-size: 45px; line-height: 0;
+ font-style: normal;
+ font-weight: 100;
+ position: absolute; top: 16px; right: 4px;
+ -webkit-font-smoothing: antialiased;
+ }
+ }
+
+ .short-description { font-size: 11px; line-height: 1.1; }
+
+ }
+ .product-price {
+ .price {
+ color: #fff;
+ font-size: 22px;
+ font-weight: bold;
+ }
+ }
+
+ // Animation
+ @media (min-width: @screen-desktop) {
+ .product-image { padding-bottom: 40px; }
+ .product-info {
+ .transition(height 300ms linear);
+ position: absolute;
+ bottom: 0;
+ width: 100%; height: 50px;
+ h3 { padding-right: 10px; }
+
+ &:hover,
+ &:focus {
+ cursor: pointer;
+ height: 140px;
+ }
+ }
+ }
+
+ }
+ }
+}
+
+
+// Products Upsell
+#products-upsell {
+ margin-top: 40px;
+ position: relative;
+ .products-heading {
+ border-bottom: 1px solid @gray-light;
+ margin: 20px 0;
+ h3 {
+ background: #fff;
+ color: @brand-primary;
+ padding-right: 15px;
+ position: absolute;
+ top: -24px;
+ }
+ }
+}
+
+
+// Products Offer
+#products-upsell .products-grid,
+#products-related .products-grid,
+#products-offer .products-grid {
+ .item {
+ > article {
+ .border-radius(@border-radius-base);
+ .transition(background-color 300ms ease-in-out);
+ padding: 6px;
+ .product-info {
+ .name {}
+ .short-description { font-size: 11px; }
+ }
+ .product-price {
+ .price-container {
+ .make-row();
+ .old-price {
+ .make-xs-column(6);
+ }
+ .special-price {
+ .make-xs-column(6);
+ }
+ }
+ }
+ }
+ @media (min-width: @screen-tablet) {
+ &:hover article {
+ background-color: #f6f6f6;
+ }
+ }
+ }
+}
+
+#category-products {
+ .item {
+ > article {
+ .product-info {
+ .name {}
+ .description { font-size: .83em; line-height: 1.3; }
+ }
+ .product-price {
+ .price-label { .hide-text(); display: block; }
+ .price-container {
+ margin-bottom: 10px;
+ .price {
+ margin-left: 4px;
+ }
+ .old-price {}
+ .special-price {}
+ }
+
+ .product-btn {
+ min-height: 26px;
+ .btn-cart {
+ .btn-block;
+ }
+ }
+ }
+ }
+ }
+}
+// Products Grid
+.grid {
+ .toolbar .view-mode a.btn-grid {
+ background-color: #efefef;
+ }
+ #category-products {
+ .item {
+ border-right: 1px solid #e8e8e8 ;
+ margin:0; padding: 10px;
+ > article {
+ .product-info {
+ padding: 3px;
+ .name {
+ margin: 4px;
+ }
+ .description { margin-left: 4px; }
+ }
+ .product-price {
+ .price-container {
+ .make-row();
+ .regular-price { .make-xs-column(12); }
+ .old-price {
+ .make-xs-column(6);
+ }
+ .special-price {
+ .make-xs-column(6);
+ }
+ }
+ }
+ }
+ }
+ }
+}
+// Products List
+.list {
+ .toolbar .view-mode a.btn-list {
+ background-color: #efefef;
+ }
+ #category-products {
+ .item {
+ > article {
+ .product-info {
+ }
+ .product-price {
+ .price-container {
+ margin-bottom: @line-height-computed;
+ .regular-price,
+ .special-price,
+ .old-price { display: block; }
+ }
+ }
+ }
+ }
+ }
+}
+
+
+// Prodcut Details
+#product-details {
+ .product-info {
+ border-bottom: 1px solid @gray-light;
+ margin-bottom: 15px;
+ .sku {
+ color: #444;
+ display: block;
+ font-size: ceil(@font-size-base * 0.94);
+ margin-top: -8px; margin-bottom: 20px;
+ }
+ .pse-name {
+ color: @gray;
+ font-size: ceil(@font-size-base * 0.94);
+ //margin-left: 10px;
+ }
+
+ }
+ .product-price {
+ .price-container {
+ .make-row();
+ .regular-price { .make-xs-column(12); }
+ .old-price {
+ .make-xs-column(9);
+ }
+ .special-price {
+ .make-xs-column(3);
+ }
+ }
+ }
+ .product-options {
+ .option {
+ margin-bottom: 10px;
+ }
+ }
+ .product-cart {
+ background-color: #D9EEFF!important;
+ margin-bottom: @line-height-computed; padding: 10px!important;
+ }
+}
+
+#product-thumbnails {
+ .carousel-control {
+ width: 17px!important;
+ &.left {
+ border-right: 7px solid #ccc;
+ color: #ccc;
+ text-align: left;
+ > .icon-prev {
+ left: 0; margin-left: 0; margin-top: -15px;
+ &:before {
+ color: inherit;
+ content: @caret-left!important;
+ }
+ }
+ }
+ &.right {
+ border-left: 7px solid #ccc;
+ text-align: right;
+ > .icon-next {
+ left: auto; right: 0; margin-left: 0; margin-top: -15px;
+ &:before {
+ content: @caret-right!important;
+ }
+ }
+ }
+ }
+}
+
+@media (min-width: @screen-tablet) {
+ #product {
+
+ // Product Gallery
+ #product-gallery {
+ border-right:1px solid @gray-lighter;
+ padding-right: 20px;
+ }
+
+ // Product Details
+ #product-details {
+ .group-qty {
+ .form-control {
+ display: inline-block;
+ margin-right: 1em; margin-left: .4em;
+ width: 100px;
+ }
+ }
+ }
+ }
+}
+
+
+#product-gallery {
+ .product-image {
+ margin-bottom: @line-height-computed;
+ }
+ .product-thumbnails {
+ li {
+ width: 20%;
+ }
+ }
+}
+
+
+// Filters
+#filters {
+ background: @filter-bg;
+ > h3 {
+ background: @gray-light;
+ .box-shadow(inset 0px -4px 10px rgba(0, 0, 0, 0.125));
+ margin: 0 0 15px 0; padding: 10px 15px;
+ font-size: 18px;
+ font-weight: bold;
+ text-transform: uppercase;
+
+ > span {
+ display: block;
+ font-size: .75em;
+ font-weight: 100;
+ text-transform: lowercase;
+ }
+
+ &:before {
+ .icon(@search);
+ font-size: 30px;
+ float: left;
+ margin-right: .5em;
+ }
+ }
+ .filter {
+ margin-bottom: 10px;
+ }
+}
+
+// Block
+.block {
+
+ // Block - Links
+ &.block-links {
+ .block-content {
+ ul {
+ > li + li a { border-top: none; }
+ > li + li:before {
+ background: #fff;
+ content: "";
+ display: block;
+ margin: 0 auto;
+ text-align: center;
+ width: 65%; height: 2px;
+ }
+ }
+ }
+ }
+
+ /* Block - Newsletter */
+ &.block-newsletter {
+ .block-content {
+ form {
+ .form-inline;
+ label { .sr-only; }
+ .form-group {
+ position: relative;
+ @media (min-width: @screen-lg-desktop) { width: 176px; }
+ .form-control {
+ background-color: #e6e6e6;
+ font-size: @font-size-small;
+ padding-left: 35px;
+ .box-shadow(inset 1px 1px 1px rgba(0,0,0,.075));
+ .placeholder(#888888);
+ &:focus {
+ .placeholder(lighten(#888888, 25%));
+ }
+ }
+ &:before {
+ .icon(@envelope);
+ color: #8b8b8b;
+ font-size: 18px;
+ position: absolute;
+ top: 5px; left: 9px;
+ }
+ }
+ .btn-subscribe { padding: 6px 6px; }
+ }
+ }
+ }
+
+ /* Block - Social */
+ &.block-social {
+ .block-content {
+ ul > li {
+ > a:hover {
+ &.facebook { color: #3d5fa6; }
+ &.twitter { color: #53b1f0; }
+ &.rss { color: #fac200; }
+ &.instagram { color: #425E75; }
+ &.google-plus { color: #fac200; }
+ &.youtube { color: #e82a20; }
+ }
+ }
+ }
+ }
+
+ /* Block - Contact Info */
+ &.block-contact {
+ .block-content {
+ ul > li {
+ clear: both;
+ margin-bottom: 5px;
+ &.contact-address:before { .icon(@map-marker); font-size: 34px; }
+ &.contact-phone:before { .icon(@mobile-phone); font-size: 30px; margin-top: -8px; margin-left: 3px; }
+ &.contact-email:before { .icon(@envelope); font-size: 17px; margin-left: 2px; }
+ &.contact-message:before { .icon(@edit-sign); font-size: 17px; margin-left: 2px; }
+ &.contact-fax:before { .icon(@fax); font-size: 17px; margin-left: 2px; }
+ &:before {
+ color: @brand-primary;
+ float: left;
+ line-height: 1;
+ margin-right: .4em;
+ }
+ }
+ }
+ }
+}
+
+// Categories Navigation
+#categories.block-nav {
+ .block-title {
+ text-transform: uppercase;
+ }
+ .block-content {
+ border-top: 1px solid #aeaeae;
+ .amount { font-weight: bold; }
+ .accordion-toggle {
+ &:after {
+ border:1px solid @brand-primary;
+ .border-radius(10px);
+ line-height: 19px;
+ text-align: center;
+ width: 19px; height: 19px;
+ }
+ &:hover,
+ &:focus {
+ &:after {
+ border-color: darken(@brand-primary, 15%);
+ color: darken(@brand-primary, 15%);
+ }
+ }
+ }
+
+ }
+}
+
+// Toolbar
+.toolbar {
+
+ &.toolbar-top {
+ margin-top: -20px;
+ border-bottom: 1px solid #eee;
+ .pagination-container { display: none; }
+ }
+ &.toolbar-bottom {
+ .sorter-container { display: none; }
+ }
+
+ .amount {
+ color: @brand-primary;
+ font-size: 22px;
+ font-weight: normal;
+ }
+ .view-mode {
+ > .view-mode-label { .sr-only; }
+ > .view-mode-btn {
+ a {
+ background-color: #fff;
+ border: 0!important;
+ color: @text-color;
+ &:hover,
+ &:focus {
+ background-color: #efefef;
+ color: darken(@text-color,20%);
+ }
+ &:active {
+ color: #fff;
+ }
+ }
+ }
+ }
+}
+
+
+// Pagination
+.pagination {
+ .pagination-sm;
+ > li {
+ > a,
+ > span {
+ .box-shadow(2px 1px 1px rgba(0, 0, 0, 0.1)); .transition(all 200ms ease-in-out);
+ #gradient > .vertical(@start-color: lighten(@pagination-bg, 5%); @end-color: @pagination-bg );
+ color: @text-color;
+ font-weight: bold;
+ &:hover,
+ &:focus {
+ background: @pagination-hover-bg;
+ &:active {
+ background-color: @pagination-active-bg;
+ border-color: @pagination-active-bg;
+ color: @pagination-active-color;
+ }
+ }
+ }
+
+ &:first-child {
+ > a,
+ > span {
+ .border-left-radius(30px);
+ }
+ }
+ &:last-child {
+ > a,
+ > span {
+ .border-right-radius(30px);
+ }
+ }
+ }
+ > .active > a,
+ > .active > span {
+ background-image: none;
+ }
+}
+
+
+// Form Register
+#register-login.panel { .panel-info; }
+
+
+// Form Login
+#form-login,
+#form-forgotpassword {
+
+ width: 60%;
+
+ .group-email label,
+ legend {
+ font-size: 16px;
+ font-weight: 600;
+ }
+
+ .radio-account1 {
+ margin-top:10px
+ }
+
+ .forgot-password {
+ color: @text-color;
+ font-size: @font-size-small;
+ font-style: italic;
+ position: relative;
+ top: -22px; left: 20px;
+ }
+
+ @media (min-width: @screen-tablet) {
+ .radio-account1 {
+ float:left;
+ }
+
+ .group-password {
+ float:right;
+ margin-top: 5px;
+ width: 50%;
+ }
+ }
+}
+
+// Add address button
+#account-address,
+#delivery-address {
+ .btn-add-address {
+ .btn-link;
+ text-decoration: none!important;
+ &:before {
+ content: '+';
+ font-size: 45px; line-height: 0;
+ font-style: normal;
+ font-weight: 100;
+ position: relative; top: 10px;
+ -webkit-font-smoothing: antialiased;
+ margin-right: .1em;
+ }
+ }
+}
+
+
+// Step 2 : Choose Delivery Address
+#delivery-address.panel {
+ .panel-body { padding: 0; }
+ .group-btn {
+ > .btn span { .sr-only; }
+ }
+}
+
+// Step 2 : Choose Delivery Method
+#delivery-method.panel {
+ .panel-body { padding: 0; }
+ .radio {
+ display:block;
+ margin-top: 0; padding:25px 0 15px 50px;
+ }
+ .radio + .radio { border-top: 1px solid #D9EEFF; }
+}
+
+
+.js #payment-method {
+ .radio {
+ padding-left: 0;
+ position: relative;
+ .active:after {
+ .icon(@chevron-up);
+ color: @brand-primary;
+ display: block;
+ font-size: 1.5em; line-height: 0;
+ position: absolute;
+ bottom: -8px; left: 40%;
+ }
+ input[type="radio"] { .sr-only; }
+ }
+}
+
+
+// Step 4 : Payment Success
+#payment-success.panel {
+ .panel-heading {
+ text-align: left;
+ .payment-method {
+ .label;
+ .label-primary;
+ font-size: inherit;
+ }
+ }
+ .panel-body {
+ > h3 { color: @brand-primary; }
+ padding: 20px 40px;
+ }
+}
+
+
+// Account
+#account {
+ .panel {
+ .box-shadow(none);
+ border-color: #fff;
+ }
+ .panel-title {
+ text-align: left;
+ > a {
+ &:before {
+ .icon(@chevron-down);
+ float: left;
+ width: 20px;
+ //padding-right: .3em;
+ }
+
+ &.collapsed {
+ &:before {
+ content: @chevron-right;
+ }
+ }
+ }
+ }
+}
+
+// Account Info
+#account-info {
+
+ // Personal Info
+ .fn { font-size: 16px; font-weight: 600; }
+
+ .list-info {
+ .mobile,
+ .tel,
+ .email {
+ &:before {
+ color: @brand-primary;
+ line-height: 1;
+ margin-right: .4em;
+ vertical-align: middle;
+ }
+ }
+ .mobile:before { .icon(@mobile-phone); font-size: 30px; }
+ .tel:before { .icon(@phone); font-size: 22px; }
+ .email:before { .icon(@envelope); font-size: 18px; }
+ }
+ .group-btn {
+ a {
+ color: @text-color;
+ margin-bottom: 4px; padding: 0;
+ > i {
+ color: @link-color;
+ font-size: 20px; line-height: 1;
+ margin-right: .3em;
+ vertical-align: middle;
+ }
+
+ &:hover,
+ &:focus { color: @link-hover-color; }
+ }
+ }
+}
+
+// Account Address Book
+#account-address {
+ .panel-body { padding-left: 0; padding-right: 0; padding-top: 10px; }
+ .table-address {
+ border: 1px solid #D9EEFF;
+ margin-bottom: 0;
+ .btn span { .hide-text; }
+ }
+}
+
+// Account Orders
+#account-orders {
+ .panel-body { padding-left: 0; padding-right: 0; }
+ .table-orders {
+ .table-bordered;
+ .table-hover;
+
+ thead,
+ tbody {
+ > tr {
+ > th,
+ > td {
+ padding: 14px;
+ text-align: center;
+ }
+ }
+ }
+
+ thead {
+ > tr {
+ > th {
+ background-color: #D9EEFF;
+ border-bottom-width: 1px;
+ }
+ }
+ }
+ }
+
+ // Button Order Details
+ .btn-order-details {
+ .btn-link;
+ font-style: italic;
+ padding: 0;
+ }
+}
+
+.table-cart-mini {
+
+ thead,
+ tbody,
+ tfoot {
+ > tr {
+ > th,
+ > td {
+ vertical-align: middle;
+ }
+ }
+ }
+}
+
+
+.table-cart {
+
+ thead,
+ tbody,
+ tfoot {
+ > tr {
+ > th,
+ > td {
+ padding: 14px;
+ text-align: center;
+ vertical-align: middle;
+ &.product { text-align: left; }
+ }
+ }
+ }
+
+ tbody {
+ > tr {
+ > td {
+ &.price,
+ &.qty,
+ &.subprice { padding: 35px 10px; }
+ }
+ }
+ }
+
+ thead {
+ > tr {
+ > th {
+ border-bottom-width: 1px;
+ &.subprice { color: @brand-primary; }
+ }
+ }
+ }
+
+ tfoot {
+ > tr {
+ > th,
+ > td {
+ background-color: #D9EEFF;
+
+ &.empty {
+ background: transparent;
+ }
+
+ &.total {
+ background-color: #666;
+ color: #fff;
+ .price {
+ color: inherit;
+ }
+ }
+ }
+ }
+ th.total { text-transform:uppercase; font-weight:100; font-size: ceil(@font-size-base * 1.1); }
+ }
+}
+.navbar li.cart-not-empty > a.cart:before {
+ font-size: 20px;
+}
+
+.checkout-progress {
+ .btn-step {
+ .border-radius(0);
+ border: none; border-top: 1px solid @text-color;
+ color: @text-color;
+ padding: 12px;
+ text-align: left;
+ width: 100%;
+
+ &:hover,
+ &:focus,
+ &:active,
+ &.active {
+ background-color: @brand-primary;
+ }
+
+ &.disabled,
+ &[disabled] {
+ &,
+ &:hover,
+ &:focus,
+ &:active,
+ &.active {
+ background-color: #D9EEFF;
+ }
+ }
+
+ .step-label {
+ font-size: 18px;
+ }
+ }
+
+ @media (min-width: @screen-tablet) {
+ .btn-step {
+ border-top: 0;
+ padding: 20px;
+ width: auto;
+ + .btn-step { border-left: 1px solid @text-color; }
+ }
+ }
+}
+
+// Page Contact
+#google-map {
+ border: none;
+ display: block;
+ margin-bottom: @line-height-computed;
+ width: 100%; height: 350px;
+ @filter-map: ~"grayscale(100%)";
+ -webkit-filter: @filter-map;
+ -moz-filter: @filter-map;
+ -ms-filter: @filter-map;
+ -o-filter: @filter-map;
+ filter: @filter-map;
+}
+
+// Alerte post scriptum
+.attention {
+ color: #fff;
+ background-color: #0000ff;
+
+ border-radius: 3px;
+ margin-bottom: 20px;
+ padding: 15px;
+ border-color: #fbeed5;
+ font-weight: bold;
+
+ p:last-child {
+ margin-bottom: 0;
+ }
+}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/assets/themes/default/less/variables.less b/templates/frontOffice/sterivein_sans_commande/assets/themes/default/less/variables.less
new file mode 100644
index 000000000..d47c905eb
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/assets/themes/default/less/variables.less
@@ -0,0 +1,115 @@
+// Import Google Font
+@import url(//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800);
+
+// Theme colors
+@gray-darker: #222;
+@gray-dark: #444;
+@gray: #555;
+@gray-light: #e5e5e5;
+@gray-lighter: #eee;
+
+@brand-primary: #2a98d1;
+@brand-success: #5cb85c;
+@brand-warning: #f0ad4e;
+@brand-danger: #d9534f;
+@brand-info: #5bc0de;
+
+@body-bg: #EDF7FF;
+@text-color: @gray-dark;
+
+@link-color: #0985C8;
+@link-hover-color: #056192;
+
+@font-family-sans-serif: 'Open Sans', sans-serif;
+@font-family-serif: Georgia, "Times New Roman", Times, serif;
+@font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace;
+@font-family-base: @font-family-sans-serif;
+
+// Border Radius
+@border-radius-base: 3px;
+
+// Forms
+@input-border: @gray-light;
+@input-color-placeholder: lighten(@text-color, 30%);
+
+
+// Breadcrumbs
+@breadcrumb-bg: @body-bg;
+@breadcrumb-color: @text-color;
+@breadcrumb-active-color: @text-color;
+@breadcrumb-padding: 0;
+
+
+// Pagination
+@pagination-bg: #f9f9f9;
+@pagination-border: #ddd;
+@pagination-hover-bg: transparent;//darken(@pagination-bg, 10%);
+@pagination-active-bg: @brand-primary;
+@pagination-active-color: #fff;
+@pagination-disabled-color: @gray-light;
+
+
+// Pager
+@pager-border-radius: 0;
+@pager-disabled-color: @gray-light;
+
+
+// Navbar
+@navbar-default-color: darken(@navbar-default-bg, 52%); //#707070;
+@navbar-default-bg: darken(@body-bg, 4%);
+@navbar-default-border: @body-bg;
+
+// Navbar links
+@navbar-default-link-color: @navbar-default-color;
+@navbar-default-link-hover-color: #fff;
+@navbar-default-link-hover-bg: @link-color;
+@navbar-default-link-active-color: @link-color;
+@navbar-default-link-active-bg: transparent;
+
+
+// Thelia : Sub Navigation
+@navbar-subnav-bg: @navbar-default-link-hover-bg;
+@navbar-subnav-link-padding: 3px 12px;
+@navbar-subnav-link-color: @navbar-default-link-hover-color;
+@navbar-subnav-link-hover-bg: @navbar-subnav-link-color;
+@navbar-subnav-link-hover-color: @navbar-subnav-bg;
+@navbar-subnav-border: @navbar-subnav-bg;
+@navbar-subnav-border-radius: 0;
+@navbar-subnav-divider-bg: #fff;
+@navbar-subnav-shadow: none; //0 6px 12px rgba(0,0,0,.175);
+
+
+// Thelia : Toolbar
+@toolbar-sorter-bg: @body-bg;
+@toolbar-sorter-border-radius: 0;
+@toolbar-sorter-padding: 0;
+
+
+// Carousel
+@carousel-text-shadow: none;
+@carousel-control-color: #ccc;
+@carousel-control-width: 10%;
+@carousel-control-opacity: .5;
+@carousel-control-font-size: 30px;
+
+
+// Thelia : Products Filter
+@filter-border: @filter-bg;
+@filter-border-radius: 0;
+@filter-padding: 0 15px;
+
+
+// Thelia : Product Option
+@option-bg: #fff;
+@option-border: 0;
+@option-border-radius: 0;
+@option-padding: 0;
+@option-heading-border: transparent;
+@option-heading-color: @text-color;
+@option-heading-font-size: @font-size-base;
+
+
+// Panels
+@panel-border-radius: 0;
+@panel-default-border: @panel-default-heading-bg;
+
diff --git a/templates/frontOffice/sterivein_sans_commande/badresponse.html b/templates/frontOffice/sterivein_sans_commande/badresponse.html
new file mode 100755
index 000000000..5dfd6b333
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/badresponse.html
@@ -0,0 +1,40 @@
+{extends file="layout.tpl"}
+
+{* Security *}
+{block name="no-return-functions" prepend}
+ {check_auth role="CUSTOMER" login_tpl="login"}
+{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+{$breadcrumbs = [
+['title' => {intl l="Redirect to bank service"}]
+]}
+{/block}
+
+{block name="body-class"}page-gotobankservice{/block}
+
+{block name="main-content"}
+
+
+
+ {intl l="A problem occured"}.
+
+
+
+
+ {$msg}
+ {loop name="badresponseorder" type="order" id={$order_id}}
+ {$REF}
+ {/loop}
+
+ {intl l="Please try again to order"}
+
+
+
+
+ {intl l="Home"}
+
+{/block}
+
+{block name="after-javascript-include"}{/block}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/brand.html b/templates/frontOffice/sterivein_sans_commande/brand.html
new file mode 100644
index 000000000..7f00e154f
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/brand.html
@@ -0,0 +1,207 @@
+{extends file="layout.tpl"}
+
+{block name="init"}
+{$brand_id={brand attr="id"}}
+{/block}
+
+{* Body Class *}
+{block name="body-class"}page-brand{/block}
+
+{* Page Title *}
+{block name='no-return-functions' append}
+{if $brand_id}
+ {loop name="brand.seo.title" type="brand" id=$brand_id limit="1"}
+ {$page_title = {$META_TITLE}}
+ {/loop}
+{/if}
+{/block}
+
+{* Meta *}
+{block name="meta"}
+{if $brand_id}
+ {loop name="brand.seo.meta" type="brand" id=$brand_id limit="1"}
+ {include file="includes/meta-seo.html"}
+ {/loop}
+{/if}
+{/block}
+
+{* Feeds *}
+{block name="feeds"}
+{if $brand_id}
+
+{/if}
+{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+{if $brand_id}
+ {$breadcrumbs = []}
+ {if $brand_id}
+ {loop type="brand" name="brand-breadcrumb" id=$brand_id limit="1"}
+ {$breadcrumbs[] = ['title' => {$TITLE}, 'url'=> {$URL}]}
+ {/loop}
+ {else}
+ {$breadcrumbs[] = ['title' => {intl l="All brands"}, 'url'=> '']}
+ {/if}
+{/if}
+{/block}
+
+{block name="main-content"}
+ {if $brand_id}
+
+ {$limit={$smarty.get.limit|default:8}}
+ {$product_page={$smarty.get.page|default:1}}
+ {$product_order={$smarty.get.order|default:'alpha'}}
+ {$mode=$smarty.get.mode|default:'grid'}
+
+
+ {loop name="brand.info" type="brand" id=$brand_id limit="1"}
+
+ {$TITLE}
+
+ {loop name="brand.image" type="image" source="brand" id={$LOGO_IMAGE_ID} width=218 height=146 resize_mode="borders"}
+
+ {/loop}
+
+ {if $CHAPO}
+
+ {$CHAPO}
+
+ {/if}
+ {if $DESCRIPTION}
+
+ {$DESCRIPTION nofilter}
+
+ {/if}
+ {if $POSTSCRIPTUM}
+
+ {$POSTSCRIPTUM}
+
+ {/if}
+
+
+ {ifloop rel="product_list"}
+
+ {assign var="amount" value="{count type="product" brand="$ID"}"}
+
+
+
+
+
+ {loop type="product" name="product_list" brand=$ID limit=$limit page=$product_page order=$product_order}
+ {include file="includes/single-product.html" product_id=$ID hasBtn=true hasDescription=true hasQuickView=true width="218" height="146"}
+ {/loop}
+
+
+
+
+
+ {if $amount > $limit}
+
+ {/if}
+
+ {/ifloop}
+
+ {elseloop rel="product_list"}
+
+ {intl l="No products available in this brand"}
+
+ {/elseloop}
+
+ {/loop}
+
+
+
+ {include file="includes/brand-menu.html"}
+
+
+
+ {else}
+
+
+ {ifloop rel="brands"}
+
+ {loop name="brands" type="brand"}
+
+
+
+
+
+ {/loop}
+
+ {/ifloop}
+ {elseloop rel="brand_logo"}
+
+ {/elseloop}
+
+
+ {/if}
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/cart.html b/templates/frontOffice/sterivein_sans_commande/cart.html
new file mode 100644
index 000000000..db4855e86
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/cart.html
@@ -0,0 +1,222 @@
+{extends file="layout.tpl"}
+
+{* Body Class *}
+{block name="body-class"}page-cart{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Cart"}, 'url'=>{url path="/cart"}]
+ ]}
+{/block}
+
+{block name="main-content"}
+
+
+
+ {intl l="Your Cart"}
+
+
+ {ifloop rel="cartloop"}
+ {include file="misc/checkout-progress.tpl" step="cart"}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {intl l="Product Name"}
+ {intl l="Name"}
+
+
+ {intl l="Unit Price incl. taxes"}
+ {intl l="Price"}
+
+
+ {intl l="Quantity"}
+ {intl l="Qty"}
+
+
+ {intl l="Total incl. taxes"}
+ {intl l="Total"}
+
+
+
+
+ {loop type="cart" name="cartloop"}
+
+
+ {ifloop rel='product-image'}
+
+ {assign "cart_count" $LOOP_COUNT}
+ {loop type="image" name="product-image" product=$PRODUCT_ID limit="1" width="118" height="85" force_return="true"}
+
+ {/loop}
+
+ {/ifloop}
+
+
+
+
+
+ {intl l="Available"} :
+ {if $STOCK > 0}
+ {intl l="In Stock"}
+ {else}
+ {intl l="Out of Stock"}
+ {/if}
+ {intl l="No."}
+ {$REF}
+ {loop type="attribute_combination" name="product_options" product_sale_elements="$PRODUCT_SALE_ELEMENTS_ID"}
+ {$ATTRIBUTE_TITLE}
+ {$ATTRIBUTE_AVAILABILITY_TITLE}
+ {/loop}
+
+
+ {intl l="Remove"}
+
+
+ {if $IS_PROMO == 1}
+ {assign "real_price" $PROMO_TAXED_PRICE}
+ {format_money number=$PROMO_TAXED_PRICE symbol={currency attr="symbol"}}
+ {intl l="instead of"} {format_money number=$TAXED_PRICE symbol={currency attr="symbol"}}
+ {else}
+ {assign "real_price" $TAXED_PRICE}
+ {format_money number=$TAXED_PRICE symbol={currency attr="symbol"}}
+ {/if}
+
+
+
+
+
+ {format_money number={$real_price * $QUANTITY} symbol={currency attr="symbol"}}
+
+
+ {/loop}
+ {postage}
+ {assign var="postageAmount" value=$postage }
+
+
+
+
+ {format_money number=$postage symbol={currency attr="symbol"}}
+ -
+ {format_money number=$postage symbol={currency attr="symbol"}}
+
+ {/postage}
+
+
+
+
+ {intl l="Total incl. taxes"}
+
+
+ {assign var="totalAmount" value={cart attr='total_taxed_price_without_discount'} + $postageAmount }
+ {format_money number=$totalAmount symbol={currency attr="symbol"}}
+
+
+
+
+
+
+ {intl l="Continue Shopping"}
+ {intl l="Proceed checkout"}
+
+ {/ifloop}
+ {elseloop rel="cartloop"}
+
+ {intl l="Warning"}! {intl l="You have no items in your shopping cart."}
+
+ {/elseloop}
+
+
+
+ {ifloop rel="product_upsell"}
+
+ {/ifloop}
+
+
+{/block}
+
+{block name="after-javascript-include"}
+
+{/block}
+
diff --git a/templates/frontOffice/sterivein_sans_commande/category.html b/templates/frontOffice/sterivein_sans_commande/category.html
new file mode 100644
index 000000000..08f5e5bad
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/category.html
@@ -0,0 +1,132 @@
+{extends file='layout.tpl'}
+
+{block name="init"}
+{$category_id={category attr="id"}}
+{/block}
+
+
+{* Body Class *}
+{block name="body-class"}page-category{/block}
+
+{* Page Title *}
+{block name='no-return-functions' append}
+{if $category_id}
+ {loop name="category.seo.title" type="category" id=$category_id limit="1"}
+ {$page_title = {$META_TITLE}}
+ {/loop}
+{/if}
+{/block}
+
+{* Meta *}
+{block name="meta"}
+{if $category_id}
+ {loop name="category.seo.meta" type="category" id=$category_id limit="1"}
+ {include file="includes/meta-seo.html"}
+ {/loop}
+{/if}
+{/block}
+
+{* Feeds *}
+{block name="feeds"}
+{if $category_id}
+
+{/if}
+{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+{if $category_id}
+ {$breadcrumbs = []}
+ {loop name="category_path" type="category-path" category=$category_id}
+ {$breadcrumbs[] = ['title' => {$TITLE}, 'url'=> {$URL nofilter}]}
+ {/loop}
+{/if}
+{/block}
+
+{* Content *}
+{block name="main-content"}
+
+
+ {$limit={$smarty.get.limit|default:8}}
+ {$product_page={$smarty.get.page|default:1}}
+ {$product_order={$smarty.get.order|default:'alpha'}}
+
+
+
+
+ {if #category_display_detail# && $category_id}
+
+ {loop name="category.description" type="category" id={$category_id} limit="1" }
+ {category attr="title"}
+ {loop name="category.image" type="image" source="category" id={$ID} width=218 height=146 resize_mode="borders"}
+
+ {/loop}
+ {if $DESCRIPTION}
+
+ {$DESCRIPTION nofilter}
+
+ {/if}
+ {if $POSTSCRIPTUM}
+
+ {$POSTSCRIPTUM}
+
+ {/if}
+ {/loop}
+
+
+ {/if}
+
+ {if #category_display_subcategories#}
+ {ifloop rel="subcategories"}
+
+
+
+ {loop name="subcategories" type="category" parent=$category_id}
+
+ {$TITLE}
+
+ {/loop}
+
+
+
+ {/ifloop}
+ {/if}
+
+ {ifloop rel="product_list"}
+ {assign var="amount" value="{count type="product" category=$category_id}"}
+
+
+
+
+ {loop type="product" name="product_list" category=$category_id limit=$limit page=$product_page order=$product_order}
+ {include file="includes/single-product.html" product_id=$ID hasBtn=true hasDescription=true hasQuickView=true width="218" height="146"}
+ {/loop}
+
+
+
+
+
+ {if $amount > $limit}
+
+ {/if}
+
+ {/ifloop}
+ {elseloop rel="product_list"}
+
+ {intl l="No products available in this category"}
+
+ {/elseloop}
+
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/configs/variables.conf b/templates/frontOffice/sterivein_sans_commande/configs/variables.conf
new file mode 100644
index 000000000..86be0496b
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/configs/variables.conf
@@ -0,0 +1,28 @@
+# Display
+category_display_detail = true
+category_display_subcategories = false
+
+folder_display_detail = true
+folder_display_subfolders = false
+
+
+# Maximum number of lines in lists
+# --------------------------------
+max_displayed_orders = 20
+max_displayed_customers = 20
+
+# order status - seems ununsed ?
+# ------------------------------
+
+order_not_paid = 'warning'
+order_paid = 'success'
+order_processing = 'primary'
+order_sent = 'info'
+order_canceled = 'danger'
+
+# Various variables
+id_contenu_contact = 2
+id_dossier_menu = 2
+id_categorie_boutique = 1
+id_contenu_cgv = 4
+id_contenu_mentions = 3
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/contact-success.html b/templates/frontOffice/sterivein_sans_commande/contact-success.html
new file mode 100644
index 000000000..29e7d7ee4
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/contact-success.html
@@ -0,0 +1,8 @@
+{extends file="contact.html"}
+
+{block name="contact-form"}
+
+{/block}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/contact.html b/templates/frontOffice/sterivein_sans_commande/contact.html
new file mode 100644
index 000000000..49ede0b17
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/contact.html
@@ -0,0 +1,124 @@
+{extends file="layout.tpl"}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [['title' => {intl l="Contact Us"}, 'url'=>{url path="/contact"}]]}
+{/block}
+
+{block name="main-content"}
+
+
+ {intl l="Contact Us"}
+
+
+
+ {loop name="blog.content" type="content" id=#id_contenu_contact#}
+
+ {/loop}
+
+
+
+ {block name="contact-form"}
+ {form name="thelia.front.contact"}
+
+ {if $form_error}
{$form_error_message}
{/if}
+
+
+ {/form}
+ {/block}
+
+
+
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/content.html b/templates/frontOffice/sterivein_sans_commande/content.html
new file mode 100755
index 000000000..64da3e84c
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/content.html
@@ -0,0 +1,84 @@
+{extends file="layout.tpl"}
+
+{block name='init'}
+ {assign var="content_id" value={content attr="id"}}
+{/block}
+
+{* Body Class *}
+{block name="body-class"}page-content{/block}
+
+{* Page Title *}
+{block name='no-return-functions' append}
+ {if {$content_id}}
+ {loop name="content.seo.title" type="content" id={$content_id} limit="1"}
+ {$page_title = {$META_TITLE}}
+ {/loop}
+ {/if}
+{/block}
+
+{* Meta *}
+{block name="meta"}
+ {if $content_id}
+ {loop name="content.seo.meta" type="content" id=$content_id limit="1"}
+ {include file="includes/meta-seo.html"}
+ {/loop}
+ {/if}
+{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {if $content_id}
+ {$breadcrumbs = []}
+ {loop type="content" name="content-breadcrumb" id=$content_id limit="1"}
+ {loop name="folder_path" type="folder-path" folder="{$DEFAULT_FOLDER}"}
+ {$breadcrumbs[] = ['title' => {$TITLE}, 'url'=> {$URL}]}
+ {/loop}
+ {$breadcrumbs[] = ['title' => {$TITLE}, 'url'=> {$URL}]}
+ {/loop}
+ {/if}
+{/block}
+
+{block name="main-content"}
+{if $content_id}
+
+
+ {loop name="blog.content" type="content" id=$content_id limit="1"}
+ {$TITLE}
+ {if $CHAPO}
+
+ {$CHAPO}
+
+ {/if}
+ {if $DESCRIPTION}
+
+ {$DESCRIPTION nofilter}
+
+ {/if}
+
+ {ifloop rel="blog.document"}
+
+
+ {loop name="blog.document" type="document" content="{$ID}"}
+ {$TITLE}
+ {/loop}
+
+
+ {/ifloop}
+
+ {if $POSTSCRIPTUM}
+
+ {$POSTSCRIPTUM}
+
+ {/if}
+ {/loop}
+
+
+
+{else}
+
+
+ {include file="includes/empty.html"}
+
+
+{/if}
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/currency.html b/templates/frontOffice/sterivein_sans_commande/currency.html
new file mode 100644
index 000000000..8eb198e88
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/currency.html
@@ -0,0 +1,25 @@
+{extends file="layout.tpl"}
+
+{* Body Class *}
+{block name="body-class"}page-currency{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Currency"}, 'url'=>{url path="/currency"}]
+ ]}
+{/block}
+
+
+{block name="main-content"}
+
+
+ {intl l="SELECT YOUR CURRENCY"}
+
+
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/feed.html b/templates/frontOffice/sterivein_sans_commande/feed.html
new file mode 100644
index 000000000..8e334a031
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/feed.html
@@ -0,0 +1,108 @@
+
+
+{* @todo order item by create date desc *}
+{assign var="store_name" value="{config key="store_name"}"}
+{loop type="lang" name="lang" id=$_lang_}
+ {assign var="locale" value="{$LOCALE}"}
+{/loop}
+{if $_context_ == "catalog"}
+
+ {if $_id_ == "" }
+ {intl l="All products in"} {$store_name}
+ {url path="/"}
+ {$store_name}
+ {$locale|replace:'_':'-'|lower}
+ {$smarty.now|date_format:'r'}
+ Thelia 2.0
+ {else}
+ {loop type="category" name="category" id=$_id_ lang=$_lang_ }
+ {intl l="All products in"} {$TITLE} - {$store_name}
+ {$URL}
+ {$CHAPO}
+ {$LOCALE|replace:'_':'-'|lower}
+ {format_date date=$UPDATE_DATE format="r"}
+ {$smarty.now|date_format:'r'}
+ Thelia 2.0
+ {/loop}
+ {/if}
+ {loop type="product" name="product" category_default=$_id_ lang=$_lang_ order="id_reverse" }
+ -
+
{$TITLE}
+ {$URL}
+ {$CHAPO}
+ {format_date date=$CREATE_DATE format="r"}
+ {$URL}
+
+ {/loop}
+
+{elseif $_context_ == "brand"}
+
+ {if $_id_ == "" }
+ {intl l="All brands in %store" store="$store_name"}
+ {url path="/"}
+ {$store_name}
+ {$locale|replace:'_':'-'|lower}
+ {$smarty.now|date_format:'r'}
+ Thelia 2.0
+ {loop type="brand" name="brand-list" lang=$_lang_ order="id-reverse" }
+ -
+
{$TITLE}
+ {$URL}
+ {$CHAPO}
+ {format_date date=$CREATE_DATE format="r"}
+ {$URL}
+
+ {/loop}
+ {else}
+ {loop type="brand" name="brand-desc" lang=$_lang_ id=$_id_}
+ {intl l="All products for brand %title in %store" title="$TITLE" store="$store_name"}
+ {$URL}
+ {$CHAPO}
+ {$locale|replace:'_':'-'|lower}
+ {$smarty.now|date_format:'r'}
+ Thelia 2.0
+ {/loop}
+ {/if}
+
+ {loop type="product" name="products-in-brand" brand=$_id_ lang=$_lang_ order="id_reverse" }
+ -
+
{$TITLE}
+ {$URL}
+ {$CHAPO}
+ {format_date date=$CREATE_DATE format="r"}
+ {$URL}
+
+ {/loop}
+
+{else}
+
+ {if $_id_ == "" }
+ {intl l="All contents in"} {$store_name}
+ {url path="/"}
+ {$store_name}
+ {$locale|replace:'_':'-'|lower}
+ {$smarty.now|date_format:'r'}
+ Thelia 2.0
+ {else}
+ {loop type="folder" name="folder" id=$_id_ lang=$_lang_ }
+ {intl l="All contents in"} {$TITLE} - {$store_name}
+ {$URL}
+ {$CHAPO}
+ {$LOCALE|replace:'_':'-'|lower}
+ {format_date date=$UPDATE_DATE format="r"}
+ {$smarty.now|date_format:'r'}
+ Thelia 2.0
+ {/loop}
+ {/if}
+ {loop type="content" name="content" folder_default=$_id_ lang=$_lang_ }
+ -
+
{$TITLE}
+ {$URL}
+ {$CHAPO}
+ {format_date date=$CREATE_DATE format="r"}
+ {$URL}
+
+ {/loop}
+
+{/if}
+
diff --git a/templates/frontOffice/sterivein_sans_commande/folder.html b/templates/frontOffice/sterivein_sans_commande/folder.html
new file mode 100755
index 000000000..3a6e1837c
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/folder.html
@@ -0,0 +1,134 @@
+{extends file="layout.tpl"}
+
+{block name="init"}
+{$folder_id={folder attr="id"}}
+{/block}
+
+{* Body Class *}
+{block name="body-class"}page-folder{/block}
+
+{* Page Title *}
+{block name='no-return-functions' append}
+ {if $folder_id}
+ {loop name="folder.seo.title" type="folder" id=$folder_id limit="1"}
+ {$page_title = {$META_TITLE}}
+ {/loop}
+ {/if}
+{/block}
+
+{* Meta *}
+{block name="meta"}
+ {if $folder_id}
+ {loop name="folder.seo.meta" type="folder" id=$folder_id limit="1"}
+ {include file="includes/meta-seo.html"}
+ {/loop}
+ {/if}
+{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {if $folder_id}
+ {$breadcrumbs = []}
+ {loop name="folder_path" type="folder-path" folder=$folder_id}
+ {$breadcrumbs[] = ['title' => {$TITLE}, 'url'=> {$URL}]}
+ {/loop}
+ {/if}
+{/block}
+
+{block name="feeds"}
+
+{/block}
+
+{* Content *}
+{block name="main-content"}
+
+
+ {if $folder_id}
+ {loop name="folder" type="folder" id=$folder_id limit="1"}
+
{$TITLE}
+ {if $CHAPO}
+
+ {$CHAPO}
+
+ {/if}
+ {if $DESCRIPTION}
+
+ {$DESCRIPTION nofilter}
+
+ {/if}
+
+
+
+ {ifloop rel="folder_content"}
+
+ {/ifloop}
+
+
+
+
+ {ifloop rel="blog.document"}
+
+
+ {loop name="blog.document" type="document" folder="{$ID}"}
+ {$TITLE}
+ {/loop}
+
+
+ {/ifloop}
+
+ {if $POSTSCRIPTUM}
+
+ {$POSTSCRIPTUM}
+
+ {/if}
+ {/loop}
+ {else}
+ {ifloop rel="folders"}
+
+ {loop name="folders" type="folder"}
+
+
+
+
+ {if $CHAPO}
+
+ {$CHAPO}
+
+ {/if}
+
+
+
+ {/loop}
+
+ {/ifloop}
+ {/if}
+
+
+{/block}
+
+
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/addedToCart.html b/templates/frontOffice/sterivein_sans_commande/includes/addedToCart.html
new file mode 100644
index 000000000..314ba40c0
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/addedToCart.html
@@ -0,0 +1,54 @@
+{default_translation_domain domain='fo.sterivein'}
+{loop type="product" name="add_product_to_cart" id={product attr="id"}}
+
+
+
+
+ {intl l="The product has been added to your cart" }
+
+
+
+
+ {loop name="product_thumbnail" type="image" product=$ID width="218" height="146" resize_mode="borders" limit="1"}
+
+ {/loop}
+
+
+ {$TITLE}
+ {loop type="attribute_combination" name="product_options" product_sale_elements="{$smarty.get.pse_id}"}
+ {$ATTRIBUTE_TITLE} : {$ATTRIBUTE_AVAILABILITY_TITLE}
+ {/loop}
+
+
+ {loop type="product_sale_elements" name="product_price" id="{$smarty.get.pse_id}"}
+ {if $IS_PROMO == 1}
+ {assign "real_price" $TAXED_PROMO_PRICE}
+ {format_money number=$TAXED_PROMO_PRICE symbol={currency attr="symbol"}}
+ {format_money number=$TAXED_PRICE symbol={currency attr="symbol"}}
+ {else}
+ {assign "real_price" $TAXED_PRICE}
+ {format_money number=$TAXED_PRICE symbol={currency attr="symbol"}}
+ {/if}
+ {/loop}
+
+
+
+
+
{intl l="View Cart"}
+
{intl l="Continue Shopping"}
+
+{ifloop rel="accessories"}
+
+{/ifloop}
+{/loop}
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/asides/articles.html b/templates/frontOffice/sterivein_sans_commande/includes/asides/articles.html
new file mode 100644
index 000000000..59225d638
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/asides/articles.html
@@ -0,0 +1,12 @@
+
+
{intl l="Related"}
+
+
+
+ {loop name="blog.article" type="content" current_folder="yes" exclude="{content attr="id"}"}
+ {$TITLE}
+ {/loop}
+
+
+
+
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/brand-menu.html b/templates/frontOffice/sterivein_sans_commande/includes/brand-menu.html
new file mode 100644
index 000000000..7d4b11884
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/brand-menu.html
@@ -0,0 +1,12 @@
+
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/categories-filters.html b/templates/frontOffice/sterivein_sans_commande/includes/categories-filters.html
new file mode 100644
index 000000000..3a5151a8c
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/categories-filters.html
@@ -0,0 +1,77 @@
+
+ Find a product
+
+
+
+
+
+
+
+
+ Submit
+
+
+
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/empty.html b/templates/frontOffice/sterivein_sans_commande/includes/empty.html
new file mode 100644
index 000000000..d73d101ef
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/empty.html
@@ -0,0 +1,10 @@
+{if ! $title_empty}
+ {$title={intl l="The page cannot be found"}}
+{/if}
+{$title}
+
+{if ! $message_empty}
+
+ {$message_empty nofilter}
+
+{/if}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/menu.html b/templates/frontOffice/sterivein_sans_commande/includes/menu.html
new file mode 100644
index 000000000..d874095e8
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/menu.html
@@ -0,0 +1,39 @@
+
+
{intl l="Categories"}
+
+
+ {* define current ID *}
+ {loop name="current_cat" type="category" current="yes"}
+ {assign var="current_category_id" value="{$PARENT}"}
+ {/loop}
+ {* define the function *}
+ {function menu level=0}
+ {if $level == 0}
+
+ {else}
+ {if $parent == $current_category_id}
+
+ {else}
+
+ {/function}
+
+ {menu parent='0'}
+
+
+
+
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/meta-seo.html b/templates/frontOffice/sterivein_sans_commande/includes/meta-seo.html
new file mode 100644
index 000000000..b91bde1a9
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/meta-seo.html
@@ -0,0 +1,6 @@
+{if $META_DESCRIPTION}
+
+{elseif $CHAPO}
+
+{/if}
+{if $META_KEYWORDS} {/if}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/mini-cart.html b/templates/frontOffice/sterivein_sans_commande/includes/mini-cart.html
new file mode 100644
index 000000000..53cef31bd
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/mini-cart.html
@@ -0,0 +1,69 @@
+{ifloop rel="cartloop"}
+
+
+ {intl l="Cart"} {cart attr="count_item"}
+
+
+
+{/ifloop}
+{elseloop rel="cartloop"}
+
+
+ {intl l="Cart"} 0
+
+
+
+{/elseloop}
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/product-empty.html b/templates/frontOffice/sterivein_sans_commande/includes/product-empty.html
new file mode 100644
index 000000000..c6e4b659d
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/product-empty.html
@@ -0,0 +1,35 @@
+
+
+
+
+
{intl l="Latest"}
+
+
+
+
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/single-product.html b/templates/frontOffice/sterivein_sans_commande/includes/single-product.html
new file mode 100644
index 000000000..55303dbeb
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/single-product.html
@@ -0,0 +1,105 @@
+
+ {if $PSE_COUNT > 1}
+ {assign var="hasSubmit" value = false}
+ {else}
+ {assign var="hasSubmit" value = true}
+ {/if}
+ {assign var="productTitle" value="{$TITLE}"}
+ {if not $product_id}
+ {assign var="product_id" value=$ID}
+ {/if}
+
+
+
+ {loop name="product_thumbnail" type="image" product=$product_id width="{$width}" height="{$height}" resize_mode="borders" limit="1"}
+
+ {/loop}
+ {elseloop rel="product_thumbnail"}
+ {images file='../assets/img/218x146.png'} {/images}
+ {/elseloop}
+
+
+
+
+
+ {if $hasDescription}
+
+
{$DESCRIPTION nofilter}
+
+ {/if}
+
+
+ {* Stock *}
+ {assign var="current_stock_content" value = "in_stock"}
+ {assign var="current_stock_href" value = "http://schema.org/InStock"}
+ {if {config key="check-available-stock"} != 0}
+ {if $QUANTITY == 0}
+ {assign var="current_stock_content" value = "out_stock"}
+ {assign var="current_stock_href" value = "http://schema.org/OutOfStock"}
+ {/if}
+ {/if}
+
+
+
+
+ {* List of condition : NewCondition, DamagedCondition, UsedCondition, RefurbishedCondition *}
+
+ {* List of currency : The currency used to describe the product price, in three-letter ISO format. *}
+
+
+ {if $IS_PROMO }
+ {intl l="Special Price:"} {format_money number=$TAXED_PROMO_PRICE symbol={currency attr="symbol"}}
+ {intl l="Regular Price:"} {format_money number=$TAXED_PRICE symbol={currency attr="symbol"}}
+ {else}
+ {format_money number=$BEST_TAXED_PRICE symbol={currency attr="symbol"}}
+ {/if}
+
+
+ {if $hasBtn == true}
+ {if $hasSubmit == true}
+ {form name="thelia.cart.add" }
+
+ {form_hidden_fields form=$form}
+
+
+
+ {if $form_error}{$form_error_message}
{/if}
+
+ {form_field form=$form field='product_sale_elements_id'}
+
+ {/form_field}
+ {form_field form=$form field="product"}
+
+ {/form_field}
+
+
+ {form_field form=$form field='quantity'}
+
+ {$label}
+
+ {if $error }
+ {$message}
+ {elseif $value != "" && !$error}
+
+ {/if}
+
+ {/form_field}
+
+
+ {intl l="Add to cart"}
+
+
+
+
+ {/form}
+ {else}
+
+ {/if}
+ {/if}
+
+
+
diff --git a/templates/frontOffice/sterivein_sans_commande/includes/toolbar.html b/templates/frontOffice/sterivein_sans_commande/includes/toolbar.html
new file mode 100644
index 000000000..1f76c32d4
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/includes/toolbar.html
@@ -0,0 +1,55 @@
+
diff --git a/templates/frontOffice/sterivein_sans_commande/index.html b/templates/frontOffice/sterivein_sans_commande/index.html
new file mode 100644
index 000000000..f77b0e0c7
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/index.html
@@ -0,0 +1,35 @@
+{extends file="layout.tpl"}
+
+{* Body Class *}
+{block name="body-class"}page-home{/block}
+
+{* Page Title *}
+{block name='no-return-functions' append}
+ {$page_title = {config key="store_name"}}
+{/block}
+
+{* Hide breadcrumb *}
+{block name='breadcrumb'}{/block}
+
+{block name="main-content"}
+
+ {loop type="content" name="home-folder" id="1"}
+ {intl l="Docteur Alain Monfreux, inventeur du STERIVEIN® et du Sclerivein® "}
+
+
{$CHAPO|nl2br nofilter}
+
+ {/loop}
+
+
+
+ {loop type="content" name="home-folder" id="1"}
+ {$DESCRIPTION nofilter}
+
+ {if $POSTSCRIPTUM}
+
{$POSTSCRIPTUM|nl2br nofilter}
+ {/if}
+ {/loop}
+
+
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/language.html b/templates/frontOffice/sterivein_sans_commande/language.html
new file mode 100644
index 000000000..d1ced33cf
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/language.html
@@ -0,0 +1,25 @@
+{extends file="layout.tpl"}
+
+{* Body Class *}
+{block name="body-class"}page-language{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Language"}, 'url'=>{url path="/language"}]
+ ]}
+{/block}
+
+
+{block name="main-content"}
+
+
+ {intl l="SELECT YOUR LANGUAGE"}
+
+ {loop type="lang" name="lang_available"}
+ {$TITLE}
+ {/loop}
+
+
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/layout.tpl b/templates/frontOffice/sterivein_sans_commande/layout.tpl
new file mode 100644
index 000000000..34f64f1c7
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/layout.tpl
@@ -0,0 +1,398 @@
+
+
+
+{* Declare assets directory, relative to template base directory *}
+{declare_assets directory='assets'}
+{* Set the default translation domain, that will be used by {intl} when the 'd' parameter is not set *}
+{default_translation_domain domain='fo.sterivein_sans_commande'}
+
+{* -- Define some stuff for Smarty ------------------------------------------ *}
+{config_load file='variables.conf'}
+{block name="init"}{/block}
+{block name="no-return-functions"}{/block}
+{assign var="store_name" value="{config key="store_name"}"}
+{assign var="store_description" value="{config key="store_description"}"}
+{if not $store_name}{assign var="store_name" value="{intl l='Thelia V2'}"}{/if}
+{if not $store_description}{assign var="store_description" value="$store_name"}{/if}
+
+{* paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither *}
+
+
+
+
+
+
+ {* Test if javascript is enabled *}
+
+
+
+
+ {* Page Title *}
+ {block name="page-title"}{strip}{if $page_title}{$page_title}{elseif $breadcrumbs}{foreach from=$breadcrumbs|array_reverse item=breadcrumb}{$breadcrumb.title|unescape} - {/foreach}{$store_name}{/if}{/strip}{/block}
+
+ {* Meta Tags *}
+
+
+
+ {block name="meta"}
+
+ {/block}
+
+ {* Stylesheets *}
+ {*
+ {stylesheets file='assets/css/styles.css'}
+
+ {/stylesheets}
+ *}
+ {stylesheets file='assets/less/styles.less' filters="less"}
+
+ {/stylesheets}
+
+ {block name="stylesheet"}{/block}
+
+ {* Favicon *}
+ {images file='assets/img/favicon.ico'} {/images}
+ {images file='assets/img/favicon.png'} {/images}
+
+ {* Feeds *}
+
+
+
+ {block name="feeds"}{/block}
+
+ {* HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries *}
+
+ {hook name="recaptcha.js"}
+
+
+
+
+
+{intl l="Skip to content"}
+
+
+
+
+
+
+
+ {block name="breadcrumb"}{/block}
+
{block name="main-content"}{/block}
+
+
+
+
+
+
+
+{block name="before-javascript-include"}{/block}
+
+
+
+
+
+
+
+
+{javascripts file='assets/js/bootstrap/bootstrap.js'}
+
+{/javascripts}
+
+{javascripts file='assets/js/plugins/bootbox/bootbox.js'}
+
+{/javascripts}
+
+{block name="after-javascript-include"}{/block}
+
+{block name="javascript-initialization"}{/block}
+
+
+{javascripts file='assets/js/script.js'}
+
+{/javascripts}
+{literal}
+
+{/literal}
+
+
diff --git a/templates/frontOffice/sterivein_sans_commande/login.html b/templates/frontOffice/sterivein_sans_commande/login.html
new file mode 100644
index 000000000..db3f061f7
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/login.html
@@ -0,0 +1,78 @@
+{extends file="layout.tpl"}
+
+{* Body Class *}
+{block name="body-class"}page-login{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Login"}, 'url'=>{url path="/login"}]
+ ]}
+{/block}
+
+
+{block name="main-content"}
+
+
+ {intl l="Login"}
+ {form name="thelia.front.customer.login"}
+
+ {if $form_error}{$form_error_message}
{/if}
+ {form_field form=$form field='success_url'}
+ {* the url the user is redirected to on login success *}
+ {/form_field}
+
+ {form_field form=$form field='error_message'}
+ {* the url the user is redirected to on login success *}
+ {/form_field}
+ {form_hidden_fields form=$form}
+
+ {form_field form=$form field="email"}
+
+ {/form_field}
+
+
+ {form_field form=$form field="account"}
+ {intl l="Do you have an account?"}
+ {foreach $choices as $choice}
+
+
+ value}} checked{/if}> {$choice->label}
+
+
+ {/foreach}
+ {/form_field}
+ {form_field form=$form field="password"}
+
+ {/form_field}
+
+
+
+
+
+ {/form}
+
+
+{/block}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/misc/breadcrumb.tpl b/templates/frontOffice/sterivein_sans_commande/misc/breadcrumb.tpl
new file mode 100644
index 000000000..5b5a2ecdd
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/misc/breadcrumb.tpl
@@ -0,0 +1,16 @@
+
+ {intl l="You are here:"}
+
+
diff --git a/templates/frontOffice/sterivein_sans_commande/misc/checkout-progress.tpl b/templates/frontOffice/sterivein_sans_commande/misc/checkout-progress.tpl
new file mode 100644
index 000000000..eb3e051e6
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/misc/checkout-progress.tpl
@@ -0,0 +1,28 @@
+{if $step eq "cart"}
+ {assign var="step1" value=" active"}
+ {assign var="step2" value=" disabled"}
+ {assign var="step3" value=" disabled"}
+ {assign var="step4" value=" disabled"}
+{elseif $step eq "delivery"}
+ {assign var="step1" value=""}
+ {assign var="step2" value=" active"}
+ {assign var="step3" value=" disabled"}
+ {assign var="step4" value=" disabled"}
+{elseif $step eq "invoice"}
+ {assign var="step1" value=""}
+ {assign var="step2" value=""}
+ {assign var="step3" value=" active"}
+ {assign var="step4" value=" disabled"}
+{elseif $step eq "last"}
+ {assign var="step1" value=" disabled"}
+ {assign var="step2" value=" disabled"}
+ {assign var="step3" value=" disabled"}
+ {assign var="step4" value=" active"}
+{/if}
+
+
diff --git a/templates/frontOffice/sterivein_sans_commande/modal-address.html b/templates/frontOffice/sterivein_sans_commande/modal-address.html
new file mode 100644
index 000000000..e69de29bb
diff --git a/templates/frontOffice/sterivein_sans_commande/newsletter.html b/templates/frontOffice/sterivein_sans_commande/newsletter.html
new file mode 100644
index 000000000..5a70abe94
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/newsletter.html
@@ -0,0 +1,40 @@
+{extends file="layout.tpl"}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [['title' => {intl l="Newsletter"}, 'url'=>{url path="/newsletter"}]]}
+{/block}
+
+{block name="main-content"}
+
+
+ {intl l="Newsletter Subscription"}
+
+ {form name="thelia.front.newsletter"}
+
+ {form_hidden_fields form=$form}
+ {intl l="You want to subscribe to the newsletter? Please enter your email address below."}
+ {form_field form=$form field="email"}
+
+ {/form_field}
+
+
+
+ {/form}
+
+
+{/block}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/order-delivery.html b/templates/frontOffice/sterivein_sans_commande/order-delivery.html
new file mode 100644
index 000000000..4fc848403
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/order-delivery.html
@@ -0,0 +1,160 @@
+{extends file="layout.tpl"}
+
+{* Security *}
+{block name="no-return-functions" prepend}
+ {check_auth role="CUSTOMER" login_tpl="login"}
+ {check_cart_not_empty}
+{/block}
+
+{* Body Class *}
+{block name="body-class"}page-order-delivery{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Cart"}, 'url'=>{url path="/cart"}],
+ ['title' => {intl l="Billing and delivery"}, 'url'=>{url path="/order/delivery"}]
+ ]}
+{/block}
+
+
+{block name="main-content"}
+
+
+
+
+ {intl l="Billing and delivery"}
+
+ {include file="misc/checkout-progress.tpl" step="delivery"}
+
+ {form name="thelia.order.delivery"}
+ {assign var="isPost" value="{$smarty.post|count}"}
+
+
+ {form_hidden_fields form=$form}
+
+ {if $form_error}{$form_error_message}
{/if}
+
+ {form_field form=$form field='delivery-address'}
+
+
+
+ {/form_field}
+
+ {form_field form=$form field='delivery-module'}
+
+
+
+ {intl l="Choose your delivery method"}
+ {if $error}
+ {$message}
+ {/if}
+
+
+
+
+ {/form_field}
+
+ {intl l="Back"}
+ {intl l="Next Step"}
+
+
+ {/form}
+
+
+
+
+
+{/block}
+
+{block name="javascript-initialization"}
+
+
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/order-failed.html b/templates/frontOffice/sterivein_sans_commande/order-failed.html
new file mode 100644
index 000000000..a15eb0515
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/order-failed.html
@@ -0,0 +1,50 @@
+{extends file="layout.tpl"}
+
+{* Security *}
+{block name="no-return-functions" prepend}
+ {check_auth role="CUSTOMER" login_tpl="login"}
+{/block}
+
+{* Body Class *}
+{block name="body-class"}page-order-payment{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Cart"}, 'url'=>{url path="/cart"}],
+ ['title' => {intl l="Secure Payment"}, 'url'=>{url path="/order/pay"}]
+ ]}
+{/block}
+
+
+{block name="main-content"}
+
+
+
+ {intl l="Your Cart"}
+
+ {include file="misc/checkout-progress.tpl" step="last"}
+
+ {loop type="order" name="failed-order" id=$failed_order_id}
+
+
+
+
{intl l="You choose to pay by"} : {loop name="payment-module" type="module" id=$PAYMENT_MODULE}{$TITLE}{/loop}
+
+
+
{intl l="We're sorry, a problem occured and your payment was not successful."}
+ {if null !== $failed_order_message}
+
{$failed_order_message}
+ {/if}
+
+
{intl l="Try again"}
+
+
+
+ {/loop}
+
+ {intl l="Go home"}
+
+
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/order-invoice.html b/templates/frontOffice/sterivein_sans_commande/order-invoice.html
new file mode 100644
index 000000000..d43b1b540
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/order-invoice.html
@@ -0,0 +1,407 @@
+{extends file="layout.tpl"}
+
+{* Security *}
+{block name="no-return-functions" prepend}
+ {check_auth role="CUSTOMER" login_tpl="login"}
+ {check_cart_not_empty}
+ {check_valid_delivery}
+{/block}
+
+{* Body Class *}
+{block name="body-class"}page-order-invoice{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Cart"}, 'url'=>{url path="/cart"}],
+ ['title' => {intl l="My order"}, 'url'=>{url path="/order/invoice"}]
+ ]}
+{/block}
+
+
+{block name="main-content"}
+
+
+
+ {intl l="Check my order"}
+
+ {include file="misc/checkout-progress.tpl" step="invoice"}
+
+ {form name="thelia.order.coupon"}
+
+
+
+ {form_hidden_fields form=$form}
+
+ {if $form_error}{$form_error_message}
{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+ {intl l="Product Name"}
+ {intl l="Name"}
+
+ {*
+
+ {intl l="Unit Price"}
+ {intl l="Price"}
+
+ *}
+
+ Prix unitaire HT
+ Prix HT
+
+
+ {intl l="Quantity"}
+ {intl l="Qty"}
+
+
+ {intl l="Total"}
+ {intl l="Total"}
+
+
+
+
+
+ {loop type="cart" name="cartloop"}
+
+
+ {assign "cart_count" $LOOP_COUNT}
+
+ {ifloop rel='product-image'}
+ {loop type="image" name="product-image" product=$PRODUCT_ID limit="1" width="118" height="85" force_return="true"}
+
+ {/loop}
+ {/ifloop}
+ {elseloop rel="product-image"}
+ {images file='assets/img/product/1/118x85.png'} {/images}
+ {/elseloop}
+
+
+
+
+
+
+ {intl l="Available"} :
+ {if $STOCK > 0}
+ {intl l="In Stock"}
+ {else}
+ {intl l="Out of Stock"}
+ {/if}
+ {intl l="No."}
+ {$REF}
+ {loop type="attribute_combination" name="product_options" product_sale_elements="$PRODUCT_SALE_ELEMENTS_ID"}
+ {$ATTRIBUTE_TITLE}
+ {$ATTRIBUTE_AVAILABILITY_TITLE}
+ {/loop}
+
+
+
+ {*
+
+
+ {if $IS_PROMO == 1}
+ {format_money number=$PROMO_PRICE symbol={currency attr="symbol"}}
+ {else}
+ {format_money number=$PRICE symbol={currency attr="symbol"}}
+ {/if}
+
+
+ *}
+
+ {if $IS_PROMO == 1}
+ {assign "real_price" $PROMO_TAXED_PRICE}
+ {format_money number=$PROMO_TAXED_PRICE symbol={currency attr="symbol"}}
+ {intl l="instead of"} {format_money number=$TAXED_PRICE symbol={currency attr="symbol"}}
+ {else}
+ {assign "real_price" $TAXED_PRICE}
+ {format_money number=$TAXED_PRICE symbol={currency attr="symbol"}}
+ {/if}
+
+
+ {$QUANTITY}
+
+
+ {format_money number={$real_price * $QUANTITY} symbol={currency attr="symbol"}}
+
+
+
+ {/loop}
+
+
+
+
+
+
+
+
+ {$discount={order attr="discount"}}
+ {if $discount}
+
+ {intl l="Discount"}
+
+
+ {format_money number=$discount symbol={currency attr="symbol"}}
+
+
+
+ {/if}
+
+
+ {intl l="You may have a coupon ?"}
+
+ {form_field form=$form field='success_url'}
+
+ {/form_field}
+ {form_field form=$form field='coupon-code'}
+
+
+ {intl l='Code :'}
+
+
+ {intl l="Ok"}
+
+
+ {if $error}
{$message} {/if}
+
+ {/form_field}
+
+
+
+
+
+ {intl l="Total articles"}
+
+ {format_money number={cart attr="total_taxed_price"} symbol={currency attr="symbol"}}
+
+
+
+ {intl l="Shipping Tax"}
+
+
+ {format_money number={order attr="postage"} symbol={currency attr="symbol"}}
+
+
+
+{*
+
+ {intl l="Total excl. taxes"}
+
+
+ {format_money number={{cart attr="total_price"} + {order attr="postage"}} symbol={currency attr="symbol"}}
+
+
+
+
+ {intl l="Total taxes"}
+
+
+ {format_money number={{cart attr="total_taxed_price"} - {cart attr="total_price"} - {order attr="postage"}} symbol={currency attr="symbol"}}
+
+
+
+*}
+
+ {intl l="Total incl. taxes"}
+
+
+ {format_money number={{cart attr="total_taxed_price"} + {order attr="postage"}} symbol={currency attr="symbol"}}
+
+
+
+
+
+
+
+
+ {/form}
+
+ {form name="thelia.order.payment"}
+ {assign var="isPost" value=$smarty.post|count}
+
+
+ {form_hidden_fields form=$form}
+
+ {if $form_error}{$form_error_message}
{/if}
+
+
+ {loop type="address" name="delivery-address" id={order attr="delivery_address"}}
+
{intl l="Delivery address"}
+
+
{loop type="title" name="customer.title.info" id=$TITLE}{$SHORT}{/loop} {$LASTNAME|upper} {$FIRSTNAME|ucwords}
+
{$COMPANY}
+
+ {$ADDRESS1}
+ {if $ADDRESS2 != ""}
+ {$ADDRESS2}
+ {/if}
+ {if $ADDRESS3 != ""}
+ {$ADDRESS3}
+ {/if}
+ {$ZIPCODE}
+ {$CITY}, {loop type="country" name="customer.country.info" id=$COUNTRY}{$TITLE}{/loop}
+
+
+ {/loop}
+
+
+ {form_field form=$form field='invoice-address'}
+
+
{intl l="Billing address"}
+
+ {if $error}
+
{$message}
+ {/if}
+
+
+
+ {loop type="address" name="invoice-address"}
+ {assign var="isInvoiceAddressChecked" value="0"}
+ {if $isPost}
+ {if $value == $ID}
+ {assign var="isInvoiceAddressChecked" value="1"}
+ {/if}
+ {elseif $DEFAULT}
+ {assign var="isInvoiceAddressChecked" value="1"}
+ {/if}
+
+
+ {/loop}
+
+
{intl l="Change address"}
+
+
+
+
+
+ {/form_field}
+
+ {form_field form=$form field='payment-module'}
+
+
+
{intl l="Choose your payment method"}
+
+ {if $error}
+
{$message}
+ {/if}
+
+
+
+ {/form_field}
+
+ {form_field form=$form field="agreed"}
+
+ {/form_field}
+
+ {intl l="Back"}
+ {intl l="Order Payment"}
+
+ {/form}
+
+
+{/block}
+
+{block name="javascript-initialization"}
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/order-payment-gateway.html b/templates/frontOffice/sterivein_sans_commande/order-payment-gateway.html
new file mode 100644
index 000000000..3a18f204f
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/order-payment-gateway.html
@@ -0,0 +1,78 @@
+{extends file="layout.tpl"}
+
+{* Security *}
+{block name="no-return-functions" prepend}
+ {check_auth role="CUSTOMER" login_tpl="login"}
+{/block}
+
+{* Body Class *}
+{block name="body-class"}page-order-payment{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Cart"}, 'url'=>{url path="/cart"}],
+ ['title' => {intl l="Secure Payment"}, 'url'=>{url path="/order/pay"}]
+ ]}
+{/block}
+
+
+{block name="main-content"}
+
+
+
+ {intl l="Secure payment"}
+
+ {include file="misc/checkout-progress.tpl" step="last"}
+
+ {loop type="order" name="placed-order" id=$order_id}
+
+
+
+
{intl l="You choose to pay by"} : {loop name="payment-module" type="module" id=$PAYMENT_MODULE}{$TITLE}{/loop}
+
+
+
+ {if $cart_count > 0}
+ {block name="order-payment-gateway-form"}
+
+ {intl l="Connecting to the secure payment server, please wait a few seconds..."}
+
+
+
+
+
+ {foreach from=$payment_form_data key='name' item='value'}
+
+ {/foreach}
+
+ {intl l='If nothing happens within 10 seconds, please click here .'}
+
+
+ {/block}
+ {else}
+ {intl l="Sorry, your cart is empty. There's nothing to pay."}
+ {/if}
+
+
+ {/loop}
+
+
+
+{/block}
+
+{block name="javascript-initialization"}
+
+{/block}
+
+
diff --git a/templates/frontOffice/sterivein_sans_commande/order-placed.html b/templates/frontOffice/sterivein_sans_commande/order-placed.html
new file mode 100644
index 000000000..97e9d89a0
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/order-placed.html
@@ -0,0 +1,76 @@
+{extends file="layout.tpl"}
+
+{* Security *}
+{block name="no-return-functions" prepend}
+ {check_auth role="CUSTOMER" login_tpl="login"}
+{/block}
+
+{* Body Class *}
+{block name="body-class"}page-order-payment{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Cart"}, 'url'=>{url path="/cart"}],
+ ['title' => {intl l="Secure Payment"}, 'url'=>{url path="/order/pay"}]
+ ]}
+{/block}
+
+
+{block name="main-content"}
+
+
+
+ {intl l="Your Cart"}
+
+ {include file="misc/checkout-progress.tpl" step="last"}
+
+ {loop type="order" name="placed-order" id=$placed_order_id}
+ {ifhook rel="order-placed.body"}
+ {hook name="order-placed.body" module="$PAYMENT_MODULE"}
+ {/ifhook}
+ {elsehook rel="order-placed.body"}
+
+
+
{intl l="You choose"} : {loop name="payment-module" type="module" id=$PAYMENT_MODULE}{$TITLE}{/loop}
+
+
+
{intl l="Thank you for the trust you place in us."}
+
{intl l="A summary of your order has been sent to the following address"} : {customer attr="email"}
+
{intl l="Your order will be confirmed by us upon receipt of your payment."}
+
+ {intl l="Order number"} :
+ {$REF}
+ {intl l="Date"} :
+ {format_date date=$CREATE_DATE output="date"}
+ {intl l="Total"} :
+ {format_money number={$TOTAL_TAXED_AMOUNT} currency_id=$CURRENCY}
+
+
+ {block name='additional-payment-info'}{/block}
+
+ {hook name="order-placed.additional-payment-info" module="$PAYMENT_MODULE" placed_order_id=$placed_order_id}
+
+
+ {/elsehook}
+ {/loop}
+
+ {intl l="Go home"}
+
+
+
+
+{/block}
+
+
+{block name="stylesheet"}
+ {hook name="order-placed.stylesheet"}
+{/block}
+
+{block name="after-javascript-include"}
+ {hook name="order-placed.after-javascript-include"}
+{/block}
+
+{block name="javascript-initialization"}
+ {hook name="order-placed.javascript-initialization"}
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/password.html b/templates/frontOffice/sterivein_sans_commande/password.html
new file mode 100644
index 000000000..065655517
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/password.html
@@ -0,0 +1,44 @@
+{extends file="layout.tpl"}
+
+{* Body Class *}
+{block name="body-class"}page-password{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="Password"}, 'url'=>{url path="/password"}]
+ ]}
+{/block}
+
+
+{block name="main-content"}
+
+
+ {intl l="Password Forgotten"}
+ {form name="thelia.front.customer.lostpassword"}
+
+ {form_hidden_fields form=$form}
+ {intl l="Please enter your email address below."} {intl l="You will receive a link to reset your password."}
+ {if $form_error}{$form_error_message}
{/if}
+ {form_field form=$form field="email"}
+
+ {/form_field}
+
+
+ {/form}
+
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/product.html b/templates/frontOffice/sterivein_sans_commande/product.html
new file mode 100644
index 000000000..b76a3949e
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/product.html
@@ -0,0 +1,347 @@
+{extends file="layout.tpl"}
+
+{block name="init"}
+ {$product_id={product attr="id"}}
+ {$pse_count=1}
+ {$check_availability={config key="check-available-stock" default="1"}}
+{/block}
+
+{* Body Class *}
+{block name="body-class"}page-product{/block}
+
+{* Page Title *}
+{block name='no-return-functions' append}
+ {loop name="product.seo.title" type="product" id=$product_id limit="1" with_prev_next_info="1"}
+ {$page_title = {$META_TITLE}}
+ {/loop}
+{/block}
+
+{* Meta *}
+{block name="meta"}
+ {loop name="product.seo.meta" type="product" id=$product_id limit="1" with_prev_next_info="1"}
+ {include file="includes/meta-seo.html"}
+ {/loop}
+{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = []}
+ {loop type="product" name="product_breadcrumb" id=$product_id limit="1" with_prev_next_info="1"}
+ {loop name="category_path" type="category-path" category="{$DEFAULT_CATEGORY}"}
+ {$breadcrumbs[] = ['title' => {$TITLE}, 'url'=> {$URL}]}
+ {/loop}
+ {$breadcrumbs[] = ['title' => {$TITLE}, 'url'=> {$URL}]}
+ {/loop}
+{/block}
+
+{* Content *}
+{block name="main-content"}
+ {if $product_id}
+
+ {loop name="product.details" type="product" id=$product_id limit="1" with_prev_next_info="1"}
+
+
+ {$pse_count=$PSE_COUNT}
+
+ {* Use the meta tag to specify content that is not visible on the page in any way *}
+ {loop name="brand.feature" type="brand" product="{$ID}"}
+
+ {/loop}
+
+ {* Add custom feature if needed
+ {loop name="isbn.feature" type="feature" product="{$ID}" title="isbn"}
+ {loop name="isbn.value" type="feature_value" feature="{$ID}" product="{product attr="id"}"}
+
+ {/loop}
+ {/loop}
+ *}
+
+
+ {ifloop rel="image.main"}
+
+ {loop type="image" name="image.main" product="{$ID}" width="560" height="445" resize_mode="borders" limit="1"}
+
+ {/loop}
+
+ {/ifloop}
+
+ {ifloop rel="image.carousel"}
+
+
+
+ {ifloop rel="image.carouselsup"}
+
+ {/ifloop}
+
+ {ifloop rel="image.carouselsup"}
+
+
+ {/ifloop}
+
+ {/ifloop}
+
+
+
+
+
{$TITLE}
+ {if $REF}
{intl l='Ref.'}: {$REF} {/if}
+
+ {loop name="brand_info" type="brand" product="{$ID}" limit="1"}
+
{$TITLE}
+ {/loop}
+
+{if $POSTSCRIPTUM}
+
{$POSTSCRIPTUM|nl2br nofilter}
+{/if}
+
+
+
+
+ {intl l="Availability"}:
+
+ {intl l='In Stock'}
+ {intl l='Out of Stock'}
+
+
+
+
+ {loop type="category" name="category_tag" id=$DEFAULT_CATEGORY}
+
+ {/loop}
+ {* List of condition : NewCondition, DamagedCondition, UsedCondition, RefurbishedCondition *}
+
+ {* List of currency : The currency used to describe the product price, in three-letter ISO format. *}
+
+
+
+ {intl l="Special Price:"} {format_number number="{$TAXED_PROMO_PRICE}" symbol={currency attr="symbol"}}
+ {intl l="Regular Price:"} {format_money number="{$TAXED_PRICE}" symbol={currency attr="symbol"}}
+
+
+
+
+ {intl l="Sorry but this combination does not exist."}
+
+
+
+
+ {form name="thelia.cart.add" }
+
+ {form_hidden_fields form=$form}
+
+
+ {form_field form=$form field="append"}
+
+ {/form_field}
+
+ {if $form_error}{$form_error_message}
{/if}
+
+ {form_field form=$form field="product"}
+
+ {/form_field}
+
+ {* pse *}
+ {form_field form=$form field='product_sale_elements_id'}
+
+ {/form_field}
+
+ {if $pse_count > 1}
+ {* We have more than 1 combination: custom form *}
+
+ {loop name="attributes" type="attribute" product="$product_id" order="manual"}
+
+ {/loop}
+
+
{intl l="Options"}
+
+
+
+
+
+
+
+ {/if}
+
+
+ {form_field form=$form field='quantity'}
+
+ {$label}
+
+ {if $error }
+ {$message}
+ {elseif $value != "" && !$error}
+
+ {/if}
+
+ {/form_field}
+
+
+ {intl l="Add to cart"}
+
+
+
+
+ {/form}
+
+
+ {strip}
+ {capture "additional"}
+ {ifloop rel="feature_info"}
+
+ {loop name="feature_info" type="feature" product="{$ID}"}
+ {ifloop rel="feature_value_info"}
+
+ {$TITLE} :
+ {loop name="feature_value_info" type="feature_value" feature="{$ID}" product="{product attr="id"}"}
+ {if $LOOP_COUNT > 1}, {else} {/if}
+ {if $IS_FREE_TEXT == 1}{$FREE_TEXT_VALUE}{else}{$TITLE}{/if}
+ {/loop}
+
+ {/ifloop}
+ {/loop}
+
+ {/ifloop}
+ {/capture}
+ {/strip}
+
+ {strip}
+ {capture "brand_info"}
+ {loop name="brand_info" type="brand" product="{$ID}" limit="1"}
+ {$TITLE}
+
+ {loop name="brand.image" type="image" source="brand" id={$LOGO_IMAGE_ID} width=218 height=146 resize_mode="borders"}
+
+ {/loop}
+
+ {if $CHAPO}
+
+ {$CHAPO}
+
+ {/if}
+ {if $DESCRIPTION}
+
+ {$DESCRIPTION nofilter}
+
+ {/if}
+ {if $POSTSCRIPTUM}
+
+ {$POSTSCRIPTUM}
+
+ {/if}
+ {/loop}
+ {/capture}
+ {/strip}
+
+
+
+
+
+
{$DESCRIPTION|default:'N/A' nofilter}
+
+ {if $smarty.capture.additional ne ""}
+
+ {$smarty.capture.additional nofilter}
+
+ {/if}
+ {if $smarty.capture.brand_info ne ""}
+
+ {$smarty.capture.brand_info nofilter}
+
+ {/if}
+
+
+{* javascript confiuguration to display pse *}
+{$pse=[]}
+{$combination_label=[]}
+{$combination_values=[]}
+{loop name="pse" type="product_sale_elements" product="{product attr="id"}"}
+ {$pse[$ID]=["id" => $ID, "isDefault" => $IS_DEFAULT, "isPromo" => $IS_PROMO, "isNew" => $IS_NEW, "ref" => "{$REF}", "ean" => "{$EAN}", "quantity" => {$QUANTITY}, "price" => "{format_money number="{$TAXED_PRICE}" symbol={currency attr="symbol"}}", "promo" => "{format_number number="{$TAXED_PROMO_PRICE}" symbol={currency attr="symbol"}}" ]}
+ {$pse_combination=[]}
+ {loop name="combi" type="attribute_combination" product_sale_elements="$ID"}
+ {if ! $combination_label[$ATTRIBUTE_ID]}
+ {$combination_label[$ATTRIBUTE_ID]=["name" => "{$ATTRIBUTE_TITLE}", "values" => []]}
+ {/if}
+ {if ! $combination_values[$ATTRIBUTE_AVAILABILITY_ID]}
+ {$combination_label[$ATTRIBUTE_ID]["values"][]=$ATTRIBUTE_AVAILABILITY_ID}
+ {$combination_values[$ATTRIBUTE_AVAILABILITY_ID]=["{$ATTRIBUTE_AVAILABILITY_TITLE}", $ATTRIBUTE_ID]}
+ {/if}
+ {$pse_combination[]=$ATTRIBUTE_AVAILABILITY_ID}
+ {/loop}
+ {$pse[$ID]["combinations"]=$pse_combination}
+{/loop}
+
+
+
+
+
+
+ {/loop}
+
+
+ {else}
+
+
+ {include file="includes/empty.html"}
+
+
+ {/if}
+{/block}
+
diff --git a/templates/frontOffice/sterivein_sans_commande/register.html b/templates/frontOffice/sterivein_sans_commande/register.html
new file mode 100644
index 000000000..95ad9b15a
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/register.html
@@ -0,0 +1,283 @@
+{extends file="layout.tpl"}
+
+{* Body Class *}
+{block name="body-class"}page-register{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [['title' => {intl l="Register"}, 'url'=>{url path="/register"}]]}
+{/block}
+
+{block name="main-content"}
+
+
+
+
+ {intl l="Create New Account"}
+ {form name="thelia.front.customer.create"}
+
+ {form_field form=$form field='success_url'}
+ {* the url the user is redirected to on registration success *}
+ {/form_field}
+
+ {form_field form=$form field='error_message'}
+
+ {/form_field}
+ {form_hidden_fields form=$form}
+ {if $form_error}{$form_error_message}
{/if}
+
+
+ 1. {intl l="Personal Information"}
+
+
+
+ {form_field form=$form field="title"}
+
+ {/form_field}
+ {form_field form=$form field="firstname"}
+
+ {/form_field}
+ {form_field form=$form field="lastname"}
+
+ {/form_field}
+ {form_field form=$form field="email"}
+
+ {/form_field}
+ {form_field form=$form field="phone"}
+
+ {/form_field}
+ {form_field form=$form field="cellphone"}
+
+ {/form_field}
+
+
+
+
+
+ 2. {intl l="Delivery Information"}
+
+
+
+ {form_field form=$form field="company"}
+
+ {/form_field}
+
+ {form_field form=$form field="address1"}
+
+ {/form_field}
+
+ {form_field form=$form field="address2"}
+
+ {/form_field}
+
+ {form_field form=$form field="zipcode"}
+
+ {/form_field}
+
+ {form_field form=$form field="city"}
+
+ {/form_field}
+
+
+
+ {form_field form=$form field="country"}
+
+ {/form_field}
+
+
+
+
+ 3. {intl l="Login Information"}
+
+
+
+ {form_field form=$form field="password"}
+
+ {/form_field}
+
+ {form_field form=$form field="password_confirm"}
+
+ {/form_field}
+
+
+
+ {*
+ {form_field form=$form field="newsletter"}
+
+ {/form_field}
+ *}
+
+
+
+
+
+ {/form}
+
+
+
+{/block}
diff --git a/templates/frontOffice/sterivein_sans_commande/search.html b/templates/frontOffice/sterivein_sans_commande/search.html
new file mode 100644
index 000000000..2151ace21
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/search.html
@@ -0,0 +1,47 @@
+{extends file="layout.tpl"}
+
+
+{block name="body-class"}page-search{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+{$breadcrumbs = [
+['title' => {intl l="Search"}, 'url'=>{url path="/search"}]
+]}
+{/block}
+
+{block name="main-content"}
+
+
+ {$limit={$smarty.get.limit|default:8}}
+ {$product_page={$smarty.get.page|default:1}}
+ {$product_order={$smarty.get.order|default:'alpha'}}
+
+
+
+ {intl l="Search Result for"} {$smarty.get.q}
+ {assign var="amount" value="{count type="product" title="{$smarty.get.q}"}"}
+ {include file="includes/toolbar.html" toolbar="top" limit=$limit order=$product_order amount={$amount}}
+
+
+ {ifloop rel="product_list"}
+
+ {loop type="product" name="product_list" title="{$smarty.get.q}" limit=$limit page=$product_page order=$product_order}
+ {include file="includes/single-product.html" product_id=$ID hasBtn=true hasDescription=true width="369" height="247"}
+ {/loop}
+
+ {/ifloop}
+ {elseloop rel="product_list"}
+
{intl l="No results found"}
+ {/elseloop}
+
+
+ {ifloop rel="product_list"}
+ {include file="includes/toolbar.html" toolbar="bottom" amount={$amount}}
+ {/ifloop}
+
+
+
+{/block}
+
+{block name="after-javascript-include"}{/block}
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/sitemap.html b/templates/frontOffice/sterivein_sans_commande/sitemap.html
new file mode 100644
index 000000000..998c6683f
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/sitemap.html
@@ -0,0 +1,71 @@
+
+
+
+
+ {url path="/"}
+ {*
+ You can also set priority and changefreq
+ 0.8
+ weekly
+ *}
+
+
+{if $_context_ == "" || $_context_ == "catalog" }
+
+
+ {loop type="lang" name="category_lang"}
+ {if $_lang_ == "" || $_lang_ == $CODE }
+ {loop type="category" name="category" lang="$ID"}
+
+ {$URL}
+ {format_date date=$UPDATE_DATE format="c"}
+
+ {/loop}
+ {/if}
+ {/loop}
+
+
+ {loop type="lang" name="product_lang"}
+ {if $_lang_ == "" || $_lang_ == $CODE }
+ {loop type="product" name="product" lang="$ID"}
+
+ {$URL}
+ {format_date date=$UPDATE_DATE format="c"}
+
+ {/loop}
+ {/if}
+ {/loop}
+
+{/if}
+
+{if $_context_ == "" || $_context_ == "content" }
+
+ {loop type="lang" name="folder_lang"}
+ {if $_lang_ == "" || $_lang_ == $CODE }
+ {loop type="folder" name="folder" lang="$ID" exclude="1,2"}
+
+ {$URL}
+ {format_date date=$UPDATE_DATE format="c"}
+
+ {/loop}
+ {/if}
+ {/loop}
+
+
+ {loop type="lang" name="content_lang"}
+ {if $_lang_ == "" || $_lang_ == $CODE }
+ {loop type="content" name="content" lang="$ID" exclude="1"}
+
+ {$URL}
+ {format_date date=$UPDATE_DATE format="c"}
+
+ {/loop}
+ {/if}
+ {/loop}
+{/if}
+
+
\ No newline at end of file
diff --git a/templates/frontOffice/sterivein_sans_commande/test.html b/templates/frontOffice/sterivein_sans_commande/test.html
new file mode 100644
index 000000000..305bb00e7
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/test.html
@@ -0,0 +1,18 @@
+{config_load file='variables.conf'}
+
+conf = {#id_contenu_contact#}
+
+{loop type="payment" name="payments" force_return="true"}
+{assign "paymentModuleId" $ID}
+
+
+
+
+ {loop type="image" name="paymentspicture" source="module" source_id=$ID force_return="true" width="100" height="72"}
+
+ {/loop}
+
+ {$TITLE}
+
+
+{/loop}
diff --git a/templates/frontOffice/sterivein_sans_commande/view_all.html b/templates/frontOffice/sterivein_sans_commande/view_all.html
new file mode 100644
index 000000000..6e2c709bc
--- /dev/null
+++ b/templates/frontOffice/sterivein_sans_commande/view_all.html
@@ -0,0 +1,49 @@
+{extends file="layout.tpl"}
+
+
+{block name="body-class"}page-view-all{/block}
+
+{* Breadcrumb *}
+{block name='no-return-functions' append}
+ {$breadcrumbs = [
+ ['title' => {intl l="View all"}, 'url'=>{url path="/view_all"}]
+ ]}
+{/block}
+
+{block name="main-content"}
+
+
+ {* Parameters *}
+ {$limit={$smarty.get.limit|default:8}}
+ {$product_page={$smarty.get.page|default:1}}
+ {$product_order={$smarty.get.order|default:'new'}}
+ {$product_type={$smarty.get.type|default:'new'}}
+
+
+
+ {if $product_type == "new"}{intl l="Latest products"}{elseif $product_type == "offers"}{intl l="Product Offers"}{/if}
+ {assign var="amount" value="{count type="product" promo="{$product_type == "offers"}" new="{$product_type == "new"}"}"}
+ {include file="includes/toolbar.html" toolbar="top" limit=$limit order=$product_order amount={$amount}}
+
+
+ {ifloop rel="product_list"}
+
+ {loop type="product" promo="{$product_type == "offers"}" new="{$product_type == "new"}" name="product_list" limit=$limit page=$product_page order=$product_order}
+ {include file="includes/single-product.html" product_id=$ID hasBtn=true hasDescription=true width="700" height="320"}
+ {/loop}
+
+ {/ifloop}
+ {elseloop rel="product_list"}
+
{intl l="No results found"}
+ {/elseloop}
+
+
+ {ifloop rel="product_list"}
+ {include file="includes/toolbar.html" toolbar="bottom" amount={$amount}}
+ {/ifloop}
+
+
+
+{/block}
+
+{block name="after-javascript-include"}{/block}
\ No newline at end of file