diff --git a/doc/props/P_GUILD_RESTRICTIONS b/doc/props/P_GUILD_RESTRICTIONS
index 8bbabc1..c94ccf3 100644
--- a/doc/props/P_GUILD_RESTRICTIONS
+++ b/doc/props/P_GUILD_RESTRICTIONS
@@ -1,37 +1,59 @@
-NAME:
-    P_GUILD_RESTRICTIONS        "guild_rest"                  
 
-DEFINIERT IN:
-    /sys/new_skills.h
+P_GUILD_RESTRICTIONS
+********************
 
-BESCHREIBUNG:
-    Diese Gildenproperty enthaelt ein Mapping mit den
-    Eintrittsbeschraenkungen fuer die jeweilige Gilde.
 
-BEMERKUNGEN:
-    Im allgemeinen sollte das Mapping mit den Eintrittsbeschraenkungen
-    mit den Beschraenkungen fuer Level 1 im Mapping von P_GUILD_LEVELS
-    uebereinstimmen.
+NAME
+====
 
-BEISPIELE:
-    Ein paar moegliche Abfragen waeren folgende:
-    string check(object pl);
+   P_GUILD_RESTRICTIONS        "guild_rest"
 
-    SetProp(P_GUILD_RESTRICTIONS,
-            ([P_LEVEL:3,
-              P_QP:100,
-              SR_FUN:#'check]));
 
-    string check(object pl) {
-      if(pl->QueryProp(P_MALE))
-        return 0;
-      return "Fuer Frauen ist das nichts!\n";
-    }
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-    Gildenfkt.:
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
-    * Sonstiges:    P_GUILD_LEVELS
-    Sonstiges:      /std/restriction_checker.c
+   /sys/new_skills.h
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+
+BESCHREIBUNG
+============
+
+   Diese Gildenproperty enthaelt ein Mapping mit den
+   Eintrittsbeschraenkungen fuer die jeweilige Gilde.
+
+
+BEMERKUNGEN
+===========
+
+   Im allgemeinen sollte das Mapping mit den Eintrittsbeschraenkungen
+   mit den Beschraenkungen fuer Level 1 im Mapping von P_GUILD_LEVELS
+   uebereinstimmen.
+
+
+BEISPIELE
+=========
+
+   Ein paar moegliche Abfragen waeren folgende:
+   string check(object pl);
+
+   SetProp(P_GUILD_RESTRICTIONS,
+           ([P_LEVEL:3,
+             P_QP:100,
+             SR_FUN:#'check]));
+
+   string check(object pl) {
+     if(pl->QueryProp(P_MALE))
+       return 0;
+     return "Fuer Frauen ist das nichts!\n";
+   }
+
+
+SIEHE AUCH
+==========
+
+   Gildenfkt.:
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+   * Sonstiges:    P_GUILD_LEVELS
+   Sonstiges:      /std/restriction_checker.c
+
+3. Okt 2011 Gloinson
