SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This is about SharePoint 2013. I have custom page layouts and a custom master on my page and my problem is that the content editor web part shows all of the text styles as question marks and tags them as "not available"... I have the styles in my main.css file as follows but they won't come up as intended - what to check or to do here? Am I perhaps missing something in the master page?

Thanks for any help!

main.css (partly):

.ms-WPBody H1, 
.ms-rteStyle-H1 {
    -ms-name: "1";
    font-size: 26px;
    color: #004A7F;
    font-family: 'Istok Web', Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
    font-weight: 400;

.ms-WPBody H2, 
.ms-rteStyle-H2 {
    -ms-name: "2";
    font-size: 19px;
    text-transform: uppercase;
    color: #004A7F;
    font-family: 'Istok Web', Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
    font-weight: 400;

.ms-WPBody H3, 
.ms-rteStyle-H3 {
    -ms-name: "3";
    font-size: 19px;
    color: #004A7F;
    font-family: 'Istok Web', Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
    font-weight: 400;

.ms-WPBody P, 
.ms-rteStyle-P {
    -ms-name: "Normal";
    font-size: 15px;
    font-family: 'Istok Web', Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
    font-weight: 400;
    line-height: 1.2;
    color: #656565;

Edit: mycustom.master (header):

<head id="Head1" runat="server">
        <meta name="GENERATOR" content="Microsoft SharePoint"/>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
        <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
        <meta http-equiv="Expires" content="0"/>
        <sharepoint:sppinnedsitetile ID="Sppinnedsitetile1" runat="server" tileurl="/_layouts/15/images/SharePointMetroAppTile.png" tilecolor="#0072C6"/>
        <sharepoint:robotsmetatag ID="Robotsmetatag1" runat="server"/>
        <sharepoint:pagetitle ID="Pagetitle1" runat="server">
            <asp:contentplaceholder id="PlaceHolderPageTitle" runat="server">
                <sharepoint:projectproperty ID="Projectproperty1" property="Title" runat="server"/>
        <sharepoint:spshortcuticon ID="Spshortcuticon1" runat="server" iconurl="/_layouts/15/images/favicon.ico?rev=23"/>

        <!-- Custom javascript libs. Load from CDN and fallback to local. Protocal relative urls. -->       
        <script src="//"></script>
        <script>window.jQuery || document.write('<script src="/_layouts/15/custom/jquery-1.10.1.min.js"><\/script>')</script>
        <script type="text/javascript">$.noConflict();</script>

        <sharepoint:startscript ID="Startscript1" runat="server"/>
        <sharepoint:csslink ID="Csslink1" runat="server" version="15"/>
        <sharepoint:cachemanifestlink ID="Cachemanifestlink1" runat="server"/>
        <sharepoint:scriptlink ID="Scriptlink1" language="javascript" name="core.js" ondemand="true" runat="server" localizable="false"/>
        <sharepoint:scriptlink ID="Scriptlink2" language="javascript" name="menu.js" ondemand="true" runat="server" localizable="false"/>
        <sharepoint:scriptlink ID="Scriptlink3" language="javascript" name="callout.js" ondemand="true" runat="server" localizable="false"/>
        <sharepoint:scriptlink ID="Scriptlink4" language="javascript" name="sharing.js" ondemand="true" runat="server" localizable="false"/>
        <sharepoint:scriptlink ID="Scriptlink5" language="javascript" name="suitelinks.js" ondemand="true" runat="server" localizable="false"/>
        <sharepoint:customjsurl ID="Customjsurl1" runat="server"/>
        <sharepoint:soapdiscoverylink ID="Soapdiscoverylink1" runat="server"/>
        <sharepoint:ajaxdelta id="DeltaPlaceHolderAdditionalPageHead" container="false" runat="server">
            <asp:contentplaceholder id="PlaceHolderAdditionalPageHead" runat="server"/>
            <sharepoint:delegatecontrol ID="Delegatecontrol1" runat="server" controlid="AdditionalPageHead" allowmultiplecontrols="true"/>
            <asp:contentplaceholder id="PlaceHolderBodyAreaClass" runat="server"/>
        <sharepoint:cssregistration ID="Cssregistration1" name="Themable/corev15.css" runat="server"/>

        <!-- Load custom head stuff after sharepoint stuff -->
        <link rel="stylesheet" href="/_layouts/15/custom/font-awesome/css/font-awesome.min.css" />
        <link rel="stylesheet" type="text/css" href="/Style%20Library/custom/main.css" />
        <link rel="stylesheet" type="text/css" href="/Style%20Library/custom/print.css" media="print" />

        <!-- Load prefix free after stylesheets -->
        <script src="/_layouts/15/custom/prefixfree.min.js"></script>

Edit 2: Picture of the problem Text styles not available

share|improve this question
Are you referencing your custom css like this? <SharePoint:CssRegistration ID="CssRegistration1" Name="Themable/corev15.css" runat="server" /> <SharePoint:CssRegistration ID="CssRegistration2" Name="/Style Library/css/your_main.css" runat="server" After="corev15.css" /> – Alvmad Sep 24 '13 at 7:26
No I'm not. This is the actual main css which includes all of the styles needed on the page - tried to change it to that which indeed reseted the design pretty much to default. Any other questions? – johnny Sep 24 '13 at 7:45
And what if you don't use the After attribute? Can you upload a screen capture of the "question marks" and "not available" tags? – Alvmad Sep 24 '13 at 8:27
Uploaded the screenshot. Removing the after attribute didn't change anything, the site's styling is still broken (read: it's default) and so are the text styles (not available that is). – johnny Sep 24 '13 at 9:57
up vote 2 down vote accepted

Remove the Lea Verous prefixfree.min.js. It's messing things up with the SharePoint parser that looks for the .ms-rteStyle- classes from the css files.

share|improve this answer
This was correct! I was using Prefixr ( and removing this .js fixed the problem. Thanks! – johnny Nov 8 '13 at 9:12

Check whether the copy/paste breaking up. To avoid these kind of scenarios, paste in notepad and then conform before bringing in.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.